0.1.0-0-pre.5-fix.3
This commit is contained in:
130
deltas/0.1.0/0-pre.5.fix.3.md
Normal file
130
deltas/0.1.0/0-pre.5.fix.3.md
Normal file
@@ -0,0 +1,130 @@
|
||||
<!-- file: deltas/0.1.0/0-pre.5.fix.3.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.1.0-0-pre.5.fix.3
|
||||
|
||||
## Base
|
||||
|
||||
Base déclarée : `0.1.0-0-pre.5.fix.2`, non validée intégralement.
|
||||
|
||||
## Validation du delta précédent
|
||||
|
||||
L'utilisateur a exécuté les validations de `0.1.0-0-pre.5.fix.2` le 2026-09-16.
|
||||
|
||||
Préflight SDL3 propre :
|
||||
|
||||
```text
|
||||
pkg-config --modversion sdl3
|
||||
3.2.10
|
||||
```
|
||||
|
||||
et :
|
||||
|
||||
```text
|
||||
pkg-config --cflags --libs sdl3
|
||||
-I/usr/include/pipewire-0.3 -I/usr/include/spa-0.2 -D_REENTRANT -I/usr/include/libdrm -I/usr/include/libdecor-0 -lSDL3
|
||||
```
|
||||
|
||||
Résultats propres :
|
||||
|
||||
- `cargo fmt --all -- --check` ;
|
||||
- audit Rust/workspace ;
|
||||
- audit Markdown : `1 table(s), 42 file(s)` ;
|
||||
- `cargo check --workspace` ;
|
||||
- `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` ;
|
||||
- smoke `game-reflex-poc-desktop` ;
|
||||
- smoke `game-snake-poc-desktop`.
|
||||
|
||||
Les deux runners ont ouvert et fermé leur runtime SDL3 sans panic.
|
||||
|
||||
La gate Clippy a échoué sur une seule erreur projet :
|
||||
|
||||
```text
|
||||
clippy::duplicate_mod
|
||||
```
|
||||
|
||||
Le même fichier `unit_tests/runtime.rs` était chargé à la fois depuis `src/runtime.rs` et `src/unit_tests.rs`.
|
||||
|
||||
`0.1.0-0-pre.5.fix.2` n'est donc pas validé.
|
||||
|
||||
## Correctifs
|
||||
|
||||
### Tests SDL3
|
||||
|
||||
Le chargement direct du test depuis `src/runtime.rs` est supprimé.
|
||||
|
||||
Le seul point d'entrée reste :
|
||||
|
||||
```text
|
||||
src/unit_tests.rs
|
||||
-> ../unit_tests/runtime.rs
|
||||
```
|
||||
|
||||
Le test n'est donc chargé qu'une fois.
|
||||
|
||||
### Version SDL3
|
||||
|
||||
La dépendance commune passe à :
|
||||
|
||||
```toml
|
||||
sdl3 = "^0.20"
|
||||
```
|
||||
|
||||
La série `0.20` est utilisée plutôt que de rester sur `0.16.x`.
|
||||
|
||||
### Features Cargo
|
||||
|
||||
La racine conserve uniquement les versions des dépendances partagées :
|
||||
|
||||
```toml
|
||||
sdl3 = "^0.20"
|
||||
tracing-subscriber = "0.3.23"
|
||||
```
|
||||
|
||||
Les features sont déplacées vers les crates qui les utilisent :
|
||||
|
||||
```toml
|
||||
# engine-v1-sdl
|
||||
sdl3 = { workspace = true, features = ["use-pkg-config"] }
|
||||
|
||||
# game-logging-lib
|
||||
tracing-subscriber = { workspace = true, features = ["fmt"] }
|
||||
```
|
||||
|
||||
Cette règle devient normative dans `docs/rules/RULES_RUST.md`.
|
||||
|
||||
## Validation à exécuter par l'utilisateur
|
||||
|
||||
Le fix 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
|
||||
```
|
||||
|
||||
Test ciblé principal :
|
||||
|
||||
```bash
|
||||
cargo test -p engine-v1-sdl --all-targets --all-features
|
||||
```
|
||||
|
||||
La montée de `sdl3` à `^0.20` touche le runtime Desktop ; rejouer également les deux smokes :
|
||||
|
||||
```bash
|
||||
cargo run -p game-reflex-poc-desktop
|
||||
cargo run -p game-snake-poc-desktop
|
||||
```
|
||||
|
||||
Les tests des crates de gameplay ne sont pas requis à nouveau : leur code et leurs dépendances propres ne sont pas modifiés par ce fix.
|
||||
|
||||
## Règle de transition
|
||||
|
||||
Si toutes les validations sont propres, `0.1.0-0-pre.5.fix.3` est accepté et le travail passe automatiquement à `0.1.0-0-pre.6`.
|
||||
|
||||
Si une gate échoue, rester sur `0-pre.5` et produire `0.1.0-0-pre.5.fix.4`.
|
||||
Reference in New Issue
Block a user