Ajoute la note mémoire UX sur les valeurs par défaut d'exercice, clôture les tickets #39/#40 et le parent #30. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
name, description, metadata
| name | description | metadata | ||
|---|---|---|---|---|
| gametime-ux-exercise-default-targets | memory note gametime-ux-exercise-default-targets |
|
GameTime — Valeurs cibles par défaut à la création d'exercice (ticket #30, UX 2026-07-18)
Décision : ajouter les valeurs cibles par défaut au niveau Exercice, obligatoires pour les mesures activées (sauf Score chrono, optionnel).
Formulaire exercice
- Temps activé → champ "Temps par défaut (s)", obligatoire, validation "Saisis un temps supérieur à 0."
- Répétitions activé → champ "Répétitions par défaut", obligatoire, validation "Saisis un nombre de répétitions supérieur à 0."
- Score activé + mode Saisie libre → nouveau champ "Score par défaut" en plus de "Score à saisir"/"Unité", validation "Saisis un score supérieur à 0."
- Score activé + mode Chrono intégré → PAS de "Score par défaut" ; à la place "Objectif de chrono par défaut (optionnel)", validation seulement si rempli ("Saisis un objectif supérieur à 0.").
- Mesure désactivée → son champ disparaît, pas de validation dessus. Réactivée → champ revient, doit être rempli avant sauvegarde.
Champs domaine à ajouter sur Exercise
defaultTargetTimeSeconds(obligatoire si hasTimeMeasure)defaultTargetReps(obligatoire si hasRepsMeasure)defaultTargetScore(obligatoire si hasScoreMeasure et scoreInputMode manual)defaultTargetScoreTimeMs(optionnel, seulement si scoreInputMode stopwatch)
Contrainte : valeur obligatoire toujours > 0 ; optionnelle (score chrono) mais si présente > 0.
Utilisation dans programme
Quand un exercice est ajouté à un programme (ticket #20), les cibles sont préremplies depuis les valeurs par défaut de l'exercice au lieu des valeurs génériques actuelles :
- targetTimeSeconds ← defaultTargetTimeSeconds
- targetReps ← defaultTargetReps
- targetScore ← defaultTargetScore (score libre)
- targetScoreTimeMs ← defaultTargetScoreTimeMs si présent (score chrono) Tout reste modifiable ensuite dans "Personnaliser l'exercice".
Migration
Exercices existants sans valeurs par défaut : l'utilisateur devra compléter les champs manquants au prochain enregistrement de l'exercice (pas de blocage rétroactif immédiat, mais validation bloquante dès la prochaine sauvegarde).