Files
games/deltas/0.1.0/0-pre.9.md
2026-09-16 10:01:13 +02:00

3.6 KiB

Delta 0.1.0-0-pre.9

Base

Base validée : 0.1.0-0-pre.8.

Objectif

Stabiliser la source, les namespaces, la résolution et le packaging multi-plateforme des assets avant le premier gameplay visuel complet.

Source unique

Les ressources versionnées restent exclusivement sous :

assets/common/
assets/game-reflex-poc/
assets/game-snake-poc/

Aucune crate Rust et aucun module Android ne reçoit de copie source durable.

game-assets-lib

Nouveau crate transverse :

crates/common/game-assets-lib

Il fournit AssetResolver et AssetError.

Namespaces canoniques :

common://...
game://...

Le resolver rejette les chemins vides, absolus, traversants et les schemes inconnus.

Ressources de validation

Premiers assets réels :

assets/common/data/runtime.json
assets/game-reflex-poc/data/game.json
assets/game-snake-poc/data/game.json

Ils servent de contrats de packaging, pas de contenu graphique définitif.

Desktop

python3 scripts/stage_game_assets.py reflex
python3 scripts/stage_game_assets.py snake

Le layout généré est :

common/
game/

sous ../builds/sasedev-games/assets/<game>/ par défaut.

Android

Chaque application utilise la tâche Gradle commune stageSasedevAssets.

Le package final doit contenir :

assets/common/data/runtime.json
assets/game/data/game.json

sans inclure les assets de l'autre jeu.

Validation 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

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

cargo test -p game-assets-lib --all-targets --all-features

Validation staging Desktop

python3 scripts/stage_game_assets.py reflex
python3 scripts/stage_game_assets.py snake

test -f ../builds/sasedev-games/assets/game-reflex-poc/common/data/runtime.json
test -f ../builds/sasedev-games/assets/game-reflex-poc/game/data/game.json
test -f ../builds/sasedev-games/assets/game-snake-poc/common/data/runtime.json
test -f ../builds/sasedev-games/assets/game-snake-poc/game/data/game.json

Validation Android

Les bibliothèques natives de 0-pre.8 peuvent être réutilisées car ce delta ne modifie pas le code natif Android.

cd Android

gradle :game-reflex-poc:assembleDebug
gradle :game-snake-poc:assembleDebug

cd ..

Vérifier le contenu :

unzip -l Android/game-reflex-poc/build/outputs/apk/debug/game-reflex-poc-debug.apk | grep 'assets/common/data/runtime.json'
unzip -l Android/game-reflex-poc/build/outputs/apk/debug/game-reflex-poc-debug.apk | grep 'assets/game/data/game.json'

unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'assets/common/data/runtime.json'
unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep 'assets/game/data/game.json'

Vérifier aussi qu'aucun package n'embarque le namespace source de l'autre jeu :

! unzip -l Android/game-reflex-poc/build/outputs/apk/debug/game-reflex-poc-debug.apk | grep -q 'game-snake-poc'
! unzip -l Android/game-snake-poc/build/outputs/apk/debug/game-snake-poc-debug.apk | grep -q 'game-reflex-poc'

Règle de transition

Si ces gates sont propres, passer automatiquement à 0.1.0-0-pre.10 pour rendre le POC Reflex réellement jouable Desktop + Android.

En cas d'échec imputable au projet, produire 0.1.0-0-pre.9.fix.1.