Files

30 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

# ADR 0004 — Player flow, Streak and app identity
Status: Accepted (2026-10-28)
1. **Sound**: One soft chime per Mode, only on timer end / next item. Mixes with other audio. Mute toggle.
2. **Workout rest**: No countdown and no rest settings. A count-up Rest Screen with "Start next set".
3. **Stretching flow**: Automatic, with Transitions (per-Plan length, default 5 s).
4. **Supersets**: Workout only; one set count; round-robin; optional rest between Exercises in a round.
5. **Streak**: One daily Streak across both Modes, kept subtle; any complete Session counts, no minimum.
Local notifications are in scope for v1 (to help keep the Streak).
6. **Theme**: Fixed look per Mode, no light/dark setting for now.
7. **Fonts**: Nunito (Stretching), Barlow Condensed (Workout).
8. **App ID**: `de.zendric.zenxercise`.
## Addendum (round 5)
9. **Superset rest**: per-Superset switch "Rest between exercises", off by default.
10. **Streak UI**: small flame + count in the top bar, "+1 🔥" on the Session summary, tap for a panel with
current/longest Streak and a month calendar. No full-screen celebrations or milestones in v1.
11. **Streak Freezes** are in v1. **Grace Hour** 00:00–01:00 counts for the previous day unless that
day is already done.
12. **Reminders**: two adjustable daily Reminders (19:00 and late night), skipped when the day is done.
A Settings screen hosts them.
13. **Session summary**: duration, Exercises, Set Logs and the Streak line.
14. **No UI prototype**: the Streak is built directly in the app.
15. **Build order**: setup/data/designs → Library → Plan editor → Player + summary → History, Streak,
Reminders. Commit and push after each stage; check in after stages 1 and 4.
16. **Freeze rules**: earn 1 per 7 consecutive Streak Days, hold max 2, auto-used on a missed day (❄️);
more missed days than Freezes resets the Streak.
17. **Reminder defaults**: 19:00 and 22:30, each toggleable and re-timeable; exactly two slots.