Restructure into a three-tab app with Progress, goals, and Meditation
The UX redesign's first landing (spec in UX-REDESIGN.md): ContentView becomes a Today / Progress / Settings TabView, "Routine" replaces "Split" in every user-facing string and view name (code-level types keep their names), and workout starting moves to shared WorkoutStarter / StartedWorkoutNavigator plumbing. - New Progress tab: weekly goal streaks, workout trends, per-exercise weight progression, achievements, and the full history list (WorkoutLogsView -> WorkoutHistoryView). - Goals: stable categories workouts roll up to, managed from Settings. - New Meditation exercise + starter routine; timed sits record to Apple Health as Mind & Body sessions. Claude-Session: https://claude.ai/code/session_012qw2itfzKyEJ1HpsFt8Ex4
This commit is contained in:
@@ -12,9 +12,9 @@
|
||||
//
|
||||
// ADAPTATION FROM THE REFERENCE: the reference scanner takes a single
|
||||
// `currentSchemaVersion: Int`. Workouts has TWO document types with
|
||||
// INDEPENDENT version counters (`SplitDocument.currentSchemaVersion` and
|
||||
// INDEPENDENT version counters (`RoutineDocument.currentSchemaVersion` and
|
||||
// `WorkoutDocument.currentSchemaVersion`), so one global ceiling can't classify
|
||||
// both correctly — a Split written at a version the workout counter has already
|
||||
// both correctly — a Routine written at a version the workout counter has already
|
||||
// reached would be misjudged. The forward-gate ceiling therefore has to be
|
||||
// resolved per file (its location under `Documents/` tells us its type), so the
|
||||
// scanner takes a `CeilingResolver` closure. A single-Int convenience init is
|
||||
|
||||
Reference in New Issue
Block a user