0.3.0-2-beta.1

This commit is contained in:
2026-09-20 14:20:07 +02:00
parent 3e1153eb8c
commit ff1ec09d68
7 changed files with 163 additions and 8 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md -->
<!-- version: 11 -->
<!-- version: 12 -->
# Plan v0.3.0 — baseline Snake et premier POC Web direct
@@ -91,13 +91,17 @@ Gate : audits statiques, `cargo check --workspace`, Clippy workspace strict, tes
Suivi `0-pre.5.fix.1` : la validation de `0-pre.5` confirme les gates Rust/WASM et le build Vite production, mais le smoke `vite dev` reste bloqué sur le chargement des assets. Les targets `vite-plugin-static-copy` utilisent des sources absolues sans `rename.stripBase`, ce qui ne garantit pas les routes runtime canoniques. Le fix impose `stripBase: true` aux deux targets afin que dev et build exposent exactement `/common/data/runtime.json` et `/game/data/game.json`.
Validation `0-pre.5.fix.1` : les audits, `cargo check`, Clippy workspace strict, les tests plateforme/WASM, le build WASM, `wasm-bindgen`, le build Vite et le smoke navigateur passent. Les assets affichent `snake / engine-v1`, la provenance observée est `web / browser / wasm / desktop / keyboard-mouse`, les contrôles clavier/souris fonctionnent et le runner Desktop SDL3 démarre puis s'arrête proprement après 411 frames. Aucun défaut structurel supplémentaire n'est identifié.
### `0-pre.6` — correction/extraction seulement si prouvée
Tranche conditionnelle. Elle n'existe que si les POC précédents révèlent une duplication réelle, une frontière mal placée ou un défaut nécessitant une correction structurante avant stabilisation. Sinon elle est omise.
Décision après `0-pre.5.fix.1` : aucun besoin d'extraction/correction structurante n'est observé ; `0-pre.6` est omise et la version entre directement en beta.
### `2-beta.1` — validation large
Scope feature-complete. Exécuter les gates workspace applicables, les tests ciblés et les validations Web/Desktop prévues. Aucun nouveau scope.
Scope feature-complete. La tranche ne crée aucun nouveau comportement : elle bascule la version workspace et le package Web au jalon `0.3.0-2-beta.1`, enregistre la validation de `0-pre.5.fix.1` et exécute la gate large de frontière de phase. Celle-ci comprend audits, formatage/check/Clippy, tests workspace complets, build + smoke Desktop Snake en release, build WASM Snake en release, `wasm-bindgen`, build Vite production et smoke du `dist` via `npm run preview`. Aucun nouveau scope.
### `2-beta.2` — consolidation documentaire et transmission

View File

@@ -1,5 +1,5 @@
<!-- file: docs/validation/001-VALIDATION_GATES.md -->
<!-- version: 7 -->
<!-- version: 8 -->
# Gates de validation
@@ -74,3 +74,31 @@ npm run build
Le smoke direct utilise ensuite `npm run dev` et `http://127.0.0.1:1434/main.html`. Pour le POC Snake feature-complete, vérifier aussi : assets `common` + `game` chargés avant le statut `Prêt`, provenance `Web/Wasm/Browser` visible et mise à jour par l'input, pause sans rattrapage lors d'un masquage d'onglet, reprise propre, resize sans tick artificiel, SimpleBar, clavier et contrôles pointer/tactiles.
Lorsque `0-pre.5` touche la frontière plateforme du bridge WASM, exécuter également `cargo test -p engine-v1-platform-api`, `cargo test -p game-snake-poc-wasm`, puis un smoke `cargo run -p game-snake-poc-desktop` pour confirmer la non-régression SDL3. Les frontends Tauri restent pilotés par leurs hooks Tauri et ne reprennent pas cette gate manuelle.
## Gate beta du POC Snake Web
À lentrée en `2-beta.1`, le scope `0.3.0` est feature-complete. La gate de frontière de phase ajoute aux audits/check/Clippy la suite Cargo workspace complète :
```bash
cargo test --workspace --all-targets --all-features
```
Le témoin Desktop Snake est construit et fumé en release :
```bash
cargo build -p game-snake-poc-desktop --release
../builds/sasedev-games/target/release/game-snake-poc-desktop
```
Le host Web beta utilise également un module WASM release avant le build Vite :
```bash
cargo build -p game-snake-poc-wasm --release --target wasm32-unknown-unknown
wasm-bindgen ../builds/sasedev-games/target/wasm32-unknown-unknown/release/game_snake_poc_wasm.wasm \
--target web \
--out-dir ../builds/sasedev-games/game-snake-poc-web/wasm \
--out-name game_snake_poc_wasm
(cd Web/game-snake-poc && npm install && npm run build && npm run preview)
```
Le smoke production ouvre `http://127.0.0.1:4174/main.html` et vérifie les mêmes contrats fonctionnels que le smoke `vite dev` : Canvas, inputs, SimpleBar, assets, provenance, lifecycle et resize. Le smoke `vite dev` déjà validé reste utile après un correctif touchant le plugin de dev, mais nest pas requis à chaque beta si aucun chemin dev na changé.