From d26033b7bbdea2eba449140af52a13dae98a5edd Mon Sep 17 00:00:00 2001 From: Pierre MARTIN Date: Mon, 9 Nov 2026 14:40:16 +0100 Subject: [PATCH] =?UTF-8?q?Plan=200e.4=20:=20r=C3=A9sultat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- .../2026-11-03-position-dans-l-adresse.md | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/docs/plans/2026-11-03-position-dans-l-adresse.md b/docs/plans/2026-11-03-position-dans-l-adresse.md index 53e7431..0fbfe0c 100644 --- a/docs/plans/2026-11-03-position-dans-l-adresse.md +++ b/docs/plans/2026-11-03-position-dans-l-adresse.md @@ -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/`, tiré du + titre du scénario), glossaire et ses termes, à propos, menu, mes parties + et chaque partie sont des liens `` ; 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//` : 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).