Files
GameTime/.ideai/tickets/140/carnet.md
Blomios 917777e18b chore(wip): consolidation intermédiaire multi-tickets (sprints Statistiques, UI, Bug resolution, Serveur-client)
Regroupe l'état de travail en cours réalisé dans un même worktree sur
plusieurs tickets/sprints (#85, #136, #145, #155-160, #162-164),
mélangeant des tickets QA et inProgress. Ne constitue pas une feature
terminée : commit de sauvegarde avant triage/split par ticket en
branches feature/* dédiées. Exclut les dossiers d'environnement de
build locaux et le heap dump parasite (.gitignore mis à jour).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-28 16:48:54 +02:00

1.9 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#140 5
kind
user
1785160464016

Cadrage UX (agent UX, 2026-07-27)

Nature : gap fonctionnel réel côté montre (vérifié dans le code), prêt à implémenter avec une décision de layout.

Constat technique : watch_session_view_model.dart/watch_session_screen.dart — quand projection.hasManualScore est vrai, _ActiveContent bascule exclusivement sur _ManualScoreContent (score +/-) et n'affiche plus jamais le chrono ni le bouton pause/play, même si l'étape en a un. C'est le bug exact décrit par le ticket.

Décision UX : le score reste la donnée dominante de l'écran (l'action principale sur la montre est +/-). Le chrono devient une donnée secondaire compacte, affichée sous le nom d'exercice — même emplacement/style que secondaryTimers déjà utilisé côté purement-chrono (réutiliser _compactTimerText), aujourd'hui invisible dans _ManualScoreContent.

Layout _ManualScoreContent :

[objectif score, si présent]
SCORE
[-]   12   [+]
ÉTAPE · 00:07        ← nouvelle ligne compacte
Nom exercice
[status]

Contrôle du chrono : uniquement si ce chrono est piloté manuellement par l'utilisateur (cas "chrono score d'étape" sur étape à répétitions, cf. gametime-ux-score-chrono) — ajouter un petit bouton pause/play à côté de la ligne, en réutilisant _TimerToggleButton réduit (≈32 au lieu de 48, peu de place sur la montre), pas un nouveau composant. Si le chrono est un simple compte à rebours automatique d'étape "Temps" (avance seule, cf. enchaînement gametime-ux-step-chaining-override), ne pas ajouter de bouton — afficher la valeur seule, cohérent avec l'avancement automatique.

Bridge : vérifier avec Architect si dominantTimer/secondaryTimers projettent déjà cette donnée quand hasManualScore est vrai ; si non, ajouter la projection manquante — pas de nouveau concept de commande nécessaire.