Files
games/deltas/0.1.0/0-pre.6.md
2026-09-16 08:49:45 +02:00

141 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- file: deltas/0.1.0/0-pre.6.md -->
<!-- version: 1 -->
# 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`.