0.3.1
This commit is contained in:
12
CHANGELOG.md
12
CHANGELOG.md
@@ -1,8 +1,18 @@
|
||||
<!-- file: CHANGELOG.md -->
|
||||
<!-- version: 15 -->
|
||||
<!-- version: 16 -->
|
||||
|
||||
# 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 d’un 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
|
||||
|
||||
- gel fonctionnel du POC Snake Tauri Android de référence après validation beta du workspace complet et du packaging Android autonome ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# file: Cargo.toml
|
||||
# version: 79
|
||||
# version: 80
|
||||
|
||||
[workspace]
|
||||
resolver = "3"
|
||||
@@ -21,7 +21,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.3.1-3-rc.1"
|
||||
version = "0.3.1"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/games"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: README.md -->
|
||||
<!-- version: 50 -->
|
||||
<!-- version: 51 -->
|
||||
|
||||
# games.sasedev
|
||||
|
||||
@@ -25,11 +25,11 @@ Workspace expérimental puis productif pour des jeux multiplateformes principale
|
||||
|
||||
## 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.
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: ROADMAP.md -->
|
||||
<!-- version: 24 -->
|
||||
<!-- version: 25 -->
|
||||
|
||||
# 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` — documenter les duplications observées et conserver les adapters Web/WASM spécifiques tant qu’un 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 qu’une solution de monétisation desktop/WebView, notamment vidéo récompensée, n’est 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 d’anciennes versions Android, sans script Python de build.
|
||||
- ( ) `0.3.4` — API de transport realtime + WebSocket/tokio-tungstenite baseline, sans serveur Uroburas Mode 3.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "game-snake-poc-tauri",
|
||||
"private": true,
|
||||
"version": "0.3.1-3-rc.1",
|
||||
"version": "0.3.1",
|
||||
"type": "module",
|
||||
"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",
|
||||
|
||||
56
deltas/0.3.1/rel.001.md
Normal file
56
deltas/0.3.1/rel.001.md
Normal 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.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- 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
|
||||
|
||||
@@ -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.
|
||||
|
||||
### `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`
|
||||
|
||||
|
||||
54
history/0.3.1/3-rc.1.md
Normal file
54
history/0.3.1/3-rc.1.md
Normal 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.
|
||||
Reference in New Issue
Block a user