35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
<!-- file: docs/development/001-DESKTOP_RUNNERS.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# 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.2`
|
|
|
|
Les deux runners sont volontairement minimaux : ils lient les crates de jeu et permettent de vérifier leur exécution locale. La vraie boucle SDL3 Desktop reste planifiée dans une tranche dédiée.
|