Files
GameTime/.ideai/memory/gametime-ux-exercise-default-targets.md
Blomios 552072ec3d docs(ideai): met à jour la mémoire et les tickets après les valeurs par défaut d'exercice
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>
2026-07-18 10:18:39 +02:00

35 lines
2.3 KiB
Markdown

---
name: gametime-ux-exercise-default-targets
description: memory note gametime-ux-exercise-default-targets
metadata:
type: project
---
# 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).