Files
games/deltas/0.3.0/0-pre.2.md
2026-09-20 06:53:40 +02:00

103 lines
3.5 KiB
Markdown

<!-- file: deltas/0.3.0/0-pre.2.md -->
<!-- version: 1 -->
# Delta 0.3.0-0-pre.2
## Base
Base requise : `0.3.0-0-pre.1.fix.2`.
Les validations utilisateur de `0-pre.1.fix.1` et `0-pre.1.fix.2` sont consignées sous `history/0.3.0/` conformément au workflow documentaire.
## Objet
Fermer la baseline Snake portable avant l'introduction de l'adapter WASM :
- retirer des crates de gameplay les dépendances plateforme déclarées mais inutilisées ;
- confirmer que le gameplay Snake ne consomme que les contrats moteur indépendants de la plateforme ;
- documenter le contrat minimal que le futur host Web devra adapter sans introduire encore de code WASM ou frontend.
## Version
La version workspace passe de `0.3.0-0-pre.1.fix.2` à `0.3.0-0-pre.2`.
## Nettoyage des dépendances
`engine-v1-platform-api` est retiré de :
- `game-snake-poc` ;
- `game-reflex-poc`.
Ces deux crates n'utilisent aucun symbole de cette dépendance. Les launchers et adapters qui utilisent réellement des capacités plateforme conservent leur dépendance.
Ce nettoyage ne déplace aucune responsabilité et ne change aucun comportement de gameplay.
## Contrat Snake portable
La baseline confirmée pour Snake est :
- état et update via `EngineGame` ;
- entrée via `InputState` ;
- actions de gameplay utilisées : `Left`, `Right`, `Up`, `Down` ;
- rendu abstrait via `EngineScene` ;
- aucune dépendance SDL3, Web/DOM/Canvas ou `engine-v1-platform-api` dans `game-snake-poc`.
Le host reste responsable de traduire ses périphériques ou widgets en actions logiques. Le futur adapter WASM `0-pre.3` doit réutiliser cette frontière sans créer un modèle Web parallèle.
## Historique des validations précédentes
Ajout de :
- `history/0.3.0/0-pre.1.fix.1.md` ;
- `history/0.3.0/0-pre.1.fix.2.md`.
Ces fichiers enregistrent uniquement les résultats effectivement fournis par l'utilisateur : audits statiques, `cargo fmt --all -- --check` et `cargo check --workspace`. Aucun Clippy, test ou smoke non exécuté n'est déclaré validé.
## Fichiers ajoutés
- `deltas/0.3.0/0-pre.2.md` ;
- `history/0.3.0/0-pre.1.fix.1.md` ;
- `history/0.3.0/0-pre.1.fix.2.md`.
## Fichiers modifiés
- `Cargo.toml` ;
- `README.md` ;
- `crates/games/game-reflex-poc/Cargo.toml` ;
- `crates/games/game-snake-poc/Cargo.toml` ;
- `docs/architecture/004-INPUT_AND_CONTROLS.md` ;
- `docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md`.
## Suppressions
Aucune.
## Validations applicables
Audits statiques de préparation :
```bash
python3 scripts/audit_rust_workspace_rules.py
python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android deltas history
python3 scripts/audit_distribution_layout.py
```
Validation utilisateur demandée :
```bash
cargo fmt --all -- --check
cargo check --workspace
cargo clippy -p game-snake-poc --all-targets --all-features -- -D warnings
cargo clippy -p game-reflex-poc --all-targets --all-features -- -D warnings
cargo test -p game-snake-poc
cargo test -p game-reflex-poc
cargo tree -p game-snake-poc --edges normal
cargo tree -p game-reflex-poc --edges normal
```
Les deux `cargo tree` doivent confirmer que les crates de gameplay ne tirent plus `engine-v1-platform-api`. Aucun smoke Desktop n'est requis : ni `engine-v1-sdl`, ni le mapping SDL, ni le runner Snake ne sont modifiés dans cette tranche.
## Suite
Après validation de `0-pre.2`, ouvrir `0-pre.3` pour l'adaptation WASM minimale de Snake conformément au plan actif. Aucun frontend Bootstrap/Vite n'est introduit avant `0-pre.4`.