Files
games/history/0.3.5/rc.1.md
2026-09-22 14:24:05 +02:00

4.0 KiB

Historique 0.3.5-rc.1

Statut

0.3.5-rc.1 a été validée par l'utilisateur le 2026-09-22. La candidate gelée passe les audits, la compilation workspace, Clippy strict, le workspace de tests complet, les smokes realtime natifs, la caractérisation release, les gates WASM/frontend, la cross-compilation Android ARM64/API 21, le smoke navigateur réel et les contrôles de dépendances sans défaut de publication.

Aucun rc.1.fix.N n'est requis. La candidate peut être promue mécaniquement vers la stable 0.3.5.

Gates statiques et workspace

La sortie utilisateur confirme :

General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 318 file(s))
Distribution layout audit: clean (66 required path(s), 8 forbidden path(s) absent)
cargo check --workspace: clean
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean

Le workspace compilé porte bien 0.3.5-rc.1, y compris les crates realtime, les smokes et l'outil de mesure.

Tests workspace

La commande :

cargo test --workspace --all-targets --all-features

valide 77 tests, 0 échec sur les moteurs, plateformes, assets/logging, jeux, WebSocket, WebTransport, datagrams, fallback et adapters concernés.

Smokes realtime natifs

Les quatre launchers terminent par :

game-realtime-websocket-smoke: PASS
game-realtime-webtransport-smoke: PASS
game-realtime-webtransport-datagram-smoke: PASS
game-realtime-transport-fallback-smoke: PASS

Le fallback confirme WebTransport préféré, WebSocket uniquement sur erreur classifiée Timeout/Io, et visibilité conservée des erreurs non éligibles au fallback.

Mesures de la RC

La caractérisation release bornée termine par game-realtime-transport-measure: PASS et observe sur cette exécution loopback :

establishment median: websocket=65 us, webtransport=720 us
rtt median: websocket=17 us, webtransport=11 us
throughput 128 x 64 KiB: websocket=3036.346 MiB/s, webtransport=634.827 MiB/s
in-flight 64 x 1 KiB: websocket=1.533 MiB/s, webtransport=348.883 MiB/s
datagram bounded burst: attempted=64, received=64, payload=256 bytes, client_max=1381, server_max=1381

Ces valeurs restent une observation locale dépendante du pattern ; elles ne constituent ni un classement général des protocoles ni une prédiction Internet/mobile. La conclusion reste :

CONCLUSION webtransport=retain scope=second-backend reason=reliable-browser-fallback-datagram-capabilities

WASM, frontend et navigateur réel

Les gates wasm32-unknown-unknown de game-realtime-webtransport-lib passent en check, Clippy strict et build. game-realtime-webtransport-browser-smoke compile également pour WASM.

Le host Vite/TypeScript synchronisé sur 0.3.5-rc.1 passe npm install sans vulnérabilité puis son build production. Le smoke navigateur réel contre le serveur Rust natif termine par :

game-realtime-webtransport-browser-smoke: PASS

Android ARM64/API 21

Avec le NDK 28.2.13676358 déjà retenu et le Clang ciblé aarch64-linux-android21-clang exposé à Cargo/cc-rs, la commande :

cargo check -p game-realtime-webtransport-lib --target aarch64-linux-android

termine proprement. Cette preuve valide la cross-compilation du backend WebTransport pour Android ARM64/API 21 ; elle ne constitue pas un smoke runtime Android WebTransport.

Frontières de dépendances

Les graphes directs/inverses confirment que les backends realtime restent consommés uniquement par les launchers/outils techniques prévus. Aucun moteur ni gameplay ne dépend directement de game-realtime-websocket-lib ou game-realtime-webtransport-lib.

Conclusion RC

La candidate est gelée, cohérente et validée sans correctif RC. La stable 0.3.5 peut se limiter aux changements mécaniques de version, changelog, roadmap, clôture du plan/index, historique RC, delta final et ajustement du prompt 0.3.6.