Surface machine settings in the exercise library and refine machine rigs
Library detail screens now lead with the user's recorded machine settings (per-split when they disagree, empty-state card for machine-based entries) and append the weight progression chart. Starter seeds mark machine exercises with an empty machineSettings list so the settings UI lights up before first use. The figure rig gains a frontal body profile for face-on machines, props that can ride mid joints (knees/elbows), and an alternating four-frame Bird Dog loop. Claude-Session: https://claude.ai/code/session_01LEoff8bXGBS83tK1c55Mf7
This commit is contained in:
@@ -13,7 +13,10 @@ changing data, never artwork.
|
||||
lengths: `headR`, `neck`, `spine1`/`spine2` (two chained segments so the
|
||||
spine can curve), `upperArm`/`foreArm`, `thigh`/`shin`, plus `leftOffset`
|
||||
(the small offset that separates left-limb attachments visually).
|
||||
`neutral` is the default; add profiles to add figures.
|
||||
`neutral` is the default; add profiles to add figures. `frontal` shortens
|
||||
the legs for face-on seated machines (thighs point mostly at the viewer, so
|
||||
they render foreshortened); a motion opts in with a top-level
|
||||
`"figure": "frontal"`.
|
||||
- **`<Exercise>/motion.json`** — the exercise script: key frames of
|
||||
**absolute joint angles** (degrees, y-up: `0`=forward/right, `90`=up,
|
||||
`180`=back/left, `-90`=down), a `root` pelvis position, and timing.
|
||||
@@ -22,6 +25,7 @@ changing data, never artwork.
|
||||
{
|
||||
"name": "Bird Dog",
|
||||
"primary": 2, // 1-based frame used for visual.svg
|
||||
"figure": "frontal", // optional profile override (default: neutral)
|
||||
"working": ["arm_r", "leg_l"], // parts drawn in the accent color
|
||||
"hide": [], // limbs fully occluded in this view
|
||||
"frames": [
|
||||
@@ -88,7 +92,10 @@ scale drawings of the machine.
|
||||
- **`cable`** — a thin line from a fixed anchor `from` to a moving joint `to`;
|
||||
the machine's pulley line.
|
||||
- **`bar` / `dumbbell` / `pad`** — a segment centered on the joint(s) in
|
||||
`at` (a single extremity, or the midpoint of `["hand_r", "hand_l"]`).
|
||||
`at` (a single joint, or the midpoint of a list). Joints are the extremities
|
||||
(`hand_r`, `foot_l`, …) plus the mid joints (`elbow_r`, `knee_l`, …), so a
|
||||
machine pad can ride a knee (`["knee_r", "knee_l"]`) or span a shin
|
||||
(`["knee_r", "foot_r"]`).
|
||||
`bar` lies at a fixed world `angle` (default 0 = horizontal — in side view a
|
||||
two-handed bar is drawn horizontal by convention); `dumbbell` and `pad`
|
||||
default to perpendicular to the lower bone (forearm/shin), or take an
|
||||
|
||||
Reference in New Issue
Block a user