0.2.0-0-pre.2-fix.1
This commit is contained in:
@@ -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 :
|
||||
|
||||
Reference in New Issue
Block a user