# Prérequis SDL3 Desktop ## Portée Cette politique concerne le développement et les runners Desktop natifs basés sur SDL3. Elle ne définit pas le packaging Android ni Web : - Android utilisera son intégration SDL3/NDK/AAR dédiée ; - Web utilisera la cible Emscripten/WASM dédiée ; - la présence de SDL3 système sur le poste Desktop n'implique aucune dépendance runtime identique sur Android ou Web. ## Version Rust SDL3 La version canonique est déclarée au workspace sans feature globale : ```toml [workspace.dependencies] sdl3 = "^0.20" ``` La crate d'adaptation SDL3 Desktop active elle-même la méthode de liaison dont elle a besoin : ```toml sdl3 = { workspace = true, features = ["use-pkg-config"] } ``` Cette séparation suit la règle générale du workspace : version commune à la racine, features au niveau de la crate consommatrice. ## Stratégie Desktop Linux Le build Desktop recherche une installation SDL3 système avec `pkg-config`. Cette stratégie évite le défaut rencontré avec le build vendored de la série `sdl3 0.16.x` / `sdl3-sys 0.5.12`, où CMake tentait d'ajouter un répertoire `test` absent du package source utilisé. ## Debian 13 / Trixie Installer au besoin : ```bash sudo apt update sudo apt install pkg-config libsdl3-dev ``` Préflight : ```bash pkg-config --modversion sdl3 pkg-config --cflags --libs sdl3 ``` La machine de validation a fourni SDL `3.2.10`. `sdl3-sys 0.7.x` annonce la compatibilité avec SDL `3.1.3` et versions ultérieures ; certaines API particulières peuvent toutefois nécessiter une version SDL plus récente. Les API minimales actuellement employées par le POC doivent donc rester vérifiées par compilation et smoke runtime. ## Portabilité future Cette décision concerne le développement Desktop Linux et ne préjuge pas du packaging final. Les options futures restent ouvertes : - bundle SDL3 dans un package Desktop ; - AppImage ou Flatpak ; - package natif par distribution ; - liaison statique si elle devient justifiée ; - distribution Tauri distincte lorsqu'un shell Desktop riche est requis. Toute évolution de cette stratégie doit être documentée avant modification des manifests.