diff --git a/Exercise Library/Back Extension/frames/frame-1.svg b/Exercise Library/Back Extension/frames/frame-1.svg new file mode 100644 index 0000000..cb86013 --- /dev/null +++ b/Exercise Library/Back Extension/frames/frame-1.svg @@ -0,0 +1,23 @@ + + Back Extension + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Back Extension/frames/frame-2.svg b/Exercise Library/Back Extension/frames/frame-2.svg new file mode 100644 index 0000000..a789a59 --- /dev/null +++ b/Exercise Library/Back Extension/frames/frame-2.svg @@ -0,0 +1,23 @@ + + Back Extension + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Back Extension/info.md b/Exercise Library/Back Extension/info.md new file mode 100644 index 0000000..1773c9d --- /dev/null +++ b/Exercise Library/Back Extension/info.md @@ -0,0 +1,39 @@ +# Back Extension + +The roman-chair hinge — hips anchored on the pad, fold forward, then raise +the trunk back in line with the legs. + +- **Category:** Main circuit +- **Type:** Machine-based back extension (hip hinge) +- **Targets:** Spinal erectors, glutes, hamstrings +- **Prescription:** 3 × 10–15 + +## Setup + +Set the pad so its top edge sits at the crease of your hips — you must be +able to fold freely over it. Hook your heels under the ankle rollers, +cross your arms over your chest. + +## Execution + +1. Fold forward over the pad with a controlled, mostly-flat back. +2. Lower until the hamstrings stop you, without going slack. +3. Squeeze glutes and back to raise the trunk until it lines up with the + legs — no higher. + +## Cues + +- Movement comes from the hips with the back held long. +- Rise to a straight body line, not into an arch. +- Slow down; momentum does nothing here. + +## Common Mistakes + +- Pad set too high, blocking the hinge. +- Hyperextending past the body line at the top. +- Swinging up with momentum. + +## Progression + +Slow the lowering phase, add a pause at the top, then hold a plate to the +chest for load. diff --git a/Exercise Library/Back Extension/motion.json b/Exercise Library/Back Extension/motion.json new file mode 100644 index 0000000..60f9478 --- /dev/null +++ b/Exercise Library/Back Extension/motion.json @@ -0,0 +1,37 @@ +{ + "name": "Back Extension", + "primary": 2, + "working": ["spine"], + "props": [ + {"type": "scene", "shapes": [ + {"kind": "line", "pts": [[102, 124], [154, 106]], "w": 9, "depth": 8}, + {"kind": "line", "pts": [[130, 122], [130, 150]], "w": 5}, + {"kind": "line", "pts": [[58, 142], [88, 142]], "w": 5, "depth": 6} + ]}, + {"type": "roller", "at": ["foot_r", "foot_l"], "r": 4.5, "side": 1, "back": 4} + ], + "frames": [ + { + "hold": 0.4, "tween": 1.0, + "root": {"pos": [150, 102], "pitch": 112}, + "spine": [0, 12], + "neck": 10, "head": -30, + "shoulder_r": 30, "elbow_r": 140, + "shoulder_l": 30, "elbow_l": 140, + "hip_r": 48, "knee_r": 12, "ankle_r": 12, + "hip_l": 48, "knee_l": 12, "ankle_l": 12, + "pins": {"foot_r": [72, 136], "foot_l": [76, 138]} + }, + { + "hold": 0.6, "tween": 1.1, + "root": {"pos": [150, 102], "pitch": 65}, + "spine": [0, -6], + "neck": 5, "head": -55, + "shoulder_r": 30, "elbow_r": 140, + "shoulder_l": 30, "elbow_l": 140, + "hip_r": 2, "knee_r": 12, "ankle_r": 12, + "hip_l": 2, "knee_l": 12, "ankle_l": 12, + "pins": {"foot_r": [72, 136], "foot_l": [76, 138]} + } + ] +} diff --git a/Exercise Library/Back Extension/orbit.gif b/Exercise Library/Back Extension/orbit.gif new file mode 100644 index 0000000..15b5721 Binary files /dev/null and b/Exercise Library/Back Extension/orbit.gif differ diff --git a/Exercise Library/Back Extension/preview.gif b/Exercise Library/Back Extension/preview.gif new file mode 100644 index 0000000..5e2dfb7 Binary files /dev/null and b/Exercise Library/Back Extension/preview.gif differ diff --git a/Exercise Library/Back Extension/visual.svg b/Exercise Library/Back Extension/visual.svg new file mode 100644 index 0000000..a789a59 --- /dev/null +++ b/Exercise Library/Back Extension/visual.svg @@ -0,0 +1,23 @@ + + Back Extension + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Deadlift/frames/frame-1.svg b/Exercise Library/Deadlift/frames/frame-1.svg new file mode 100644 index 0000000..0a65f52 --- /dev/null +++ b/Exercise Library/Deadlift/frames/frame-1.svg @@ -0,0 +1,22 @@ + + Deadlift + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Deadlift/frames/frame-2.svg b/Exercise Library/Deadlift/frames/frame-2.svg new file mode 100644 index 0000000..287e4af --- /dev/null +++ b/Exercise Library/Deadlift/frames/frame-2.svg @@ -0,0 +1,22 @@ + + Deadlift + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Deadlift/info.md b/Exercise Library/Deadlift/info.md new file mode 100644 index 0000000..d12429b --- /dev/null +++ b/Exercise Library/Deadlift/info.md @@ -0,0 +1,40 @@ +# Deadlift + +The barbell hip hinge — brace hard, then stand up with the bar by driving +the hips through. + +- **Category:** Main circuit +- **Type:** Free-weight compound hinge +- **Targets:** Glutes, hamstrings, spinal erectors, grip +- **Prescription:** 4 × 6–8 + +## Setup + +Stand with the bar over mid-foot, feet hip-width. Hinge down with a flat +back and grip the bar just outside your legs. Shoulders slightly ahead of +the bar, hips higher than knees, chest up. + +## Execution + +1. Take the slack out of the bar, brace your trunk, then push the floor + away — hips and shoulders rise together. +2. Once the bar passes the knees, drive the hips forward to stand tall. +3. Lower under control by hinging at the hips first, then bending the + knees once the bar clears them. + +## Cues + +- Flat back from setup to lockout — the spine never rounds or overarches. +- Keep the bar dragging close to the legs the whole way. +- Finish with glutes, not by leaning back. + +## Common Mistakes + +- Squatting the weight up — hips too low, knees pushed forward. +- Rounding the lower back off the floor. +- Jerking the bar off the ground instead of pushing through the legs. + +## Progression + +Add weight in small jumps while all reps stay flat-backed; start from +blocks or a rack if floor mobility isn't there yet. diff --git a/Exercise Library/Deadlift/motion.json b/Exercise Library/Deadlift/motion.json new file mode 100644 index 0000000..b34c496 --- /dev/null +++ b/Exercise Library/Deadlift/motion.json @@ -0,0 +1,35 @@ +{ + "name": "Deadlift", + "primary": 1, + "camera": {"zoom": 0.7}, + "working": ["leg_r", "leg_l", "spine"], + "props": [ + {"type": "bar", "at": ["hand_r", "hand_l"], "halfLen": 26, "plateR": 16} + ], + "frames": [ + { + "hold": 0.4, "tween": 1.0, + "root": {"pos": [92, 90], "pitch": 78}, + "spine": [0, -6], + "neck": 5, "head": -70, + "shoulder_r": 75, "elbow_r": 5, + "shoulder_l": 75, "elbow_l": 5, + "hip_r": 115, "knee_r": 30, "ankle_r": 15, + "hip_l": 115, "knee_l": 30, "ankle_l": 15, + "pins": {"foot_r": [150, 147], "foot_l": [154, 149], + "hand_r": [156, 130], "hand_l": [160, 132]} + }, + { + "hold": 0.4, "tween": 1.2, + "root": {"pos": [150, 64], "pitch": 10}, + "spine": [0, 0], + "neck": 2, "head": -8, + "shoulder_r": 10, "elbow_r": 3, + "shoulder_l": 10, "elbow_l": 3, + "hip_r": 8, "knee_r": 5, "ankle_r": 0, + "hip_l": 8, "knee_l": 5, "ankle_l": 0, + "pins": {"foot_r": [150, 147], "foot_l": [154, 149], + "hand_r": [161, 38], "hand_l": [165, 40]} + } + ] +} diff --git a/Exercise Library/Deadlift/orbit.gif b/Exercise Library/Deadlift/orbit.gif new file mode 100644 index 0000000..7e317ce Binary files /dev/null and b/Exercise Library/Deadlift/orbit.gif differ diff --git a/Exercise Library/Deadlift/preview.gif b/Exercise Library/Deadlift/preview.gif new file mode 100644 index 0000000..95b5f94 Binary files /dev/null and b/Exercise Library/Deadlift/preview.gif differ diff --git a/Exercise Library/Deadlift/visual.svg b/Exercise Library/Deadlift/visual.svg new file mode 100644 index 0000000..0a65f52 --- /dev/null +++ b/Exercise Library/Deadlift/visual.svg @@ -0,0 +1,22 @@ + + Deadlift + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Glute Bridge/frames/frame-1.svg b/Exercise Library/Glute Bridge/frames/frame-1.svg new file mode 100644 index 0000000..3fbd804 --- /dev/null +++ b/Exercise Library/Glute Bridge/frames/frame-1.svg @@ -0,0 +1,19 @@ + + Glute Bridge + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Glute Bridge/frames/frame-2.svg b/Exercise Library/Glute Bridge/frames/frame-2.svg new file mode 100644 index 0000000..32d8a15 --- /dev/null +++ b/Exercise Library/Glute Bridge/frames/frame-2.svg @@ -0,0 +1,19 @@ + + Glute Bridge + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Glute Bridge/info.md b/Exercise Library/Glute Bridge/info.md new file mode 100644 index 0000000..1746ec6 --- /dev/null +++ b/Exercise Library/Glute Bridge/info.md @@ -0,0 +1,39 @@ +# Glute Bridge + +The floor hip hinge — drive through the heels and lift the hips until the +body is a straight line from shoulders to knees. + +- **Category:** Warm-up and main circuit +- **Type:** Hip extension (floor) +- **Targets:** Glutes, hamstrings +- **Prescription:** 3 × 12–15, squeeze at the top + +## Setup + +Lie on your back, knees bent, feet flat on the floor about hip-width and +close enough that your fingertips can graze your heels. Arms rest at your +sides. + +## Execution + +1. Press through the heels and squeeze the glutes to lift the hips. +2. Stop when shoulders, hips and knees form a straight line — no arching + past it. +3. Hold the squeeze for a beat, then lower with control. + +## Cues + +- The glutes lift the hips; the lower back just comes along. +- Ribs stay down — finish with the glutes, not by overarching. +- Knees track over the feet, never falling inward or out. + +## Common Mistakes + +- Pushing through the toes instead of the heels. +- Overarching the lower back at the top. +- Bouncing reps off the floor. + +## Progression + +Pause holds at the top, then single-leg bridges; graduate to the barbell +Hip Thrust for load. diff --git a/Exercise Library/Glute Bridge/motion.json b/Exercise Library/Glute Bridge/motion.json new file mode 100644 index 0000000..a9e19b1 --- /dev/null +++ b/Exercise Library/Glute Bridge/motion.json @@ -0,0 +1,29 @@ +{ + "name": "Glute Bridge", + "primary": 2, + "working": ["leg_r", "leg_l"], + "frames": [ + { + "hold": 0.4, "tween": 0.8, + "root": {"pos": [168, 144], "pitch": -90}, + "spine": [0, 0], + "neck": 20, "head": -6, + "shoulder_r": -4, "elbow_r": 0, + "shoulder_l": -4, "elbow_l": 0, + "hip_r": 72, "knee_r": 82, "ankle_r": 5, + "hip_l": 72, "knee_l": 82, "ankle_l": 5, + "pins": {"foot_r": [205, 148], "foot_l": [209, 150]} + }, + { + "hold": 0.9, "tween": 1.0, + "root": {"pos": [172, 116], "pitch": -110}, + "spine": [0, -4], + "neck": 48, "head": -6, + "shoulder_r": -14, "elbow_r": 0, + "shoulder_l": -14, "elbow_l": 0, + "hip_r": 16, "knee_r": 92, "ankle_r": 5, + "hip_l": 16, "knee_l": 92, "ankle_l": 5, + "pins": {"foot_r": [205, 148], "foot_l": [209, 150]} + } + ] +} diff --git a/Exercise Library/Glute Bridge/preview.gif b/Exercise Library/Glute Bridge/preview.gif new file mode 100644 index 0000000..bf6ec6c Binary files /dev/null and b/Exercise Library/Glute Bridge/preview.gif differ diff --git a/Exercise Library/Glute Bridge/visual.svg b/Exercise Library/Glute Bridge/visual.svg new file mode 100644 index 0000000..32d8a15 --- /dev/null +++ b/Exercise Library/Glute Bridge/visual.svg @@ -0,0 +1,19 @@ + + Glute Bridge + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Hip Thrust/frames/frame-1.svg b/Exercise Library/Hip Thrust/frames/frame-1.svg new file mode 100644 index 0000000..a9c328f --- /dev/null +++ b/Exercise Library/Hip Thrust/frames/frame-1.svg @@ -0,0 +1,24 @@ + + Hip Thrust + + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Hip Thrust/frames/frame-2.svg b/Exercise Library/Hip Thrust/frames/frame-2.svg new file mode 100644 index 0000000..c126936 --- /dev/null +++ b/Exercise Library/Hip Thrust/frames/frame-2.svg @@ -0,0 +1,24 @@ + + Hip Thrust + + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Hip Thrust/info.md b/Exercise Library/Hip Thrust/info.md new file mode 100644 index 0000000..ae6700c --- /dev/null +++ b/Exercise Library/Hip Thrust/info.md @@ -0,0 +1,38 @@ +# Hip Thrust + +The loaded glute bridge — shoulders on a bench, barbell across the hips, +drive the hips up to a straight line. + +- **Category:** Main circuit +- **Type:** Free-weight hip extension +- **Targets:** Glutes, hamstrings +- **Prescription:** 4 × 8–10 + +## Setup + +Sit on the floor with your upper back against a bench, the bar (padded) +across your hips, hands steadying it. Feet flat, hip-width, heels under +the knees. + +## Execution + +1. Brace, tuck the chin, and drive through the heels to lift the hips. +2. Stop when shoulders, hips and knees are level — a flat tabletop. +3. Squeeze the glutes at the top, then lower the hips under control. + +## Cues + +- Chin tucked, ribs down — the body hinges around the bench edge. +- Full lockout comes from the glutes, not from arching the back. +- Shins vertical at the top; adjust foot distance until they are. + +## Common Mistakes + +- Overarching the lower back instead of finishing with the glutes. +- Feet too far forward, turning it into a hamstring exercise. +- Cutting the range short at the top. + +## Progression + +Start with the bar alone to groove the pattern, then add plates; pause +reps at the top for extra glute work. diff --git a/Exercise Library/Hip Thrust/motion.json b/Exercise Library/Hip Thrust/motion.json new file mode 100644 index 0000000..37e7362 --- /dev/null +++ b/Exercise Library/Hip Thrust/motion.json @@ -0,0 +1,38 @@ +{ + "name": "Hip Thrust", + "primary": 2, + "working": ["leg_r", "leg_l"], + "props": [ + {"type": "scene", "shapes": [ + {"kind": "line", "pts": [[50, 122], [88, 122]], "w": 9, "depth": 8}, + {"kind": "line", "pts": [[68, 127], [68, 150]], "w": 5} + ]}, + {"type": "bar", "at": ["hand_r", "hand_l"], "halfLen": 26, "plateR": 13} + ], + "frames": [ + { + "hold": 0.4, "tween": 0.8, + "root": {"pos": [150, 136], "pitch": -75}, + "spine": [0, 6], + "neck": 42, "head": -4, + "shoulder_r": 4, "elbow_r": 8, + "shoulder_l": 4, "elbow_l": 8, + "hip_r": 78, "knee_r": 88, "ankle_r": 5, + "hip_l": 78, "knee_l": 88, "ankle_l": 5, + "pins": {"foot_r": [203, 147], "foot_l": [207, 149], + "hand_r": [124, 127], "hand_l": [128, 129]} + }, + { + "hold": 0.9, "tween": 1.0, + "root": {"pos": [152, 114], "pitch": -89}, + "spine": [0, 2], + "neck": 48, "head": -4, + "shoulder_r": 4, "elbow_r": 8, + "shoulder_l": 4, "elbow_l": 8, + "hip_r": 24, "knee_r": 92, "ankle_r": 5, + "hip_l": 24, "knee_l": 92, "ankle_l": 5, + "pins": {"foot_r": [203, 147], "foot_l": [207, 149], + "hand_r": [126, 111], "hand_l": [130, 113]} + } + ] +} diff --git a/Exercise Library/Hip Thrust/orbit.gif b/Exercise Library/Hip Thrust/orbit.gif new file mode 100644 index 0000000..29b1f07 Binary files /dev/null and b/Exercise Library/Hip Thrust/orbit.gif differ diff --git a/Exercise Library/Hip Thrust/preview.gif b/Exercise Library/Hip Thrust/preview.gif new file mode 100644 index 0000000..9d115d4 Binary files /dev/null and b/Exercise Library/Hip Thrust/preview.gif differ diff --git a/Exercise Library/Hip Thrust/visual.svg b/Exercise Library/Hip Thrust/visual.svg new file mode 100644 index 0000000..c126936 --- /dev/null +++ b/Exercise Library/Hip Thrust/visual.svg @@ -0,0 +1,24 @@ + + Hip Thrust + + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Romanian Deadlift/frames/frame-1.svg b/Exercise Library/Romanian Deadlift/frames/frame-1.svg new file mode 100644 index 0000000..fa51842 --- /dev/null +++ b/Exercise Library/Romanian Deadlift/frames/frame-1.svg @@ -0,0 +1,22 @@ + + Romanian Deadlift + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Romanian Deadlift/frames/frame-2.svg b/Exercise Library/Romanian Deadlift/frames/frame-2.svg new file mode 100644 index 0000000..aafaeb9 --- /dev/null +++ b/Exercise Library/Romanian Deadlift/frames/frame-2.svg @@ -0,0 +1,22 @@ + + Romanian Deadlift + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Romanian Deadlift/info.md b/Exercise Library/Romanian Deadlift/info.md new file mode 100644 index 0000000..17af964 --- /dev/null +++ b/Exercise Library/Romanian Deadlift/info.md @@ -0,0 +1,39 @@ +# Romanian Deadlift + +The stretch-focused hip hinge — push the hips back with soft knees until +the hamstrings stop you, then stand back up. Barbell or dumbbells. + +- **Category:** Main circuit +- **Type:** Free-weight hinge (barbell or dumbbells) +- **Targets:** Hamstrings, glutes, spinal erectors +- **Prescription:** 3 × 8–10 + +## Setup + +Stand tall holding the bar (or dumbbells) at the hips, feet hip-width, +knees unlocked. Set your shoulders back and brace. + +## Execution + +1. Push the hips straight back and let the weight slide down the thighs, + back flat, knees only slightly bent. +2. Stop when the hamstrings are fully stretched — usually just below the + knees — without the back rounding. +3. Drive the hips forward to stand tall again. + +## Cues + +- The hips travel backward, not down — this is not a squat. +- Weight stays close to the legs the whole rep. +- Feel the hamstrings load on the way down; that stretch is the exercise. + +## Common Mistakes + +- Bending the knees more as the weight lowers, turning it into a deadlift. +- Rounding the back to reach the floor — depth comes from the hips. +- Rushing the lowering phase. + +## Progression + +Add weight once the full stretch is reached with a flat back every rep; +single-leg RDLs for balance and asymmetry work. diff --git a/Exercise Library/Romanian Deadlift/motion.json b/Exercise Library/Romanian Deadlift/motion.json new file mode 100644 index 0000000..fd247e1 --- /dev/null +++ b/Exercise Library/Romanian Deadlift/motion.json @@ -0,0 +1,35 @@ +{ + "name": "Romanian Deadlift", + "primary": 1, + "camera": {"zoom": 0.7}, + "working": ["leg_r", "leg_l", "spine"], + "props": [ + {"type": "bar", "at": ["hand_r", "hand_l"], "halfLen": 26, "plateR": 13} + ], + "frames": [ + { + "hold": 0.4, "tween": 0.9, + "root": {"pos": [90, 92], "pitch": 68}, + "spine": [0, -6], + "neck": 5, "head": -62, + "shoulder_r": 66, "elbow_r": 4, + "shoulder_l": 66, "elbow_l": 4, + "hip_r": 112, "knee_r": 12, "ankle_r": 12, + "hip_l": 112, "knee_l": 12, "ankle_l": 12, + "pins": {"foot_r": [158, 147], "foot_l": [162, 149], + "hand_r": [167, 120], "hand_l": [171, 122]} + }, + { + "hold": 0.4, "tween": 1.4, + "root": {"pos": [158, 64], "pitch": 10}, + "spine": [0, 0], + "neck": 2, "head": -8, + "shoulder_r": 10, "elbow_r": 3, + "shoulder_l": 10, "elbow_l": 3, + "hip_r": 8, "knee_r": 8, "ankle_r": 0, + "hip_l": 8, "knee_l": 8, "ankle_l": 0, + "pins": {"foot_r": [158, 147], "foot_l": [162, 149], + "hand_r": [169, 38], "hand_l": [173, 40]} + } + ] +} diff --git a/Exercise Library/Romanian Deadlift/preview.gif b/Exercise Library/Romanian Deadlift/preview.gif new file mode 100644 index 0000000..1cab111 Binary files /dev/null and b/Exercise Library/Romanian Deadlift/preview.gif differ diff --git a/Exercise Library/Romanian Deadlift/visual.svg b/Exercise Library/Romanian Deadlift/visual.svg new file mode 100644 index 0000000..fa51842 --- /dev/null +++ b/Exercise Library/Romanian Deadlift/visual.svg @@ -0,0 +1,22 @@ + + Romanian Deadlift + + + + + + + + + + + + + + + + near + + far + +