0.3.5-alpha.10.fix.1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 109
|
# version: 110
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -30,7 +30,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.3.5-alpha.10"
|
version = "0.3.5-alpha.10.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: 77 -->
|
<!-- version: 78 -->
|
||||||
|
|
||||||
# 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.10`. `0.3.2` reste différée.
|
Version active : `0.3.5-alpha.10.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.10` conserve les chemins WebTransport natif et navigateur validés, la composition WebTransport-first avec fallback WebSocket strictement classifié et le POC datagram backend-spécifique, puis ajoute un outil borné de caractérisation loopback WebSocket/WebTransport. Les mesures d’établissement, RTT, throughput et fenêtre de messages en vol restent descriptives ; le datagram est mesuré séparément et n’entre toujours pas dans `RealtimeConnection`. La conclusion technique provisoire reste de conserver WebTransport comme second backend à côté de WebSocket, sans prétendre qu’un résultat loopback prédit les performances Internet/mobile.
|
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.10.fix.1` conserve les chemins WebTransport natif et navigateur validés, la composition WebTransport-first avec fallback WebSocket strictement classifié et le POC datagram backend-spécifique, puis ajoute un outil borné de caractérisation loopback WebSocket/WebTransport. Les mesures d’établissement, RTT, throughput et fenêtre de messages en vol restent descriptives ; le datagram est mesuré séparément et n’entre toujours pas dans `RealtimeConnection`. La conclusion technique provisoire reste de conserver WebTransport comme second backend à côté de WebSocket, sans prétendre qu’un résultat loopback prédit les performances Internet/mobile.
|
||||||
|
|
||||||
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,5 @@
|
|||||||
// file: crates/apps/game-realtime-transport-measure/src/main.rs
|
// file: crates/apps/game-realtime-transport-measure/src/main.rs
|
||||||
// version: 1
|
// version: 2
|
||||||
|
|
||||||
#![warn(missing_docs)]
|
#![warn(missing_docs)]
|
||||||
#![deny(unreachable_pub)]
|
#![deny(unreachable_pub)]
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
|
|
||||||
//! Bounded localhost characterization tool for WebSocket and WebTransport realtime backends.
|
//! Bounded localhost characterization tool for WebSocket and WebTransport realtime backends.
|
||||||
|
|
||||||
use game_realtime_transport_lib::RealtimeConnection; // rust-rules: trait-import
|
|
||||||
use game_realtime_transport_lib::RealtimeReceiver; // rust-rules: trait-import
|
use game_realtime_transport_lib::RealtimeReceiver; // rust-rules: trait-import
|
||||||
use game_realtime_transport_lib::RealtimeSender; // rust-rules: trait-import
|
use game_realtime_transport_lib::RealtimeSender; // rust-rules: trait-import
|
||||||
|
|
||||||
|
|||||||
108
deltas/0.3.5/alpha.10.fix.1.md
Normal file
108
deltas/0.3.5/alpha.10.fix.1.md
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
<!-- file: deltas/0.3.5/alpha.10.fix.1.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# Delta 0.3.5-alpha.10.fix.1
|
||||||
|
|
||||||
|
## Base requise
|
||||||
|
|
||||||
|
`0.3.5-alpha.10`.
|
||||||
|
|
||||||
|
La gate utilisateur du 2026-09-22 valide :
|
||||||
|
|
||||||
|
- fmt et les trois audits ;
|
||||||
|
- `cargo check --workspace` ;
|
||||||
|
- les suites ciblées `game-realtime-transport-lib`, `game-realtime-websocket-lib` et `game-realtime-webtransport-lib` ;
|
||||||
|
- l'exécution release complète de `game-realtime-transport-measure` ;
|
||||||
|
- toutes les lignes `MEASURE ...`, la conclusion `webtransport=retain` et `game-realtime-transport-measure: PASS` ;
|
||||||
|
- les graphes de dépendances attendus.
|
||||||
|
|
||||||
|
La gate complète échoue uniquement sur Clippy workspace à cause d'un import inutilisé dans `game-realtime-transport-measure`.
|
||||||
|
|
||||||
|
`alpha.10` n'est donc pas historisée comme validée avant ce correctif.
|
||||||
|
|
||||||
|
## Cause
|
||||||
|
|
||||||
|
Le launcher importe encore :
|
||||||
|
|
||||||
|
```text
|
||||||
|
use game_realtime_transport_lib::RealtimeConnection;
|
||||||
|
```
|
||||||
|
|
||||||
|
alors que ses helpers utilisent les types génériques et les traits `RealtimeSender` / `RealtimeReceiver` sans appeler de méthode nécessitant que `RealtimeConnection` soit explicitement en scope.
|
||||||
|
|
||||||
|
`cargo check` le signale comme warning, puis :
|
||||||
|
|
||||||
|
```text
|
||||||
|
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||||
|
```
|
||||||
|
|
||||||
|
le transforme en erreur `unused-imports`.
|
||||||
|
|
||||||
|
## Correction
|
||||||
|
|
||||||
|
La version technique passe à :
|
||||||
|
|
||||||
|
```text
|
||||||
|
0.3.5-alpha.10.fix.1
|
||||||
|
```
|
||||||
|
|
||||||
|
Le correctif retire uniquement l'import inutilisé et ne change :
|
||||||
|
|
||||||
|
- ni les paramètres de mesure ;
|
||||||
|
- ni les nombres d'échantillons ;
|
||||||
|
- ni les tailles de payload ;
|
||||||
|
- ni les chemins WebSocket/WebTransport fiables ;
|
||||||
|
- ni le POC datagram ;
|
||||||
|
- ni les backends ;
|
||||||
|
- ni les dépendances ;
|
||||||
|
- ni la sortie `MEASURE ...` ;
|
||||||
|
- ni la conclusion technique provisoire `webtransport=retain`.
|
||||||
|
|
||||||
|
## Fichiers modifiés
|
||||||
|
|
||||||
|
```text
|
||||||
|
Cargo.toml
|
||||||
|
README.md
|
||||||
|
crates/apps/game-realtime-transport-measure/src/main.rs
|
||||||
|
docs/plans/005-V0_3_5_WEBTRANSPORT_QUIC_POC_PLAN.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Nouveau fichier :
|
||||||
|
|
||||||
|
```text
|
||||||
|
deltas/0.3.5/alpha.10.fix.1.md
|
||||||
|
```
|
||||||
|
|
||||||
|
Aucun `history/0.3.5/alpha.10.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-transport-lib --all-targets --all-features
|
||||||
|
cargo test -p game-realtime-websocket-lib --all-targets --all-features
|
||||||
|
cargo test -p game-realtime-webtransport-lib --all-targets --all-features
|
||||||
|
|
||||||
|
cargo run --release -p game-realtime-transport-measure
|
||||||
|
```
|
||||||
|
|
||||||
|
Le launcher doit encore terminer par :
|
||||||
|
|
||||||
|
```text
|
||||||
|
game-realtime-transport-measure: PASS
|
||||||
|
```
|
||||||
|
|
||||||
|
Les lignes `MEASURE ...` doivent rester présentes afin d'enregistrer les résultats de caractérisation dans l'historique après validation.
|
||||||
|
|
||||||
|
## Après validation
|
||||||
|
|
||||||
|
Créer `history/0.3.5/alpha.10.fix.1.md` avec les sorties réellement fournies et les mesures observées, puis ouvrir `0.3.5-beta.1` pour la validation large du workspace.
|
||||||
@@ -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: 16 -->
|
<!-- version: 17 -->
|
||||||
|
|
||||||
# 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`, le POC datagram backend-spécifique validé par `0.3.5-alpha.9.fix.1`, puis la caractérisation comparative bornée de `0.3.5-alpha.10`.
|
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`, le POC datagram backend-spécifique validé par `0.3.5-alpha.9.fix.1`, puis la caractérisation comparative bornée de `0.3.5-alpha.10` et son correctif de gate `0.3.5-alpha.10.fix.1`.
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
@@ -570,6 +570,8 @@ La conclusion technique provisoire est **`retain`** : conserver WebTransport com
|
|||||||
|
|
||||||
La méthode, le format des résultats et leurs limites sont détaillés dans `docs/studies/027-V0_3_5_REALTIME_TRANSPORT_MEASUREMENT.md`.
|
La méthode, le format des résultats et leurs limites sont détaillés dans `docs/studies/027-V0_3_5_REALTIME_TRANSPORT_MEASUREMENT.md`.
|
||||||
|
|
||||||
|
Correctif `0.3.5-alpha.10.fix.1` : la gate utilisateur de `alpha.10` confirme les audits, `cargo check --workspace`, les suites ciblées WebSocket/WebTransport et l’exécution release complète de `game-realtime-transport-measure`, terminée par `PASS` avec toutes les lignes `MEASURE`. La gate complète échoue uniquement sur Clippy workspace pour un import `RealtimeConnection` devenu inutilisé dans le launcher de mesure. Le correctif retire cet import sans modifier le protocole de mesure, les métriques produites, les backends ou la conclusion technique provisoire.
|
||||||
|
|
||||||
### `0.3.5-beta.1` — validation large
|
### `0.3.5-beta.1` — validation large
|
||||||
|
|
||||||
Jalon rare de full workspace :
|
Jalon rare de full workspace :
|
||||||
|
|||||||
Reference in New Issue
Block a user