# Delta 0.3.0-0-pre.4 ## Objectif Introduire le premier host navigateur direct Snake sans élargir encore le scope vers le lifecycle complet, les assets runtime, le logging ou la provenance de `0-pre.5`. ## Livré - création de `Web/game-snake-poc/`, package Vite/TypeScript autonome hors workspace Cargo ; - reprise du template frontend des applications Desk KSP pour la structure `frontend/main.html`, `frontend/sass/`, `frontend/ts/` et le thème Bootstrap/Bootswatch Pulse ; - reprise uniquement des dépendances npm KSP utiles au navigateur direct : Bootstrap 5, Font Awesome, `sass-embedded`, TypeScript, Vite et types associés ; - exclusion volontaire des dépendances Tauri, SimpleBar et tracing spécifiques aux apps Desk ; - consommation des bindings `game-snake-poc-wasm` générés sous `../builds/sasedev-games/game-snake-poc-web/wasm/` ; - Canvas responsive prenant en compte `devicePixelRatio` ; - rendu de l'`EngineScene` normalisée sans dupliquer le gameplay ; - entrées clavier flèches, `WASD`, `ZQSD` et quatre boutons pointer/tactiles ; - état de chargement, score, longueur et retour d'erreur dans le shell ; - cache Vite et distribution frontend maintenus hors dépôt ; - audit de distribution étendu au host Web direct ; - enregistrement sous `history/0.3.0/0-pre.3.md` des validations utilisateur de `0-pre.3`. ## Hors périmètre - lifecycle complet navigateur ; - assets runtime du POC ; - logging structuré Web ; - `RuntimeProvenance` ; - Tauri Snake ; - Android ; - extraction d'une abstraction Web commune non encore justifiée. ## Validation demandée Depuis la racine : ```bash 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 -p game-snake-poc-wasm --all-targets --all-features -- -D warnings cargo test -p game-snake-poc-wasm 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 cd Web/game-snake-poc npm install npm run build npm run dev ``` Smoke navigateur : ouvrir `http://127.0.0.1:1434/main.html`, puis vérifier le chargement WASM, le Canvas, les quatre familles d'entrées prévues et le comportement responsive Desktop/mobile. ## Suite `0-pre.5` ferme l'intégration plateforme du POC : lifecycle/resize complet, assets, logging, provenance runtime et non-régression Desktop SDL3.