0.3.1-2-beta.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/000-README.md -->
|
||||
<!-- version: 28 -->
|
||||
<!-- version: 29 -->
|
||||
|
||||
# Documentation games.sasedev
|
||||
|
||||
@@ -70,6 +70,7 @@ Voir [`../RULES.md`](../RULES.md), notamment [`rules/RULES_DOCUMENTATION.md`](ru
|
||||
- [`testing/002-BETA_VALIDATION_MATRIX.md`](testing/002-BETA_VALIDATION_MATRIX.md) — matrice beta Desktop SDL3, Tauri/WASM et Android multi-appareils.
|
||||
- [`testing/003-RC_VALIDATION_MATRIX.md`](testing/003-RC_VALIDATION_MATRIX.md) — matrice RC de reproductibilité, packaging final et promotion vers `0.1.0`.
|
||||
- [`testing/004-V0_3_0_RC_VALIDATION_MATRIX.md`](testing/004-V0_3_0_RC_VALIDATION_MATRIX.md) — gate RC spécifique au POC Snake Web direct et à son témoin Desktop SDL3.
|
||||
- [`testing/005-V0_3_1_RC_VALIDATION_MATRIX.md`](testing/005-V0_3_1_RC_VALIDATION_MATRIX.md) — gate RC du POC Snake Tauri Android de référence, incluant workspace complet et APK universal x86_64 + ARM64.
|
||||
- [`development/003-TRACING_AND_DIAGNOSTICS.md`](development/003-TRACING_AND_DIAGNOSTICS.md) — socle `tracing`, subscriber et appender communs.
|
||||
- [`development/004-SDL3_DESKTOP_PREREQUISITES.md`](development/004-SDL3_DESKTOP_PREREQUISITES.md) — prérequis SDL3 Desktop, stratégie de liaison système et vérification `pkg-config`.
|
||||
- [`development/005-DESKTOP_WINDOW_POLICY.md`](development/005-DESKTOP_WINDOW_POLICY.md) — taille initiale, redimensionnement et séparation future entre fenêtre physique et résolution virtuelle.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/plans/002-V0_3_1_TAURI_ANDROID_SNAKE_PLAN.md -->
|
||||
<!-- version: 9 -->
|
||||
<!-- version: 10 -->
|
||||
|
||||
# Plan v0.3.1 — second host Snake Tauri Android
|
||||
|
||||
@@ -139,30 +139,28 @@ Si aucune extraction n'est justifiée, cette tranche est omise.
|
||||
|
||||
### `2-beta.1` — validation large et packaging Android
|
||||
|
||||
Tranche ouverte après validation de `0-pre.4.fix.1`. Aucun `0-pre.5` n'est justifié : aucune extraction Web/Tauri ne conserve assez de valeur maintenant que le host Android Tauri est explicitement un POC de référence.
|
||||
Tranche validée le 2026-09-21. Aucun `0-pre.5` n'était justifié : aucune extraction Web/Tauri ne conserve assez de valeur maintenant que le host Android Tauri est explicitement un POC de référence.
|
||||
|
||||
Prévoir :
|
||||
Résultats acquis :
|
||||
|
||||
- audits statiques applicables ;
|
||||
- `cargo fmt --all -- --check` ;
|
||||
- `cargo check --workspace` ;
|
||||
- Clippy workspace strict ;
|
||||
- suite workspace complète à ce jalon planifié ;
|
||||
- build WASM release et bindings ;
|
||||
- `cargo tauri android build` ;
|
||||
- APK de validation du POC de référence ;
|
||||
- AAB uniquement si une valeur de validation supplémentaire est démontrée, pas par automatisme de distribution ;
|
||||
- install/smoke AVD ;
|
||||
- install/smoke appareil ARM64 réel si disponible ;
|
||||
- vérification que les outputs restent hors racine du dépôt lorsqu'ils sont configurables par le projet.
|
||||
- audits statiques, `cargo fmt`, `cargo check --workspace` et Clippy workspace strict propres ;
|
||||
- suite `cargo test --workspace --all-targets --all-features` propre avec 35 tests réussis et aucun échec ;
|
||||
- hook Tauri `beforeBuildCommand` : WASM release, `wasm-bindgen`, TypeScript/Vite et copie des assets réussis ;
|
||||
- APK Debug universal généré avec `aarch64-linux-android` et `x86_64-linux-android` ;
|
||||
- installation et lancement réussis sur Galaxy S9+ ARM64 réel puis AVD API 36 x86_64 ;
|
||||
- aucun serveur Vite, port `1436` ou tunnel ADB requis pour le package autonome.
|
||||
|
||||
### `2-beta.2` — consolidation documentaire conditionnelle
|
||||
Le contrôle `unzip` explicite des deux entrées ABI n'a pas été fourni dans la sortie utilisateur ; la RC le conserve donc comme contrôle mécanique, même si l'installation/lancement du même APK sur ARM64 et x86_64 exerce déjà les deux architectures en pratique.
|
||||
|
||||
Réserver seulement si les validations beta demandent une consolidation substantielle de `README.md`, `USAGE.md`, architecture, matrice de validation ou plan. Ne pas créer cette tranche par cérémonial.
|
||||
### `2-beta.2` — omise
|
||||
|
||||
Aucune consolidation beta supplémentaire ne justifie une tranche autonome. Les documents durables nécessaires sont consolidés directement à l'ouverture de la RC.
|
||||
|
||||
### `3-rc.1` — candidate gelée
|
||||
|
||||
Gel fonctionnel, reproductibilité, packaging Android RC et validation finale selon les règles RC applicables. Aucun nouveau framework ni nouveau host.
|
||||
Tranche ouverte après validation de `2-beta.1`. Gel fonctionnel strict, synchronisation des versions RC, `CHANGELOG.md`, historique beta, matrice RC spécifique `0.3.1` et préparation du prompt de la prochaine version active. Aucun nouveau framework, host, gameplay ou comportement.
|
||||
|
||||
La gate RC revalide le workspace complet et l'APK autonome universal sur x86_64 + ARM64. Aucun AAB Tauri n'est demandé : l'AAB est réservé à la future voie Android SDL3 native où il constitue un vrai artefact de distribution.
|
||||
|
||||
### `0.3.1` — release stable
|
||||
|
||||
@@ -206,4 +204,4 @@ La version peut entrer en RC lorsque :
|
||||
|
||||
## Version suivante
|
||||
|
||||
`0.3.2` devient une évaluation conditionnelle de Tauri Desktop + Snake. Elle n’est ouverte que si la WebView Desktop apporte un bénéfice explicite, notamment une piste de monétisation publicitaire viable ; la factorisation WebView reste interdite sans deux consommateurs réellement retenus.
|
||||
`0.3.2` reste différée : aucune voie de monétisation Desktop/WebView suffisamment démontrée ne justifie son ouverture. La prochaine version active prévue est `0.3.3`, consacrée à Android SDL3 natif multi-ABI. Son `0-pre.1` devra notamment cadrer un AAB de distribution, distinguer compatibilité ABI et compatibilité de version Android, puis déterminer expérimentalement le `minSdk` réellement soutenable avant de promettre le support d’anciens appareils.
|
||||
|
||||
96
docs/testing/005-V0_3_1_RC_VALIDATION_MATRIX.md
Normal file
96
docs/testing/005-V0_3_1_RC_VALIDATION_MATRIX.md
Normal file
@@ -0,0 +1,96 @@
|
||||
<!-- file: docs/testing/005-V0_3_1_RC_VALIDATION_MATRIX.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Matrice de validation RC 0.3.1
|
||||
|
||||
## Objectif
|
||||
|
||||
`0.3.1-3-rc.1` est une candidate gelée. Elle n'ajoute aucune fonctionnalité au POC Snake Tauri Android ; elle vérifie qu'un état reproductible peut être promu mécaniquement vers `0.3.1`.
|
||||
|
||||
Le host Tauri Android reste un POC de référence. La voie Android productive reste SDL3 natif/Java/JNI. Aucun AAB Tauri n'est requis pour cette RC.
|
||||
|
||||
## Gel fonctionnel
|
||||
|
||||
Pendant `3-rc.*`, seules les corrections autorisées par `VER-RC-*` sont admises. Tout nouveau gameplay, contrôle swipe, refactor Web/Tauri, framework commun, intégration publicitaire ou changement volontaire de comportement est hors scope.
|
||||
|
||||
## Gate workspace
|
||||
|
||||
Depuis la racine :
|
||||
|
||||
```bash
|
||||
export JAVA_HOME=/usr/lib/jvm/temurin-17-jdk-amd64
|
||||
|
||||
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 Web deltas history
|
||||
python3 scripts/audit_distribution_layout.py
|
||||
|
||||
cargo check --workspace
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
cargo test --workspace --all-targets --all-features
|
||||
```
|
||||
|
||||
Cette suite complète est volontairement répétée au jalon RC parce que la version technique et les métadonnées frontend sont promues vers la candidate.
|
||||
|
||||
## Packaging Android autonome
|
||||
|
||||
Installer/actualiser les dépendances frontend, puis laisser Tauri posséder le build WASM/Vite :
|
||||
|
||||
```bash
|
||||
(cd crates/apps/game-snake-poc-tauri && npm install)
|
||||
|
||||
(cd crates/apps/game-snake-poc-tauri && \
|
||||
cargo tauri android build --debug --apk --target aarch64 --target x86_64)
|
||||
```
|
||||
|
||||
Ne pas lancer `npm run build` manuellement. Le hook `beforeBuildCommand` doit construire le WASM release, générer les bindings, exécuter TypeScript/Vite et copier les assets.
|
||||
|
||||
Le package RC de validation reste un APK Debug universal car `0.3.1` ne constitue pas la voie Android de production et ne possède aucun secret/signing de store. L'AAB de production sera étudié dans la future version Android SDL3 native.
|
||||
|
||||
## Contrôle ABI
|
||||
|
||||
À partir du chemin `<apk>` affiché par Tauri :
|
||||
|
||||
```bash
|
||||
unzip -l <apk> | grep -E 'lib/(arm64-v8a|x86_64)/libgame_snake_poc_tauri_lib\.so'
|
||||
```
|
||||
|
||||
Les deux entrées doivent être présentes.
|
||||
|
||||
## Smoke AVD x86_64
|
||||
|
||||
Lancer l'AVD de référence dans un terminal séparé :
|
||||
|
||||
```bash
|
||||
emulator -avd sasedev_games_api36
|
||||
```
|
||||
|
||||
Puis :
|
||||
|
||||
```bash
|
||||
adb devices -l
|
||||
adb -s emulator-5554 install -r <apk>
|
||||
adb -s emulator-5554 shell am start -n com.sasedev.games.snake.tauri/.MainActivity
|
||||
```
|
||||
|
||||
Vérifier : démarrage, Canvas, assets, WASM, contrôles disponibles, lifecycle background/foreground, reprise sans rattrapage et Back sans crash.
|
||||
|
||||
## Smoke ARM64 réel
|
||||
|
||||
Avec le Galaxy S9+ ou un autre appareil ARM64 disponible :
|
||||
|
||||
```bash
|
||||
adb -s <serial> shell getprop ro.product.cpu.abi
|
||||
adb -s <serial> install -r <apk>
|
||||
adb -s <serial> shell am start -n com.sasedev.games.snake.tauri/.MainActivity
|
||||
```
|
||||
|
||||
Vérifier : provenance `android / tauri-webview / wasm / phone / touch`, contrôles tactiles, background/foreground, reprise sans rattrapage, rotation/resize si disponible et plusieurs Back. Aucun Vite, `adb reverse` ou port `1436` ne doit être nécessaire.
|
||||
|
||||
Le crash `FORTIFY: pthread_mutex_lock called on a destroyed mutex` observé une fois en dev reste un point de surveillance. Sa reproduction sur l'APK autonome RC bloque la promotion stable et impose un `3-rc.1.fix.N`; son absence pendant les smokes RC permet de clore ce risque comme non reproductible dans l'état candidat.
|
||||
|
||||
## Promotion stable
|
||||
|
||||
Si la gate RC est propre et qu'aucun correctif n'est nécessaire, la promotion vers `0.3.1` est mécanique : versions stables, entrée stable du `CHANGELOG.md`, historique RC, clôture du plan et delta de release. Aucun code fonctionnel ne doit changer.
|
||||
Reference in New Issue
Block a user