Une adresse pour chaque écran, et un lien pour chaque position (0e.4) #43
@@ -2,7 +2,7 @@
|
||||
|
||||
- **Date** : 2026-11-03
|
||||
- **Étape** : 0e.4 (feuille de route)
|
||||
- **Statut** : prévu
|
||||
- **Statut** : fait (branche adresses-ecrans)
|
||||
- **Exécutant** : sous-agent general-purpose, dans un worktree
|
||||
|
||||
## Objectif
|
||||
@@ -47,4 +47,37 @@ position ; les trois commandes passent.
|
||||
|
||||
## Résultat
|
||||
|
||||
À remplir à la clôture.
|
||||
Fait, sur la branche `adresses-ecrans` (2026-11-03 au 2026-11-09).
|
||||
|
||||
0. **Routeur** : `app/src/ui/router.ts` (pur, testé par
|
||||
`app/tests/router.test.ts`) traduit le fragment en écran et inversement ;
|
||||
`app/src/ui/navigation.ts` écoute `hashchange` et garde dans
|
||||
`history.state` la suite des adresses de l'onglet, pour que « Retour »,
|
||||
Échap et la croix d'une feuille reviennent dans l'historique au lieu d'y
|
||||
empiler la partie. Aide, ses questions (`#/aide/<identifiant>`, tiré du
|
||||
titre du scénario), glossaire et ses termes, à propos, menu, mes parties
|
||||
et chaque partie sont des liens `<a href>` ; les actions de jeu restent
|
||||
des boutons. Les liens du menu remplacent son adresse : le retour du
|
||||
téléphone ferme la feuille sans la rouvrir. Accueil et tutoriel : routes
|
||||
seules, la partie s'affiche avec « Cet écran n'existe pas encore ».
|
||||
1. `#/position/<Position ID>/<Match ID>` : lu par le routeur (adresse
|
||||
encodée ou collée telle quelle), validé par le moteur (`readPosition`) ;
|
||||
lien illisible : « Lien illisible » et « Retour à ma partie ».
|
||||
2. Vue de la position, non jouable, avec « Jouer à partir d'ici » et
|
||||
« Retour à ma partie » (un lien).
|
||||
3. Domaine : `setupOf` donne la partie à jouer depuis une position ; la
|
||||
partie en cours reste reprenable dans « Mes parties ».
|
||||
4. « Copier le lien de la position » : menu de la partie, vue du coup de
|
||||
l'ordinateur, vue d'une position.
|
||||
5. Scénarios « Partager la position », « Ouvrir un lien vers une
|
||||
position », « Ouvrir un lien abîmé » ; fiche « Lien de position ».
|
||||
6. `make test-browser` (étape « adresses ») : les 16 adresses du tableau
|
||||
ouvertes dans un nouvel onglet ; retour du navigateur (question, onglet,
|
||||
menu, mes parties) ; Échap ; rôle `link` ; aller-retour d'un lien de
|
||||
position (le lien recopié depuis la vue est identique), retour à la
|
||||
partie, partie jouée depuis la position. Captures 412×915 et 915×412
|
||||
dans `build/browser-shots/adresses/`.
|
||||
|
||||
En chemin : une vibration de fin de partie remplacée par celle d'une prise
|
||||
pendant l'animation du dernier coup (corrigé) ; le test du coup enregistré
|
||||
laisse 10 s à IndexedDB (disque dur lent sous Firefox).
|
||||
|
||||
Reference in New Issue
Block a user