Files
games/deltas/0.1.0/2-beta.1.fix.3.md

2.9 KiB

Delta 0.1.0-2-beta.1.fix.3

Base

Base déclarée : 0.1.0-2-beta.1.fix.2.

Échecs observés sur AVD API 36

Le gameplay Reflex et Snake fonctionne en x86_64, mais :

  • le bouton Back de l'AVD ne ferme pas le runtime ;
  • logcat ne montre aucun événement tracing du moteur.

Back Android 16

Le projet cible API 36.

Sur Android 16, onBackPressed() et KEYCODE_BACK ne constituent plus la voie de référence. Le common Android enregistre désormais OnBackInvokedCallback sur API 33+.

La chaîne devient :

Android Back
-> SaseGameActivity
-> NativeBridge.requestPlatformBack()
-> JNI nativeRequestPlatformBack()
-> engine-v1-sdl::request_platform_back()
-> QuitSource::PlatformBack
-> EngineGame::quit_requested()

Le mapping SDL AcBack reste accepté comme événement SDL générique, mais Android ne dépend plus du hint SDL_ANDROID_TRAP_BACK_BUTTON.

Logging Android

game-android-entrypoint initialise désormais game-logging-lib.

Sur Android, game-logging-lib utilise tracing-android pour écrire directement vers logcat avec le tag :

games.sasedev

Desktop et Tauri conservent le writer stderr existant.

Contrat JNI

Le contrat Java/JNI passe de 1 à 2.

Nouvel export autorisé et audité :

Java_com_sasedev_games_common_NativeBridge_nativeRequestPlatformBack

Validation statique/Rust

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 deltas history
python3 scripts/audit_distribution_layout.py

cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings

cargo test -p engine-v1-sdl --all-targets --all-features
cargo test -p game-logging-lib --all-targets --all-features

Android ARM64

python3 scripts/build_android_rust.py reflex --abi arm64-v8a
python3 scripts/build_android_rust.py snake --abi arm64-v8a

cd Android
gradle :game-reflex-poc:assembleDebug
gradle :game-snake-poc:assembleDebug
cd ..

Android x86_64

python3 scripts/build_android_rust.py reflex --abi x86_64
python3 scripts/build_android_rust.py snake --abi x86_64

cd Android
gradle :game-reflex-poc:assembleDebug
gradle :game-snake-poc:assembleDebug
cd ..

Smoke logcat correct

Vider logcat avant le lancement :

adb -s emulator-5554 logcat -c
adb -s emulator-5554 shell am start -n com.sasedev.games.reflex/.ReflexActivity
adb -s emulator-5554 logcat | grep -iE 'games\.sasedev|com\.sasedev\.games|SDL|AndroidRuntime|FATAL|panic'

Attendu :

  • événement d'initialisation tracing Android ;
  • événement SDL3 runtime started ;
  • sur Back, événement SDL3 platform Back requested ;
  • événement SDL3 runtime stopped.

Répéter pour Snake et, après validation AVD, refaire un smoke court ARM64 réel.