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>
16 lines
1.3 KiB
Markdown
16 lines
1.3 KiB
Markdown
---
|
|
id: "da78f1df-ff9b-4745-b108-b312eec9efe7"
|
|
number: 25
|
|
title: "[DevBackend] Domain et migration pour le score chronométré"
|
|
status: "open"
|
|
priority: "high"
|
|
sprint: null
|
|
links: [{"target":"#18","kind":"relatesTo"}]
|
|
agentRefs: [{"agentId":"10ee045b-1c41-479e-ba03-dceed9edd495","role":"assigned"}]
|
|
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
|
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
|
createdAt: 1784328239814
|
|
updatedAt: 1784328239814
|
|
version: 1
|
|
---
|
|
Fondation du ticket #18 (score chronométré). Ajouter ScoreInputMode (manual|stopwatch) sur Exercise avec propagation snapshot pattern (ProgramExercise, snapshot de séance, ActiveSetResult, WorkoutHistorySetResult). Ajouter actualScoreTimeMs/targetScoreTimeMs/targetScoreTimeMsOverride distincts de actualScore/targetScore/targetScoreOverride. Nouvelle table Drift ActiveScoreStopwatchState (status running|stopped, startedAt, accumulatedMs, stoppedAt, clé programIndex/exerciseIndex/setIndex). Migration Drift schemaVersion 2 -> 3. Use cases : démarrer/arrêter/reprendre/réinitialiser le chrono d'une série, copie de la durée finale vers ActiveSetResult à la validation. Cf. mémoires "gametime-ux-score-chrono" et "gametime-architecture-score-chrono" pour le détail complet. |