0.1.0-0-pre.3

This commit is contained in:
2026-09-16 00:46:04 +02:00
parent 8c0252e34e
commit 2c79a05dd6
26 changed files with 589 additions and 53 deletions

View File

@@ -1,5 +1,5 @@
<!-- file: docs/development/001-DESKTOP_RUNNERS.md -->
<!-- version: 1 -->
<!-- version: 2 -->
# Runners Desktop de développement
@@ -29,6 +29,10 @@ La crate lib du jeu porte gameplay, règles, état, progression et interfaces n
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`
## Baseline `0.1.0-0-pre.3`
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.
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.

View File

@@ -0,0 +1,53 @@
<!-- file: docs/development/002-DESKTOP_DISTRIBUTIONS.md -->
<!-- version: 1 -->
# Distributions Desktop
## Principe
Le terme `Desktop` peut désigner plusieurs hôtes différents autour d'une même crate de jeu. Ces hôtes ne sont pas tous obligatoires et ne doivent jamais provoquer une duplication du gameplay.
## Binaire natif SDL3
Le runner natif est la voie Desktop canonique pour les jeux eux-mêmes :
```text
game lib
engine V1
SDL3
native desktop binary
```
Il fournit la boucle de fenêtre, le rendu, l'audio et les entrées clavier/souris/gamepad nécessaires au jeu. C'est aussi la voie privilégiée pour les itérations rapides depuis le poste de développement.
Convention initiale :
```text
crates/apps/<game>-desktop
```
## Variante Tauri optionnelle
Une variante Tauri peut être ajoutée si un besoin réel apparaît : launcher, gestion de compte, configuration riche, catalogue de jeux, téléchargement de contenu, interface Web complexe ou application compagnon.
Tauri utilise un backend Rust et une interface rendue dans une WebView. Cette architecture est différente du runner SDL3 natif et n'est pas une dépendance obligatoire du moteur.
Si un jeu possède réellement deux distributions Desktop, la convention envisagée est :
```text
crates/apps/<game>-desktop
crates/apps/<game>-desktop-tauri
```
La seconde n'est créée que lorsqu'elle apporte une fonctionnalité qui justifie son coût de maintenance.
## Règle de non-duplication
Les deux hôtes, s'ils coexistent, consomment la même crate lib de jeu. Le gameplay, le scoring, les règles et la progression ne sont jamais recopiés dans Tauri ou dans le runner natif.
## Choix par défaut
Pour les POC de jeux 2D, le binaire natif SDL3 est la cible Desktop par défaut. Tauri reste une extension future et ne fait pas partie de la gate initiale du moteur.