0.3.5-alpha.9.fix.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# file: Cargo.toml
|
||||
# version: 107
|
||||
# version: 108
|
||||
|
||||
[workspace]
|
||||
resolver = "3"
|
||||
@@ -29,7 +29,7 @@ members = [
|
||||
]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.3.5-alpha.9"
|
||||
version = "0.3.5-alpha.9.fix.1"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://git.sasedev.com/Sasedev/games"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<!-- file: README.md -->
|
||||
<!-- version: 75 -->
|
||||
<!-- version: 76 -->
|
||||
|
||||
# games.sasedev
|
||||
|
||||
@@ -27,9 +27,9 @@ Workspace expérimental puis productif pour des jeux multiplateformes principale
|
||||
|
||||
Version stable de référence : `0.3.4`.
|
||||
|
||||
Version active : `0.3.5-alpha.9`. `0.3.2` reste différée.
|
||||
Version active : `0.3.5-alpha.9.fix.1`. `0.3.2` reste différée.
|
||||
|
||||
La stable `0.3.4` livre la première baseline realtime : contrat binaire transport-neutral, backend WebSocket Tokio/tokio-tungstenite, limites et deadlines, tests loopback/robustesse, smoke runtime localhost public et frontières de dépendances empêchant moteurs et gameplay de dépendre d'un backend concret. `0.3.5-alpha.9` conserve les chemins WebTransport natif et navigateur validés, la composition WebTransport-first avec fallback WebSocket strictement classifié, puis ajoute un POC datagram backend-spécifique isolé. Les datagrams restent hors du contrat `RealtimeConnection` : ils sont non fiables, non ordonnés et bornés par la taille négociée de la session. Les mesures comparatives restent réservées à la tranche suivante.
|
||||
La stable `0.3.4` livre la première baseline realtime : contrat binaire transport-neutral, backend WebSocket Tokio/tokio-tungstenite, limites et deadlines, tests loopback/robustesse, smoke runtime localhost public et frontières de dépendances empêchant moteurs et gameplay de dépendre d'un backend concret. `0.3.5-alpha.9.fix.1` conserve les chemins WebTransport natif et navigateur validés, la composition WebTransport-first avec fallback WebSocket strictement classifié, puis ajoute le POC datagram backend-spécifique isolé de `alpha.9` avec son correctif de documentation du crate de test d’intégration. Les datagrams restent hors du contrat `RealtimeConnection` : ils sont non fiables, non ordonnés et bornés par la taille négociée de la session. Les mesures comparatives restent réservées à la tranche suivante.
|
||||
|
||||
Les deux premiers jeux sont des POC structurels : `game-reflex-poc` et `game-snake-poc`. Ils existent d'abord pour valider les frontières du workspace, le moteur, les assets et le packaging multiplateforme.
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
// file: crates/common/game-realtime-webtransport-lib/tests/datagrams.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
//! Integration coverage for backend-specific WebTransport datagrams.
|
||||
|
||||
#![cfg(not(target_arch = "wasm32"))]
|
||||
|
||||
|
||||
103
deltas/0.3.5/alpha.9.fix.1.md
Normal file
103
deltas/0.3.5/alpha.9.fix.1.md
Normal file
@@ -0,0 +1,103 @@
|
||||
<!-- file: deltas/0.3.5/alpha.9.fix.1.md -->
|
||||
<!-- version: 1 -->
|
||||
|
||||
# Delta 0.3.5-alpha.9.fix.1
|
||||
|
||||
## Base requise
|
||||
|
||||
`0.3.5-alpha.9`.
|
||||
|
||||
La gate utilisateur du 2026-09-22 valide :
|
||||
|
||||
- fmt et les trois audits ;
|
||||
- `cargo check --workspace` ;
|
||||
- les tests `game-realtime-webtransport-lib`, y compris les `2/2` tests datagram ;
|
||||
- le smoke datagram natif, terminé par `game-realtime-webtransport-datagram-smoke: PASS` ;
|
||||
- `cargo check`, Clippy et build de `game-realtime-webtransport-lib` sur `wasm32-unknown-unknown` ;
|
||||
- les graphes de dépendances attendus.
|
||||
|
||||
La gate complète échoue uniquement sur Clippy workspace avec `missing_docs` pour le crate d’intégration `crates/common/game-realtime-webtransport-lib/tests/datagrams.rs`. Les tests et le smoke datagram eux-mêmes sont verts.
|
||||
|
||||
`alpha.9` n'est donc pas historisée comme validée avant ce correctif.
|
||||
|
||||
## Cause
|
||||
|
||||
Chaque fichier sous `tests/` est compilé comme un crate d’intégration autonome. La règle workspace :
|
||||
|
||||
```text
|
||||
missing_docs = "warn"
|
||||
```
|
||||
|
||||
devient bloquante sous :
|
||||
|
||||
```text
|
||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||
```
|
||||
|
||||
Le nouveau `tests/datagrams.rs` documente ses tests mais ne possédait pas de rustdoc `//!` au niveau crate.
|
||||
|
||||
## Correction
|
||||
|
||||
La version technique passe à :
|
||||
|
||||
```text
|
||||
0.3.5-alpha.9.fix.1
|
||||
```
|
||||
|
||||
Le correctif ajoute uniquement une documentation de niveau crate à `tests/datagrams.rs`. Il n'ajoute aucune exception `allow`, ne modifie aucun test et ne change :
|
||||
|
||||
- ni la surface datagram de `WebTransportSession` ;
|
||||
- ni le framing fiable ;
|
||||
- ni `RealtimeConnection` ;
|
||||
- ni les backends natif/WASM ;
|
||||
- ni les deadlines ;
|
||||
- ni les dépendances ;
|
||||
- ni le smoke datagram.
|
||||
|
||||
## Fichiers modifiés
|
||||
|
||||
```text
|
||||
Cargo.toml
|
||||
README.md
|
||||
crates/common/game-realtime-webtransport-lib/tests/datagrams.rs
|
||||
docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md
|
||||
```
|
||||
|
||||
Nouveau fichier :
|
||||
|
||||
```text
|
||||
deltas/0.3.5/alpha.9.fix.1.md
|
||||
```
|
||||
|
||||
Aucun `history/0.3.5/alpha.9.md` n'est créé avant une gate entièrement verte.
|
||||
|
||||
## Validation attendue
|
||||
|
||||
```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 -p game-realtime-webtransport-lib --all-targets --all-features
|
||||
cargo run -p game-realtime-webtransport-datagram-smoke
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
Le smoke doit terminer par :
|
||||
|
||||
```text
|
||||
game-realtime-webtransport-datagram-smoke: PASS
|
||||
```
|
||||
|
||||
## Après validation
|
||||
|
||||
Créer `history/0.3.5/alpha.9.fix.1.md` à partir des sorties réellement fournies, puis ouvrir `0.3.5-alpha.10` pour les mesures comparatives bornées WebSocket / WebTransport fiable, avec les datagrams mesurés séparément.
|
||||
@@ -1,11 +1,11 @@
|
||||
<!-- file: docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md -->
|
||||
<!-- version: 14 -->
|
||||
<!-- version: 15 -->
|
||||
|
||||
# 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`, le smoke natif validé de `0.3.5-alpha.5`, le chemin client WASM validé de `0.3.5-alpha.6`, le smoke navigateur validé par `0.3.5-alpha.7.fix.2`, la composition/fallback WebSocket validée par `0.3.5-alpha.8.fix.1` et le POC datagram backend-spécifique de `0.3.5-alpha.9`.
|
||||
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`, le chemin client WASM validé de `0.3.5-alpha.6`, le smoke navigateur validé par `0.3.5-alpha.7.fix.2`, la composition/fallback WebSocket validée par `0.3.5-alpha.8.fix.1` et le POC datagram backend-spécifique de `0.3.5-alpha.9`, corrigé par `0.3.5-alpha.9.fix.1` après la gate Clippy.
|
||||
|
||||
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.
|
||||
|
||||
@@ -551,6 +551,8 @@ Le backend fiable natif et le navigateur étant désormais validés, la tranche
|
||||
|
||||
Le smoke navigateur interactif n'est pas rouvert dans cette tranche : sa preuve fiable `alpha.7.fix.2` reste intacte. La valeur retenue est **future capability backend-spécifique utile**, à mesurer en `alpha.10`, sans promotion vers le contrat commun.
|
||||
|
||||
Correctif `0.3.5-alpha.9.fix.1` : la gate utilisateur de `alpha.9` confirme fmt/audits, `cargo check --workspace`, les tests WebTransport dont `2/2` tests datagram, le smoke datagram natif terminé par `PASS`, ainsi que check/Clippy/build WASM. Clippy workspace échoue uniquement parce que le nouveau crate d’intégration `tests/datagrams.rs` ne possède pas de rustdoc de niveau crate sous `missing_docs = "warn"` promu en erreur par `-D warnings`. Le correctif ajoute cette documentation sans modifier API, comportement, test ou dépendance.
|
||||
|
||||
### `0.3.5-alpha.10` — mesures comparatives bornées
|
||||
|
||||
- launcher/outil minimal de mesure ;
|
||||
|
||||
Reference in New Issue
Block a user