149 lines
3.0 KiB
Markdown
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.
|