1.7 KiB
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
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.