Plan 1d : résultat

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-10 05:12:43 +01:00
co-authored by Claude Opus 5.5
parent 9ada35e46d
commit 3ae1f23938
+49 -1
View File
@@ -61,4 +61,52 @@ le tour de l'ordinateur n'est pas retardé ; les trois commandes passent.
## Résultat
À remplir à la clôture.
Réalisé le 2026-11-10 sur la branche `conseil-du-maitre` (partie de 1c
fusionnée, corrections de recette C1 à C3 comprises).
- **Analyse sans retard** : un second moteur, dans son propre Web Worker
(`app/src/main.ts`), fait les analyses à 2 plis ; le premier, qui ne
traite qu'une commande à la fois, reste à la partie. Le second démarre à
la première analyse, une fois le premier chargé et le service worker
installé (au plus 20 s), pour ne pas croiser deux téléchargements des
données du moteur. Les décisions analysées : coup, jet sans doubler
(aurait-il fallu doubler ?), double, prise, refus
(`app/src/domain/analysis/analyse.ts`). Le domaine a une méthode de plus
dans `Engine` : `rankMoves` (commande `moves` d'engine-cli, déjà
existante : le moteur n'est pas recompilé).
- **Persistance** : le conseil est rattaché à l'événement de la décision,
dans un champ facultatif `advice` du journal, versionné
(`ADVICE_VERSION`) ; migration testée (journal sans conseil, conseil
d'une autre version ou orphelin). ADR 0007 amendé.
- **Ligne du maître** (portrait) : à la place du texte du dernier coup,
dans la ligne de 44 px ; pictogramme et mot en couleur, phrase en
italique tronquée, chevron ; lien vers la feuille. Rien avant le coup ;
effacée à l'action suivante ; analyse trop tardive : pas de ligne, mais
le conseil reste au journal. Un double manqué avant le jet passe avant le
coup dans la ligne (le jet seul ne montre rien, le joueur réfléchit).
- **Paysage** : la charte ne place pas la ligne ; choix proposé : une
pastille (pictogramme et mot) au début de la bande centrale, avant la
consigne, lien vers la même feuille. À valider en recette design.
- **Feuille d'explication** : `#/explication/<événement>` (ADR 0013 amendé),
rechargeable ; mot et contexte, titre à la première personne, phrase,
« Votre coup » / « Le coup du maître » joués pion par pion (le maître en
`verdict-good`), « Voir les chiffres du moteur » replié, lien vers la
fiche du glossaire pour le videau seulement (le moteur ne nomme pas de
concept pour un coup). « Demander à une IA » attend 1f.
- **Phrases** : `docs/maitre/phrases.md` (CC BY-SA 4.0), lues à
l'exécution ; test de longueur, d'absence de « ! » et de repère non
rempli sur de vraies analyses, et sur tous les gabarits remplis au plus
long. À relire par la session « identité » puis par Pierre.
- **Réglage** : interrupteur « Conseil du maître » dans le menu, en plus de
l'écran « Nouvelle partie » ; coupé, la ligne reste vide et les coups
restent analysés pour le bilan.
- **Tests** : `app/tests/advice.test.ts`, `app/tests/advice-tracker.test.ts`
(dont le tour de l'ordinateur joué pendant qu'une analyse attend),
scénario `docs/scenarios/comprendre-mes-coups.feature`, et
`tests/browser/maitre.mjs` (captures dans `build/browser-shots/maitre/`).
Écarts et points à trancher : en portrait, la ligne du maître remplace le
texte « L'ordinateur a joué … » tant qu'elle est là (les traces et
« Revoir » restent) ; la pastille du paysage ne montre pas la phrase ; le
mot du videau est « Bonne décision » dans tous les cas (la charte cite
aussi « Bon choix »).