0.3.5-alpha.9.fix.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 107
|
# version: 108
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -29,7 +29,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.3.5-alpha.9"
|
version = "0.3.5-alpha.9.fix.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.sasedev.com/Sasedev/games"
|
repository = "https://git.sasedev.com/Sasedev/games"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: README.md -->
|
<!-- file: README.md -->
|
||||||
<!-- version: 75 -->
|
<!-- version: 76 -->
|
||||||
|
|
||||||
# games.sasedev
|
# 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 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.
|
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
|
// 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"))]
|
#![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 -->
|
<!-- 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
|
# Plan 0.3.5 — POC WebTransport/QUIC et fallback WebSocket
|
||||||
|
|
||||||
## Statut
|
## 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.
|
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.
|
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
|
### `0.3.5-alpha.10` — mesures comparatives bornées
|
||||||
|
|
||||||
- launcher/outil minimal de mesure ;
|
- launcher/outil minimal de mesure ;
|
||||||
|
|||||||
Reference in New Issue
Block a user