Skip to content

Commit 49e0927

Browse files
committed
Fidelity pass: tighten forward-lunge, drop two ill-fitting prop moves
Checked the FK-approximation movements by sampling real bone world positions: - forward-lunge: feet differed ~13cm in height (front foot clipped the floor after grounding). Re-tuned angles so the feet land level (Δy ~2cm) with a clear 0.32m stride and upright torso. - single-leg-calf-raise: kept (acceptable "foot points, body holds" approximation, same as relevé). - step-up & triceps-dips: REMOVED. Both need a front-facing box, but our only box/bench prop (the chair) is placed behind the figure for sit-back moves, so the lead foot / hands landed in empty space. Deferred to a future front-box prop (noted in docs/coverage-gap.md) rather than ship a low-fidelity render. 135 tests pass; build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018WCktDrKYZpJjCb2apbqWp
1 parent 28e636d commit 49e0927

5 files changed

Lines changed: 17 additions & 58 deletions

File tree

docs/coverage-gap.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,16 +41,21 @@ Ordered by gap size × how cleanly the engine renders it:
4141

4242
1. **Core**`plank-hold`, `mountain-climber` (plank pose), `crunch`,
4343
`bicycle-crunch`, `supine-leg-raise` (supine pose). Highest-value, cleanest.
44-
2. **Chest** — register the existing `push-up`, add `wall-pushup` (wall prop).
44+
2. **Chest** — register the existing `push-up`.
4545
3. **Back**`superman` (prone pose).
46-
4. **Upper legs**`forward-lunge`, `step-up` (chair prop).
47-
5. **Upper arms**`triceps-dips` (chair/bar prop).
48-
6. **Lower legs**`single-leg-calf-raise`.
49-
7. **Conditioning / mobility**`jumping-jacks`, `standing-quad-stretch`
46+
4. **Upper legs**`forward-lunge` (FK split stance, feet leveled).
47+
5. **Lower legs**`single-leg-calf-raise`.
48+
6. **Conditioning / mobility**`jumping-jacks`, `standing-quad-stretch`
5049
(single-leg + reach-IK).
5150

52-
These 13–14 movements roughly **double our chest/core/back coverage** and close the
53-
most glaring holes — all on today's engine, no new primitives required.
51+
These ~10 movements roughly **double our chest/core/back coverage** — all on
52+
today's engine, no new primitives required.
53+
54+
**Deferred (need a front-facing prop we don't have):** `step-up` and
55+
`triceps-dips`. Our only box/bench prop (the chair) is placed *behind* the figure
56+
for sit-back moves, so a step-up's lead foot and a dip's hands land in empty space.
57+
These return once we add a front-placed box / dip-station prop (and anchor-aware
58+
ground-lock) — a clean roadmap item rather than a forced, low-fidelity render.
5459

5560
## Metadata gap (drives the catalogue work)
5661

playground/src/presets.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,7 @@ import bicycleCrunch from "../../spec/examples/bicycle-crunch.movit?raw";
8080
import supineLegRaise from "../../spec/examples/supine-leg-raise.movit?raw";
8181
import superman from "../../spec/examples/superman.movit?raw";
8282
import forwardLunge from "../../spec/examples/forward-lunge.movit?raw";
83-
import stepUp from "../../spec/examples/step-up.movit?raw";
8483
import calfRaise from "../../spec/examples/single-leg-calf-raise.movit?raw";
85-
import tricepsDips from "../../spec/examples/triceps-dips.movit?raw";
8684
import jumpingJacks from "../../spec/examples/jumping-jacks.movit?raw";
8785
import quadStretch from "../../spec/examples/standing-quad-stretch.movit?raw";
8886

@@ -124,9 +122,7 @@ export const PRESETS: Preset[] = [
124122
{ id: "supine-leg-raise", label: "Lying leg raise", domain: "Fitness", bodyPart: "Core", target: "Abdominals", equipment: "Body weight", difficulty: "Beginner", source: supineLegRaise },
125123
{ id: "superman", label: "Superman", domain: "Fitness", bodyPart: "Back", target: "Spinal erectors", equipment: "Body weight", difficulty: "Beginner", source: superman },
126124
{ id: "forward-lunge", label: "Forward lunge", domain: "Fitness", bodyPart: "Upper legs", target: "Quadriceps", equipment: "Body weight", difficulty: "Intermediate", source: forwardLunge },
127-
{ id: "step-up", label: "Step-up (box)", domain: "Functional", bodyPart: "Upper legs", target: "Quadriceps", equipment: "Chair", difficulty: "Beginner", source: stepUp },
128125
{ id: "calf-raise", label: "Single-leg calf raise", domain: "Fitness", bodyPart: "Lower legs", target: "Calves", equipment: "Body weight", difficulty: "Intermediate", source: calfRaise },
129-
{ id: "triceps-dips", label: "Triceps dips (box)", domain: "Fitness", bodyPart: "Upper arms", target: "Triceps", equipment: "Chair", difficulty: "Intermediate", source: tricepsDips },
130126
{ id: "jumping-jacks", label: "Jumping jacks", domain: "Warm-up", bodyPart: "Full body", target: "Full body", equipment: "Body weight", difficulty: "Beginner", source: jumpingJacks },
131127
{ id: "quad-stretch", label: "Standing quad stretch", domain: "Mobility", bodyPart: "Upper legs", target: "Quadriceps", equipment: "Body weight", difficulty: "Beginner", source: quadStretch },
132128

spec/examples/forward-lunge.movit

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ movit exercise "Forward lunge"
33
pose start = standing
44

55
step "Lunge" 1.6s ease-in-out:
6-
hip_right: flex 50
7-
knee_right: flex 85
8-
hip_left: extend 18
9-
knee_left: flex 80
10-
ankle_right: dorsiflex 12
6+
hip_right: flex 45
7+
knee_right: flex 95
8+
hip_left: extend 15
9+
knee_left: flex 45
10+
ankle_right: dorsiflex 14
1111
spine: extend 4
1212
ground-lock: feet
1313
cue "Step forward and lower the back knee toward the floor"

spec/examples/step-up.movit

Lines changed: 0 additions & 25 deletions
This file was deleted.

spec/examples/triceps-dips.movit

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)