ADR 0007 et 0013 amendés : analyse de partie dans le journal, adresses du bilan et de l'analyse
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
2c5ae08f46
commit
4d6f8cfc2e
@@ -150,3 +150,37 @@ relira sans recalcul.
|
||||
conseils ; un conseil reste attaché à son événement, même hors de la
|
||||
branche courante.
|
||||
- Le schéma IndexedDB ne change pas : le journal est enregistré tel quel.
|
||||
|
||||
### 2026-11-10 — L'analyse de partie rattachée au journal
|
||||
|
||||
Avec le bilan de fin de partie et l'écran d'analyse (étape 1e), le journal
|
||||
d'une partie (`GameJournal`) gagne un second champ facultatif, `review`
|
||||
(`GameReview`, `app/src/domain/game/review.ts`) : le reste de l'analyse
|
||||
de la partie par le moteur, à côté des conseils du maître (`advice`) :
|
||||
|
||||
- `luck` : la chance de chaque jet (`DiceRolled`, jet d'ouverture compris)
|
||||
pour le camp qui le joue ;
|
||||
- `winChances` : les chances de gagner du joueur après chaque coup
|
||||
(`MovePlayed`), de 0 à 1 ;
|
||||
- `computer` : les décisions de l'ordinateur, analysées comme celles du
|
||||
joueur (même format que les conseils) ;
|
||||
- `unanalysed` : les décisions que le moteur n'analyse pas (videau
|
||||
inaccessible, position de départ), pour ne plus les redemander ;
|
||||
- `version` (`REVIEW_VERSION`, 1) et `ply`, le niveau des analyses (2).
|
||||
|
||||
Comme les conseils, ce n'est pas un événement : les événements gardent leur
|
||||
version (2). Les analyses qui manquent (dont tous les conseils d'une partie
|
||||
jouée avant l'étape 1d) sont calculées en arrière-plan sur le second moteur,
|
||||
une à une, rangées au fur et à mesure, et l'ensemble s'arrête quand on n'en
|
||||
a plus besoin (`app/src/ui/review-runner.ts`).
|
||||
|
||||
- À la reprise (`migrateJournal`), une analyse d'une autre version ou mal
|
||||
formée est oubliée ; ses entrées rattachées à un événement absent aussi.
|
||||
Un journal enregistré avant l'étape 1e n'a pas de champ `review` et se
|
||||
reprend tel quel. Testé dans `app/tests/game-analysis.test.ts`.
|
||||
- Une analyse faite en arrière-plan sur une copie du journal s'y range
|
||||
sans toucher aux conseils déjà là (`withAnalysesOf`).
|
||||
- Le schéma IndexedDB ne change pas : le journal est enregistré tel quel.
|
||||
La bibliothèque gagne `saveAnalyses`, qui enregistre le journal analysé
|
||||
d'une partie sans en faire la partie en cours ni changer la date de sa
|
||||
dernière action (l'ordre de « Mes parties »).
|
||||
|
||||
@@ -130,3 +130,32 @@ conseil est enregistré dans le journal (ADR 0007, amendement du
|
||||
2026-11-10). Un événement sans conseil donne un message, jamais une page
|
||||
cassée. L'adresse n'a de sens que sur l'appareil qui a joué la partie : ce
|
||||
n'est pas un lien à partager (le lien de la position, lui, se partage).
|
||||
|
||||
### 2026-11-10 — Adresses du bilan et de l'analyse d'une partie
|
||||
|
||||
Ajoutées avec le bilan de fin de partie et l'écran d'analyse (étape 1e),
|
||||
dans le même schéma, sous l'adresse de la partie dans « Mes parties » :
|
||||
|
||||
| Écran | Adresse |
|
||||
| --- | --- |
|
||||
| Bilan de fin de partie | `#/parties/<id>/bilan` |
|
||||
| Analyse d'une partie, placée sur un coup | `#/parties/<id>/analyse/<coup>` |
|
||||
| Analyse d'une partie, sur le coup à revoir | `#/parties/<id>/analyse` |
|
||||
|
||||
`<id>` est l'identifiant de la partie enregistrée ; `<coup>` le numéro d'un
|
||||
tour de la partie (ce qu'un camp a fait quand il avait la main : doubler ou
|
||||
non, lancer, jouer), à partir de 1, sur sa ligne courante.
|
||||
|
||||
- Le bilan remplace le panneau de fin de partie dès que l'analyse est
|
||||
prête : l'adresse de la partie (`#/`) est alors remplacée par celle du
|
||||
bilan, sans rien empiler. Il monte au-dessus de la partie, comme une
|
||||
feuille ; le fermer (croix, retour du téléphone) laisse voir la partie
|
||||
finie, sans le panneau. « Mes parties » donne le bilan de chaque partie
|
||||
finie.
|
||||
- L'analyse est une page. Choisir un autre coup (courbe, flèches, liste)
|
||||
remplace l'adresse : le retour du téléphone quitte l'écran au lieu de
|
||||
repasser par chaque coup. « Rejouer d'ici » ramène à la partie (`#/`),
|
||||
reprise juste avant la décision du coup.
|
||||
- Comme la feuille d'explication, ces adresses n'ont de sens que sur
|
||||
l'appareil qui a joué la partie. Une partie absente donne un message,
|
||||
jamais une page cassée.
|
||||
|
||||
Reference in New Issue
Block a user