chore(ideai): synchronise l'état de suivi (tickets, agents, skills, mémoire)
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>
This commit is contained in:
43
.ideai/memory/gametime-session-execution-timer-refactor.md
Normal file
43
.ideai/memory/gametime-session-execution-timer-refactor.md
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
name: gametime-session-execution-timer-refactor
|
||||
description: memory note gametime-session-execution-timer-refactor
|
||||
metadata:
|
||||
type: project
|
||||
---
|
||||
# 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érie` si la mesure temps est active ;
|
||||
- action primaire `Démarrer l'exercice` quand 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 `DateTime` UI 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êt` reste prêt et ne démarre pas automatiquement.
|
||||
- `Terminer la série` arrête/enregistre les chronos actifs.
|
||||
- `Passer la série` ignore 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.
|
||||
Reference in New Issue
Block a user