# 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`.