0.2.0-0-pre.1-fix.1

This commit is contained in:
2026-09-18 00:58:14 +02:00
parent de63a8c57b
commit df4a06fac3
23 changed files with 317 additions and 37 deletions

View File

@@ -15,17 +15,26 @@ Engine API
SDL3 boundary
┌───┼───────────────┐
│ │ │
Desktop Android Web
native SDL/JNI WASM/browser
Desktop Mobile Web
SDL native SDL/native WASM/browser
│ │
Linux/Windows/ Android/iOS
macOS
```
## Desktop
La famille Desktop réserve Linux, Windows et macOS. Leur support effectif dépend des backends, bibliothèques et contraintes de distribution disponibles au moment de l'implémentation.
Le runner Desktop est la cible d'itération la plus rapide. Il utilise la crate lib du jeu et, à terme, le runtime SDL3 natif. Les entrées disponibles peuvent inclure clavier, souris, trackpad, gamepad et joystick.
La cible Desktop sert à tester le gameplay, le rendu, la boucle de jeu, l'audio et les abstractions communes sans imposer un déploiement sur émulateur ou téléphone.
## Android
## Mobile
La famille Mobile réserve Android et iOS. Téléphone et tablette sont des classes de device et ne doivent pas être confondus avec l'OS ou le backend de rendu.
### Android
Android empaquette le jeu natif dans une application standard. La structure cible combine : SDL3 Android, une bibliothèque native Rust, la couche Java commune, les extensions Java spécifiques au jeu, les assets communs et spécifiques, puis les SDK Android requis.
@@ -33,6 +42,10 @@ Les fonctionnalités suivantes restent côté plateforme Android : lifecycle, JN
Le gameplay Rust ne doit pas dépendre des classes Java ni d'une régie publicitaire particulière.
### iOS
iOS est une cible réservée pour une évolution future. Aucun support de distribution iOS n'est exigé dans le POC actuel. L'architecture ne doit toutefois pas introduire une dépendance structurelle qui rendrait impossible un backend SDL/native ou un adapter iOS ultérieur.
## Web / WASM
La cible Web est prévue comme cible ultérieure. SDL3 peut être utilisé avec une chaîne Web adaptée, notamment Emscripten, tandis que le navigateur fournit ses propres contraintes de boucle d'événements, audio, stockage, permissions et interaction utilisateur.