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

3.4 KiB

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 :

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 :

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é :

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 :

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

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.

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 :

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 :

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 et laissent Android exécuter la navigation Back système.

Pour la launcher Activity racine :

  • aucun callback PRIORITY_DEFAULT ne consomme Back ;
  • android:enableOnBackInvokedCallback="true" reste explicitement activé ;
  • sur API 36+, PRIORITY_SYSTEM_NAVIGATION_OBSERVER trace l'action sans bloquer le Back-to-home ;
  • le bouton Back injecté par adb shell input keyevent 4 constitue un smoke système valide si le contrôle graphique de l'AVD ne relaie pas correctement Back.

Le moteur SDL conserve AcBack pour les plateformes qui émettent cet événement.