Files
games/crates/apps/game-snake-poc-tauri/README.md

2.0 KiB

game-snake-poc-tauri

Host Tauri Android du POC Snake. Cette application réutilise le gameplay Rust de game-snake-poc et l'unique adapter WebAssembly game-snake-poc-wasm ; elle ne possède aucune règle de jeu.

Responsabilités

La crate possède uniquement la frontière Tauri : initialisation du logging Rust, assemblage/plugins/commandes Tauri, contrat minimal de provenance native et frontend Vite/TypeScript exécuté dans la WebView Android.

L'organisation Rust suit le modèle des applications Desk KSP :

  • src/lib.rs reste une façade et réexporte les éléments partagés au crate-root ;
  • src/tauri.rs assemble Tauri et fait déléguer les commandes aux modules propriétaires ;
  • src/runtime.rs possède le petit contrat runtime/provenance ;
  • frontend/ contient le host WebView et consomme les bindings générés de game-snake-poc-wasm.

Le frontend minimal de 0.3.1-0-pre.2 valide uniquement le démarrage Tauri, le bridge Rust, le tracing et le chargement du même adapter WASM que le Web direct. Canvas, contrôles, assets et lifecycle complet sont prévus dans les tranches suivantes.

Build

Les hooks beforeDevCommand et beforeBuildCommand de Tauri possèdent le build WASM et Vite. Aucun orchestrateur Python n'est utilisé. Les bindings WASM, la distribution Vite, les caches, node_modules/ et le projet Android généré restent hors des sources livrées ou dans des chemins générés ignorés.

Pour Tauri CLI 2.11.x, le projet Android généré utilise encore Gradle 8.14.3. Le hook scripts/prepare-android-gradle.mjs applique avant dev/build la migration Android déjà retenue upstream par Tauri (Gradle 9.6.1, AGP 9.3.1, Kotlin 2.2.10) afin de rester exécutable avec Java 25. Cette préparation modifie uniquement gen/android/, reste idempotente et ne dépend pas du Gradle global installé sur la machine.

Voir USAGE.md pour l'initialisation locale et les smokes Android.