Rattrapage de l'état runtime IdeA (nouveaux tickets #80-#91, agents coach/commercial, skills, permissions MCP) resté non commité depuis la clôture du ticket #79. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.2 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| gametime-session-execution-timer-refactor | memory note gametime-session-execution-timer-refactor |
|
GameTime — Refonte exécution séance et logique chronos
Décision UX/architecture issue de la demande utilisateur du 2026-07-20.
Principe d'affichage
L'écran d'exécution de séance doit organiser les informations autour d'une carte Exercice actif, placée sous le compteur SÉRIE X / Y.
Cette carte regroupe :
- nom de l'exercice ;
- accès médias ;
Temps de sériesi la mesure temps est active ;- action primaire
Démarrer l'exercicequand un chrono doit démarrer au début de la série.
Le temps de série ne doit plus être une information isolée en bas de l'écran.
Principe de démarrage
Démarrer l'exercice est le point de départ global. Il lance tous les chronos qui commencent logiquement au début de la série :
- timer de série si
timeEnabled; - chrono de la première étape si cette première étape est de type temps ;
- chrono score de série si
scoreInputMode == stopwatch.
L'objectif est de minimiser les actions pendant l'effort, notamment quand l'utilisateur n'a pas le téléphone près de lui.
États et invariants
- Le timer de série est un état persistant dédié, pas un simple
DateTimeUI volatile. - Pause séance suspend tous les chronos running : série, score chrono, étape, score chrono étape si présent, repos.
- Reprise restaure l'état exact ; un état
Chrono suivant prêtreste prêt et ne démarre pas automatiquement. Terminer la sériearrête/enregistre les chronos actifs.Passer la sérieignore les chronos et confirme si un chrono ou une séquence est en cours.- Le repos démarre seulement après terminer/passer la série et doit être pause-aware (
pausedAt+accumulatedPausedMs).
Implémentation locale
Une implémentation a été réalisée sans commit : domaine/application/persistance, écran Flutter et tests ciblés. QA a validé les vérifications exécutables dans le sandbox (git diff --check, dart analyze exit 0). Les commandes flutter analyze et flutter test restent à relancer dans un environnement où le SDK Flutter peut écrire dans son cache.