prometeu-runtime/docs/runtime/learn/mental-model-input.md

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.