Files
games/docs/testing/002-BETA_VALIDATION_MATRIX.md

149 lines
3.0 KiB
Markdown

<!-- file: docs/testing/002-BETA_VALIDATION_MATRIX.md -->
<!-- version: 2 -->
# Matrice de validation beta 0.1.0
## Objectif
La phase beta n'ajoute pas de nouveau gameplay.
Elle valide la stabilité du socle existant sur les runtimes et appareils réellement supportés par `0.1.0`.
## Desktop SDL3 natif
Jeux :
- Reflex ;
- Snake.
Smokes :
```bash
cargo run -p game-reflex-poc-desktop
cargo run -p game-snake-poc-desktop
```
Critères :
- fenêtre créée ;
- rendu correct ;
- contrôles clavier/souris fonctionnels ;
- sortie propre.
## Desktop Tauri / WASM
Jeu POC :
- Reflex.
Smoke :
```bash
cd crates/apps/game-reflex-poc-tauri
cargo tauri dev
```
Critères :
- Vite démarre via le hook Tauri ;
- WASM est reconstruit via le hook Tauri ;
- rendu Reflex visible ;
- score mis à jour ;
- traces Rust et TypeScript visibles ;
- `Escape` traverse `QuitRequest` / `QuitDecision` puis ferme proprement.
## Android x86_64 AVD
Jeux :
- Reflex ;
- Snake.
Critères :
- build Rust x86_64 ;
- assemblage APK ;
- installation ;
- démarrage ;
- tactile ;
- Back Android.
## Android ARM64 réel
Appareil de référence déjà utilisé :
```text
Samsung Galaxy S9+
arm64-v8a
```
La beta doit au minimum revalider Snake et, si possible, Reflex sur appareil physique.
Le tactile physique est évalué séparément de l'AVD, car la qualité de contrôle observée peut différer fortement.
## Provenance
Les résultats de test conservent les dimensions de provenance pertinentes :
```text
PlatformFamily
DeviceClass
ExecutionModel
RuntimeHost
InputProfile
```
Cette provenance décrit l'environnement ; elle ne décide pas automatiquement si deux scores doivent être classés ensemble.
## Packaging Desktop natif
```bash
cargo build -p game-reflex-poc-desktop --release
cargo build -p game-snake-poc-desktop --release
```
## Packaging Tauri
Le frontend ne doit pas être construit manuellement comme gate indépendante.
```bash
cd crates/apps/game-reflex-poc-tauri
cargo tauri build
```
Le hook `beforeBuildCommand` reconstruit WASM puis exécute le build Vite/TypeScript.
## Packaging Android beta
Pour la beta, l'APK Debug reste l'artefact de validation multi-appareils.
La signature et le packaging de publication sont réservés à la phase RC/stable.
## Gate lourde de phase
La transition alpha vers beta justifie :
```bash
cargo test --workspace --all-targets --all-features
```
Cette suite complète ne devient pas une gate de chaque futur correctif beta.
## Logcat Android
Le buffer doit être vidé avant le lancement du jeu, pas après :
```bash
adb -s <device> logcat -c
adb -s <device> shell am start -n <package>/<activity>
adb -s <device> logcat | grep -iE 'games\.sasedev|com\.sasedev\.games|SDL|AndroidRuntime|FATAL|panic'
```
Android utilise un subscriber `tracing` dédié à logcat.
## Back Android 16
Les applications ciblent API 36. Le Back système est donc traité via `OnBackInvokedCallback` sur API 33+ puis converti en `QuitSource::PlatformBack`.
Le fallback `onBackPressed()` reste réservé aux versions Android antérieures.