147 lines
5.8 KiB
Markdown
147 lines
5.8 KiB
Markdown
<!-- file: deltas/0.3.1/0-pre.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta 0.3.1-0-pre.1
|
|
|
|
## Base
|
|
|
|
Base autoritaire : archive téléchargée depuis le tag `v0.3.0` et fournie pour la reprise.
|
|
|
|
L'archive a été testée et inspectée avant modification. Sa version workspace est `0.3.0`. Elle ne contient pas `.git`, conformément au contrat des archives taggées ; aucun état Git inaccessible n'est inventé.
|
|
|
|
## Objet
|
|
|
|
Ouvrir `0.3.1` par son gate obligatoire de cadrage : audit de baseline, revue complète des règles, inventaire de réutilisation Web/WASM, référence Tauri existante, exigences Tauri Android, sizing et planification.
|
|
|
|
Aucun scaffold `game-snake-poc-tauri`, aucun frontend Tauri Snake et aucun changement de gameplay n'est introduit dans cette tranche.
|
|
|
|
## Version
|
|
|
|
La version workspace passe de :
|
|
|
|
```text
|
|
0.3.0
|
|
```
|
|
|
|
à :
|
|
|
|
```text
|
|
0.3.1-0-pre.1
|
|
```
|
|
|
|
Les versions npm des produits existants ne changent pas : cette tranche n'est pas une release de leurs frontends et `VER-TAURI-003`/`VER-TAURI-004` interdisent une synchronisation npm cérémonielle à chaque prerelease Cargo.
|
|
|
|
## Audit de baseline
|
|
|
|
Avant modification :
|
|
|
|
```text
|
|
unzip -t : no errors
|
|
General Rust rule audit: clean
|
|
Rust export completeness audit: 0 candidate(s)
|
|
games.sasedev workspace audit: clean
|
|
Markdown table audit: clean (5 table(s), 197 file(s))
|
|
Distribution layout audit: clean (31 required path(s), 1 forbidden path(s) absent)
|
|
```
|
|
|
|
L'archive ne contient aucun lockfile interdit, `node_modules/`, `dist/`, `target/` ou binding WASM généré.
|
|
|
|
Le détail est conservé dans `docs/studies/024-V0_3_1_TAURI_ANDROID_SNAKE_AUDIT.md`.
|
|
|
|
## Corrections documentaires et normatives
|
|
|
|
Cette tranche :
|
|
|
|
- ferme l'index du plan `0.3.0` et ouvre le plan actif `0.3.1` ;
|
|
- ajoute l'étude de cadrage et le plan vivant `0.3.1` ;
|
|
- distingue explicitement les commandes Tauri Desktop des commandes Tauri Android ;
|
|
- ajoute `cargo tauri android init`, `cargo tauri android dev` et `cargo tauri android build` à la matrice normative ;
|
|
- corrige le prompt de reprise pour utiliser les commandes Android de Tauri au lieu des commandes Desktop ;
|
|
- clarifie la différence entre la famille conceptuelle Mobile et le contrat V1 concret `PlatformFamily::Android` ;
|
|
- distingue une sortie applicative Tauri soumise à `EngineGame::quit_requested` du Back système Android, qui reste une navigation système ;
|
|
- documente la provenance attendue `Android / Wasm / TauriWebView`.
|
|
|
|
## Réutilisation retenue
|
|
|
|
Le second host doit :
|
|
|
|
- conserver `game-snake-poc` comme gameplay unique ;
|
|
- réutiliser `game-snake-poc-wasm` plutôt que créer un second adapter ;
|
|
- généraliser seulement la provenance de host actuellement figée sur Web/Browser ;
|
|
- réutiliser sélectivement Canvas/input/assets/shell du host Web ;
|
|
- adapter lifecycle et tracing au WebView Tauri Android ;
|
|
- suivre l'organisation Tauri `lib.rs` façade + `tauri.rs` assemblage + modules propriétaires ;
|
|
- ne pas reprendre l'orchestrateur Python historique du POC Reflex.
|
|
|
|
## Référence KSP
|
|
|
|
L'archive KSP demandée est visible dans la bibliothèque, mais son export binaire vers l'environnement de génération a été refusé par le service de bibliothèque. Aucun audit intégral fictif de cette archive n'est donc déclaré.
|
|
|
|
Les extraits indexés accessibles confirment néanmoins une organisation Desk avec `tauri.rs` pour l'assemblage/lifecycle et des modules propriétaires séparés tels que `app_state.rs`, `route_runtime.rs` et `frontend_logging.rs`. Les règles locales games.sasedev restent normatives.
|
|
|
|
## Forecast
|
|
|
|
```text
|
|
0-pre.1 audit / règles / requirements / environnement / plan
|
|
0-pre.2 scaffold Tauri Android + pipeline natif + bridge Snake WASM minimal
|
|
0-pre.3 Canvas / input / assets / shell
|
|
0-pre.4 lifecycle / provenance / tracing / Back + smoke mobile
|
|
0-pre.5 conditionnel : extraction commune réellement justifiée
|
|
2-beta.1 validation large + packaging Android
|
|
2-beta.2 consolidation documentaire conditionnelle
|
|
3-rc.1 candidate gelée
|
|
0.3.1 release mécanique
|
|
```
|
|
|
|
## Validations exécutées dans l'environnement de génération
|
|
|
|
Après constitution de l'état livré, exécuter :
|
|
|
|
```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
|
|
```
|
|
|
|
Aucun Cargo build/test/smoke final n'est attribué au générateur.
|
|
|
|
## Validation utilisateur demandée
|
|
|
|
Le manifest workspace change de version et les règles de commandes/validation sont modifiées. La gate utilisateur est :
|
|
|
|
```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 fmt --all
|
|
cargo fmt --all -- --check
|
|
cargo check --workspace
|
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
```
|
|
|
|
Aucun test workspace complet n'est imposé par `pre.1` : aucun code, comportement ni graphe de dépendances n'est modifié. Il reste réservé à un jalon planifié ou à une portée transverse non bornable.
|
|
|
|
Fournir également l'inventaire d'environnement qui conditionne `0-pre.2` :
|
|
|
|
```bash
|
|
rustc --version
|
|
cargo --version
|
|
cargo tauri --version
|
|
rustup target list --installed
|
|
node --version
|
|
npm --version
|
|
wasm-bindgen --version
|
|
java -version
|
|
printf 'JAVA_HOME=%s\nANDROID_HOME=%s\nNDK_HOME=%s\n' "$JAVA_HOME" "$ANDROID_HOME" "$NDK_HOME"
|
|
adb version
|
|
adb devices -l
|
|
emulator -list-avds
|
|
```
|
|
|
|
Cette seconde série est un inventaire de prérequis, pas une gate déclarée réussie à l'avance.
|
|
|
|
## Suite après validation
|
|
|
|
Si la gate est propre et le cadrage accepté, passer à `0.3.1-0-pre.2` pour créer le host Tauri Android minimal. Toute absence d'outil indispensable ou incohérence de règle découverte par la gate produit d'abord un `0-pre.1.fix.N` borné.
|