# Delta 0.1.0-0-pre.5 ## Base Base validée : `0.1.0-0-pre.4.fix.2`. ## Validation du delta précédent `0.1.0-0-pre.4.fix.2` a été validée par l'utilisateur le 2026-09-16. Résultats : - `cargo fmt --all -- --check` propre ; - audit Rust/workspace propre ; - audit Markdown propre : `1 table(s), 37 file(s)` ; - `cargo check --workspace` propre. ## Objectif Introduire la première intégration SDL3 Desktop réelle sans déplacer de logique de gameplay hors des crates `lib` de jeu. ## Changements - ajout de SDL3 comme dépendance workspace ; - implémentation de `SdlRuntime` dans `engine-v1-sdl` ; - création d'une fenêtre SDL3 ; - pompe d'événements SDL3 ; - fermeture par événement `Quit` ou touche `Escape` ; - mapping initial de `Space` vers l'action abstraite `Primary` ; - rendu minimal avec effacement de fenêtre ; - conservation de la boucle moteur commune `FixedStepRunner` ; - migration des runners Reflex et Snake vers le runtime SDL3 ; - ajout d'un test unitaire séparé pour la construction de la configuration SDL3 ; - archivage immuable de la validation de `0-pre.4.fix.2`. ## Limites volontaires - pas encore de sprites ; - pas encore d'assets ; - pas encore de texte ; - pas encore de contrôle souris/tactile ; - pas encore de cadence réelle basée sur un timer SDL ; - pas encore de backend Android SDL3 ; - les deux runners ouvrent seulement une fenêtre fonctionnelle et injectent `Primary` via `Space`. ## Validation à exécuter par l'utilisateur Le delta modifie du Rust : ```bash cargo fmt --all cargo fmt --all -- --check python3 scripts/audit_rust_workspace_rules.py python3 scripts/audit_markdown_tables.py README.md RULES.md ROADMAP.md CHANGELOG.md docs prompts crates Android deltas history cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings ``` Tests ciblés : ```bash cargo test -p engine-v1-sdl --all-targets --all-features cargo test -p game-reflex-poc --all-targets --all-features cargo test -p game-snake-poc --all-targets --all-features ``` Smokes Desktop interactifs : ```bash cargo run -p game-reflex-poc-desktop cargo run -p game-snake-poc-desktop ``` Pour chaque runner : - une fenêtre SDL3 doit s'ouvrir ; - `Escape` doit fermer proprement la fenêtre ; - le bouton de fermeture système doit fermer proprement la fenêtre ; - `Space` doit être capturé comme action `Primary` sans panic. La suite workspace complète n'est pas demandée pour ce delta sauf si les résultats ciblés révèlent un doute transversal. ## Règle de transition Si toutes ces validations sont propres, passer automatiquement à `0.1.0-0-pre.6`. En cas d'échec, produire `0.1.0-0-pre.5.fix.1`.