2026-10-28 22:55:07 +01:00
|
|
|
|
# ADR 0002 — Exercise library, mode design, Player cues
|
|
|
|
|
|
|
|
|
|
|
|
Status: Accepted (2026-10-28)
|
|
|
|
|
|
|
|
|
|
|
|
## Decisions
|
|
|
|
|
|
|
|
|
|
|
|
1. **Library source**: free-exercise-db (Unlicense, 876 exercises). `stretching` → Stretching mode,
|
|
|
|
|
|
everything else → Workout mode. No user-created exercises.
|
|
|
|
|
|
2. **Images**: Bundle both images per exercise, compressed to WebP (~400px, est. 15–20 MB).
|
|
|
|
|
|
The start/end "flip" is the v1 animation; real animations are a future step.
|
|
|
|
|
|
3. **Language**: English only; UI strings centralised for later translation.
|
|
|
|
|
|
4. **Plan Steps**: Workout = sets, reps-or-duration, optional weight; no rest countdown.
|
|
|
|
|
|
Stretching = hold, both-sides flag, rounds. Workout Steps can be grouped into Supersets.
|
|
|
|
|
|
5. **Library browsing**: search + muscle/equipment/level filters, reused as the Plan exercise picker.
|
|
|
|
|
|
6. **Structure & design**: Mode switch at top; per-mode tabs Plans · Library · History.
|
2026-10-29 01:14:37 +01:00
|
|
|
|
Stretching = calm/light (lavender/violet since ADR 0007, first sage/teal; rounded, slow). Workout = dark/energetic (orange/red, bold, snappy).
|
2026-10-28 22:55:07 +01:00
|
|
|
|
Last-used mode is remembered.
|
|
|
|
|
|
7. **Player cues**: Visual cues (countdown ring, accent pulse, next cards, auto-advance, screen kept on)
|
|
|
|
|
|
plus a gentle, non-annoying sound. No vibration.
|
|
|
|
|
|
8. **History**: Separate per Mode. The Streak is one shared, Duolingo-style daily Streak across both Modes;
|
|
|
|
|
|
only complete Sessions count.
|
|
|
|
|
|
9. **Units**: kg only.
|