Files
workouts/Exercise Library/README.md
T
rzen 7274f155e9 Add the exercise reference library, animated exercise figures, and exercise categories
Exercise Library/ holds per-exercise reference docs (setup, cues,
mistakes, progressions) with SVG visuals and a Python-rendered motion
pipeline; Workouts/ExerciseFigure renders the bundled *.motion.json
rigs as animated stick figures on the exercise screen. Exercises gain
a warm-up/main-circuit category, timed exercises display hold time via
planSummary, and a completed exercise reopens to a check screen instead
of its timers.
2026-07-06 01:15:52 -04:00

30 lines
1.5 KiB
Markdown

# Exercise Library
Reference material for exercises the app knows about — one folder per exercise,
named exactly as the exercise appears in the app.
Each entry contains:
- `info.md` — the details, always in this order: a one-line summary, quick facts
(**Category**, **Type**, **Targets**, **Prescription**), then **Setup**,
**Execution**, **Cues**, **Common Mistakes**, and **Progression**
(easier → harder — get strong by making the move harder, not by endless reps).
- `motion.json` — the exercise scripted as key frames of joint angles on the
shared rig (proportions in the library-level `body.json`), with IK pins for
planted hands/feet and tween timings. This is the **canonical source** for
all visuals and for the in-app animation planned for the lower half of the
exercise screen.
- Generated from it by `render.py` (never hand-edited):
`frames/frame-N.svg` (one per key frame), `preview.gif` (the tweened loop),
and `visual.svg` (the primary frame, for static contexts).
The rig and the visual language — right limbs dark / left limbs light with an
embedded R/L legend, nose tick for facing, teal on the working parts, timing
that encodes tempo, plus figure profiles, flipping, and theming — are defined
in `SYSTEM.md`, along with the `motion.json` schema and rendering
instructions.
The library lives at the repo root, deliberately outside the app targets'
source folders, and is not bundled into the app yet — the in-app presentation
format is still being worked out.