2.6 KiB
game-snake-poc-tauri
Host Tauri Android de référence 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.rsreste une façade et réexporte les éléments partagés au crate-root ;src/tauri.rsassemble Tauri et fait déléguer les commandes aux modules propriétaires ;src/runtime.rspossède le petit contrat runtime/provenance ;frontend/contient le host WebView et consomme les bindings générés degame-snake-poc-wasm.
À partir de 0.3.1-0-pre.3, le frontend fournit aussi le Canvas, la boucle fixed-step, les contrôles clavier/touch et le chargement des assets canoniques. Le lifecycle mobile complet et la politique Back restent consolidés dans la tranche suivante.
Statut du POC
Ce host est conservé comme POC de référence et non comme template de production Android. La voie de jeu Android privilégiée reste SDL3 natif/Java/JNI, qui couvre déjà les besoins principaux avec une chaîne de build plus directe.
Tauri Android reste utile pour comparer une WebView/WASM à la voie native et pour tester ultérieurement des besoins spécifiques, par exemple la saisie texte. Une future distribution Tauri Desktop est une décision séparée, conditionnée à un bénéfice produit concret tel qu’une monétisation WebView exploitable.
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.
Le host ne modifie pas le projet Android généré par Tauri. Pour 0.3.1, la chaîne Tauri 2.11.x est conservée telle que générée : Gradle 8.14.3 et Android Gradle Plugin 8.11.0. Le JDK Android de référence du projet est JDK 17, qui correspond au minimum et à la valeur par défaut documentés par AGP 8.11. Le Java 25 global et le JBR 25 de l'Android Studio actuellement installé ne doivent pas exécuter ce wrapper.
Voir USAGE.md pour l'initialisation locale et les smokes Android.