Files
GameTime/.ideai/memory/gametime-ux-score-chrono.md
Blomios c83906332d docs(ideai): met à jour la mémoire et les tickets après la préparation sync
Ajoute les notes mémoire sur l'architecture et l'UX du score
chronométré, clôture le ticket #12, ajoute le cadrage des tickets
#24 à #31.

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

3.4 KiB

name, description, metadata
name description metadata
gametime-ux-score-chrono memory note gametime-ux-score-chrono
type
project

GameTime — Score chronométré (ticket #18, UX 2026-07-18)

Décision structurante : le score chronométré est un MODE du Score existant (manual vs stopwatch), pas une 4e mesure. Le mental model Temps/Répétitions/Score reste inchangé.

Configuration exercice

Si "Score" activé → sous-choix "Mode de saisie" : "Saisie libre" (comportement actuel, label+unité) ou "Chrono intégré" (label par défaut "Temps réalisé", pas d'unité libre, unité implicite "temps"). Badge résumé : "Score chrono" au lieu de "Score" pour ce mode.

Configuration programme (personnaliser l'exercice)

Si mesure = Score chrono : champ "Objectif de chrono" optionnel (aide : "Le résultat réel sera mesuré pendant la série."), pas de "cible score" classique.

Exécution de séance

Bloc dédié "Chrono score" avec affichage mm:ss.d et boutons Démarrer/Arrêter/Reprendre/Réinitialiser. Comportements clés :

  • "Terminer la série" avec chrono non démarré → confirmation "Aucun temps chronométré / Tu n'as pas démarré le chrono score." avec actions "Démarrer le chrono" / "Terminer sans chrono".
  • "Terminer la série" avec chrono en cours → arrête automatiquement et enregistre (comportement le plus utile en usage réel).
  • "Passer" pendant que le chrono tourne → confirmation "Le chrono en cours sera ignoré."
  • Pause de séance → le chrono score se met en pause avec la séance (jamais actif pendant une pause), reprise affiche "Reprendre le chrono".
  • Action secondaire "Modifier le temps" pour corriger manuellement (champ min/s/dixièmes), disponible aussi dans la bottom sheet "Modifier la série" de la refonte de navigation (#23).
  • Persistance robuste si app fermée pendant que le chrono tourne : horodatage de départ + accumulé, pas un simple compteur mémoire (cohérent avec le reste de l'app).

Cumul avec les autres mesures

  • Avec Répétitions : oui, cas d'usage principal (ex: "10 suicides · chrono score").
  • Avec Score libre : non — un seul mode de score actif à la fois, pas les deux simultanément.
  • Avec Temps (objectif) : possible mais avertissement explicite affiché en configuration si les deux sont actifs ensemble ("Temps sert d'objectif de durée ; Score chrono enregistre le temps réalisé.").

Cas limites

  • Oubli de démarrer + "Terminer sans chrono" → série Terminée si reps/temps renseignés sinon Passée.
  • Réinitialiser le chrono après arrêt avec valeur → confirmation ("Le temps mesuré sera supprimé.").
  • Libellés utilisateur : jamais "Score (s)", toujours "Score chrono" dans les listes/badges et "Temps réalisé" dans le détail historique.

Découpage proposé par UX

  1. Domain · mode de score (enum ScoreInputMode manual/stopwatch, propagation dans tous les snapshots).
  2. Exercices/Programmes · configuration Score chrono (choix du mode, objectif de chrono).
  3. Exécution · chrono score intégré (démarrer/arrêter/reprendre/réinitialiser, auto-stop, confirmations).
  4. Historique/Plan · affichage Score chrono (résumé, détail, édition ponctuelle avec durée manuelle).

Stockage recommandé par UX (à confirmer par Architect) : champ dédié actualScoreTimeMs plutôt que réutiliser actualScore en secondes — évite d'ambiguïser une durée avec un score numérique libre, facilite l'affichage mm:ss.d.