0.3.0-0-pre.1-fix.1
This commit is contained in:
99
docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md
Normal file
99
docs/plans/001-V0_3_0_WEB_SNAKE_POC_PLAN.md
Normal 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`.
|
||||
Reference in New Issue
Block a user