0.2.0-0-pre.8
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: Android/game-reflex-poc/build.gradle
|
||||
// version: 41
|
||||
// version: 42
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
@@ -18,7 +18,7 @@ android {
|
||||
minSdk 21
|
||||
targetSdk 36
|
||||
versionCode 2
|
||||
versionName '0.2.0-0-pre.7'
|
||||
versionName '0.2.0-0-pre.8'
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// file: Android/game-snake-poc/build.gradle
|
||||
// version: 41
|
||||
// version: 42
|
||||
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
@@ -18,7 +18,7 @@ android {
|
||||
minSdk 21
|
||||
targetSdk 36
|
||||
versionCode 2
|
||||
versionName '0.2.0-0-pre.7'
|
||||
versionName '0.2.0-0-pre.8'
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
|
||||
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,8 +1,20 @@
|
||||
<!-- file: CHANGELOG.md -->
|
||||
<!-- version: 9 -->
|
||||
<!-- version: 10 -->
|
||||
|
||||
# Changelog
|
||||
|
||||
## 0.2.0 — conception modulaire, POC et Uroburas
|
||||
|
||||
- Gouvernance documentaire renforcée : catégories `ideas/studies/architecture/rules`, immutabilité des deltas, conventions de statuts et workflow de session/version.
|
||||
- Architecture durable séparant engine kernel, technical capabilities, game-systems, games, platform adapters, providers, server services et tooling.
|
||||
- Trajectoire POC `0.3.x` définie avec Snake comme jeu-sonde pour SDL, Web/WASM, Tauri et transports realtime.
|
||||
- Architecture réseau de référence : Actix Web/Maud/Fluent/Lettre pour Web/API, WebSocket/tokio-tungstenite baseline, WebTransport/QUIC candidat, gRPC/Tonic conditionnel server-to-server.
|
||||
- Asset delivery auto-hébergé, compatible HTTP/2 et HTTP/3 selon disponibilité, avec séparation logique puis physique progressive.
|
||||
- Cible d'exploitation préférée : Debian Stable, actuellement Debian 13 `trixie`, sans dépendance métier à une version précise.
|
||||
- Spécification fonctionnelle et architecture cible initiales de Uroburas, avec ordre Mode 1 Challenge → Mode 3 Persistent Battle Royale → Mode 2 PvP Battles.
|
||||
- Classification des besoins Uroburas afin d'éviter une crate jeu monolithique.
|
||||
- Première trajectoire Uroburas réservant grid/tilemap toroïdale, obstacles, stages, vies, score, caméra, assets téléchargeables, auth, rewarded ads, Hall of Fame et échanges client/serveur sécurisés/versionnés.
|
||||
|
||||
## 0.1.0 — 2026-09-17
|
||||
|
||||
- validation de `0.1.0-3-rc.1.fix.1` avec gates Rust/audits complètes, builds et smokes Desktop release, Tauri/WASM, Android x86_64/API 36 et Android ARM64 réel ;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# file: Cargo.toml
|
||||
# version: 53
|
||||
# version: 54
|
||||
|
||||
[workspace]
|
||||
resolver = "3"
|
||||
@@ -19,7 +19,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.2.0-0-pre.7"
|
||||
version = "0.2.0-0-pre.8"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/games"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: README.md -->
|
||||
<!-- version: 21 -->
|
||||
<!-- version: 22 -->
|
||||
|
||||
# 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.7`.
|
||||
Version candidate en cours de conception : `0.2.0-0-pre.8`.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
12
ROADMAP.md
12
ROADMAP.md
@@ -1,5 +1,5 @@
|
||||
<!-- file: ROADMAP.md -->
|
||||
<!-- version: 18 -->
|
||||
<!-- version: 19 -->
|
||||
|
||||
# Roadmap
|
||||
|
||||
@@ -25,12 +25,12 @@ Le détail historique des prereleases `0.1.0-*` reste dans `deltas/0.1.0/` et `h
|
||||
## 0.2.0 — Conception du framework modulaire
|
||||
|
||||
- (x) `0.2.0` — fixer la gouvernance documentaire, la nomenclature et le cycle de maturation des idées et décisions.
|
||||
- ( ) `0.2.0` — inventorier et réserver les capabilities déjà justifiées sans les implémenter prématurément.
|
||||
- (x) `0.2.0` — inventorier et réserver les capabilities déjà justifiées sans les implémenter prématurément.
|
||||
- ( ) `0.2.0` — définir les couches, les dépendances autorisées et la frontière entre kernel, capability, plateforme, provider, système de jeu et service.
|
||||
- ( ) `0.2.0` — établir la matrice plateformes et les archétypes de jeux utilisés pour challenger l'architecture.
|
||||
- ( ) `0.2.0` — définir le modèle de composition statique, le manifest produit/jeu et l'architecture cible des crates.
|
||||
- ( ) `0.2.0` — définir la trajectoire d'implémentation progressive des versions suivantes seulement après revue de la conception.
|
||||
- ( ) `0.2.0` — consolider les études acceptées en architecture/règles durables, notamment ownership, réseau, Uroburas et POC, puis fermer les points encore candidats.
|
||||
- ( ) `0.2.0` — formaliser la stratégie réseau : Actix Web pour le Web/API, asset delivery auto-hébergé H2/H3, WebSocket baseline et WebTransport/QUIC candidat.
|
||||
- ( ) `0.2.0` — préparer une trajectoire `0.3.x` dédiée aux POC plateforme/réseau avec Snake comme jeu-sonde.
|
||||
- ( ) `0.2.0` — préparer la trajectoire `0.4.x` Uroburas Mode 1 et le prompt de session associé après gel de la conception.
|
||||
- (x) `0.2.0` — consolider les études acceptées en architecture/règles durables, notamment ownership, réseau, Uroburas et POC, puis fermer les points encore candidats.
|
||||
- (x) `0.2.0` — formaliser la stratégie réseau : Actix Web pour le Web/API, asset delivery auto-hébergé H2/H3, WebSocket baseline et WebTransport/QUIC candidat.
|
||||
- (x) `0.2.0` — préparer une trajectoire `0.3.x` dédiée aux POC plateforme/réseau avec Snake comme jeu-sonde.
|
||||
- (x) `0.2.0` — préparer la trajectoire `0.4.x` Uroburas Mode 1 et le prompt de session associé après gel de la conception.
|
||||
|
||||
58
deltas/0.2.0/0-pre.8.md
Normal file
58
deltas/0.2.0/0-pre.8.md
Normal file
@@ -0,0 +1,58 @@
|
||||
<!-- file: deltas/0.2.0/0-pre.8.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.2.0-0-pre.8
|
||||
|
||||
## Base
|
||||
|
||||
Base déclarée : `0.2.0-0-pre.7`.
|
||||
|
||||
`0-pre.7` a été validée par revue humaine et audits projet.
|
||||
|
||||
## Objet
|
||||
|
||||
Clore la phase de conception `0.2.0` avant RC.
|
||||
|
||||
## Réconciliation finale
|
||||
|
||||
Cette tranche :
|
||||
|
||||
- ferme les lignes durables `0.2.0` du ROADMAP ;
|
||||
- ajoute le résumé `CHANGELOG` de `0.2.0` ;
|
||||
- ajoute une baseline architecturale consolidée ;
|
||||
- enregistre l'historique validé de `0-pre.7` ;
|
||||
- prépare le prompt de session `0.3.x`.
|
||||
|
||||
## Prompt 0.3.x
|
||||
|
||||
Le prompt fixe :
|
||||
|
||||
- `pre.1` comme cadrage obligatoire ;
|
||||
- Snake comme jeu-sonde ;
|
||||
- POC Tauri Android/Web/Tauri Desktop/Android multi-ABI ;
|
||||
- POC WebSocket vs WebTransport/QUIC ;
|
||||
- builds via outils natifs ;
|
||||
- utilisateur responsable des builds/tests/smoke ;
|
||||
- Debian Stable comme cible opérationnelle préférée ;
|
||||
- Uroburas réservé à `0.4.x`.
|
||||
|
||||
## Gel
|
||||
|
||||
Après validation de `0-pre.8`, le scope documentaire `0.2.0` est considéré complet.
|
||||
|
||||
La RC suivante est une candidate de publication :
|
||||
|
||||
- aucune nouvelle fonctionnalité ;
|
||||
- aucune nouvelle orientation architecturale ;
|
||||
- corrections seulement si nécessaires ;
|
||||
- revue humaine finale.
|
||||
|
||||
## 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 gate Cargo, Gradle ou smoke n'est requise : `0.2.0` reste documentaire hors métadonnées de version.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: docs/000-README.md -->
|
||||
<!-- version: 19 -->
|
||||
<!-- version: 20 -->
|
||||
|
||||
# Documentation games.sasedev
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
- [`architecture/013-NETWORK_AND_SERVER_ARCHITECTURE.md`](architecture/013-NETWORK_AND_SERVER_ARCHITECTURE.md) — Web/API, realtime, transports, asset delivery auto-hébergé et frontières serveur.
|
||||
- [`architecture/014-UROBURAS_TARGET_ARCHITECTURE.md`](architecture/014-UROBURAS_TARGET_ARCHITECTURE.md) — ownership cible des besoins Uroburas et ordre Mode 1 → Mode 3 → Mode 2.
|
||||
- [`architecture/015-PLATFORM_POC_ARCHITECTURE.md`](architecture/015-PLATFORM_POC_ARCHITECTURE.md) — rôle des POC `0.3.x`, Snake comme sonde et critères d'extraction.
|
||||
- [`architecture/016-V0_2_0_CONSOLIDATED_BASELINE.md`](architecture/016-V0_2_0_CONSOLIDATED_BASELINE.md) — synthèse de la baseline destinée au gel RC `0.2.0`.
|
||||
|
||||
## Jeux
|
||||
|
||||
|
||||
70
docs/architecture/016-V0_2_0_CONSOLIDATED_BASELINE.md
Normal file
70
docs/architecture/016-V0_2_0_CONSOLIDATED_BASELINE.md
Normal file
@@ -0,0 +1,70 @@
|
||||
<!-- file: docs/architecture/016-V0_2_0_CONSOLIDATED_BASELINE.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Baseline architecturale consolidée 0.2.0
|
||||
|
||||
## Statut
|
||||
|
||||
Ce document synthétise la baseline documentaire destinée à être gelée par la RC `0.2.0`.
|
||||
|
||||
## Framework
|
||||
|
||||
Le projet retient une architecture modulaire distinguant :
|
||||
|
||||
- engine kernel ;
|
||||
- technical capabilities ;
|
||||
- game-systems ;
|
||||
- game-specific ;
|
||||
- platform adapters ;
|
||||
- providers ;
|
||||
- server services ;
|
||||
- tooling.
|
||||
|
||||
## POC
|
||||
|
||||
La série `0.3.x` valide les choix plateforme/réseau avec Snake comme jeu-sonde.
|
||||
|
||||
## Uroburas
|
||||
|
||||
La série `0.4.x` démarre le jeu réel Uroburas, d'abord Mode 1 Challenge.
|
||||
|
||||
Ordre produit actuel :
|
||||
|
||||
```text
|
||||
Mode 1
|
||||
→ Mode 3
|
||||
→ Mode 2
|
||||
```
|
||||
|
||||
## Réseau
|
||||
|
||||
- Actix Web pour Web/API ;
|
||||
- Maud pour HTML server-side ;
|
||||
- Fluent pour i18n ;
|
||||
- Lettre pour email ;
|
||||
- WebSocket/tokio-tungstenite baseline realtime ;
|
||||
- WebTransport/QUIC candidat POC ;
|
||||
- gRPC/Tonic conditionnel server-to-server ;
|
||||
- asset delivery auto-hébergé H2/H3 selon disponibilité.
|
||||
|
||||
## Exploitation
|
||||
|
||||
Debian Stable est la cible opérationnelle préférée.
|
||||
|
||||
Le code métier reste indépendant de la version de distribution.
|
||||
|
||||
Les composants d'infrastructure spécifiques restent hors du domaine et seront choisis lors de POC/déploiements dédiés.
|
||||
|
||||
## Workflow
|
||||
|
||||
- `pre.1` cadre chaque version ;
|
||||
- une version tient dans une session ;
|
||||
- les tranches visent généralement 15–30 minutes ;
|
||||
- les dernières tranches consolident documentation, ROADMAP, CHANGELOG et prompt suivant ;
|
||||
- la stable reste mécanique.
|
||||
|
||||
## Gel
|
||||
|
||||
La RC suivante ne doit plus ajouter de nouveau scope.
|
||||
|
||||
Toute découverte fonctionnelle majeure après gel est reportée vers `0.3.x`, `0.4.x` ou une version ultérieure selon sa nature.
|
||||
30
history/0.2.0/0-pre.7.md
Normal file
30
history/0.2.0/0-pre.7.md
Normal file
@@ -0,0 +1,30 @@
|
||||
<!-- file: history/0.2.0/0-pre.7.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Historique 0.2.0-0-pre.7
|
||||
|
||||
## Statut
|
||||
|
||||
Consolidation architecturale validée avant ouverture de `0.2.0-0-pre.8`.
|
||||
|
||||
## Validation utilisateur
|
||||
|
||||
Les audits suivants ont été exécutés et validés :
|
||||
|
||||
```text
|
||||
General Rust rule audit: clean
|
||||
Rust export completeness audit: 0 candidate(s)
|
||||
games.sasedev workspace audit: clean
|
||||
Markdown table audit: clean (4 table(s), 156 file(s))
|
||||
Distribution layout audit: clean
|
||||
```
|
||||
|
||||
## Contenu validé
|
||||
|
||||
- architecture modulaire et ownership ;
|
||||
- architecture réseau/serveur ;
|
||||
- architecture cible Uroburas ;
|
||||
- architecture POC plateforme/réseau ;
|
||||
- règles de cadrage des sessions/prompts ;
|
||||
- préférence d'auto-hébergement Debian Stable ;
|
||||
- absence de gel prématuré d'un edge/reverse proxy HTTP/3.
|
||||
181
prompts/002-V0_3_X_START_PROMPT.md
Normal file
181
prompts/002-V0_3_X_START_PROMPT.md
Normal file
@@ -0,0 +1,181 @@
|
||||
<!-- file: prompts/002-V0_3_X_START_PROMPT.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Prompt de démarrage — série 0.3.x POC plateforme et réseau
|
||||
|
||||
## Base
|
||||
|
||||
Partir du tag stable `v0.2.0` ou, avant publication, de la dernière candidate validée dont le contenu est strictement équivalent à la release.
|
||||
|
||||
Lire en priorité :
|
||||
|
||||
- `RULES.md` ;
|
||||
- `ROADMAP.md` ;
|
||||
- `CHANGELOG.md` ;
|
||||
- `docs/000-README.md` ;
|
||||
- `docs/rules/RULES_SESSION_PLANNING.md` ;
|
||||
- `docs/rules/RULES_COMMANDS.md` ;
|
||||
- `docs/rules/RULES_VALIDATION_MATRIX.md` ;
|
||||
- `docs/architecture/012-MODULAR_LAYERING_AND_OWNERSHIP.md` ;
|
||||
- `docs/architecture/013-NETWORK_AND_SERVER_ARCHITECTURE.md` ;
|
||||
- `docs/architecture/014-UROBURAS_TARGET_ARCHITECTURE.md` ;
|
||||
- `docs/architecture/015-PLATFORM_POC_ARCHITECTURE.md`.
|
||||
|
||||
## Objectif de session
|
||||
|
||||
La série `0.3.x` est consacrée aux POC plateforme et réseau.
|
||||
|
||||
Elle ne développe pas encore Uroburas comme produit réel.
|
||||
|
||||
Snake est le jeu-sonde principal.
|
||||
|
||||
La session doit valider les frontières décidées en `0.2.0`, mesurer les duplications, identifier les adapters/capabilities manquants et décider quels chemins techniques sont conservés avant `0.4.x`.
|
||||
|
||||
## Règle de cadrage
|
||||
|
||||
Commencer impérativement par `0.3.0-0-pre.1`.
|
||||
|
||||
Cette première tranche doit :
|
||||
|
||||
- auditer la base stable ;
|
||||
- vérifier les règles et scripts ;
|
||||
- inventorier les POC réellement exécutables dans l'environnement courant ;
|
||||
- dimensionner la série `0.3.x` ;
|
||||
- proposer le découpage en versions/sessions ;
|
||||
- identifier les dépendances et commandes de validation ;
|
||||
- signaler immédiatement tout objectif trop gros pour tenir dans une session.
|
||||
|
||||
Une version doit pouvoir être terminée dans une seule session.
|
||||
|
||||
Les deltas `pre/alpha/beta/rc` visent normalement 15 à 30 minutes de travail effectif.
|
||||
|
||||
## POC plateforme prioritaires
|
||||
|
||||
Première vague :
|
||||
|
||||
1. Tauri Android + Snake ;
|
||||
2. Web navigateur direct + Snake ;
|
||||
3. Tauri Desktop + Snake ;
|
||||
4. build Android multi-ABI avec outils natifs.
|
||||
|
||||
Plateformes supplémentaires seulement si l'environnement réel permet une validation :
|
||||
|
||||
- Windows SDL natif ;
|
||||
- macOS SDL natif ;
|
||||
- iOS SDL natif.
|
||||
|
||||
Ne pas simuler une validation plateforme avec un simple cross-build lorsque le smoke réel est requis.
|
||||
|
||||
## POC réseau
|
||||
|
||||
Préparer un POC comparatif avant gel long terme du transport realtime :
|
||||
|
||||
- WebSocket / `tokio-tungstenite` ;
|
||||
- WebTransport / QUIC ;
|
||||
- fallback automatique ;
|
||||
- même protocole métier au-dessus des transports ;
|
||||
- charge concurrente ;
|
||||
- mémoire/connexion ;
|
||||
- CPU ;
|
||||
- p50/p95/p99 ;
|
||||
- backpressure ;
|
||||
- reconnect/resync ;
|
||||
- mobilité réseau ;
|
||||
- snapshots/deltas ;
|
||||
- broadcast/interest management.
|
||||
|
||||
La simulation/game logic ne doit dépendre directement d'aucun type Tungstenite, QUIC ou WebTransport.
|
||||
|
||||
## Web et assets
|
||||
|
||||
Conserver :
|
||||
|
||||
- Actix Web pour Web/API ;
|
||||
- Maud pour HTML server-side ;
|
||||
- Fluent/fluent-bundle pour localisation ;
|
||||
- Lettre pour email ;
|
||||
- auto-hébergement comme direction par défaut ;
|
||||
- asset delivery séparé logiquement ;
|
||||
- HTTP/2 baseline ;
|
||||
- HTTP/3/QUIC à tester là où pertinent ;
|
||||
- aucun CDN tiers obligatoire.
|
||||
|
||||
Debian Stable reste la cible opérationnelle préférée.
|
||||
|
||||
Ne pas figer HAProxy, nginx ou un autre edge avant POC/benchmark réel.
|
||||
|
||||
## Build et validation
|
||||
|
||||
Les builds utilisent les outils natifs appropriés :
|
||||
|
||||
- Cargo ;
|
||||
- Gradle ;
|
||||
- Tauri CLI ;
|
||||
- toolchains plateforme.
|
||||
|
||||
Les scripts Python sont autorisés pour audits, validations complémentaires et contrôles statiques, mais pas pour piloter le build.
|
||||
|
||||
L'utilisateur exécute les builds, tests unitaires, intégration et smoke tests demandés.
|
||||
|
||||
Le delta doit toujours lister les commandes exactes à exécuter.
|
||||
|
||||
## Architecture à préserver
|
||||
|
||||
Ne pas transformer les POC en nouvelle architecture monolithique.
|
||||
|
||||
Maintenir les frontières :
|
||||
|
||||
```text
|
||||
game-specific
|
||||
↓
|
||||
game-systems
|
||||
↓
|
||||
technical capabilities
|
||||
↓
|
||||
engine kernel
|
||||
```
|
||||
|
||||
et composer adapters/providers au niveau app/product.
|
||||
|
||||
Ne pas introduire une crate par concept sans frontière/API réellement justifiée.
|
||||
|
||||
## Uroburas
|
||||
|
||||
Uroburas est réservé à la série `0.4.x`.
|
||||
|
||||
Les POC `0.3.x` doivent préparer ses fondations, notamment :
|
||||
|
||||
- grid/tilemap ;
|
||||
- input Desktop/Mobile ;
|
||||
- Web/WASM ;
|
||||
- Tauri ;
|
||||
- Android ;
|
||||
- networking ;
|
||||
- assets/content ;
|
||||
- realtime transport.
|
||||
|
||||
Ils ne doivent pas implémenter les règles finales Uroburas sauf ce qui est strictement nécessaire à la sonde Snake.
|
||||
|
||||
## Livraisons
|
||||
|
||||
Chaque tranche livre un delta ZIP immutable :
|
||||
|
||||
```text
|
||||
games-sasedev-<semver>-delta.zip
|
||||
```
|
||||
|
||||
Les deltas précédents ne sont jamais enrichis sémantiquement.
|
||||
|
||||
Une erreur dans une tranche livrée se corrige par `.fix.N`.
|
||||
|
||||
## Condition de fin de session
|
||||
|
||||
La session se termine lorsque la version ciblée par le sizing de `pre.1` est entièrement développée, validée et livrée, avec :
|
||||
|
||||
- deltas ;
|
||||
- validations ;
|
||||
- documentation durable mise à jour ;
|
||||
- ROADMAP/CHANGELOG selon le stade ;
|
||||
- prompt suivant si la version clôt une session majeure.
|
||||
|
||||
Ne pas interrompre volontairement une version au milieu de son scope.
|
||||
Reference in New Issue
Block a user