0.2.0-0-pre.2-fix.1

This commit is contained in:
2026-09-18 14:14:04 +02:00
parent ffedb4f16e
commit 4b71d87ca3
12 changed files with 556 additions and 22 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/studies/005-DEPENDENCY_AND_COMPOSITION_STUDY.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Étude des dépendances et de la composition
@@ -156,6 +156,37 @@ crates/
Cette arborescence est une hypothèse d'étude. Elle n'est pas encore un contrat de fichiers.
## Realtime : séparation des responsabilités
Le temps réel ne doit pas être représenté par une seule capability `websocket`.
Découpage candidat :
```text
transport
wire protocol / message codec
session protocol
synchronization strategy
game-specific authoritative simulation
```
Responsabilités :
- **transport** — connexion, frames, timeout, reconnexion bas niveau ;
- **wire protocol** — envelope, version, message ids, serialization ;
- **session protocol** — join/leave/start/end, identity/session ids, heartbeat ;
- **synchronization strategy** — tick, input stream, snapshots, deltas, acknowledgement, resync ;
- **game-specific simulation** — validation des inputs et évolution authoritative du monde selon les règles du jeu.
Le framework peut fournir les couches techniques réutilisables sans imposer une simulation générique identique à Snake, Racing ou Fighting.
Le serveur Web/API classique peut partager des types/protocoles avec le service realtime, mais il ne doit pas obligatoirement partager le même process ni la même cadence d'exécution.
## Online/offline
La composition doit pouvoir exprimer :