diff --git a/Exercise Library/Face Pull/frames/frame-1.svg b/Exercise Library/Face Pull/frames/frame-1.svg new file mode 100644 index 0000000..35a28c5 --- /dev/null +++ b/Exercise Library/Face Pull/frames/frame-1.svg @@ -0,0 +1,21 @@ + + Face Pull + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Face Pull/frames/frame-2.svg b/Exercise Library/Face Pull/frames/frame-2.svg new file mode 100644 index 0000000..835b639 --- /dev/null +++ b/Exercise Library/Face Pull/frames/frame-2.svg @@ -0,0 +1,21 @@ + + Face Pull + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Face Pull/info.md b/Exercise Library/Face Pull/info.md new file mode 100644 index 0000000..2faf668 --- /dev/null +++ b/Exercise Library/Face Pull/info.md @@ -0,0 +1,39 @@ +# Face Pull + +The cable pull to the face — elbows high and wide, rope to the bridge of +the nose. Small weight, big shoulders-health payoff. + +- **Category:** Main circuit +- **Type:** Machine-based cable pull (rear delts) +- **Targets:** Rear delts, mid-back, rotator cuff +- **Prescription:** 3 × 12–15, light + +## Setup + +Set a rope attachment at face height (or slightly above). Grip with +thumbs toward you, step back until the arms are straight, and stand +tall with a slight stagger if needed. + +## Execution + +1. Pull the rope straight toward the bridge of your nose. +2. Elbows travel high and wide; at the end the knuckles point back + beside the ears. +3. Pause, then let the arms straighten slowly forward. + +## Cues + +- Elbows lead and stay at shoulder height the whole pull. +- Pull the rope apart as it reaches the face. +- Ribs down; the trunk doesn't lean back to finish the rep. + +## Common Mistakes + +- Turning it into a row with elbows dropping to the ribs. +- Too much weight — the shoulders shrug and the trunk sways. +- Anchor set too low, dragging the pull toward the chest. + +## Progression + +Add reps and pause length before weight; the Rear Delt Fly machine +covers the same muscles with chest support. diff --git a/Exercise Library/Face Pull/motion.json b/Exercise Library/Face Pull/motion.json new file mode 100644 index 0000000..27aa81a --- /dev/null +++ b/Exercise Library/Face Pull/motion.json @@ -0,0 +1,38 @@ +{ + "name": "Face Pull", + "primary": 2, + "camera": {"zoom": 0.7}, + "working": ["arm_r", "arm_l"], + "props": [ + {"type": "scene", "shapes": [ + {"kind": "circle", "c": [242, -30], "r": 4, "fill": true, "color": "prop"} + ]}, + {"type": "cable", "from": [242, -30], "to": ["hand_r", "hand_l"], "w": 3} + ], + "frames": [ + { + "hold": 0.4, "tween": 1.0, + "root": {"pos": [150, 66], "pitch": 5}, + "spine": [0, 2], + "neck": 4, "head": -6, + "shoulder_r": 95, "elbow_r": 10, + "shoulder_l": 95, "elbow_l": 10, + "hip_r": 6, "knee_r": 8, "ankle_r": 0, + "hip_l": 6, "knee_l": 8, "ankle_l": 0, + "pins": {"foot_r": [146, 148], "foot_l": [150, 150], + "hand_r": [214, -24], "hand_l": [218, -22]} + }, + { + "hold": 0.5, "tween": 1.1, + "root": {"pos": [150, 66], "pitch": 5}, + "spine": [0, 2], + "neck": 4, "head": -6, + "shoulder_r": {"flexion": 95, "abduction": 15}, "elbow_r": 140, + "shoulder_l": {"flexion": 95, "abduction": 15}, "elbow_l": 140, + "hip_r": 6, "knee_r": 8, "ankle_r": 0, + "hip_l": 6, "knee_l": 8, "ankle_l": 0, + "pins": {"foot_r": [146, 148], "foot_l": [150, 150], + "hand_r": [170, -26], "hand_l": [174, -24]} + } + ] +} diff --git a/Exercise Library/Face Pull/preview.gif b/Exercise Library/Face Pull/preview.gif new file mode 100644 index 0000000..0e76e7e Binary files /dev/null and b/Exercise Library/Face Pull/preview.gif differ diff --git a/Exercise Library/Face Pull/visual.svg b/Exercise Library/Face Pull/visual.svg new file mode 100644 index 0000000..835b639 --- /dev/null +++ b/Exercise Library/Face Pull/visual.svg @@ -0,0 +1,21 @@ + + Face Pull + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Pec Deck/frames/frame-1.svg b/Exercise Library/Pec Deck/frames/frame-1.svg new file mode 100644 index 0000000..deffb12 --- /dev/null +++ b/Exercise Library/Pec Deck/frames/frame-1.svg @@ -0,0 +1,23 @@ + + Pec Deck + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Pec Deck/frames/frame-2.svg b/Exercise Library/Pec Deck/frames/frame-2.svg new file mode 100644 index 0000000..a73199a --- /dev/null +++ b/Exercise Library/Pec Deck/frames/frame-2.svg @@ -0,0 +1,23 @@ + + Pec Deck + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Pec Deck/info.md b/Exercise Library/Pec Deck/info.md new file mode 100644 index 0000000..20854fa --- /dev/null +++ b/Exercise Library/Pec Deck/info.md @@ -0,0 +1,40 @@ +# Pec Deck + +The machine chest fly — arms sweep together in front of the chest along +the machine's fixed arc. + +- **Category:** Main circuit +- **Type:** Machine-based chest fly +- **Targets:** Chest, front delts +- **Prescription:** 4 × 10 + +## Setup + +Adjust the seat so the handles sit at chest height with your upper arms +level. Back flat on the pad, feet planted, a soft bend fixed in the +elbows. + +## Execution + +1. Sweep both arms together in a wide arc until the handles meet in + front of the chest. +2. Squeeze the chest hard for a beat at the middle. +3. Open back up with control until you feel a full chest stretch. + +## Cues + +- Elbow angle never changes — the chest swings the arms. +- Shoulders stay back against the pad; they don't roll forward at the + squeeze. +- Slow the return; the stretch half of the rep counts. + +## Common Mistakes + +- Setting the seat so low the handles sit at the shoulders. +- Shoulders rounding forward to chase extra range. +- Letting the stack yank the arms open. + +## Progression + +Add a plate once every rep meets in the middle with a one-second +squeeze; the Dumbbell Fly trades the guided path for free control. diff --git a/Exercise Library/Pec Deck/motion.json b/Exercise Library/Pec Deck/motion.json new file mode 100644 index 0000000..014c199 --- /dev/null +++ b/Exercise Library/Pec Deck/motion.json @@ -0,0 +1,37 @@ +{ + "name": "Pec Deck", + "primary": 2, + "camera": {"yaw": 90}, + "working": ["arm_r", "arm_l"], + "props": [ + {"type": "scene", "shapes": [ + {"kind": "line", "pts": [[160, 64], [160, 120]], "w": 16, "z": -14, "depth": 6}, + {"kind": "line", "pts": [[135, 131], [185, 131]], "w": 10, "depth": 12}, + {"kind": "line", "pts": [[160, 136], [160, 150]], "w": 6} + ]}, + {"type": "pad", "at": "hand_r", "angle": 90, "halfLen": 9, "w": 5}, + {"type": "pad", "at": "hand_l", "angle": 90, "halfLen": 9, "w": 5} + ], + "frames": [ + { + "hold": 0.5, "tween": 1.1, + "root": {"pos": [160, 116]}, + "spine": [0, 0], + "neck": 0, + "shoulder_r": {"flexion": 18, "abduction": 82}, "elbow_r": 25, + "shoulder_l": {"flexion": 18, "abduction": 82}, "elbow_l": 25, + "hip_r": 78, "knee_r": 62, + "hip_l": 78, "knee_l": 62 + }, + { + "hold": 0.5, "tween": 1.2, + "root": {"pos": [160, 116]}, + "spine": [0, 0], + "neck": 0, + "shoulder_r": {"flexion": 86, "abduction": 6}, "elbow_r": 25, + "shoulder_l": {"flexion": 86, "abduction": 6}, "elbow_l": 25, + "hip_r": 78, "knee_r": 62, + "hip_l": 78, "knee_l": 62 + } + ] +} diff --git a/Exercise Library/Pec Deck/preview.gif b/Exercise Library/Pec Deck/preview.gif new file mode 100644 index 0000000..0b7158d Binary files /dev/null and b/Exercise Library/Pec Deck/preview.gif differ diff --git a/Exercise Library/Pec Deck/visual.svg b/Exercise Library/Pec Deck/visual.svg new file mode 100644 index 0000000..a73199a --- /dev/null +++ b/Exercise Library/Pec Deck/visual.svg @@ -0,0 +1,23 @@ + + Pec Deck + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Rear Delt Fly/frames/frame-1.svg b/Exercise Library/Rear Delt Fly/frames/frame-1.svg new file mode 100644 index 0000000..dd01694 --- /dev/null +++ b/Exercise Library/Rear Delt Fly/frames/frame-1.svg @@ -0,0 +1,23 @@ + + Rear Delt Fly + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Rear Delt Fly/frames/frame-2.svg b/Exercise Library/Rear Delt Fly/frames/frame-2.svg new file mode 100644 index 0000000..ae8c297 --- /dev/null +++ b/Exercise Library/Rear Delt Fly/frames/frame-2.svg @@ -0,0 +1,23 @@ + + Rear Delt Fly + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Rear Delt Fly/info.md b/Exercise Library/Rear Delt Fly/info.md new file mode 100644 index 0000000..38e6ecf --- /dev/null +++ b/Exercise Library/Rear Delt Fly/info.md @@ -0,0 +1,38 @@ +# Rear Delt Fly + +The reverse pec deck — facing the pad, arms sweep from the front out +wide and back, hitting what pressing never touches. + +- **Category:** Main circuit +- **Type:** Machine-based reverse fly +- **Targets:** Rear delts, mid-back +- **Prescription:** 3 × 12–15, light + +## Setup + +Set the handles to the rear-fly position and sit facing the pad, chest +supported, handles together in front at shoulder height, arms long with +soft elbows. + +## Execution + +1. Sweep both arms out and back as far as the shoulder blades allow. +2. Pause with the arms wide, squeezing between the shoulder blades. +3. Return forward under control without the stack touching down. + +## Cues + +- Lead with the knuckles, arms long — it's a sweep, not a row. +- Chest glued to the pad; no leaning back for leverage. +- Light weight, full arc — momentum defeats the rear delts instantly. + +## Common Mistakes + +- Bending the elbows into a rowing motion. +- Loading too heavy and shortening the arc. +- Shrugging the traps into the sweep. + +## Progression + +More reps and a longer pause out wide before more weight; the Face Pull +covers the same territory from the cable stack. diff --git a/Exercise Library/Rear Delt Fly/motion.json b/Exercise Library/Rear Delt Fly/motion.json new file mode 100644 index 0000000..5855500 --- /dev/null +++ b/Exercise Library/Rear Delt Fly/motion.json @@ -0,0 +1,37 @@ +{ + "name": "Rear Delt Fly", + "primary": 2, + "camera": {"yaw": 270}, + "working": ["arm_r", "arm_l"], + "props": [ + {"type": "scene", "shapes": [ + {"kind": "line", "pts": [[160, 64], [160, 120]], "w": 16, "z": -14, "depth": 6}, + {"kind": "line", "pts": [[135, 131], [185, 131]], "w": 10, "depth": 12}, + {"kind": "line", "pts": [[160, 136], [160, 150]], "w": 6} + ]}, + {"type": "pad", "at": "hand_r", "angle": 90, "halfLen": 9, "w": 5}, + {"type": "pad", "at": "hand_l", "angle": 90, "halfLen": 9, "w": 5} + ], + "frames": [ + { + "hold": 0.5, "tween": 1.1, + "root": {"pos": [160, 116]}, + "spine": [0, 0], + "neck": 0, + "shoulder_r": {"flexion": 85, "abduction": 6}, "elbow_r": 15, + "shoulder_l": {"flexion": 85, "abduction": 6}, "elbow_l": 15, + "hip_r": 78, "knee_r": 62, + "hip_l": 78, "knee_l": 62 + }, + { + "hold": 0.5, "tween": 1.2, + "root": {"pos": [160, 116]}, + "spine": [0, 0], + "neck": 0, + "shoulder_r": {"flexion": 12, "abduction": 84}, "elbow_r": 15, + "shoulder_l": {"flexion": 12, "abduction": 84}, "elbow_l": 15, + "hip_r": 78, "knee_r": 62, + "hip_l": 78, "knee_l": 62 + } + ] +} diff --git a/Exercise Library/Rear Delt Fly/preview.gif b/Exercise Library/Rear Delt Fly/preview.gif new file mode 100644 index 0000000..65cd978 Binary files /dev/null and b/Exercise Library/Rear Delt Fly/preview.gif differ diff --git a/Exercise Library/Rear Delt Fly/visual.svg b/Exercise Library/Rear Delt Fly/visual.svg new file mode 100644 index 0000000..ae8c297 --- /dev/null +++ b/Exercise Library/Rear Delt Fly/visual.svg @@ -0,0 +1,23 @@ + + Rear Delt Fly + + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Triceps Pushdown/frames/frame-1.svg b/Exercise Library/Triceps Pushdown/frames/frame-1.svg new file mode 100644 index 0000000..015af3b --- /dev/null +++ b/Exercise Library/Triceps Pushdown/frames/frame-1.svg @@ -0,0 +1,22 @@ + + Triceps Pushdown + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Triceps Pushdown/frames/frame-2.svg b/Exercise Library/Triceps Pushdown/frames/frame-2.svg new file mode 100644 index 0000000..56a36ca --- /dev/null +++ b/Exercise Library/Triceps Pushdown/frames/frame-2.svg @@ -0,0 +1,22 @@ + + Triceps Pushdown + + + + + + + + + + + + + + + + near + + far + + diff --git a/Exercise Library/Triceps Pushdown/info.md b/Exercise Library/Triceps Pushdown/info.md new file mode 100644 index 0000000..5311ab7 --- /dev/null +++ b/Exercise Library/Triceps Pushdown/info.md @@ -0,0 +1,39 @@ +# Triceps Pushdown + +The cable triceps staple — elbows pinned to the sides, push the bar from +chest height down to straight arms. + +- **Category:** Main circuit +- **Type:** Machine-based cable elbow extension +- **Targets:** Triceps +- **Prescription:** 3 × 10–12 + +## Setup + +Stand at the high pulley with a bar or rope attachment, feet under the +hips, slight forward lean. Grip with the elbows bent past 90° and tucked +to the ribs. + +## Execution + +1. Push the handle down until the arms are completely straight. +2. Squeeze the triceps at the bottom for a beat. +3. Let the forearms ride back up until they pass 90°, elbows never + leaving the sides. + +## Cues + +- Elbows are bolted to the ribs — only the forearms move. +- Stand tall-ish; don't lean your bodyweight onto the bar. +- Full lockout every rep; the last few degrees are the exercise. + +## Common Mistakes + +- Elbows drifting forward and up on the way down. +- Shoulders and back pressing the weight instead of the triceps. +- Cutting the top of the rep short. + +## Progression + +Add a plate when every rep locks out with quiet elbows; a rope +attachment adds a harder finish at the bottom. diff --git a/Exercise Library/Triceps Pushdown/motion.json b/Exercise Library/Triceps Pushdown/motion.json new file mode 100644 index 0000000..4f8f85f --- /dev/null +++ b/Exercise Library/Triceps Pushdown/motion.json @@ -0,0 +1,39 @@ +{ + "name": "Triceps Pushdown", + "primary": 2, + "camera": {"zoom": 0.7}, + "working": ["arm_r", "arm_l"], + "props": [ + {"type": "scene", "shapes": [ + {"kind": "circle", "c": [186, -58], "r": 4, "fill": true, "color": "prop"} + ]}, + {"type": "cable", "from": [186, -58], "to": ["hand_r", "hand_l"], "w": 3}, + {"type": "bar", "at": ["hand_r", "hand_l"], "halfLen": 10} + ], + "frames": [ + { + "hold": 0.4, "tween": 1.0, + "root": {"pos": [150, 66], "pitch": 8}, + "spine": [0, 2], + "neck": 6, "head": -8, + "shoulder_r": 15, "elbow_r": 130, + "shoulder_l": 15, "elbow_l": 130, + "hip_r": 6, "knee_r": 5, "ankle_r": 0, + "hip_l": 6, "knee_l": 5, "ankle_l": 0, + "pins": {"foot_r": [146, 148], "foot_l": [150, 150], + "hand_r": [172, -10], "hand_l": [176, -8]} + }, + { + "hold": 0.4, "tween": 1.1, + "root": {"pos": [150, 66], "pitch": 8}, + "spine": [0, 2], + "neck": 6, "head": -8, + "shoulder_r": 8, "elbow_r": 10, + "shoulder_l": 8, "elbow_l": 10, + "hip_r": 6, "knee_r": 5, "ankle_r": 0, + "hip_l": 6, "knee_l": 5, "ankle_l": 0, + "pins": {"foot_r": [146, 148], "foot_l": [150, 150], + "hand_r": [168, 40], "hand_l": [172, 42]} + } + ] +} diff --git a/Exercise Library/Triceps Pushdown/preview.gif b/Exercise Library/Triceps Pushdown/preview.gif new file mode 100644 index 0000000..7ee7bc8 Binary files /dev/null and b/Exercise Library/Triceps Pushdown/preview.gif differ diff --git a/Exercise Library/Triceps Pushdown/visual.svg b/Exercise Library/Triceps Pushdown/visual.svg new file mode 100644 index 0000000..56a36ca --- /dev/null +++ b/Exercise Library/Triceps Pushdown/visual.svg @@ -0,0 +1,22 @@ + + Triceps Pushdown + + + + + + + + + + + + + + + + near + + far + +