0.3.0-0-pre.1-fix.1

This commit is contained in:
2026-09-20 06:28:37 +02:00
parent 54079accb5
commit d16648c34c
12 changed files with 230 additions and 18 deletions

14
docs/plans/000-README.md Normal file
View File

@@ -0,0 +1,14 @@
<!-- file: docs/plans/000-README.md -->
<!-- version: 1 -->
# Plans de versions games.sasedev
Ce répertoire contient les plans vivants des versions concrètes.
Un plan est créé ou révisé pendant `0-pre.1`. Il conserve le scope, les décisions utiles, les validations et surtout le découpage prévisionnel souple des tranches jusqu'à la release. Il peut évoluer lorsque les audits ou validations imposent de scinder, fusionner, reporter ou corriger une tranche.
Le `ROADMAP.md` reste la trajectoire macroscopique du projet ; les deltas décrivent ce qui a réellement été livré. Le plan se situe entre les deux et sert au suivi de la version en cours.
## Plans
- [`001-V0_3_0_WEB_SNAKE_POC_PLAN.md`](001-V0_3_0_WEB_SNAKE_POC_PLAN.md) — plan actif de `0.3.0`, baseline Snake et premier POC Web direct.

View File

@@ -0,0 +1,99 @@
<!-- file: docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md -->
<!-- version: 1 -->
# Plan v0.3.0 — baseline Snake et premier POC Web direct
## But de la version
`0.3.0` ouvre la série de POC `0.3.x`. La version doit rendre Snake suffisamment portable pour servir de jeu-sonde et valider un premier host de bout en bout : le navigateur Web direct.
La version doit rester assez petite pour être fermée dans la session qui l'ouvre. Si une tranche devient trop lourde, elle est scindée ; si le scope global ne tient plus, la partie non indispensable est reportée à une version suivante.
## Base et décisions acquises
Base stable : `0.2.0`.
Décisions issues du cadrage `0-pre.1` :
- Snake reste le jeu-sonde principal ;
- le premier host de `0.3.0` est Web navigateur direct ;
- Tauri Android est reporté à `0.3.1` ;
- le gameplay reste dans `game-snake-poc` ;
- le chemin Web utilise Cargo, `wasm-bindgen` et Vite/TypeScript, sans orchestrateur Python ;
- aucune abstraction n'est extraite avant qu'un besoin partagé réel soit observé.
## Scope
La version couvre :
- nettoyage de la baseline Snake et de ses dépendances de plateforme ;
- adaptation WASM dédiée à Snake ;
- frontend Web minimal avec clavier et contrôles directionnels tactiles ;
- resize/lifecycle adaptés au navigateur ;
- branchement des assets, du logging et de la provenance runtime nécessaires au POC ;
- maintien du runner Desktop SDL3 comme témoin de non-régression ;
- documentation des duplications observées et des extractions réellement justifiées.
Hors périmètre : Tauri Android/Desktop Snake, Android natif multi-ABI, réseau realtime, WebTransport/QUIC, Uroburas, ads, billing, auth, leaderboard et nouveau moteur.
## Prévision souple
Les numéros ci-dessous sont des repères de progression, pas un contrat rigide. Une découverte peut insérer un fix, scinder une tranche ou décaler les numéros suivants sans forcer la fermeture.
### `0-pre.1` — cadrage
Audit de la baseline, requirements, choix du host Web, sizing et validations prévues. Le présent plan manquant à la livraison initiale est ajouté par `0-pre.1.fix.1`.
### `0-pre.1.fix.1` — plan et règles de suivi
Créer `docs/plans/`, formaliser le caractère vivant du plan, corriger le contrat des archives taggées et rendre explicite qu'une session est planifiée pour fermer au minimum la version concrète ouverte.
### `0-pre.2` — baseline Snake portable
Nettoyer les dépendances inutiles/spécifiques au launcher, stabiliser la frontière gameplay/input et confirmer les tests Snake ainsi que le runner Desktop SDL3.
Gate : audits statiques, tests ciblés des crates touchées et smoke Desktop si le runtime SDL est modifié.
### `0-pre.3` — adaptation Snake WASM
Introduire la crate/adaptation WASM minimale de Snake et le chemin de génération `wasm-bindgen`, sans frontend riche ni généralisation prématurée.
Gate : compilation ciblée WASM et tests Rust applicables. Si cette tranche dépasse le budget normal, séparer bridge et build en deux prereleases.
### `0-pre.4` — frontend Web/Vite et contrôles
Créer le frontend Vite/TypeScript minimal, brancher clavier et boutons directionnels tactiles, puis afficher et piloter Snake dans le navigateur.
Gate : build Web par le chemin natif prévu et smoke navigateur.
### `0-pre.5` — intégration plateforme complète
Fermer resize/lifecycle, assets, logging et provenance runtime du POC ; vérifier que Desktop SDL reste intact.
Gate : tests ciblés, build Web et smoke navigateur couvrant les requirements de `0.3.0`.
### `0-pre.6` — correction/extraction seulement si prouvée
Tranche conditionnelle. Elle n'existe que si les POC précédents révèlent une duplication réelle, une frontière mal placée ou un défaut nécessitant une correction structurante avant stabilisation. Sinon elle est omise.
### `2-beta.1` — validation large
Scope feature-complete. Exécuter les gates workspace applicables, les tests ciblés et les validations Web/Desktop prévues. Aucun nouveau scope.
### `3-rc.1` — candidate gelée
Reproductibilité, documentation de livraison et derniers défauts strictement nécessaires à la publication. Aucun nouveau POC ni nouvelle capability.
### `0.3.0` — release stable
Publication mécanique de l'état RC validé.
## Suivi et ajustements
Le plan est révisé lorsqu'un résultat réel modifie la trajectoire. Un changement de numérotation n'est pas un problème ; une responsabilité importante ne doit en revanche pas être comprimée artificiellement pour respecter le forecast initial.
La session ne doit pas être planifiée pour s'arrêter à `pre.2`, `pre.4` ou beta : ces identifiants sont des tranches de la même version. Si `0.3.0` devient trop grande, le scope non indispensable est déplacé vers `0.3.1+` afin de préserver une version complète par session.
## Version suivante envisagée
`0.3.1` reste le candidat pour le second host Snake, Tauri Android, en réutilisant la baseline Web/WASM réellement validée par `0.3.0`.