0.3.1-2-beta.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: crates/apps/game-snake-poc-tauri/README.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# game-snake-poc-tauri
|
||||
|
||||
@@ -38,7 +38,7 @@ Le host suspend explicitement sa boucle `requestAnimationFrame` lorsque la WebVi
|
||||
|
||||
Le POC reste mono-page et n’enregistre volontairement aucun handler Tauri `onBackButtonPress`. La politique `EngineGame::quit_requested` de Snake est actuellement la politique moteur par défaut `Exit`, cohérente avec le Back Android/Tauri naturel. Un futur jeu retournant `Continue` devra introduire une intégration Back explicite au lieu de modifier ce POC silencieusement.
|
||||
|
||||
Le smoke ARM64 réel a cependant mis en évidence un abort natif pendant le teardown déclenché par Back sur le Galaxy S9+ de validation : `FORTIFY: pthread_mutex_lock called on a destroyed mutex`. Le crash arrive après le passage WebView en `visibility hidden` et avant le traitement `pagehide` du frontend. Le dépôt ne prétend donc pas corriger ce problème par un handler Back ad hoc ni par un patch du scaffold généré. Il est conservé comme limite du POC Tauri Android et doit être distingué du comportement d'un APK autonome lors de la beta.
|
||||
Le premier smoke ARM64 réel a mis en évidence un abort natif pendant un teardown déclenché par Back : `FORTIFY: pthread_mutex_lock called on a destroyed mutex`. Après correction du tunnel HMR afin que HTTP et WebSocket partagent tous deux `1436`, le smoke `0-pre.4.fix.1` n'a pas reproduit cet abort : le Back a mené jusqu'au détachement de la fenêtre sans crash observé avant la fin volontaire de la commande. Le défaut reste toutefois considéré comme potentiellement intermittent tant que l'APK autonome beta n'a pas reproduit plusieurs cycles de sortie/lifecycle. Le dépôt ne le masque ni par un handler Back ad hoc ni par un patch du scaffold généré.
|
||||
|
||||
## Limite ergonomique connue
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: crates/apps/game-snake-poc-tauri/USAGE.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# Utilisation — Snake Tauri Android
|
||||
|
||||
@@ -101,4 +101,19 @@ Pendant `cargo tauri android dev` :
|
||||
|
||||
Le D-pad placé sous le Canvas est une limite ergonomique connue du POC de référence et n’est pas un critère bloquant de cette gate.
|
||||
|
||||
Sur le Galaxy S9+ ARM64 utilisé pour la validation réelle, le chargement, WASM, Canvas, assets et touch ont fonctionné via le tunnel USB. En revanche, le Back système a provoqué pendant le teardown de l'Activity/WebView un abort natif `FORTIFY: pthread_mutex_lock called on a destroyed mutex`, après `visibility hidden` et avant `pagehide`. Ce comportement est enregistré comme limite de la pile Tauri/Wry/WebView observée et non contourné par une modification de `gen/android`. Il doit être retesté sur l'APK autonome de la beta afin de distinguer le mode `dev` d'un package embarqué.
|
||||
Sur le Galaxy S9+ ARM64 utilisé pour la validation réelle, chargement, WASM, Canvas, assets et touch fonctionnent via le tunnel USB. Un premier smoke a observé un abort natif `FORTIFY: pthread_mutex_lock called on a destroyed mutex` pendant Back/teardown ; après passage de HTTP et HMR sur le même tunnel `1436`, le smoke `0-pre.4.fix.1` n'a pas reproduit l'abort et est allé jusqu'au détachement de la fenêtre. Le risque reste enregistré comme potentiellement intermittent et doit encore être retesté sur l'APK autonome beta ; il n'est pas contourné par une modification de `gen/android`.
|
||||
|
||||
## Packaging beta Android
|
||||
|
||||
À partir de `0.3.1-2-beta.1`, le packaging de validation utilise un APK Debug autonome contenant les deux ABI réellement testées par ce POC : `arm64-v8a` pour l'appareil physique et `x86_64` pour l'AVD. Le build reste possédé par Tauri ; son hook `beforeBuildCommand` construit le WASM release, génère les bindings, exécute TypeScript/Vite et copie les assets.
|
||||
|
||||
```bash
|
||||
export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64
|
||||
(cd crates/apps/game-snake-poc-tauri && \
|
||||
cargo tauri android build --debug --apk --target aarch64 --target x86_64)
|
||||
```
|
||||
|
||||
Ne pas lancer `npm run build` séparément pour cette gate. Tauri affiche le chemin de l'APK produit ; les outputs sous `gen/android/**/build/` sont générés et ignorés. Vérifier ensuite que l'APK contient les bibliothèques `arm64-v8a` et `x86_64`, puis installer ce même APK successivement sur l'AVD et l'appareil réel avec `adb install -r`.
|
||||
|
||||
Le package autonome ne doit dépendre ni de Vite, ni du port `1436`, ni d'un tunnel ADB. Le smoke beta revalide Canvas, assets, WASM, touch, lifecycle et plusieurs sorties Back.
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "game-snake-poc-tauri",
|
||||
"private": true,
|
||||
"version": "0.1.0",
|
||||
"version": "0.3.1-2-beta.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"wasm:dev": "cargo build -p game-snake-poc-wasm --target wasm32-unknown-unknown && wasm-bindgen ../../../../builds/sasedev-games/target/wasm32-unknown-unknown/debug/game_snake_poc_wasm.wasm --target web --out-dir ../../../../builds/sasedev-games/game-snake-poc-tauri/wasm --out-name game_snake_poc_wasm",
|
||||
|
||||
Reference in New Issue
Block a user