39 lines
1.7 KiB
Markdown
39 lines
1.7 KiB
Markdown
<!-- file: docs/development/001-DESKTOP_RUNNERS.md -->
|
|
<!-- version: 2 -->
|
|
|
|
# Runners Desktop de développement
|
|
|
|
## Objectif
|
|
|
|
Chaque jeu reste d'abord une crate `lib` contenant son gameplay et ses états. Une crate `bin` Desktop séparée consomme cette bibliothèque afin de lancer rapidement le jeu sur la machine de développement sans déployer systématiquement sur un émulateur ou un téléphone Android.
|
|
|
|
## Arborescence
|
|
|
|
```text
|
|
crates/
|
|
├── games/
|
|
│ ├── game-reflex-poc/
|
|
│ └── game-snake-poc/
|
|
└── apps/
|
|
├── game-reflex-poc-desktop/
|
|
└── game-snake-poc-desktop/
|
|
```
|
|
|
|
La crate binaire ne duplique ni règles ni état de jeu. Elle fournit uniquement l'entrée exécutable et, à terme, la composition Desktop du moteur et des services plateforme.
|
|
|
|
## Responsabilités
|
|
|
|
La crate lib du jeu porte gameplay, règles, état, progression et interfaces nécessaires. Le runner Desktop porte `main`, initialisation Desktop, sélection de l'implémentation plateforme et lancement du runtime SDL3.
|
|
|
|
## Limite
|
|
|
|
Le runner Desktop ne remplace pas les tests Android. Lifecycle, JNI, tactile réel, Ads, Billing, haptique, permissions et APIs Play nécessitent une validation sur la cible Android.
|
|
|
|
## Baseline `0.1.0-0-pre.3`
|
|
|
|
Les deux runners utilisent désormais le `FixedStepRunner` commun et des `InputState` logiques pour exercer la première boucle moteur indépendante de SDL. Ils déclarent explicitement la monétisation désactivée pour leur smoke Desktop.
|
|
|
|
La traduction clavier/souris vers `InputState`, la fenêtre et le rendu SDL3 restent planifiés pour `0-pre.4`.
|
|
|
|
La possibilité d'une variante Desktop Tauri est documentée séparément dans `002-DESKTOP_DISTRIBUTIONS.md` et reste optionnelle.
|