0.1.0-0-pre.10
This commit is contained in:
53
docs/architecture/009-ENGINE_V1_RENDER_SCENE.md
Normal file
53
docs/architecture/009-ENGINE_V1_RENDER_SCENE.md
Normal file
@@ -0,0 +1,53 @@
|
||||
<!-- file: docs/architecture/009-ENGINE_V1_RENDER_SCENE.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Scène de rendu Engine V1
|
||||
|
||||
## Principe
|
||||
|
||||
Le gameplay ne dépend pas de SDL3.
|
||||
|
||||
`engine-v1-common` expose un modèle de scène 2D volontairement minimal :
|
||||
|
||||
- `RenderColor` ;
|
||||
- `NormalizedRect` ;
|
||||
- `RenderRect` ;
|
||||
- `EngineScene`.
|
||||
|
||||
Toutes les géométries sont normalisées dans `[0.0, 1.0]`.
|
||||
|
||||
`EngineGame::scene()` produit un snapshot après chaque update. L'implémentation par défaut fournit uniquement un fond sombre, ce qui permet aux jeux non migrés de rester compatibles.
|
||||
|
||||
## Backend SDL3
|
||||
|
||||
`engine-v1-sdl` :
|
||||
|
||||
1. reçoit la scène portable ;
|
||||
2. récupère la taille de sortie courante du renderer ;
|
||||
3. convertit les rectangles normalisés en `FRect` physiques ;
|
||||
4. dessine le fond et les rectangles ;
|
||||
5. présente la frame.
|
||||
|
||||
Le resize Desktop ne modifie donc pas les coordonnées logiques du jeu.
|
||||
|
||||
## Baseline Reflex
|
||||
|
||||
Le POC Reflex expose une cible rectangulaire jaune.
|
||||
|
||||
Un clic/tap ne marque un point que si le pointeur se trouve dans la cible au moment de l'impulsion `Primary`.
|
||||
|
||||
Après chaque succès, la cible se déplace selon une séquence déterministe afin que les tests restent reproductibles.
|
||||
|
||||
## Limites V1 actuelles
|
||||
|
||||
Le modèle ne fournit pas encore :
|
||||
|
||||
- texte de production ;
|
||||
- textures ;
|
||||
- sprites ;
|
||||
- audio ;
|
||||
- transformations ;
|
||||
- clipping complexe ;
|
||||
- batching spécialisé.
|
||||
|
||||
Ces capacités seront ajoutées uniquement lorsqu'un besoin concret du POC le justifiera.
|
||||
Reference in New Issue
Block a user