103 lines
3.5 KiB
Markdown
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`.
|