87 lines
1.8 KiB
Markdown
87 lines
1.8 KiB
Markdown
<!-- file: deltas/0.1.0/0-pre.10.fix.1.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Delta 0.1.0-0-pre.10.fix.1
|
|
|
|
## Base
|
|
|
|
Base déclarée : `0.1.0-0-pre.10`, non validée.
|
|
|
|
## Échecs observés
|
|
|
|
La validation de `0-pre.10` a mis en évidence deux défauts locaux.
|
|
|
|
### SDL3 FRect
|
|
|
|
`sdl3 0.20.0` expose `FRect` publiquement sous :
|
|
|
|
```text
|
|
sdl3::render::FRect
|
|
```
|
|
|
|
Le delta utilisait à tort :
|
|
|
|
```text
|
|
sdl3::rect::FRect
|
|
```
|
|
|
|
qui est privé.
|
|
|
|
### Test flottant
|
|
|
|
Le test de `NormalizedRect` comparait directement :
|
|
|
|
```text
|
|
0.19999999 == 0.2
|
|
```
|
|
|
|
avec `assert_eq!`.
|
|
|
|
Le comportement du code est correct ; le test était trop strict pour des `f32`.
|
|
|
|
## Correctif
|
|
|
|
- remplacement de `sdl3::rect::FRect` par `sdl3::render::FRect` ;
|
|
- comparaison de `width` et `height` avec une tolérance `f32::EPSILON`.
|
|
|
|
Aucun comportement gameplay n'est modifié.
|
|
|
|
## Validation à exécuter
|
|
|
|
```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
|
|
|
|
cargo test -p engine-v1-common --all-targets --all-features
|
|
cargo test -p engine-v1-sdl --all-targets --all-features
|
|
cargo test -p game-reflex-poc --all-targets --all-features
|
|
```
|
|
|
|
Puis :
|
|
|
|
```bash
|
|
cargo run -p game-reflex-poc-desktop
|
|
```
|
|
|
|
Si le smoke Desktop est propre, reconstruire Android Reflex :
|
|
|
|
```bash
|
|
python3 scripts/build_android_rust.py reflex
|
|
|
|
cd Android
|
|
gradle :game-reflex-poc:assembleDebug
|
|
cd ..
|
|
```
|
|
|
|
## Transition
|
|
|
|
Si ces gates sont propres, `0.1.0-0-pre.10.fix.1` est validée et le travail passe automatiquement à `0.1.0-0-pre.11`.
|
|
|
|
En cas d'échec imputable au projet, produire `0.1.0-0-pre.10.fix.2`.
|