48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
# PR002 - GFX Status-First Surface and Fault Matrix
|
|
|
|
## Briefing
|
|
|
|
A decision `008` fechou politica status-first em `gfx`, incluindo:
|
|
|
|
- sem no-op silencioso para erro operacional;
|
|
- retorno `status` quando houver possibilidade real de falha;
|
|
- `Trap` apenas estrutural e `Panic` apenas invariante.
|
|
|
|
## Alvo
|
|
|
|
Implementar o contrato de `gfx` no runtime e atualizar spec do dominio.
|
|
|
|
Arquivos principais:
|
|
|
|
- `docs/runtime/specs/04-gfx-peripheral.md`
|
|
- `crates/console/prometeu-hal/src/syscalls/domains/gfx.rs`
|
|
- `crates/console/prometeu-system/src/virtual_machine_runtime/dispatch.rs`
|
|
|
|
## Escopo Funcional
|
|
|
|
- fechar matriz por syscall (`void` vs `status`);
|
|
- remover fallback implicito em `gfx.set_sprite`;
|
|
- mapear casos operacionais para status inteiros por operacao;
|
|
- remover `Panic` acidental por argumento de app no dominio `gfx`.
|
|
|
|
## Fora de Escopo
|
|
|
|
- redesign de pipeline grafico;
|
|
- mudancas de feature fora do conjunto atual de syscalls `gfx`.
|
|
|
|
## Critérios de Aceite
|
|
|
|
- metadata de syscall `gfx` (arg/ret slots) alinhada com matriz definida;
|
|
- `set_sprite` nao usa fallback implicito para banco default;
|
|
- casos operacionais invalidos retornam `status` e nao no-op silencioso;
|
|
- testes cobrindo pelo menos:
|
|
- sprite index invalido;
|
|
- asset ausente;
|
|
- faixas invalidas de parametro.
|
|
|
|
## Tests
|
|
|
|
- `cargo test -p prometeu-system`
|
|
- `cargo test -p prometeu-hal`
|
|
- testes de regressao especificos de `dispatch` e dominio `gfx`.
|