Files
ZenXercise/docs/adr/0002-library-ui-and-player.md
CedricandClaude Opus 5.5 1deb2a43d0 App icon and a lavender Stretching palette
A lotus inside a dry-brush ensō, with a small plate in the gap and a small
barbell as the lifting hint. Drawn by tools/icon/make_icon.py and wired up
with flutter_launcher_icons; the launch screen uses the icon's lavender.
Stretching Mode moves from sage/teal to the icon's lavender and violet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 01:14:37 +01:00

1.4 KiB
Raw Permalink Blame History

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. Stretching = calm/light (lavender/violet since ADR 0007, first sage/teal; rounded, slow). Workout = dark/energetic (orange/red, bold, snappy). 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.