155 lines
3.3 KiB
Markdown
155 lines
3.3 KiB
Markdown
<!-- file: deltas/0.1.0/1-alpha.2.fix.2.md -->
|
||
<!-- version: 1 -->
|
||
|
||
# Delta 0.1.0-1-alpha.2.fix.2
|
||
|
||
## Base
|
||
|
||
Base déclarée : `0.1.0-1-alpha.2.fix.1`, techniquement compilable mais architecture Tauri/WASM rejetée avant validation fonctionnelle.
|
||
|
||
## Réorganisation
|
||
|
||
Le POC est réaligné sur le modèle des apps Desk KSP.
|
||
|
||
### Tauri
|
||
|
||
```text
|
||
crates/apps/game-reflex-poc-tauri/
|
||
├── src/lib.rs
|
||
├── src/tauri.rs
|
||
├── src/runtime.rs
|
||
├── src/main.rs
|
||
├── frontend/
|
||
├── capabilities/
|
||
├── package.json
|
||
├── tsconfig.json
|
||
├── vite.config.ts
|
||
└── tauri.conf.json
|
||
```
|
||
|
||
`lib.rs` reste une façade. `tauri.rs` assemble Tauri et expose les commandes qui délèguent aux modules propriétaires.
|
||
|
||
### WASM
|
||
|
||
```text
|
||
crates/apps/game-reflex-poc-wasm/
|
||
├── src/lib.rs
|
||
└── src/runtime.rs
|
||
```
|
||
|
||
La crate WASM ne dépend pas de Tauri. La crate Tauri ne compile plus elle-même en `wasm32`.
|
||
|
||
### Frontend
|
||
|
||
Le frontend utilise Vite + TypeScript.
|
||
|
||
Le hook Tauri `beforeDevCommand` exécute :
|
||
|
||
```text
|
||
python3 ../../../scripts/build_reflex_tauri_wasm.py && npm run dev
|
||
```
|
||
|
||
Le hook `beforeBuildCommand` exécute le build WASM puis `npm run build`.
|
||
|
||
`npm run build` n'est donc pas une gate manuelle indépendante.
|
||
|
||
### Logging
|
||
|
||
Backend :
|
||
|
||
```text
|
||
tracing
|
||
tauri-plugin-tracing
|
||
```
|
||
|
||
Frontend :
|
||
|
||
```text
|
||
@fltsci/tauri-plugin-tracing
|
||
```
|
||
|
||
La capability inclut :
|
||
|
||
```text
|
||
tracing:default
|
||
```
|
||
|
||
Le frontend trace startup, chargement WASM, pointeur, score et erreurs via le plugin.
|
||
|
||
## Suppressions nécessaires
|
||
|
||
Un ZIP delta ne supprime pas les anciens fichiers lors d'un simple overlay.
|
||
|
||
Après extraction du delta, appliquer la liste :
|
||
|
||
```bash
|
||
while IFS= read -r path; do
|
||
rm -rf -- "$path"
|
||
done < deltas/0.1.0/1-alpha.2.fix.2.delete.txt
|
||
```
|
||
|
||
Cette suppression retire uniquement l'ancien prototype statique et l'ancien module WASM interne à la crate Tauri.
|
||
|
||
## Installation frontend
|
||
|
||
Depuis :
|
||
|
||
```bash
|
||
cd crates/apps/game-reflex-poc-tauri
|
||
npm install
|
||
cd ../../..
|
||
```
|
||
|
||
## Validation Rust
|
||
|
||
```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 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-reflex-poc-wasm --all-targets --all-features
|
||
```
|
||
|
||
## Gate WASM
|
||
|
||
```bash
|
||
python3 scripts/build_reflex_tauri_wasm.py
|
||
|
||
test -f crates/apps/game-reflex-poc-tauri/frontend/wasm/game_reflex_poc_wasm.js
|
||
test -f crates/apps/game-reflex-poc-tauri/frontend/wasm/game_reflex_poc_wasm_bg.wasm
|
||
```
|
||
|
||
## Smoke Tauri
|
||
|
||
Depuis la crate :
|
||
|
||
```bash
|
||
cd crates/apps/game-reflex-poc-tauri
|
||
cargo tauri dev
|
||
```
|
||
|
||
Tauri lance lui-même Vite et le build WASM.
|
||
|
||
Critères :
|
||
|
||
- fenêtre locale 405 × 720 ;
|
||
- frontend Vite/TypeScript ;
|
||
- cible Reflex visible ;
|
||
- clic comptabilisé et cible déplacée ;
|
||
- score visible ;
|
||
- traces frontend visibles via le plugin tracing ;
|
||
- aucun site distant.
|
||
|
||
## Transition
|
||
|
||
Si les gates et le smoke passent, `0.1.0-1-alpha.2.fix.2` valide le POC restructuré.
|
||
|
||
En cas d'échec imputable au projet, produire `0.1.0-1-alpha.2.fix.3`.
|