0.3.5-alpha.6
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
<!-- file: docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md -->
|
||||
<!-- version: 7 -->
|
||||
<!-- version: 8 -->
|
||||
|
||||
# Plan 0.3.5 — POC WebTransport/QUIC et fallback WebSocket
|
||||
|
||||
## Statut
|
||||
|
||||
Plan actif créé pendant `0.3.5-alpha.1` à partir de l'archive taggée `v0.3.4`, puis réconcilié pour l'implémentation native de `0.3.5-alpha.2`, son correctif de validation `0.3.5-alpha.2.fix.1`, le chemin fiable validé de `0.3.5-alpha.3`, la robustesse validée par `0.3.5-alpha.4.fix.1` et le smoke natif candidat de `0.3.5-alpha.5`.
|
||||
Plan actif créé pendant `0.3.5-alpha.1` à partir de l'archive taggée `v0.3.4`, puis réconcilié pour l'implémentation native de `0.3.5-alpha.2`, son correctif de validation `0.3.5-alpha.2.fix.1`, le chemin fiable validé de `0.3.5-alpha.3`, la robustesse validée par `0.3.5-alpha.4.fix.1`, le smoke natif validé de `0.3.5-alpha.5` et le chemin client WASM candidat de `0.3.5-alpha.6`.
|
||||
|
||||
Le cadrage détaillé et la comparaison des stacks actuelles sont conservés dans `docs/studies/026-V0_3_5_WEBTRANSPORT_QUIC_STACK_AUDIT.md`. Le présent document porte les décisions opérationnelles, le scope, les gates et le forecast vivant de la version.
|
||||
|
||||
@@ -461,7 +461,7 @@ La gate utilisateur de `alpha.4` a confirmé fmt, audits, `cargo check`, tous le
|
||||
|
||||
### `0.3.5-alpha.5` — smoke natif hors harness
|
||||
|
||||
Tranche candidate matérialisée avec :
|
||||
Tranche validée avec :
|
||||
|
||||
- nouvelle app technique `game-realtime-webtransport-smoke` ;
|
||||
- bind UDP loopback sur port éphémère ;
|
||||
@@ -473,20 +473,29 @@ Tranche candidate matérialisée avec :
|
||||
- timeout global du launcher et verdict terminal déterministe `game-realtime-webtransport-smoke: PASS` ;
|
||||
- aucune nouvelle dépendance externe et aucun couplage engine/gameplay.
|
||||
|
||||
Cette tranche reste distincte pour ne pas mélanger robustesse de bibliothèque et preuve runtime publique. La gate doit exécuter le smoke hors harness puis contrôler les graphes direct et inverse : l'inverse de `game-realtime-webtransport-lib` peut désormais contenir le launcher technique, mais aucune crate engine ou gameplay.
|
||||
Cette tranche reste distincte pour ne pas mélanger robustesse de bibliothèque et preuve runtime publique. La gate utilisateur du 2026-09-21 a confirmé fmt, audits, check workspace, Clippy strict, les sept tests du contrat commun, les vingt tests WebTransport, le smoke hors harness avec verdict `PASS` et les graphes direct/inverse attendus. La preuve est conservée dans `history/0.3.5/alpha.5.md`.
|
||||
|
||||
### `0.3.5-alpha.6` — chemin WASM compilable
|
||||
|
||||
- activer `web_sys_unstable_apis` uniquement pour `wasm32-unknown-unknown` ;
|
||||
- implémenter/adapter le client WASM ;
|
||||
- prouver le build/check WASM ciblé ;
|
||||
- ne pas modifier Snake ou Reflex ;
|
||||
- documenter les différences native/WASM réellement rencontrées.
|
||||
Tranche candidate matérialisée avec :
|
||||
|
||||
Si la famille `web-transport` échoue ici, évaluer `wtransport` serveur + API navigateur directe avant de conclure.
|
||||
- `web-transport-wasm 0.6.0` comme dépendance exclusivement `wasm32` ;
|
||||
- `web_sys_unstable_apis` ciblé par Cargo uniquement sur `wasm32-unknown-unknown`, y compris rustdoc ;
|
||||
- dépendances Quinn/Tokio/rcgen du backend déplacées dans la branche native afin que le build WASM ne tire pas la stack serveur ;
|
||||
- même surface client publique qu'en natif pour hash SHA-256, config endpoint, `connect`, session et stream primaire ;
|
||||
- pin navigateur transmis via `serverCertificateHashes` ;
|
||||
- même framing fiable `u32` big-endian + payload et même limite avant allocation/écriture ;
|
||||
- `RealtimeConnection`, sender et receiver adaptés à des types navigateur `!Send`, ce que le contrat commun autorise déjà ;
|
||||
- FIN, reset/STOP, cancellation de send terminale et réception incrémentale conservés sur le chemin navigateur ;
|
||||
- aucun changement Snake/Reflex et aucun host frontend.
|
||||
|
||||
Différence explicitement ouverte pour `alpha.7` : les deadlines `WebTransportConfig` sont validées côté WASM mais aucun timer navigateur n'est encore appliqué. Le wrapper amont conserve les opérations Web API abandonnées de manière cancel-safe ; la preuve runtime doit fixer la politique de timer avant de déclarer la parité comportementale.
|
||||
|
||||
La gate de cette tranche doit prouver le host natif inchangé puis `cargo check`, Clippy `--lib` et build réel de `game-realtime-webtransport-lib` sur `wasm32-unknown-unknown`. Si la famille `web-transport` échoue à cette gate, évaluer `wtransport` serveur + API navigateur directe avant de conclure.
|
||||
|
||||
### `0.3.5-alpha.7` — interop navigateur et TLS local
|
||||
|
||||
- fixer puis prouver la politique de deadlines navigateur réellement nécessaire ;
|
||||
- host technique minimal si nécessaire ;
|
||||
- navigateur récent -> serveur Rust WebTransport ;
|
||||
- hash certificat W3C ;
|
||||
|
||||
Reference in New Issue
Block a user