Files
games/history/0.3.1/0-pre.2.fix.3.md
2026-09-21 01:13:37 +02:00

65 lines
2.8 KiB
Markdown

<!-- file: history/0.3.1/0-pre.2.fix.3.md -->
<!-- version: 1 -->
# Historique 0.3.1-0-pre.2.fix.3
## Statut
Correctif validé par l'utilisateur le 2026-09-20. Le host Tauri Android minimal est assemblé, installé et lancé sur l'AVD x86_64 avec le template Android officiel Tauri 2.11.x sous JDK 17.
Le frontend atteint son état `ready` avec la provenance `Android / TauriWebView / Wasm`. L'écran reste volontairement minimal à ce jalon : Canvas, contrôles et assets appartiennent à `0-pre.3`.
## Toolchain confirmée
La machine possède notamment Temurin 17, 21 et 25. La gate Android a sélectionné explicitement :
```text
JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64
OpenJDK 17.0.20.1
NDK sélectionné par Tauri : 30.0.14904198
Gradle wrapper généré : 8.14.3
```
Le projet `gen/android` pollué par la tentative Gradle 9 de `0-pre.2.fix.1` a été supprimé puis régénéré uniquement avec `cargo tauri android init`. L'audit de distribution l'a accepté.
## Gate workspace
Les validations suivantes ont passé :
```text
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 217 file(s))
Distribution layout audit: clean (42 required path(s), 1 forbidden path(s) absent)
cargo fmt --all: clean
cargo fmt --all -- --check: clean
cargo check --workspace: clean
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
cargo test -p game-snake-poc-wasm --all-targets --all-features: 5 passed, 0 failed
```
## Smoke Tauri Android
`cargo tauri android dev` a :
- construit l'adapter Snake WASM et le frontend Vite ;
- construit le `cdylib` Android x86_64 ;
- assemblé l'APK avec Gradle 8.14.3 ;
- installé l'application par streamed install ;
- lancé `com.sasedev.games.snake.tauri/.MainActivity` ;
- démarré le runtime Rust avec `platform_family="android"`, `runtime_host="tauri-webview"`, `execution_model="wasm"` ;
- atteint `Snake Tauri frontend ready`.
Les warnings Gradle/Kotlin/Tauri observés sont des dépréciations upstream non bloquantes.
Vite a aussi journalisé un échec de connexion WebSocket HMR. Ce défaut n'empêche ni le chargement du frontend ni l'état `ready` et n'est pas bloquant pour la fermeture du host minimal ; la configuration dev peut être ajustée dans la tranche frontend suivante.
## Décision produit issue du smoke
Le POC démontre la faisabilité de Tauri Android, mais aussi un coût d'outillage supplémentaire par rapport au host Android natif SDL3 déjà fonctionnel. La suite de `0.3.1` termine donc un POC jouable de référence, sans faire de Tauri Android la voie de production des futurs jeux.
## Suite
`0.3.1-0-pre.3` ajoute Canvas, boucle fixed-step, contrôles clavier/touch, assets et shell responsive afin de rendre le POC réellement comparable au host Web direct et au natif SDL3.