54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
<!-- 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.
|