# 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 `EngineScene` et 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 : ```text 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 ```bash 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 : ```bash 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 : ```bash python3 scripts/build_android_rust.py snake --abi arm64-v8a ``` Android x86_64 pour l'AVD : ```bash rustup target add x86_64-linux-android python3 scripts/build_android_rust.py snake --abi x86_64 ``` Puis : ```bash cd Android gradle :game-snake-poc:assembleDebug cd .. ``` Vérifier : ```bash 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 : ```bash 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`.