# 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.