44 lines
1.1 KiB
Markdown
44 lines
1.1 KiB
Markdown
# Input Mental Model
|
|
|
|
Status: pedagogical
|
|
Companion spec: [`../specs/06-input-peripheral.md`](../specs/06-input-peripheral.md)
|
|
|
|
PROMETEU trata input como estado amostrado, não como evento assíncrono.
|
|
|
|
## State Versus Event
|
|
|
|
O modelo mais importante para entender é:
|
|
|
|
- botão não “dispara” uma ação sozinho;
|
|
- botão muda de estado;
|
|
- o jogo consulta esse estado durante o frame.
|
|
|
|
Isso se parece muito mais com polling de registrador em console clássico do que com callbacks de UI moderna.
|
|
|
|
## Why This Matters
|
|
|
|
Esse modelo:
|
|
|
|
- melhora determinismo;
|
|
- simplifica replay;
|
|
- facilita depuração;
|
|
- torna o frame loop mais legível.
|
|
|
|
Também encaixa melhor na identidade de PROMETEU como máquina com forte inspiração em hardware retro e em construção DIY.
|
|
|
|
## Good Habits
|
|
|
|
- ler input em `UPDATE`;
|
|
- mapear ações, não teclas físicas;
|
|
- separar leitura de input de lógica pesada;
|
|
- tratar polling como parte do frame budget.
|
|
|
|
## Teaching Value
|
|
|
|
O periférico de input ajuda a ensinar:
|
|
|
|
- diferença entre estado e evento;
|
|
- amostragem temporal;
|
|
- sincronização entre input e lógica;
|
|
- determinismo em sistemas interativos.
|