115 lines
2.4 KiB
Markdown
115 lines
2.4 KiB
Markdown
<!-- file: deltas/0.1.0/1-alpha.2.fix.1.md -->
|
||
<!-- version: 1 -->
|
||
|
||
# Delta 0.1.0-1-alpha.2.fix.1
|
||
|
||
## Base
|
||
|
||
Base déclarée : `0.1.0-1-alpha.2`, non validée.
|
||
|
||
## Échecs observés
|
||
|
||
### Build script Tauri
|
||
|
||
Clippy strict remonte :
|
||
|
||
```text
|
||
missing documentation for the crate
|
||
```
|
||
|
||
sur `build.rs`.
|
||
|
||
Le build script reçoit une documentation de crate.
|
||
|
||
### Contexte Tauri
|
||
|
||
`tauri::generate_context!()` échoue car :
|
||
|
||
```text
|
||
icons/icon.png
|
||
```
|
||
|
||
est absent.
|
||
|
||
Une icône PNG minimale de développement est ajoutée.
|
||
|
||
### Build WebAssembly
|
||
|
||
Le build `wasm32-unknown-unknown` tirait `sdl3` via une dépendance inutile de la crate de gameplay.
|
||
|
||
`game-reflex-poc` n'utilise aucun symbole SDL3 ; `game-snake-poc` non plus.
|
||
|
||
Les dépendances directes suivantes sont donc retirées des deux crates jeu :
|
||
|
||
```text
|
||
engine-v1-sdl
|
||
```
|
||
|
||
La frontière redevient :
|
||
|
||
```text
|
||
gameplay -> engine-v1-common / engine-v1-platform-api
|
||
runner Desktop -> engine-v1-sdl
|
||
runner WASM/Tauri -> wasm-bindgen / Canvas
|
||
```
|
||
|
||
Le gameplay ne dépend plus d'un backend de rendu/input particulier.
|
||
|
||
## Validation
|
||
|
||
```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 Tauri Android deltas history
|
||
|
||
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-reflex-poc --all-targets --all-features
|
||
cargo test -p game-snake-poc --all-targets --all-features
|
||
```
|
||
|
||
## Gate WASM
|
||
|
||
Le target et `wasm-bindgen-cli` sont déjà installés sur la machine de validation.
|
||
|
||
Relancer :
|
||
|
||
```bash
|
||
python3 scripts/build_reflex_tauri_wasm.py
|
||
```
|
||
|
||
Attendu :
|
||
|
||
```bash
|
||
test -f Tauri/game-reflex-poc/frontend/game_reflex_poc_tauri.js
|
||
test -f Tauri/game-reflex-poc/frontend/game_reflex_poc_tauri_bg.wasm
|
||
```
|
||
|
||
## Smoke Tauri
|
||
|
||
Une fois le CLI Tauri et les dépendances système disponibles :
|
||
|
||
```bash
|
||
cd crates/apps/game-reflex-poc-tauri
|
||
cargo tauri dev
|
||
```
|
||
|
||
Critères inchangés :
|
||
|
||
- fenêtre locale 405 × 720 ;
|
||
- cible Reflex visible ;
|
||
- clic sur la cible comptabilisé ;
|
||
- déplacement de cible ;
|
||
- score visible ;
|
||
- aucun site distant requis.
|
||
|
||
## Transition
|
||
|
||
Si les gates passent, `0.1.0-1-alpha.2.fix.1` valide le POC WASM + Tauri.
|
||
|
||
En cas d'échec imputable au projet, produire `0.1.0-1-alpha.2.fix.2`.
|