# 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 : ```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), 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 : ```bash 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 : ```text 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 : ```text 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 : ```text 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 : ```text 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 : ```bash 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`.