From a9620ef84c5200bcd05ffd8041a9651b6461577c Mon Sep 17 00:00:00 2001 From: SinuS Von SifriduS Date: Sun, 20 Sep 2026 15:25:55 +0200 Subject: [PATCH] 0.3.0-3-rc.1 --- CHANGELOG.md | 13 ++- Cargo.toml | 4 +- README.md | 4 +- Web/game-snake-poc/package.json | 2 +- deltas/0.3.0/3-rc.1.md | 88 +++++++++++++++++++++ docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md | 8 +- history/0.3.0/2-beta.2.fix.2.md | 35 ++++++++ 7 files changed, 147 insertions(+), 7 deletions(-) create mode 100644 deltas/0.3.0/3-rc.1.md create mode 100644 history/0.3.0/2-beta.2.fix.2.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 20d4e98..576a3b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,19 @@ - + # Changelog +## 0.3.0-3-rc.1 — 2026-09-20 + +- gel fonctionnel du premier POC Snake Web direct après validation beta et consolidation documentaire ; +- gameplay Snake conservé dans `game-snake-poc`, avec adapter `game-snake-poc-wasm` dédié et host navigateur Vite/TypeScript séparé ; +- shell Web responsive fondé sur Bootstrap 5/Bootswatch, SimpleBar et Canvas au ratio logique du jeu, avec clavier et contrôles pointer/tactiles ; +- lifecycle navigateur fixed-step sans rattrapage massif, resize `devicePixelRatio`, assets `common/` + `game/`, logging frontend structuré et provenance `Web / Browser / Wasm` ; +- runner Desktop SDL3 maintenu comme témoin de non-régression et builds release Desktop/Web déjà exercés pendant la beta ; +- prompt `0.3.1` préparé pour le second host Snake Tauri Android, avec workflow de session, commandes et validations consolidés. + +La RC n'ouvre aucun nouveau scope. Les détails des phases `pre`, `beta` et de leurs correctifs restent dans `deltas/0.3.0/` et `history/0.3.0/`. + ## 0.2.0 — conception modulaire, POC et Uroburas - Gouvernance documentaire renforcée : catégories `ideas/studies/architecture/rules`, immutabilité des deltas, conventions de statuts et workflow de session/version. diff --git a/Cargo.toml b/Cargo.toml index 55b3c47..fdb587f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ # file: Cargo.toml -# version: 68 +# version: 69 [workspace] resolver = "3" @@ -20,7 +20,7 @@ members = [ ] [workspace.package] -version = "0.3.0-2-beta.2" +version = "0.3.0-3-rc.1" edition = "2024" license = "MIT" repository = "https://git.sasedev.com/Sasedev/games" diff --git a/README.md b/README.md index a64a63c..2439411 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ - + # games.sasedev @@ -26,7 +26,7 @@ Workspace expérimental puis productif pour des jeux multiplateformes principale Version stable de référence : `0.2.0`. -Version de développement : `0.3.0-2-beta.2`. +Version de développement : `0.3.0-3-rc.1`. 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. diff --git a/Web/game-snake-poc/package.json b/Web/game-snake-poc/package.json index f679cf3..8dcc925 100644 --- a/Web/game-snake-poc/package.json +++ b/Web/game-snake-poc/package.json @@ -1,7 +1,7 @@ { "name": "game-snake-poc-web", "private": true, - "version": "0.3.0-2-beta.2", + "version": "0.3.0-3-rc.1", "type": "module", "scripts": { "dev": "vite", diff --git a/deltas/0.3.0/3-rc.1.md b/deltas/0.3.0/3-rc.1.md new file mode 100644 index 0000000..98af2e1 --- /dev/null +++ b/deltas/0.3.0/3-rc.1.md @@ -0,0 +1,88 @@ + + + +# Delta 0.3.0-3-rc.1 + +## Base requise + +`0.3.0-2-beta.2.fix.2`. + +Cette base a été validée par revue humaine et audit Markdown proportionnel au correctif documentaire. + +## Objectif + +Créer la candidate de publication `0.3.0` sans rouvrir le scope fonctionnel. + +## Gel RC + +Le scope `0.3.0` est gelé. Cette tranche n'ajoute : + +- aucune fonctionnalité ; +- aucune capability ; +- aucun refactor architectural ; +- aucune dépendance ; +- aucun changement de gameplay ou de runtime. + +Seuls les correctifs autorisés par `VER-RC-*` pourront suivre sous `3-rc.1.fix.N`. + +## Changements + +- passage de `workspace.package.version` à `0.3.0-3-rc.1` ; +- passage du package Web Snake à `0.3.0-3-rc.1` ; +- affichage de la candidate courante dans `README.md` ; +- création de l'entrée RC `0.3.0-3-rc.1` dans `CHANGELOG.md` ; +- enregistrement de la validation `2-beta.2.fix.2` sous `history/0.3.0/` ; +- réconciliation du plan `0.3.0` avec l'ouverture de la RC ; +- revue finale de `prompts/003-V0_3_1_START_PROMPT.md` : aucune modification supplémentaire requise. + +Les métadonnées Android historiques restent inchangées : `0.3.0` ne livre pas un nouveau host Android. Le package Tauri Reflex historique reste également hors scope. + +## Validation RC + +Appliquer `docs/testing/004-V0_3_0_RC_VALIDATION_MATRIX.md`. + +### Gate workspace + +```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 +``` + +Le test workspace complet est volontairement exécuté à ce jalon RC final. Aucun `cargo tree` n'est requis puisque les dépendances/features ne changent pas. + +### Desktop Snake release + +```bash +cargo build -p game-snake-poc-desktop --release +../builds/sasedev-games/target/release/game-snake-poc-desktop +``` + +Critères : démarrage, rendu, contrôles et arrêt propre. + +### Web/WASM release + +```bash +cargo build -p game-snake-poc-wasm --release --target wasm32-unknown-unknown + +wasm-bindgen \ + ../builds/sasedev-games/target/wasm32-unknown-unknown/release/game_snake_poc_wasm.wasm \ + --target web \ + --out-dir ../builds/sasedev-games/game-snake-poc-web/wasm \ + --out-name game_snake_poc_wasm + +(cd Web/game-snake-poc && npm install && npm run build && npm run preview) +``` + +Ouvrir `http://127.0.0.1:4174/main.html` et confirmer Canvas, inputs, SimpleBar, assets, provenance, resize, lifecycle et absence d'erreur runtime bloquante. + +## Après validation + +Si la gate RC est propre et qu'aucun correctif n'est nécessaire, la promotion vers `0.3.0` est mécanique : versions stables, entrée stable du `CHANGELOG.md`, historique RC et delta de release, sans nouveau scope. diff --git a/docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md b/docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md index e31e603..baa965c 100644 --- a/docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md +++ b/docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md @@ -1,5 +1,5 @@ - + # Plan v0.3.0 — baseline Snake et premier POC Web direct @@ -119,10 +119,16 @@ Suivi `2-beta.2.fix.1` : la gate mécanique de `2-beta.2` passe, mais la revue h Suivi `2-beta.2.fix.2` : la revue du prompt enrichi valide son niveau de contexte, mais précise la gouvernance des commandes afin d'éviter des validations trop larges ou répétitives. Le fix rend obligatoires `cargo fmt`, `cargo check --workspace` et Clippy workspace strict dès que Rust ou ses dépendances changent, garde les tests ciblés comme norme, réserve le test workspace complet à quelques jalons planifiés, limite `cargo tree` aux changements/diagnostics de dépendances, sélectionne les audits Python selon les fichiers touchés, impose les sous-shells pour les changements de répertoire et rappelle que Tauri possède Vite via `cargo tauri dev/build`. Ce correctif reste strictement documentaire et ne modifie aucune version technique. +Validation `2-beta.2.fix.2` : l'audit Markdown ciblé passe (`5` tables, `189` fichiers) et la revue utilisateur autorise l'ouverture de la RC. Aucune autre gate n'est attribuée à ce correctif strictement documentaire. + ### `3-rc.1` — candidate gelée Reproductibilité, validation finale de la candidate et derniers défauts strictement nécessaires à la publication. Le prompt suivant préparé pendant la consolidation est vérifié/complété si l'état RC apporte une information nouvelle. Aucun nouveau POC ni nouvelle capability. +Livraison candidate : passage des versions techniques au jalon `0.3.0-3-rc.1`, entrée RC du `CHANGELOG.md`, enregistrement de `2-beta.2.fix.2` dans `history/`, revue finale du prompt `0.3.1` et gel explicite du scope. Le prompt est jugé suffisamment complet et ne reçoit aucun changement sémantique supplémentaire dans cette tranche. + +Gate RC : appliquer intégralement `docs/testing/004-V0_3_0_RC_VALIDATION_MATRIX.md`. Le test workspace complet est volontairement exécuté à ce jalon final ; aucun `cargo tree` n'est requis en l'absence de changement de dépendances. + ### `0.3.0` — release stable Publication mécanique de l'état RC validé. diff --git a/history/0.3.0/2-beta.2.fix.2.md b/history/0.3.0/2-beta.2.fix.2.md new file mode 100644 index 0000000..7fcd94a --- /dev/null +++ b/history/0.3.0/2-beta.2.fix.2.md @@ -0,0 +1,35 @@ + + + +# Historique 0.3.0-2-beta.2.fix.2 + +## Statut + +Correctif documentaire validé par l'utilisateur le 2026-09-20. Le workflow de commandes et le prompt `0.3.1` sont acceptés ; la RC `0.3.0-3-rc.1` peut être ouverte. + +## Validation utilisateur + +La gate proportionnelle au scope strictement documentaire a été exécutée : + +```text +python3 scripts/audit_markdown_tables.py docs prompts deltas history +Markdown table audit: clean (5 table(s), 189 file(s)) +``` + +Aucune gate Cargo, npm, Gradle, Tauri, distribution ou smoke n'était applicable à ce correctif, qui ne modifiait ni code, ni dépendance, ni manifeste runtime/build. + +## Décision + +Les règles suivantes sont considérées consolidées pour la suite : + +```text +fmt/check/Clippy workspace lorsque Rust ou ses dépendances changent +tests Cargo ciblés par défaut +test workspace complet seulement aux jalons planifiés ou portées incertaines +cargo tree uniquement pour dépendances/features ou diagnostic explicite +audits Python sélectionnés selon les fichiers touchés +sous-shell obligatoire pour les commandes avec changement de répertoire +Tauri : npm pour dépendances, cargo tauri dev pour smoke, cargo tauri build pour packaging final +``` + +Le prompt `prompts/003-V0_3_1_START_PROMPT.md` est jugé suffisamment autonome pour la transmission.