0.3.0-0-pre.2

This commit is contained in:
2026-09-20 06:53:40 +02:00
parent 6f37fea9ed
commit a6a59222d6
9 changed files with 185 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/architecture/004-INPUT_AND_CONTROLS.md -->
<!-- version: 7 -->
<!-- version: 8 -->
# Abstraction des entrées et contrôles
@@ -97,6 +97,20 @@ Pour souris et tactile :
Reflex conserve son impulsion `Primary` sur `Down` et reste donc indépendant de la reconnaissance du swipe.
## Baseline Snake portable `0.3.0`
La crate `game-snake-poc` consomme uniquement le contrat générique `engine-v1-common` pour son gameplay. Elle ne dépend pas de `engine-v1-platform-api`, de SDL3, du DOM ou d'un type de périphérique concret.
Le contrat d'entrée Snake retenu pour le premier POC Web est volontairement minimal :
- `Left`, `Right`, `Up` et `Down` pilotent la direction ;
- le rejet d'un demi-tour opposé reste une règle du gameplay Snake ;
- `Primary`, `Secondary`, `Pause` et le pointeur normalisé ne sont pas requis par le gameplay Snake actuel ;
- le host traduit clavier, swipe ou boutons virtuels vers les mêmes actions directionnelles ;
- le rendu reste exposé par `EngineGame::scene` sous forme d'`EngineScene`, sans dépendance au Canvas ou à SDL3.
Le futur adapter WASM de `0-pre.3` doit donc adapter ce contrat existant plutôt que créer un second modèle d'entrée ou de rendu propre au Web. Les besoins de provenance, monétisation ou autres services plateforme appartiennent au host/launcher et ne justifient pas une dépendance plateforme inutilisée dans la crate de gameplay.
## Requête de sortie
La plateforme ne décide plus directement de terminer un jeu. Elle traduit l'événement physique en `QuitRequest` :