# Delta 0.3.5-beta.1 ## Base requise `0.3.5-alpha.10.fix.1` validée. ## Objet Ouvrir la validation large de `0.3.5` sans nouvelle fonctionnalité. Toutes les capacités alpha sont déjà fermées : WebSocket baseline, WebTransport natif fiable, navigateur/WASM, fallback classifié, datagrams backend-spécifiques et mesures loopback bornées. La version technique devient : ```text 0.3.5-beta.1 ``` ## Modifications - enregistrer `history/0.3.5/alpha.10.fix.1.md` avec la gate et les mesures réellement observées ; - synchroniser la version workspace et le README vers `0.3.5-beta.1` ; - activer dans le plan la gate beta full-workspace et les preuves runtime/multiplateformes retenues ; - ne modifier aucun backend, contrat realtime, engine, gameplay, frontend ou dépendance. `CHANGELOG.md` reste inchangé : sa consolidation est réservée à `beta.2`, conformément aux contrats documentaires et au plan. ## Validation attendue — gate automatisable ```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 Web deltas history python3 scripts/audit_distribution_layout.py cargo check --workspace cargo clippy --workspace --all-targets --all-features -- -D warnings cargo test --workspace --all-targets --all-features cargo run -p game-realtime-websocket-smoke cargo run -p game-realtime-webtransport-smoke cargo run -p game-realtime-webtransport-datagram-smoke cargo run -p game-realtime-transport-fallback-smoke cargo run --release -p game-realtime-transport-measure 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 cargo build -p game-realtime-webtransport-browser-smoke --lib --target wasm32-unknown-unknown (cd Web/game-realtime-webtransport-browser-smoke && npm install && npm run build) cargo tree -p game-realtime-websocket-lib --edges normal cargo tree -p game-realtime-webtransport-lib --edges normal cargo tree -i game-realtime-websocket-lib --workspace --edges normal cargo tree -i game-realtime-webtransport-lib --workspace --edges normal ``` Si la cible Android/NDK déjà utilisée par le checkout est disponible, ajouter : ```bash cargo check -p game-realtime-webtransport-lib --target aarch64-linux-android ``` Cette commande est une preuve de portabilité du backend uniquement ; aucun APK/AAB, Gradle ou JNI n'est demandé dans `beta.1` puisque ce périmètre n'a pas été modifié. ## Validation navigateur réelle Après le build frontend, lancer dans un premier terminal : ```bash cargo run -p game-realtime-webtransport-browser-smoke ``` Puis dans un second : ```bash (cd Web/game-realtime-webtransport-browser-smoke && npm run dev) ``` Ouvrir l'URL `OPEN=...` imprimée par le premier terminal. La preuve attendue est : ```text game-realtime-webtransport-browser-smoke: PASS ``` ## Critères beta La gate doit confirmer : - aucun test workspace en échec ; - aucun warning Clippy ; - tous les smokes realtime retenus en `PASS` ; - build/smoke navigateur toujours opérationnels ; - le graphe inverse des backends ne contient aucun `engine-v1-*` ni `game-*-poc` gameplay ; - la conclusion `webtransport=retain` reste une décision de trajectoire, pas une affirmation de supériorité de performance. Un défaut fermé produit `0.3.5-beta.1.fix.N`. Une capacité fonctionnelle majeure réellement manquante imposerait de rouvrir une alpha conformément au plan. ## Après validation Créer `history/0.3.5/beta.1.md`, puis ouvrir `0.3.5-beta.2` pour la consolidation pré-RC : documentation durable, conclusion finale `retained/deferred/rejected`, plateformes validées/non validées, `CHANGELOG.md`, `ROADMAP.md` si nécessaire et prompt `0.3.6`.