# 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).

Which exercises the library must contain — the movement-pattern × modality
matrix, the gym-floor census, and the considered exclusions — is defined in
`COVERAGE.md`; judge additions and removals against it.

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.
