0.2.0-0-pre.8
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
// file: Android/game-reflex-poc/build.gradle
|
// file: Android/game-reflex-poc/build.gradle
|
||||||
// version: 41
|
// version: 42
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application'
|
id 'com.android.application'
|
||||||
@@ -18,7 +18,7 @@ android {
|
|||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 36
|
targetSdk 36
|
||||||
versionCode 2
|
versionCode 2
|
||||||
versionName '0.2.0-0-pre.7'
|
versionName '0.2.0-0-pre.8'
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// file: Android/game-snake-poc/build.gradle
|
// file: Android/game-snake-poc/build.gradle
|
||||||
// version: 41
|
// version: 42
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application'
|
id 'com.android.application'
|
||||||
@@ -18,7 +18,7 @@ android {
|
|||||||
minSdk 21
|
minSdk 21
|
||||||
targetSdk 36
|
targetSdk 36
|
||||||
versionCode 2
|
versionCode 2
|
||||||
versionName '0.2.0-0-pre.7'
|
versionName '0.2.0-0-pre.8'
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
compileOptions {
|
||||||
|
|||||||
14
CHANGELOG.md
14
CHANGELOG.md
@@ -1,8 +1,20 @@
|
|||||||
<!-- file: CHANGELOG.md -->
|
<!-- file: CHANGELOG.md -->
|
||||||
<!-- version: 9 -->
|
<!-- version: 10 -->
|
||||||
|
|
||||||
# Changelog
|
# 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
|
## 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 ;
|
- 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
|
# file: Cargo.toml
|
||||||
# version: 53
|
# version: 54
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -19,7 +19,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.2.0-0-pre.7"
|
version = "0.2.0-0-pre.8"
|
||||||
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: README.md -->
|
<!-- file: README.md -->
|
||||||
<!-- version: 21 -->
|
<!-- version: 22 -->
|
||||||
|
|
||||||
# games.sasedev
|
# 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 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.
|
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 -->
|
<!-- file: ROADMAP.md -->
|
||||||
<!-- version: 18 -->
|
<!-- version: 19 -->
|
||||||
|
|
||||||
# Roadmap
|
# 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
|
## 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.
|
- (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` — 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` — é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 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` — 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.
|
- (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.
|
||||||
- ( ) `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` — 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.
|
- (x) `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` — 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 -->
|
<!-- file: docs/000-README.md -->
|
||||||
<!-- version: 19 -->
|
<!-- version: 20 -->
|
||||||
|
|
||||||
# Documentation games.sasedev
|
# 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/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/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/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
|
## 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