From 504cc0271251816854a65d6578a24a039772c39f Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Fri, 18 Sep 2026 15:06:30 +0200 Subject: [PATCH] 0.2.0-0-pre.4-fix.1 --- Android/game-reflex-poc/build.gradle | 4 +- Android/game-snake-poc/build.gradle | 4 +- Cargo.toml | 4 +- README.md | 4 +- deltas/0.2.0/0-pre.4.fix.1.md | 66 +++++++++++++++++++ docs/studies/000-README.md | 4 +- docs/studies/009-PLATFORM_POC_CANDIDATES.md | 26 ++++---- .../010-PLATFORM_POC_REUSE_AND_DELTA.md | 34 ++++------ .../011-PLATFORM_POC_VALIDATION_MATRIX.md | 8 +-- docs/studies/012-PLATFORM_POC_SEQUENCE.md | 12 ++-- 10 files changed, 114 insertions(+), 52 deletions(-) create mode 100644 deltas/0.2.0/0-pre.4.fix.1.md diff --git a/Android/game-reflex-poc/build.gradle b/Android/game-reflex-poc/build.gradle index 72b0e17..0140da7 100644 --- a/Android/game-reflex-poc/build.gradle +++ b/Android/game-reflex-poc/build.gradle @@ -1,5 +1,5 @@ // file: Android/game-reflex-poc/build.gradle -// version: 34 +// version: 35 plugins { id 'com.android.application' @@ -18,7 +18,7 @@ android { minSdk 21 targetSdk 36 versionCode 2 - versionName '0.2.0-0-pre.4' + versionName '0.2.0-0-pre.4.fix.1' } compileOptions { diff --git a/Android/game-snake-poc/build.gradle b/Android/game-snake-poc/build.gradle index 90f72e5..f66470f 100644 --- a/Android/game-snake-poc/build.gradle +++ b/Android/game-snake-poc/build.gradle @@ -1,5 +1,5 @@ // file: Android/game-snake-poc/build.gradle -// version: 34 +// version: 35 plugins { id 'com.android.application' @@ -18,7 +18,7 @@ android { minSdk 21 targetSdk 36 versionCode 2 - versionName '0.2.0-0-pre.4' + versionName '0.2.0-0-pre.4.fix.1' } compileOptions { diff --git a/Cargo.toml b/Cargo.toml index 089921c..5118404 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ # file: Cargo.toml -# version: 46 +# version: 47 [workspace] resolver = "3" @@ -19,7 +19,7 @@ members = [ ] [workspace.package] -version = "0.2.0-0-pre.4" +version = "0.2.0-0-pre.4.fix.1" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/games" diff --git a/README.md b/README.md index 7e72ace..65cb1c4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ - + # games.sasedev @@ -25,7 +25,7 @@ Workspace expérimental puis productif pour des jeux multiplateformes principale Version stable de référence : `0.1.0`. -Version candidate en cours de conception : `0.2.0-0-pre.4`. +Version candidate en cours de conception : `0.2.0-0-pre.4.fix.1`. 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. diff --git a/deltas/0.2.0/0-pre.4.fix.1.md b/deltas/0.2.0/0-pre.4.fix.1.md new file mode 100644 index 0000000..86c1b9c --- /dev/null +++ b/deltas/0.2.0/0-pre.4.fix.1.md @@ -0,0 +1,66 @@ + + + +# Delta 0.2.0-0-pre.4.fix.1 + +## Base + +Base déclarée : `0.2.0-0-pre.4`. + +Le delta `0-pre.4.md` reste immuable. + +## Objet + +Recentrer tous les POC plateforme étudiés sur Snake comme jeu-sonde unique. + +Le prochain jeu réel pressenti étant un super Snake, cette correction permet aux POC de plateforme de préparer directement ses besoins plutôt que de répartir l'effort entre Reflex et Snake. + +## Décision d'étude + +Les nouveaux POC plateforme utilisent Snake : + +- Tauri Android + Snake ; +- Web navigateur direct + Snake ; +- Tauri Desktop + Snake ; +- builder Android multi-ABI centré sur Snake ; +- futurs POC Windows/macOS/iOS SDL avec Snake lorsque les environnements sont disponibles. + +Reflex reste une référence technique historique pour les briques Tauri/WASM déjà construites, mais n'est plus le jeu principal des futurs POC plateforme. + +## Raisons + +Snake exerce davantage de besoins utiles pour le futur jeu réel : + +- input continu ; +- clavier/swipe/touch ; +- grille ; +- plusieurs entités ; +- collision/obstacles ; +- état de jeu plus long ; +- resize/orientation ; +- virtual controls éventuels ; +- future extension multi-snake et multiplayer. + +## Fichiers modifiés + +- `Cargo.toml` ; +- `Android/game-reflex-poc/build.gradle` ; +- `Android/game-snake-poc/build.gradle` ; +- `README.md` ; +- `docs/studies/000-README.md` ; +- `docs/studies/009-PLATFORM_POC_CANDIDATES.md` ; +- `docs/studies/010-PLATFORM_POC_REUSE_AND_DELTA.md` ; +- `docs/studies/011-PLATFORM_POC_VALIDATION_MATRIX.md` ; +- `docs/studies/012-PLATFORM_POC_SEQUENCE.md`. + +Tous les fichiers existants modifiés et possédant un en-tête `version` ont été incrémentés. + +## Validation + +```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 deltas history +python3 scripts/audit_distribution_layout.py +``` + +Aucune implémentation runtime n'est ajoutée. diff --git a/docs/studies/000-README.md b/docs/studies/000-README.md index f4aa6cc..f4a0fb0 100644 --- a/docs/studies/000-README.md +++ b/docs/studies/000-README.md @@ -1,5 +1,5 @@ - + # Études @@ -31,7 +31,7 @@ Ces études sont des propositions à relire. Elles ne deviennent pas automatique ## Études POC plateforme -- [`009-PLATFORM_POC_CANDIDATES.md`](009-PLATFORM_POC_CANDIDATES.md) — inventaire des POC réellement pertinents à partir du code existant. +- [`009-PLATFORM_POC_CANDIDATES.md`](009-PLATFORM_POC_CANDIDATES.md) — inventaire des POC plateforme focalisés sur Snake comme jeu-sonde unique. - [`010-PLATFORM_POC_REUSE_AND_DELTA.md`](010-PLATFORM_POC_REUSE_AND_DELTA.md) — code réutilisable, modifications minimales et frontières à tester. - [`011-PLATFORM_POC_VALIDATION_MATRIX.md`](011-PLATFORM_POC_VALIDATION_MATRIX.md) — critères comparables de build, runtime, input, packaging et intégration plateforme. - [`012-PLATFORM_POC_SEQUENCE.md`](012-PLATFORM_POC_SEQUENCE.md) — ordre proposé des POC pour une future série `0.3.x`. diff --git a/docs/studies/009-PLATFORM_POC_CANDIDATES.md b/docs/studies/009-PLATFORM_POC_CANDIDATES.md index da74065..450e80d 100644 --- a/docs/studies/009-PLATFORM_POC_CANDIDATES.md +++ b/docs/studies/009-PLATFORM_POC_CANDIDATES.md @@ -1,5 +1,5 @@ - + # Candidats POC plateforme @@ -30,16 +30,16 @@ Le projet dispose déjà de : Les POC futurs doivent partir de cette base. -## POC A — Tauri Android avec Reflex +## POC A — Tauri Android avec Snake ### Question -Le chemin Tauri Android peut-il exécuter le même gameplay Reflex déjà utilisé par Tauri Desktop/WASM avec une intégration mobile acceptable ? +Le chemin Tauri Android peut-il exécuter le gameplay Snake avec une intégration mobile acceptable, en réutilisant au maximum les briques déjà validées par le POC Tauri/WASM Reflex ? ### Réutilisation visée -- `game-reflex-poc` ; -- `game-reflex-poc-wasm` si le modèle reste Wasm/WebView ; +- `game-snake-poc` ; +- abstractions et bridge Tauri/WASM déjà validés avec Reflex, après généralisation minimale ; - frontend Vite/TypeScript existant ; - tracing frontend/Tauri ; - assets existants ; @@ -67,16 +67,16 @@ Le chemin Tauri Android peut-il exécuter le même gameplay Reflex déjà utilis - faisabilité ads/auth plus tard ; - coût de maintenance par rapport au chemin SDL Android. -## POC B — Web navigateur direct avec Reflex +## POC B — Web navigateur direct avec Snake ### Question -Le même gameplay WASM peut-il être livré comme jeu Web direct, sans Tauri, avec un packaging propre et un input navigateur fiable ? +Le gameplay Snake peut-il être livré comme jeu Web direct, sans Tauri, avec un packaging propre et un input clavier/tactile fiable ? ### Réutilisation visée -- `game-reflex-poc` ; -- crate WASM existante ; +- `game-snake-poc` ; +- adaptation/généralisation de la crate WASM existante ; - Vite/TypeScript partagé autant que pertinent ; - assets communs. @@ -97,7 +97,7 @@ Le même gameplay WASM peut-il être livré comme jeu Web direct, sans Tauri, av ### Question -La voie Tauri/WASM validée avec Reflex est-elle réellement générique ou trop spécifique au premier POC ? +La voie Tauri/WASM validée avec Reflex peut-elle être généralisée proprement pour Snake sans duplication structurelle ? ### Pourquoi Snake @@ -123,7 +123,7 @@ Le runner SDL3 natif et le workspace Rust se construisent-ils proprement sur Win ### Périmètre -Reflex ou Snake, selon la cible la plus simple. +Snake, afin de conserver le même jeu-sonde sur toutes les plateformes. ### À tester @@ -200,7 +200,7 @@ Peut-on remplacer les scripts Python POC par un outil de build explicite, reprod - `x86_64` ; - éventuellement autres ABI seulement si réellement supportées ; - Debug/Release ; -- Reflex/Snake ; +- Snake ; - placement contrôlé des artefacts ; - Gradle orchestration ; - diagnostic clair des prérequis. @@ -220,7 +220,7 @@ Ne pas lancer immédiatement : ## Résultat attendu -La première vague doit surtout comparer trois chemins : +La première vague doit surtout comparer trois chemins autour du même gameplay Snake : ```text SDL native diff --git a/docs/studies/010-PLATFORM_POC_REUSE_AND_DELTA.md b/docs/studies/010-PLATFORM_POC_REUSE_AND_DELTA.md index db7d883..0e2e71b 100644 --- a/docs/studies/010-PLATFORM_POC_REUSE_AND_DELTA.md +++ b/docs/studies/010-PLATFORM_POC_REUSE_AND_DELTA.md @@ -1,5 +1,5 @@ - + # Réutilisation et delta attendu des POC plateforme @@ -58,30 +58,24 @@ Candidats : Aucune extraction n'est imposée avant d'avoir vu la duplication réelle. -## Reflex comme sonde +## Snake comme sonde unique des POC plateforme -Reflex reste un bon POC de plateforme parce qu'il est petit. +Snake devient le jeu-sonde de référence pour les POC plateforme de la future série `0.3.x`. -Il permet d'isoler : +Il exerce simultanément : -- pointer/touch ; -- timing ; -- rendu simple ; -- WASM ; -- bridge ; -- startup. - -## Snake comme seconde sonde - -Snake vérifie que la solution n'est pas façonnée uniquement pour Reflex. - -Il ajoute : - -- keyboard/swipe ; +- keyboard/swipe/touch ; - update continu ; +- grille et déplacements ; - plusieurs entités ; -- état de jeu persistant plus longtemps ; -- besoin potentiel de virtual controls. +- état de jeu persistant ; +- obstacles/collision ; +- score/lives potentiels ; +- resize/orientation ; +- besoin potentiel de virtual controls ; +- future extension multi-snake/multiplayer. + +Les briques Tauri/WASM déjà construites avec Reflex restent des références techniques à réutiliser, mais les nouveaux POC ne doivent plus utiliser Reflex comme jeu principal. ## Règle de modification minimale diff --git a/docs/studies/011-PLATFORM_POC_VALIDATION_MATRIX.md b/docs/studies/011-PLATFORM_POC_VALIDATION_MATRIX.md index f96502b..cf7e1fc 100644 --- a/docs/studies/011-PLATFORM_POC_VALIDATION_MATRIX.md +++ b/docs/studies/011-PLATFORM_POC_VALIDATION_MATRIX.md @@ -1,5 +1,5 @@ - + # Matrice de validation des POC plateforme @@ -16,8 +16,8 @@ Chaque POC doit produire des observations comparables. | Build | commande reproductible, dépendances, durée indicative | | Artifact | type, taille, emplacement | | Startup | lancement réussi, erreurs, temps indicatif | -| Render | frame visible, resize/orientation | -| Input | actions principales, latence perçue, touch/keyboard/pointer | +| Render | grille/Snake visibles, multi-entités, resize/orientation | +| Input | Snake : directions, keyboard/swipe/touch, latence perçue | | Lifecycle | pause/resume/background/quit selon host | | Logging | domaines visibles sur le canal plateforme | | Assets | chargement sans chemin hardcodé | @@ -25,7 +25,7 @@ Chaque POC doit produire des observations comparables. | Packaging | APK/AAB/app bundle/static web/binary selon cible | | Distribution | contraintes de signature/store identifiées | | Platform integration | faisabilité auth/ads/IAP/notifications sans implémentation finale | -| Code reuse | part de gameplay/adapters/front réutilisée | +| Code reuse | part de `game-snake-poc`, adapters et front réutilisée | | Duplication | duplication nouvelle explicitement recensée | | Maintenance | complexité qualitative et outils nécessaires | diff --git a/docs/studies/012-PLATFORM_POC_SEQUENCE.md b/docs/studies/012-PLATFORM_POC_SEQUENCE.md index ea209f3..998cd2f 100644 --- a/docs/studies/012-PLATFORM_POC_SEQUENCE.md +++ b/docs/studies/012-PLATFORM_POC_SEQUENCE.md @@ -1,5 +1,5 @@ - + # Séquence proposée des POC plateforme @@ -15,16 +15,18 @@ La future série `0.3.x` pourra être dédiée aux POC plateforme, mais la numé Ordre candidat : -1. Tauri Android + Reflex ; -2. Web navigateur direct + Reflex ; +1. Tauri Android + Snake ; +2. Web navigateur direct + Snake ; 3. Tauri Desktop + Snake ; -4. builder Android multi-ABI. +4. builder Android multi-ABI centré sur Snake. Raisons : -- réutilisation maximale ; +- un seul gameplay de référence sur toutes les plateformes ; +- réutilisation maximale de `game-snake-poc` ; - environnement déjà proche de celui utilisé ; - comparaison directe SDL / Web / Tauri ; +- préparation directe du futur super Snake ; - détection rapide des abstractions manquantes. ## Vague 2 — plateformes natives supplémentaires