2.7 KiB
Delta 0.1.0-0-pre.11
Base
Base validée : 0.1.0-0-pre.10.fix.1.
Objectifs
- rendre Snake réellement jouable ;
- valider la réutilisation de
EngineSceneet du backend input SDL3 ; - figer le NDK au niveau projet sans variable globale ;
- permettre un smoke natif x86_64 sur l'AVD Linux.
Snake
Le POC utilise une grille 12 × 20, un serpent initial de trois segments, un déplacement automatique, quatre directions, une nourriture déterministe, croissance/score et reset sur collision mur/corps.
Le rendu réutilise exclusivement EngineScene et RenderRect.
Input
Desktop : flèches clavier.
Souris/tactile : le clic/tap produit aussi une direction selon l'axe dominant depuis le centre de l'écran. Reflex ignore ces directions ; Snake les consomme.
NDK
La propriété unique :
androidNdkVersion=28.2.13676358
est lue par Gradle et scripts/build_android_rust.py.
Le script définit ANDROID_NDK_HOME uniquement dans l'environnement du sous-processus cargo ndk.
Validation
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
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-snake-poc --all-targets --all-features
Smoke Desktop :
cargo run -p game-snake-poc-desktop
Critères : serpent/nourriture visibles, déplacement automatique, flèches fonctionnelles, demi-tour refusé, croissance sur nourriture, reset sur collision, fermeture propre.
Android ARM64 :
python3 scripts/build_android_rust.py snake --abi arm64-v8a
Android x86_64 pour l'AVD :
rustup target add x86_64-linux-android
python3 scripts/build_android_rust.py snake --abi x86_64
Puis :
cd Android
gradle :game-snake-poc:assembleDebug
cd ..
Vérifier :
unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'lib/arm64-v8a/libgame_android_entrypoint.so'
unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'lib/x86_64/libgame_android_entrypoint.so'
Smoke AVD :
adb devices
adb shell getprop ro.product.cpu.abi
adb install -r Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk
adb shell am start -n com.sasedev.games.snake/.SnakeActivity
Transition
Si ces gates sont propres, 0.1.0-0-pre.11 termine la phase 0-pre.* prévue et permet de passer à 0.1.0-1-alpha.1.
En cas d'échec imputable au projet, produire 0.1.0-0-pre.11.fix.1.