Met à jour les métadonnées IdeA (statut closed, carnets de suivi) suite à la livraison et au merge sur develop du code des tickets #80 (bibliothèque de drills basket de démarrage) et #81 (dernière performance / meilleur score à l'exécution). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -1,18 +1,23 @@
|
||||
---
|
||||
issueRef: "#81"
|
||||
version: 3
|
||||
version: 5
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedAt: 1784665481490
|
||||
updatedAt: 1784700197992
|
||||
---
|
||||
## Spec UX (livrée)
|
||||
## Lot backend — TERMINÉ, commité (ac51c16) sur feature/derniere-performance-execution
|
||||
|
||||
Bloc compact "Références" dans l'écran d'exécution (workout_execution_screen.dart), sous le nom de l'exercice, avant la séquence d'étapes/champs de résultat. Deux infos max : "Dernière" (résultat de la même série que l'historique le plus récent, fallback dernière série dispo) et "Record" (meilleure valeur toutes séances confondues, règle de meilleur selon type de mesure : score manuel/reps = max, score chrono = min, temps = max). États : loading, avec dernière+record, dernière seule, record seul, vide sans historique ("Première fois sur cet exercice"), vide sans mesure pertinente, erreur (non bloquant). Pour exercices à étapes : reste au niveau série dans le bloc principal, détail par étape optionnel (bottom sheet), non bloquant pour le ticket.
|
||||
Migration Drift v17 (sourceExerciseIdSnapshot + backfill), port ExercisePerformanceReferenceRepository, use case ExercisePerformanceReferenceUseCase.getExercisePerformanceReference. Priorité record : score > reps > time.
|
||||
|
||||
Exigences techniques :
|
||||
- Use case `getExercisePerformanceReference(exerciseId, activeMeasures, currentSetIndex)` retournant `ExercisePerformanceReference { last, record, hasAnyHistoryForExercise }`
|
||||
- Matching par identité stable de l'exercice source (pas par nom sauf fallback validé Architect), historiques d'exercices archivés restent exploitables
|
||||
- Ignorer séries skipped/valeurs nulles, ne lire que historiques terminés (pas séance active)
|
||||
- Chargement non bloquant, skeleton/"Chargement…", erreur non bloquante "Références indisponibles"
|
||||
- Composant DevFrontend réutilisable `PerformanceReferenceCard` avec formatage temps/score selon règles UX
|
||||
## Lot frontend — TERMINÉ
|
||||
|
||||
Prochaine étape : Architect cadre l'implémentation technique (requêtes historique, ports/use case, découpage Dev).
|
||||
Fichiers : workout_execution_screen.dart (composant PerformanceReferenceCard, appel use case, états UX, formatage), home_screen.dart / workout_template_screen.dart / history_screen.dart (propagation du use case depuis le bootstrap jusqu'aux points de lancement d'une séance).
|
||||
|
||||
Écart assumé : détail par étape (bottom sheet) non implémenté (optionnel, hors MVP). Unité affichée pour score manuel vient du snapshot courant plutôt que d'une unité historique dédiée (le DTO backend ne l'expose pas) — acceptable, cohérent avec la spec qui n'exigeait pas de tracking d'unité historique séparée.
|
||||
|
||||
## Vérification finale (Main)
|
||||
|
||||
- `dart analyze` sur tous les fichiers backend+frontend : aucune erreur, seulement lints/infos préexistants (dont les warnings BuildContext async confirmés hors du diff #81).
|
||||
- `flutter test` (suite complète, 178 tests) : 4 échecs, identiques et déjà confirmés préexistants sans rapport (mêmes 4 que sur #80).
|
||||
- Aucune régression introduite par #81.
|
||||
|
||||
**Verdict final : GO. Prêt à committer/merger/clôturer.**
|
||||
@ -2,7 +2,7 @@
|
||||
id: "3d94d624-86a2-4f92-8766-2e5d06815f40"
|
||||
number: 81
|
||||
title: "Afficher la dernière performance / meilleur score pendant l'exécution"
|
||||
status: "inProgress"
|
||||
status: "closed"
|
||||
priority: "high"
|
||||
sprint: null
|
||||
links: []
|
||||
@ -10,8 +10,8 @@ agentRefs: []
|
||||
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
createdAt: 1784650712105
|
||||
updatedAt: 1784665481490
|
||||
version: 3
|
||||
updatedAt: 1784700197992
|
||||
version: 5
|
||||
---
|
||||
Constat Commercial : les trackers de référence (Hevy, Strong) motivent l'utilisateur en montrant la dernière série ou le record pendant qu'il saisit sa performance en cours. GameTime ne l'affiche pas encore pendant l'exécution.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user