0.3.0-3-rc.1
This commit is contained in:
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,8 +1,19 @@
|
|||||||
<!-- file: CHANGELOG.md -->
|
<!-- file: CHANGELOG.md -->
|
||||||
<!-- version: 12 -->
|
<!-- version: 13 -->
|
||||||
|
|
||||||
# Changelog
|
# 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
|
## 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.
|
- Gouvernance documentaire renforcée : catégories `ideas/studies/architecture/rules`, immutabilité des deltas, conventions de statuts et workflow de session/version.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# file: Cargo.toml
|
# file: Cargo.toml
|
||||||
# version: 68
|
# version: 69
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
resolver = "3"
|
resolver = "3"
|
||||||
@@ -20,7 +20,7 @@ members = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.3.0-2-beta.2"
|
version = "0.3.0-3-rc.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: 38 -->
|
<!-- version: 39 -->
|
||||||
|
|
||||||
# games.sasedev
|
# 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 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.
|
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,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "game-snake-poc-web",
|
"name": "game-snake-poc-web",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.3.0-2-beta.2",
|
"version": "0.3.0-3-rc.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
88
deltas/0.3.0/3-rc.1.md
Normal file
88
deltas/0.3.0/3-rc.1.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<!-- file: deltas/0.3.0/3-rc.1.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# 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.
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<!-- file: docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md -->
|
<!-- file: docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md -->
|
||||||
<!-- version: 15 -->
|
<!-- version: 16 -->
|
||||||
|
|
||||||
# Plan v0.3.0 — baseline Snake et premier POC Web direct
|
# 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.
|
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
|
### `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.
|
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
|
### `0.3.0` — release stable
|
||||||
|
|
||||||
Publication mécanique de l'état RC validé.
|
Publication mécanique de l'état RC validé.
|
||||||
|
|||||||
35
history/0.3.0/2-beta.2.fix.2.md
Normal file
35
history/0.3.0/2-beta.2.fix.2.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
<!-- file: history/0.3.0/2-beta.2.fix.2.md -->
|
||||||
|
<!-- version: 1 -->
|
||||||
|
|
||||||
|
# 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.
|
||||||
Reference in New Issue
Block a user