2.8 KiB
Delta 0.3.0-0-pre.5.fix.1
Objectif
Corriger uniquement l'exposition des assets runtime du host Snake Web en développement, après validation partielle de 0-pre.5.
Défaut confirmé
cargo, WASM, wasm-bindgen et le build Vite passent. Sous vite dev, le frontend échoue néanmoins avant le démarrage du jeu lors de fetchJson() : les routes common/data/runtime.json et game/data/game.json ne sont pas servies comme attendu.
Les targets vite-plugin-static-copy utilisent des chemins source absolus. Le plugin conserve la structure source par défaut ; le dest seul ne constitue donc pas le contrat de route recherché.
Correction
Les deux targets Vite utilisent désormais :
rename: { stripBase: true }
Le contrat devient explicitement :
assets/common/data/runtime.json -> /common/data/runtime.json
assets/game-snake-poc/data/game.json -> /game/data/game.json
Ces routes doivent être identiques sous vite dev et dans dist/. Aucun asset source n'est dupliqué sous Web/.
Garde-fou
audit_distribution_layout.py exige désormais stripBase: true sur les deux targets, en plus des namespaces common/data et game/data.
Historique
history/0.3.0/0-pre.5.md consigne la validation partielle fournie par l'utilisateur et le défaut runtime exact.
Non modifié
- gameplay Snake ;
- adapter WASM/provenance ;
- lifecycle/resize ;
- logging frontend ;
- SimpleBar/Canvas ;
- runner Desktop SDL3 ;
- ROADMAP et CHANGELOG.
Validation demandée
Depuis la racine :
cargo fmt --all
cargo fmt --all -- --check
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 Web deltas history
python3 scripts/audit_distribution_layout.py
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test -p engine-v1-platform-api --all-targets --all-features
cargo test -p game-snake-poc-wasm --all-targets --all-features
cargo build -p game-snake-poc-wasm --target wasm32-unknown-unknown
wasm-bindgen ../builds/sasedev-games/target/wasm32-unknown-unknown/debug/game_snake_poc_wasm.wasm --target web --out-dir ../builds/sasedev-games/game-snake-poc-web/wasm --out-name game_snake_poc_wasm
cargo tree -p game-snake-poc-wasm --edges normal
(cd Web/game-snake-poc && npm install && npm run build && npm run dev)
Smoke sur http://127.0.0.1:1434/main.html :
Assetsdoit passer dechargement…àsnake / engine-v1;- Snake doit démarrer ;
- la provenance doit quitter
unknown / unknowndès qu'une classe/device et une entrée sont observées ; - revalider lifecycle/resize/SimpleBar/Canvas/contrôles ;
- terminer par
cargo run -p game-snake-poc-desktoppour la non-régression SDL3.