0.1.0-3-rc.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
// file: Android/game-reflex-poc/build.gradle
|
// file: Android/game-reflex-poc/build.gradle
|
||||||
// version: 21
|
// version: 22
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application'
|
id 'com.android.application'
|
||||||
@@ -18,7 +18,7 @@ android {
|
|||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 36
|
targetSdk 36
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName '0.1.0-2-beta.1.fix.4'
|
versionName '0.1.0-3-rc.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: Android/game-snake-poc/build.gradle
|
// file: Android/game-snake-poc/build.gradle
|
||||||
// version: 21
|
// version: 22
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application'
|
id 'com.android.application'
|
||||||
@@ -18,7 +18,7 @@ android {
|
|||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 36
|
targetSdk 36
|
||||||
versionCode 1
|
versionCode 1
|
||||||
versionName '0.1.0-2-beta.1.fix.4'
|
versionName '0.1.0-3-rc.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
|||||||
10
CHANGELOG.md
10
CHANGELOG.md
@@ -1,8 +1,16 @@
|
|||||||
<!-- file: CHANGELOG.md -->
|
<!-- file: CHANGELOG.md -->
|
||||||
<!-- version: 6 -->
|
<!-- version: 7 -->
|
||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.1.0-3-rc.1 — 2026-09-17
|
||||||
|
|
||||||
|
- validation de `2-beta.1.fix.4` sur Desktop SDL3 natif, Tauri/WASM, Android AVD x86_64 et Galaxy S9+ ARM64 ;
|
||||||
|
- validation du logging Android vers logcat et du Back système Android 16 via observer non consommant ;
|
||||||
|
- clôture de la phase beta et gel fonctionnel du socle `0.1.0` ;
|
||||||
|
- entrée en phase RC centrée sur la reproductibilité des builds de release, les artefacts de distribution et la documentation de livraison ;
|
||||||
|
- ajout d'une matrice RC et d'une gate workspace complète avant promotion vers `0.1.0`.
|
||||||
|
|
||||||
## 0.1.0-2-beta.1 — 2026-09-17
|
## 0.1.0-2-beta.1 — 2026-09-17
|
||||||
|
|
||||||
- validation de `1-alpha.2.fix.5` avec Reflex exécuté dans Tauri/WebView/WASM via Vite + TypeScript ;
|
- validation de `1-alpha.2.fix.5` avec Reflex exécuté dans Tauri/WebView/WASM via Vite + TypeScript ;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 33
|
# version: 34
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -19,7 +19,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.1.0-2-beta.1.fix.4"
|
version = "0.1.0-3-rc.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.sasedev.com/Sasedev/games"
|
repository = "https://git.sasedev.com/Sasedev/games"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: ROADMAP.md -->
|
<!-- file: ROADMAP.md -->
|
||||||
<!-- version: 12 -->
|
<!-- version: 13 -->
|
||||||
|
|
||||||
# Roadmap
|
# Roadmap
|
||||||
|
|
||||||
@@ -18,6 +18,6 @@
|
|||||||
- [x] `0-pre.11` — POC Snake jouable et validation de la réutilisation du moteur.
|
- [x] `0-pre.11` — POC Snake jouable et validation de la réutilisation du moteur.
|
||||||
- [x] `1-alpha.1` — première API moteur V1 volontairement stabilisée et provenance runtime/input pour les futures sessions et scores.
|
- [x] `1-alpha.1` — première API moteur V1 volontairement stabilisée et provenance runtime/input pour les futures sessions et scores.
|
||||||
- [x] `1-alpha.2` — POC Web/WASM embarqué dans Tauri, sans site distant, et validation de la frontière des services Web/ads.
|
- [x] `1-alpha.2` — POC Web/WASM embarqué dans Tauri, sans site distant, et validation de la frontière des services Web/ads.
|
||||||
- [ ] `2-beta.1` — stabilisation, packaging, tests multi-appareils.
|
- [x] `2-beta.1` — stabilisation, packaging, tests multi-appareils.
|
||||||
- [ ] `3-rc.1` — candidat de release du socle 0.1.0.
|
- [ ] `3-rc.1` — candidat de release du socle 0.1.0.
|
||||||
- [ ] `0.1.0` — première baseline stable du framework POC.
|
- [ ] `0.1.0` — première baseline stable du framework POC.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "game-reflex-poc-tauri",
|
"name": "game-reflex-poc-tauri",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.1.0-2-beta.1.fix.4",
|
"version": "0.1.0-3-rc.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://schema.tauri.app/config/2",
|
"$schema": "https://schema.tauri.app/config/2",
|
||||||
"productName": "Reflex POC Tauri",
|
"productName": "Reflex POC Tauri",
|
||||||
"version": "0.1.0-2-beta.1.fix.4",
|
"version": "0.1.0-3-rc.1",
|
||||||
"identifier": "com.sasedev.games.reflex.tauri",
|
"identifier": "com.sasedev.games.reflex.tauri",
|
||||||
"build": {
|
"build": {
|
||||||
"beforeDevCommand": {
|
"beforeDevCommand": {
|
||||||
|
|||||||
82
deltas/0.1.0/3-rc.1.md
Normal file
82
deltas/0.1.0/3-rc.1.md
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
<!-- file: deltas/0.1.0/3-rc.1.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Delta 0.1.0-3-rc.1
|
||||||
|
|
||||||
|
## Base
|
||||||
|
|
||||||
|
Base validée : `0.1.0-2-beta.1.fix.4`.
|
||||||
|
|
||||||
|
## Objectif
|
||||||
|
|
||||||
|
Entrer en phase RC sans changement fonctionnel.
|
||||||
|
|
||||||
|
Le socle `0.1.0` est gelé ; la priorité devient la reproductibilité des builds, les artefacts de release et la promotion stable.
|
||||||
|
|
||||||
|
## Historique beta
|
||||||
|
|
||||||
|
La validation complète de la beta est enregistrée sous :
|
||||||
|
|
||||||
|
```text
|
||||||
|
history/0.1.0/2-beta.1.fix.4.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## Matrice RC
|
||||||
|
|
||||||
|
La matrice durable est documentée dans :
|
||||||
|
|
||||||
|
```text
|
||||||
|
docs/testing/003-RC_VALIDATION_MATRIX.md
|
||||||
|
```
|
||||||
|
|
||||||
|
## Gates
|
||||||
|
|
||||||
|
```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
|
||||||
|
python3 scripts/audit_distribution_layout.py
|
||||||
|
|
||||||
|
cargo check --workspace
|
||||||
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||||
|
cargo test --workspace --all-targets --all-features
|
||||||
|
```
|
||||||
|
|
||||||
|
## Desktop release
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo build -p game-reflex-poc-desktop --release
|
||||||
|
cargo build -p game-snake-poc-desktop --release
|
||||||
|
|
||||||
|
../builds/sasedev-games/target/release/game-reflex-poc-desktop
|
||||||
|
../builds/sasedev-games/target/release/game-snake-poc-desktop
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tauri release
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd crates/apps/game-reflex-poc-tauri
|
||||||
|
cargo tauri build
|
||||||
|
cd ../../..
|
||||||
|
```
|
||||||
|
|
||||||
|
Le build frontend reste possédé par Tauri/Vite ; ne pas lancer `npm run build` comme gate indépendante.
|
||||||
|
|
||||||
|
## Android
|
||||||
|
|
||||||
|
Revalider les deux jeux sur :
|
||||||
|
|
||||||
|
- AVD x86_64/API 36 ;
|
||||||
|
- appareil ARM64 réel.
|
||||||
|
|
||||||
|
Les commandes détaillées sont dans `docs/testing/003-RC_VALIDATION_MATRIX.md`.
|
||||||
|
|
||||||
|
## Publication
|
||||||
|
|
||||||
|
Les secrets de signature et credentials de store restent externes au dépôt.
|
||||||
|
|
||||||
|
`3-rc.1` ne devient `0.1.0` qu'après une gate RC complète propre et sans modification supplémentaire.
|
||||||
|
|
||||||
|
Tout défaut du candidat produit `3-rc.1.fix.N`.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/000-README.md -->
|
<!-- file: docs/000-README.md -->
|
||||||
<!-- version: 16 -->
|
<!-- version: 17 -->
|
||||||
|
|
||||||
# Documentation games.sasedev
|
# Documentation games.sasedev
|
||||||
|
|
||||||
@@ -50,6 +50,7 @@ Voir [`../RULES.md`](../RULES.md), notamment [`rules/RULES_COMMANDS.md`](rules/R
|
|||||||
|
|
||||||
- [`testing/001-TEST_ARCHITECTURE.md`](testing/001-TEST_ARCHITECTURE.md) — séparation `unit_tests/` / `tests/`, tests ciblés et tracing de test.
|
- [`testing/001-TEST_ARCHITECTURE.md`](testing/001-TEST_ARCHITECTURE.md) — séparation `unit_tests/` / `tests/`, tests ciblés et tracing de test.
|
||||||
- [`testing/002-BETA_VALIDATION_MATRIX.md`](testing/002-BETA_VALIDATION_MATRIX.md) — matrice beta Desktop SDL3, Tauri/WASM et Android multi-appareils.
|
- [`testing/002-BETA_VALIDATION_MATRIX.md`](testing/002-BETA_VALIDATION_MATRIX.md) — matrice beta Desktop SDL3, Tauri/WASM et Android multi-appareils.
|
||||||
|
- [`testing/003-RC_VALIDATION_MATRIX.md`](testing/003-RC_VALIDATION_MATRIX.md) — matrice RC de reproductibilité, packaging final et promotion vers `0.1.0`.
|
||||||
- [`development/003-TRACING_AND_DIAGNOSTICS.md`](development/003-TRACING_AND_DIAGNOSTICS.md) — socle `tracing`, subscriber et appender communs.
|
- [`development/003-TRACING_AND_DIAGNOSTICS.md`](development/003-TRACING_AND_DIAGNOSTICS.md) — socle `tracing`, subscriber et appender communs.
|
||||||
- [`development/004-SDL3_DESKTOP_PREREQUISITES.md`](development/004-SDL3_DESKTOP_PREREQUISITES.md) — prérequis SDL3 Desktop, stratégie de liaison système et vérification `pkg-config`.
|
- [`development/004-SDL3_DESKTOP_PREREQUISITES.md`](development/004-SDL3_DESKTOP_PREREQUISITES.md) — prérequis SDL3 Desktop, stratégie de liaison système et vérification `pkg-config`.
|
||||||
- [`development/005-DESKTOP_WINDOW_POLICY.md`](development/005-DESKTOP_WINDOW_POLICY.md) — taille initiale, redimensionnement et séparation future entre fenêtre physique et résolution virtuelle.
|
- [`development/005-DESKTOP_WINDOW_POLICY.md`](development/005-DESKTOP_WINDOW_POLICY.md) — taille initiale, redimensionnement et séparation future entre fenêtre physique et résolution virtuelle.
|
||||||
@@ -59,4 +60,3 @@ Voir [`../RULES.md`](../RULES.md), notamment [`rules/RULES_COMMANDS.md`](rules/R
|
|||||||
## Historique validé
|
## Historique validé
|
||||||
|
|
||||||
- [`../history/README.md`](../history/README.md) — convention et navigation de l'historique transitoire immuable des jalons validés.
|
- [`../history/README.md`](../history/README.md) — convention et navigation de l'historique transitoire immuable des jalons validés.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/rules/RULES_COMMANDS.md -->
|
<!-- file: docs/rules/RULES_COMMANDS.md -->
|
||||||
<!-- version: 7 -->
|
<!-- version: 8 -->
|
||||||
|
|
||||||
# Règles d'exécution des commandes
|
# Règles d'exécution des commandes
|
||||||
|
|
||||||
@@ -69,3 +69,13 @@
|
|||||||
- **CMD-BETA-002** — La transition alpha vers beta exécute une suite Cargo workspace complète en plus des tests ciblés.
|
- **CMD-BETA-002** — La transition alpha vers beta exécute une suite Cargo workspace complète en plus des tests ciblés.
|
||||||
- **CMD-BETA-003** — Le build Tauri de packaging est lancé via `cargo tauri build`; ses hooks possèdent le build WASM et Vite/TypeScript.
|
- **CMD-BETA-003** — Le build Tauri de packaging est lancé via `cargo tauri build`; ses hooks possèdent le build WASM et Vite/TypeScript.
|
||||||
- **CMD-BETA-004** — Les APK Debug servent à la validation multi-appareils beta ; la signature de publication appartient à la phase RC/stable.
|
- **CMD-BETA-004** — Les APK Debug servent à la validation multi-appareils beta ; la signature de publication appartient à la phase RC/stable.
|
||||||
|
|
||||||
|
## RC et release
|
||||||
|
|
||||||
|
- **CMD-RC-001** — L'entrée en RC gèle le périmètre fonctionnel de `0.1.0` ; seuls les correctifs, la reproductibilité des builds, le packaging, la documentation de livraison et les défauts de release sont admis.
|
||||||
|
- **CMD-RC-002** — La validation d'une RC exécute `cargo test --workspace --all-targets --all-features` en plus des audits, du check et de Clippy strict.
|
||||||
|
- **CMD-RC-003** — Les deux runners Desktop natifs sont construits en `--release` et font l'objet d'un smoke sur les binaires de release.
|
||||||
|
- **CMD-RC-004** — Le POC Tauri est construit uniquement via `cargo tauri build`; ses hooks possèdent toujours le build WASM et Vite/TypeScript.
|
||||||
|
- **CMD-RC-005** — Android RC revalide au minimum x86_64 sur AVD et ARM64 sur appareil réel avec les APK issus de l'état RC.
|
||||||
|
- **CMD-RC-006** — Les secrets de signature, keystores et credentials de publication ne sont jamais commités. Leur présence est une condition externe de publication, pas une donnée du dépôt.
|
||||||
|
- **CMD-RC-007** — Une RC n'est promue en stable que si aucun correctif `.fix.N` n'est nécessaire après la gate RC complète.
|
||||||
|
|||||||
144
docs/testing/003-RC_VALIDATION_MATRIX.md
Normal file
144
docs/testing/003-RC_VALIDATION_MATRIX.md
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
<!-- file: docs/testing/003-RC_VALIDATION_MATRIX.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Matrice de validation RC 0.1.0
|
||||||
|
|
||||||
|
## Objectif
|
||||||
|
|
||||||
|
La phase RC n'ajoute aucune fonctionnalité au socle `0.1.0`.
|
||||||
|
|
||||||
|
Elle vérifie qu'un état candidat peut être reproduit, packagé et promu en stable sans modification fonctionnelle.
|
||||||
|
|
||||||
|
## Gel fonctionnel
|
||||||
|
|
||||||
|
Pendant `3-rc.*`, les changements admis sont limités à :
|
||||||
|
|
||||||
|
- correction d'un défaut ;
|
||||||
|
- correction de packaging ou de build release ;
|
||||||
|
- correction documentaire de livraison ;
|
||||||
|
- compatibilité nécessaire à la distribution ;
|
||||||
|
- sécurité ou conformité bloquant la release.
|
||||||
|
|
||||||
|
Tout nouveau gameplay ou nouvelle capacité est reporté après `0.1.0`.
|
||||||
|
|
||||||
|
## Gate statique et 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
|
||||||
|
python3 scripts/audit_distribution_layout.py
|
||||||
|
|
||||||
|
cargo check --workspace
|
||||||
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||||
|
cargo test --workspace --all-targets --all-features
|
||||||
|
```
|
||||||
|
|
||||||
|
## Desktop SDL3 natif
|
||||||
|
|
||||||
|
Build release :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo build -p game-reflex-poc-desktop --release
|
||||||
|
cargo build -p game-snake-poc-desktop --release
|
||||||
|
```
|
||||||
|
|
||||||
|
Smoke sur les binaires produits sous le répertoire externe de build :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
../builds/sasedev-games/target/release/game-reflex-poc-desktop
|
||||||
|
../builds/sasedev-games/target/release/game-snake-poc-desktop
|
||||||
|
```
|
||||||
|
|
||||||
|
Critères :
|
||||||
|
|
||||||
|
- démarrage ;
|
||||||
|
- rendu ;
|
||||||
|
- contrôles ;
|
||||||
|
- sortie propre ;
|
||||||
|
- aucune dépendance à un fichier généré dans le dépôt.
|
||||||
|
|
||||||
|
## Tauri / WASM
|
||||||
|
|
||||||
|
Build candidat :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd crates/apps/game-reflex-poc-tauri
|
||||||
|
cargo tauri build
|
||||||
|
cd ../../..
|
||||||
|
```
|
||||||
|
|
||||||
|
Ne pas lancer `npm run build` comme gate manuelle indépendante.
|
||||||
|
|
||||||
|
Critères :
|
||||||
|
|
||||||
|
- build WASM piloté par le hook ;
|
||||||
|
- Vite/TypeScript piloté par le hook ;
|
||||||
|
- frontend généré hors racine de build interdite ;
|
||||||
|
- binaire Tauri release produit ;
|
||||||
|
- smoke Reflex ;
|
||||||
|
- tracing Rust/TypeScript ;
|
||||||
|
- `Escape` ferme proprement.
|
||||||
|
|
||||||
|
## Android x86_64 / API 36
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 scripts/build_android_rust.py reflex --abi x86_64
|
||||||
|
python3 scripts/build_android_rust.py snake --abi x86_64
|
||||||
|
|
||||||
|
cd Android
|
||||||
|
gradle :game-reflex-poc:assembleDebug
|
||||||
|
gradle :game-snake-poc:assembleDebug
|
||||||
|
cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
Déployer les deux APK sur l'AVD de référence et revalider :
|
||||||
|
|
||||||
|
- démarrage ;
|
||||||
|
- tactile ;
|
||||||
|
- logcat ;
|
||||||
|
- Back système ;
|
||||||
|
- arrêt propre.
|
||||||
|
|
||||||
|
## Android ARM64 réel
|
||||||
|
|
||||||
|
```bash
|
||||||
|
python3 scripts/build_android_rust.py reflex --abi arm64-v8a
|
||||||
|
python3 scripts/build_android_rust.py snake --abi arm64-v8a
|
||||||
|
|
||||||
|
cd Android
|
||||||
|
gradle :game-reflex-poc:assembleDebug
|
||||||
|
gradle :game-snake-poc:assembleDebug
|
||||||
|
cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
Déployer sur l'appareil ARM64 de référence et revalider Reflex et Snake.
|
||||||
|
|
||||||
|
## Artefacts et signature
|
||||||
|
|
||||||
|
Les secrets de publication ne font pas partie du dépôt.
|
||||||
|
|
||||||
|
Avant publication stable, vérifier séparément :
|
||||||
|
|
||||||
|
- identité/package final ;
|
||||||
|
- `versionCode` Android approprié ;
|
||||||
|
- keystore/signing Android disponible hors dépôt ;
|
||||||
|
- artefacts Desktop/Tauri attendus ;
|
||||||
|
- licences et assets distribuables ;
|
||||||
|
- absence de secrets dans l'archive/repository ;
|
||||||
|
- provenance exacte du commit/tag de release.
|
||||||
|
|
||||||
|
La RC peut être validée fonctionnellement avec les artefacts de test existants ; la publication vers un store exige ensuite les credentials externes correspondants.
|
||||||
|
|
||||||
|
## Promotion stable
|
||||||
|
|
||||||
|
`0.1.0-3-rc.1` peut être promue vers `0.1.0` uniquement si :
|
||||||
|
|
||||||
|
- toutes les gates ci-dessus sont propres ;
|
||||||
|
- aucun défaut fonctionnel ou packaging n'est ouvert ;
|
||||||
|
- aucune modification de code n'est nécessaire après la dernière validation ;
|
||||||
|
- la documentation de release correspond exactement aux artefacts validés.
|
||||||
|
|
||||||
|
Si un défaut apparaît, produire `0.1.0-3-rc.1.fix.N` et recommencer la gate affectée.
|
||||||
109
history/0.1.0/2-beta.1.fix.4.md
Normal file
109
history/0.1.0/2-beta.1.fix.4.md
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
<!-- file: history/0.1.0/2-beta.1.fix.4.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Historique 0.1.0-2-beta.1.fix.4
|
||||||
|
|
||||||
|
## Statut
|
||||||
|
|
||||||
|
Validé par l'utilisateur le 2026-09-17.
|
||||||
|
|
||||||
|
## Gates Rust et audits
|
||||||
|
|
||||||
|
La beta finale a passé :
|
||||||
|
|
||||||
|
- `cargo fmt --all` puis `cargo fmt --all -- --check` ;
|
||||||
|
- audit Rust général propre ;
|
||||||
|
- audit d'exports Rust propre ;
|
||||||
|
- audit workspace `games.sasedev` propre ;
|
||||||
|
- audit Markdown propre ;
|
||||||
|
- audit de distribution propre ;
|
||||||
|
- `cargo check --workspace` ;
|
||||||
|
- `cargo clippy --workspace --all-targets --all-features -- -D warnings` ;
|
||||||
|
- tests ciblés `engine-v1-sdl` et `game-logging-lib`.
|
||||||
|
|
||||||
|
La phase beta avait également exécuté la suite workspace complète lors de son entrée et validé les packagings Desktop/Tauri.
|
||||||
|
|
||||||
|
## Desktop natif
|
||||||
|
|
||||||
|
Reflex et Snake ont été construits en release et exécutés avec le runtime SDL3 natif.
|
||||||
|
|
||||||
|
Les deux runners démarrent et s'arrêtent proprement.
|
||||||
|
|
||||||
|
## Tauri / WASM
|
||||||
|
|
||||||
|
Reflex a été construit avec `cargo tauri build`.
|
||||||
|
|
||||||
|
Le build Tauri possède le build WASM et Vite/TypeScript via ses hooks.
|
||||||
|
|
||||||
|
Le smoke a confirmé :
|
||||||
|
|
||||||
|
- démarrage Tauri ;
|
||||||
|
- tracing frontend ;
|
||||||
|
- provenance `Desktop / TauriWebView / Wasm / KeyboardMouse` ;
|
||||||
|
- sortie `Escape` via le contrat moteur commun.
|
||||||
|
|
||||||
|
## Android x86_64 / API 36
|
||||||
|
|
||||||
|
Reflex et Snake ont été compilés en x86_64, assemblés en APK Debug, installés et exécutés sur l'AVD API 36.
|
||||||
|
|
||||||
|
Les deux jeux ont validé :
|
||||||
|
|
||||||
|
- démarrage SDL3 ;
|
||||||
|
- gameplay/tactile ;
|
||||||
|
- tracing Android vers logcat ;
|
||||||
|
- Back système ;
|
||||||
|
- arrêt propre.
|
||||||
|
|
||||||
|
Sur API 36, Back est observé sans être consommé :
|
||||||
|
|
||||||
|
```text
|
||||||
|
Android system Back observed
|
||||||
|
```
|
||||||
|
|
||||||
|
puis Android exécute sa navigation système et le runtime SDL3 s'arrête proprement.
|
||||||
|
|
||||||
|
## Android ARM64 réel
|
||||||
|
|
||||||
|
Les deux jeux ont été reconstruits en `arm64-v8a`, assemblés, installés puis exécutés sur le Samsung Galaxy S9+ de référence.
|
||||||
|
|
||||||
|
Le logging Android est actif et les runtimes se terminent proprement.
|
||||||
|
|
||||||
|
Les traces de fin observées incluent notamment :
|
||||||
|
|
||||||
|
```text
|
||||||
|
SDL3 runtime stopped
|
||||||
|
Finished main function
|
||||||
|
onStop()
|
||||||
|
onDestroy()
|
||||||
|
SDLActivity thread ends
|
||||||
|
```
|
||||||
|
|
||||||
|
Un relancement de Snake a produit :
|
||||||
|
|
||||||
|
```text
|
||||||
|
AndroidRuntime: VM exiting with result code 0
|
||||||
|
```
|
||||||
|
|
||||||
|
ce qui correspond à une sortie normale du processus précédent, suivie d'un nouveau démarrage réussi.
|
||||||
|
|
||||||
|
## Back Android
|
||||||
|
|
||||||
|
Le correctif beta final conserve deux responsabilités distinctes :
|
||||||
|
|
||||||
|
- Android possède la navigation Back de la launcher Activity ;
|
||||||
|
- le moteur SDL conserve `AcBack` pour les plateformes qui émettent réellement cet événement.
|
||||||
|
|
||||||
|
Sur API 36+, `PRIORITY_SYSTEM_NAVIGATION_OBSERVER` sert uniquement à tracer la navigation sans la consommer.
|
||||||
|
|
||||||
|
## Conclusion
|
||||||
|
|
||||||
|
La matrice beta est validée sur :
|
||||||
|
|
||||||
|
```text
|
||||||
|
Desktop SDL3 natif
|
||||||
|
Tauri / WebView / WASM
|
||||||
|
Android x86_64 / API 36
|
||||||
|
Android ARM64 réel
|
||||||
|
```
|
||||||
|
|
||||||
|
Le socle fonctionnel `0.1.0` entre en phase RC.
|
||||||
Reference in New Issue
Block a user