Files
games/docs/development/001-DESKTOP_RUNNERS.md
2026-09-16 00:46:04 +02:00

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.