This commit is contained in:
2026-09-21 08:22:30 +02:00
parent e5a4d7fe44
commit 76a955bd3d
8 changed files with 137 additions and 17 deletions

View File

@@ -1,8 +1,18 @@
<!-- file: CHANGELOG.md --> <!-- file: CHANGELOG.md -->
<!-- version: 15 --> <!-- version: 16 -->
# Changelog # Changelog
## 0.3.1 — 2026-09-21
- publication stable du second host Snake sous Tauri Android, conservé comme POC de référence et non comme voie de production Android ;
- validation du gameplay partagé via `game-snake-poc-wasm`, du Canvas, des contrôles tactiles, des assets, du lifecycle mobile/WebView, du tracing et de la provenance runtime ;
- validation dun APK Debug universal autonome contenant `arm64-v8a` et `x86_64`, installé et lancé sur Galaxy S9+ ARM64 réel et AVD API 36 x86_64 ;
- validation finale de `0.3.1-3-rc.1` sans défaut nécessitant un correctif RC, puis promotion mécanique vers la stable ;
- maintien de `0.3.2` en différé et préparation de `0.3.3` pour Android SDL3 natif multi-ABI, APK universal de test, AAB de distribution et évaluation du `minSdk`.
Les détails des phases `pre`, `beta`, `rc` et de leurs correctifs restent dans `deltas/0.3.1/` et `history/0.3.1/`.
## 0.3.1-3-rc.1 — 2026-09-21 ## 0.3.1-3-rc.1 — 2026-09-21
- gel fonctionnel du POC Snake Tauri Android de référence après validation beta du workspace complet et du packaging Android autonome ; - gel fonctionnel du POC Snake Tauri Android de référence après validation beta du workspace complet et du packaging Android autonome ;

View File

@@ -1,5 +1,5 @@
# file: Cargo.toml # file: Cargo.toml
# version: 79 # version: 80
[workspace] [workspace]
resolver = "3" resolver = "3"
@@ -21,7 +21,7 @@ members = [
] ]
[workspace.package] [workspace.package]
version = "0.3.1-3-rc.1" version = "0.3.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
repository = "https://git.sasedev.com/Sasedev/games" repository = "https://git.sasedev.com/Sasedev/games"

View File

@@ -1,5 +1,5 @@
<!-- file: README.md --> <!-- file: README.md -->
<!-- version: 50 --> <!-- version: 51 -->
# games.sasedev # games.sasedev
@@ -25,11 +25,11 @@ Workspace expérimental puis productif pour des jeux multiplateformes principale
## Baseline ## Baseline
Version stable de référence : `0.3.0`. Version stable de référence : `0.3.1`.
Version de développement courante : `0.3.1-3-rc.1`. Version suivante active planifiée : `0.3.3` (non démarrée). `0.3.2` reste différée.
Le scope `0.3.1` est gelé en RC. `0.3.2` reste différée ; la prochaine version active prévue après la stable est `0.3.3`, centrée sur Android SDL3 natif multi-ABI, le packaging Gradle/AAB et lévaluation explicite de la compatibilité avec des versions Android plus anciennes. La stable `0.3.1` conserve Snake Tauri Android comme POC de référence validé sur AVD x86_64 et appareil ARM64 réel. La prochaine version active `0.3.3` est centrée sur Android SDL3 natif multi-ABI, le packaging Gradle/AAB et lévaluation explicite de la compatibilité avec des versions Android plus anciennes.
Les deux premiers jeux sont des POC structurels : `game-reflex-poc` et `game-snake-poc`. Ils existent d'abord pour valider les frontières du workspace, le moteur, les assets et le packaging multiplateforme. Les deux premiers jeux sont des POC structurels : `game-reflex-poc` et `game-snake-poc`. Ils existent d'abord pour valider les frontières du workspace, le moteur, les assets et le packaging multiplateforme.

View File

@@ -1,5 +1,5 @@
<!-- file: ROADMAP.md --> <!-- file: ROADMAP.md -->
<!-- version: 24 --> <!-- version: 25 -->
# Roadmap # Roadmap
@@ -44,9 +44,9 @@ Le détail historique des prereleases `0.1.0-*` reste dans `deltas/0.1.0/` et `h
- (x) `0.3.0` — utiliser uniquement Cargo, `wasm-bindgen` et Vite/npm pour le chemin de build Web ; aucun script Python ne pilote ce build. - (x) `0.3.0` — utiliser uniquement Cargo, `wasm-bindgen` et Vite/npm pour le chemin de build Web ; aucun script Python ne pilote ce build.
- (x) `0.3.0` — documenter les duplications observées et conserver les adapters Web/WASM spécifiques tant quun second consommateur ne justifie pas une extraction commune. - (x) `0.3.0` — documenter les duplications observées et conserver les adapters Web/WASM spécifiques tant quun second consommateur ne justifie pas une extraction commune.
## Série 0.3.x — trajectoire actuelle après 0.3.0 ## Série 0.3.x — trajectoire actuelle après 0.3.1
- ( ) `0.3.1` terminer Snake Tauri Android comme POC de référence réutilisant la baseline Web/WASM ; la production Android reste orientée SDL3 natif. - (x) `0.3.1` — Snake Tauri Android livré comme POC de référence réutilisant la baseline Web/WASM ; la production Android reste orientée SDL3 natif.
- (d) `0.3.2` — Tauri Desktop + Snake est différé tant quune solution de monétisation desktop/WebView, notamment vidéo récompensée, nest pas démontrée techniquement et contractuellement ; ne pas créer cette distribution seulement pour réutiliser le host Web. - (d) `0.3.2` — Tauri Desktop + Snake est différé tant quune solution de monétisation desktop/WebView, notamment vidéo récompensée, nest pas démontrée techniquement et contractuellement ; ne pas créer cette distribution seulement pour réutiliser le host Web.
- ( ) `0.3.3` — Android SDL3 natif multi-ABI avec Cargo/Gradle natifs, APK universal pour tests, AAB comme cible de distribution et évaluation du `minSdk`/support danciennes versions Android, sans script Python de build. - ( ) `0.3.3` — Android SDL3 natif multi-ABI avec Cargo/Gradle natifs, APK universal pour tests, AAB comme cible de distribution et évaluation du `minSdk`/support danciennes versions Android, sans script Python de build.
- ( ) `0.3.4` — API de transport realtime + WebSocket/tokio-tungstenite baseline, sans serveur Uroburas Mode 3. - ( ) `0.3.4` — API de transport realtime + WebSocket/tokio-tungstenite baseline, sans serveur Uroburas Mode 3.

View File

@@ -1,7 +1,7 @@
{ {
"name": "game-snake-poc-tauri", "name": "game-snake-poc-tauri",
"private": true, "private": true,
"version": "0.3.1-3-rc.1", "version": "0.3.1",
"type": "module", "type": "module",
"scripts": { "scripts": {
"wasm:dev": "cargo build -p game-snake-poc-wasm --target wasm32-unknown-unknown && wasm-bindgen ../../../../builds/sasedev-games/target/wasm32-unknown-unknown/debug/game_snake_poc_wasm.wasm --target web --out-dir ../../../../builds/sasedev-games/game-snake-poc-tauri/wasm --out-name game_snake_poc_wasm", "wasm:dev": "cargo build -p game-snake-poc-wasm --target wasm32-unknown-unknown && wasm-bindgen ../../../../builds/sasedev-games/target/wasm32-unknown-unknown/debug/game_snake_poc_wasm.wasm --target web --out-dir ../../../../builds/sasedev-games/game-snake-poc-tauri/wasm --out-name game_snake_poc_wasm",

56
deltas/0.3.1/rel.001.md Normal file
View File

@@ -0,0 +1,56 @@
<!-- file: deltas/0.3.1/rel.001.md -->
<!-- version: 1 -->
# Delta 0.3.1 — release stable
## Base
Base validée : `0.3.1-3-rc.1`.
## Objet
Promouvoir mécaniquement la candidate validée vers `0.3.1` sans introduire de nouveau comportement.
## Changements
La release stable :
- passe `workspace.package.version` de `0.3.1-3-rc.1` à `0.3.1` ;
- passe le package frontend Tauri Snake de `0.3.1-3-rc.1` à `0.3.1` ;
- positionne `README.md` sur la stable `0.3.1` et `0.3.3` comme prochaine version active planifiée, `0.3.2` restant différée ;
- marque `0.3.1` comme terminée dans `ROADMAP.md` ;
- ajoute l'entrée stable `0.3.1` dans `CHANGELOG.md` ;
- enregistre la validation effective de la RC dans `history/0.3.1/3-rc.1.md` ;
- clôt le plan `0.3.1` et confirme que l'AAB/compatibilité Android ancienne appartiennent au POC SDL3 natif `0.3.3`.
Le prompt `prompts/004-V0_3_3_START_PROMPT.md` est conservé tel que préparé et validé en RC.
## Frontière de release
Aucun changement de gameplay, de code Rust, de dépendance, de configuration exécutable, de frontend, de build Android, d'architecture ou de capability n'est introduit après la RC.
## Validation
La gate RC complète a déjà été validée sur un état fonctionnellement identique. La promotion stable ne requiert que les gates proportionnelles aux changements de versions et de documentation :
```bash
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 Web deltas history
python3 scripts/audit_distribution_layout.py
cargo check --workspace
(cd crates/apps/game-snake-poc-tauri && npm install)
(cd crates/apps/game-snake-poc-tauri && cargo tauri android build --debug --apk --target aarch64 --target x86_64)
```
Le build Tauri reste la seule validation frontend de release : ne pas lancer `npm run build` manuellement. Les smokes AVD/ARM64, Clippy strict et la suite workspace complète ne sont pas répétés, car aucun code/runtime n'a changé depuis la RC validée.
## Publication
Après validation de ce delta :
- commit de release ;
- tag stable `v0.3.1` ;
- prochaine session ouverte uniquement à partir de la stable taggée `v0.3.1` et de `prompts/004-V0_3_3_START_PROMPT.md` ;
- ne pas créer artificiellement `0.3.2` tant que son critère de réouverture n'est pas satisfait.

View File

@@ -1,5 +1,5 @@
<!-- file: docs/plans/002-V0_3_1_TAURI_ANDROID_SNAKE_PLAN.md --> <!-- file: docs/plans/002-V0_3_1_TAURI_ANDROID_SNAKE_PLAN.md -->
<!-- version: 10 --> <!-- version: 11 -->
# Plan v0.3.1 — second host Snake Tauri Android # Plan v0.3.1 — second host Snake Tauri Android
@@ -156,15 +156,15 @@ Le contrôle `unzip` explicite des deux entrées ABI n'a pas été fourni dans l
Aucune consolidation beta supplémentaire ne justifie une tranche autonome. Les documents durables nécessaires sont consolidés directement à l'ouverture de la RC. Aucune consolidation beta supplémentaire ne justifie une tranche autonome. Les documents durables nécessaires sont consolidés directement à l'ouverture de la RC.
### `3-rc.1` — candidate gelée ### `3-rc.1` — candidate gelée — validée
Tranche ouverte après validation de `2-beta.1`. Gel fonctionnel strict, synchronisation des versions RC, `CHANGELOG.md`, historique beta, matrice RC spécifique `0.3.1` et préparation du prompt de la prochaine version active. Aucun nouveau framework, host, gameplay ou comportement. Tranche validée le 2026-09-21. Gel fonctionnel strict, synchronisation des versions RC, `CHANGELOG.md`, historique beta, matrice RC spécifique `0.3.1` et préparation du prompt de la prochaine version active. Aucun nouveau framework, host, gameplay ou comportement.
La gate RC revalide le workspace complet et l'APK autonome universal sur x86_64 + ARM64. Aucun AAB Tauri n'est demandé : l'AAB est réservé à la future voie Android SDL3 native où il constitue un vrai artefact de distribution. La gate RC a revalidé le workspace complet, reconstruit l'APK autonome universal, vérifié explicitement les entrées `arm64-v8a` et `x86_64`, puis installé et lancé le même APK sur AVD API 36 x86_64 et Galaxy S9+ ARM64. Aucun correctif RC n'est nécessaire.
### `0.3.1` — release stable ### `0.3.1` — release stable — publiée
Promotion mécanique de la RC validée : versions stables, changelog, history et clôture du plan. Aucun ajout fonctionnel. Promotion mécanique de la RC validée : versions stables, changelog, historique RC et clôture du plan. Aucun ajout fonctionnel. L'AAB reste volontairement hors `0.3.1` et appartient à la prochaine voie Android SDL3 native `0.3.3`.
## Inventaire environnement requis avant `0-pre.2` ## Inventaire environnement requis avant `0-pre.2`

54
history/0.3.1/3-rc.1.md Normal file
View File

@@ -0,0 +1,54 @@
<!-- file: history/0.3.1/3-rc.1.md -->
<!-- version: 1 -->
# Historique 0.3.1-3-rc.1
## Statut
RC validée par l'utilisateur le 2026-09-21 puis retenue pour promotion mécanique vers `0.3.1`.
## Gate workspace
La gate RC complète a passé :
- `cargo fmt --all` puis `cargo fmt --all -- --check` ;
- audits Rust général, exports, workspace, Markdown et distribution propres ;
- `cargo check --workspace` ;
- `cargo clippy --workspace --all-targets --all-features -- -D warnings` ;
- `cargo test --workspace --all-targets --all-features` avec 35 tests réussis et aucun échec.
## Build frontend et packaging Android
`npm install` a terminé sans vulnérabilité signalée. Le build Tauri a exécuté son hook `beforeBuildCommand`, comprenant le build WASM release, `wasm-bindgen`, TypeScript, Vite production et la copie des assets.
La commande :
```text
cargo tauri android build --debug --apk --target aarch64 --target x86_64
```
a produit l'APK autonome universal :
```text
gen/android/app/build/outputs/apk/universal/debug/app-universal-debug.apk
```
Le contrôle `unzip -l` a confirmé les deux bibliothèques natives :
```text
lib/arm64-v8a/libgame_snake_poc_tauri_lib.so
lib/x86_64/libgame_snake_poc_tauri_lib.so
```
## Smokes Android
Le même APK universal a été installé puis lancé avec succès :
- sur l'AVD `sasedev_games_api36` x86_64 ;
- sur le Galaxy S9+ ARM64 réel.
Aucun défaut nécessitant un `3-rc.1.fix.N` n'a été remonté après ces smokes.
## Conclusion
La RC reste fonctionnellement identique au scope gelé de `0.3.1`. La promotion stable peut rester strictement mécanique.