# Delta 0.1.0-0-pre.6 ## Base Base validée : `0.1.0-0-pre.5.fix.3`. ## Validation du delta précédent `0.1.0-0-pre.5.fix.3` a été validée par l'utilisateur le 2026-09-16. Les résultats fournis étaient propres pour : - formatage Rust ; - audits Rust/workspace ; - audit Markdown : `1 table(s), 43 file(s)` ; - `cargo check --workspace` ; - Clippy global strict ; - test ciblé `engine-v1-sdl` ; - runners SDL3 Reflex et Snake. Les runners ont utilisé `sdl3 0.20.0` / `sdl3-sys 0.7.1` et se sont fermés proprement. ## Objectifs - préparer le projet Gradle Android réel sans introduire prématurément le `cdylib` Rust ; - utiliser l'AAR officiel SDL3 comme frontière Android commune ; - conserver Java comme langage Android du projet ; - réduire la taille initiale des fenêtres Desktop et autoriser leur redimensionnement. ## Desktop Les runners portrait utilisent désormais une fenêtre initiale : ```text 405 × 720 ``` La fenêtre SDL3 est redimensionnable. Cette dimension est une taille physique de développement, pas une résolution logique de gameplay. ## Android Le projet Android introduit : - AGP `9.4.0` ; - `compileSdk 36` ; - `targetSdk 36` ; - `minSdk 21` ; - Java 17 ; - SDL3 AAR `3.4.16` ; - module `common` Android Library ; - modules applications `game-reflex-poc` et `game-snake-poc` ; - manifests de lancement portrait ; - `SaseGameActivity` dérivée de `org.libsdl.app.SDLActivity`. L'AAR SDL3 reste externe et n'est pas commité dans le dépôt. ## Découpage volontaire de la roadmap Le précédent objectif `0-pre.6` regroupait trop de frontières à la fois : Gradle, AAR SDL3, NDK, Rust `cdylib` et lancement. Il est scindé en : - `0-pre.6` : projet Gradle + AAR + Java SDLActivity ; - `0-pre.7` : Rust Android `cdylib` + point d'entrée SDL + premier APK lancé ; - `0-pre.8` : Java/JNI services + input tactile. ## Validation Rust à exécuter par l'utilisateur Le delta modifie du Rust : ```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 ``` Test ciblé SDL3 : ```bash cargo test -p engine-v1-sdl --all-targets --all-features ``` Smokes Desktop : ```bash cargo run -p game-reflex-poc-desktop cargo run -p game-snake-poc-desktop ``` Vérifier notamment que : - la fenêtre initiale est sensiblement plus petite que précédemment ; - elle est redimensionnable ; - `Escape` et la fermeture système restent fonctionnels. ## Préflight Android Vérifier Java : ```bash java -version ``` Une JVM 17 doit être disponible pour AGP 9.4. Placer l'AAR officiel SDL3 : ```text Android/libs/SDL3-3.4.16.aar ``` Le build Gradle est alors validable avec Gradle `9.6.0` ou via Android Studio compatible AGP 9.4. Si une installation Gradle 9.6.0 est disponible : ```bash cd Android gradle :common:assembleDebug gradle :game-reflex-poc:assembleDebug gradle :game-snake-poc:assembleDebug cd .. ``` Le lancement des APK n'est pas une gate de ce delta : le `cdylib` Rust et le point d'entrée SDL Android seront ajoutés en `0-pre.7`. ## Règle de transition Si les gates Rust sont propres et que la synchronisation/build Android Java+SDL3 AAR est propre sur la machine équipée, passer automatiquement à `0.1.0-0-pre.7`. En cas d'échec provoqué par les fichiers de ce delta, produire `0.1.0-0-pre.6.fix.1`.