0.3.5-alpha.7

This commit is contained in:
2026-09-22 06:36:54 +02:00
parent 0ef5e1a233
commit 1764eb9bed
20 changed files with 1021 additions and 55 deletions

93
history/0.3.5/alpha.6.md Normal file
View File

@@ -0,0 +1,93 @@
<!-- file: history/0.3.5/alpha.6.md -->
<!-- version: 1 -->
# Historique 0.3.5-alpha.6
## Statut
`0.3.5-alpha.6` a été validée par l'utilisateur le 2026-09-22. Le chemin client WebTransport Rust compile donc réellement en `wasm32-unknown-unknown`, tandis que le backend natif et son smoke hors harness restent propres.
La suite peut ouvrir `0.3.5-alpha.7` pour la preuve runtime dans un vrai navigateur et la fermeture des deadlines navigateur sans réouvrir l'architecture native.
## Gates statiques et natives
Les commandes utilisateur ont terminé proprement :
```text
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 Web deltas history
python3 scripts/audit_distribution_layout.py
cargo check --workspace
cargo clippy --workspace --all-targets --all-features -- -D warnings
```
La sortie confirme :
```text
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 296 file(s))
Distribution layout audit: clean (50 required path(s), 8 forbidden path(s) absent)
cargo check --workspace: clean
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
```
## Tests realtime et smoke natif
Le contrat commun reste entièrement propre :
```text
game-realtime-transport-lib: 7 passed; 0 failed
```
La suite WebTransport reste entièrement propre :
```text
unit tests: 11 passed; 0 failed
establishment integration tests: 2 passed; 0 failed
realtime_connection integration tests: 1 passed; 0 failed
robustness integration tests: 6 passed; 0 failed
```
Soit vingt tests WebTransport verts.
Le smoke natif :
```bash
cargo run -p game-realtime-webtransport-smoke
```
se termine toujours par :
```text
game-realtime-webtransport-smoke: PASS
```
## Gate WASM
Les trois commandes ciblées ont terminé proprement :
```text
cargo check -p game-realtime-webtransport-lib --target wasm32-unknown-unknown
cargo clippy -p game-realtime-webtransport-lib --target wasm32-unknown-unknown --lib -- -D warnings
cargo build -p game-realtime-webtransport-lib --target wasm32-unknown-unknown
```
`web-transport-wasm 0.6.0` a été résolu et construit avec les bindings `web-sys`/`wasm-bindgen` attendus.
Le graphe direct WASM de `game-realtime-webtransport-lib` contient le contrat commun, tracing, URL et `web-transport-wasm`; il ne contient ni `web-transport-quinn`, ni rcgen, ni Tokio. Le graphe inverse confirme :
```text
web-transport-wasm v0.6.0
└── game-realtime-webtransport-lib v0.3.5-alpha.6
└── game-realtime-webtransport-smoke v0.3.5-alpha.6
```
Le smoke natif apparaît comme consommateur workspace du backend mais sa propre compilation native ne transforme pas le chemin WASM en backend Quinn.
## Conséquence
`alpha.7` peut maintenant ajouter la preuve navigateur réelle : host Vite technique isolé, adapter Rust/WASM, serveur Rust local avec certificat court P-256 et hash SHA-256 explicite, round-trip binaire, fermeture propre et deadlines navigateur matérialisées. Le fallback WebSocket reste réservé à `alpha.8`.