Add the free-weight canon and bodyweight staples (16 exercises)

Squat/lunge: Barbell Squat, Goblet Squat, Bodyweight Squat, Lunge.
Bench station: Bench Press, Incline Bench Press, Dumbbell Bench Press,
Dumbbell Fly (the fly authors the face-on camera for its frontal arc).
Dumbbell rack: Dumbbell Row, Dumbbell Shoulder Press, Dumbbell Curl,
Lateral Raise - first uses of the dumbbell prop. Bodyweight: Push-Up,
Pull-Up, Crunch, Dip.

Claude-Session: https://claude.ai/code/session_01HJDQQDA9QdP8zByg43H5v3
This commit is contained in:
2026-07-07 12:09:08 -04:00
parent b71ee0a355
commit 5bbe3f6ff0
96 changed files with 2274 additions and 0 deletions
@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Crunch</title>
<path d="M 39.4 161.1 L 231.6 161.1 L 231.6 150.6 L 39.4 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="3" stroke-linejoin="round"/>
<path id="arm_l" d="M 86.9 146.1 L 59.7 133.6 L 72.4 160.3" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 171.9 146.8 L 199.5 110.5 L 209.0 148.8 L 219.4 145.3" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 86.9 146.1 L 81.0 146.0 L 81.0 147.9" stroke="#0d9488" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 171.9 146.8 L 166.0 146.0 L 166.0 147.2" stroke="#0d9488" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 166.0 146.0 Q 122.5 146.0 81.0 146.0" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 166.0 147.2 L 194.0 111.3 L 205.0 149.2 L 215.3 145.3" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 81.0 147.9 L 53.8 135.4 L 66.5 162.2" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="61.4" cy="141.9" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
<line id="nose" x1="63.5" y1="132.1" x2="65.0" y2="125.4" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
<g font-family="-apple-system, Helvetica, sans-serif" font-size="11" fill="#6b7180">
<line x1="224" y1="16" x2="238" y2="16" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
<text x="243" y="20">near</text>
<line x1="273" y1="16" x2="287" y2="16" stroke="#a9afba" stroke-width="4" stroke-linecap="round"/>
<text x="292" y="20">far</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Crunch</title>
<path d="M 39.4 161.0 L 231.6 161.0 L 231.6 150.6 L 39.4 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="3" stroke-linejoin="round"/>
<path id="leg_l" d="M 171.9 144.8 L 201.5 110.0 L 209.0 148.7 L 219.6 145.8" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 102.1 103.1 L 95.8 74.2 L 81.8 100.3" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 102.1 103.1 L 96.2 103.0 L 96.2 104.9" stroke="#0d9488" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 171.9 144.8 L 166.0 144.0 L 166.0 145.2" stroke="#0d9488" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 166.0 144.0 Q 117.5 144.0 96.2 103.0" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 166.0 145.2 L 195.9 110.8 L 205.0 149.2 L 215.5 145.8" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 96.2 104.9 L 89.9 76.0 L 75.9 102.1" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="92.0" cy="83.8" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
<line id="nose" x1="101.8" y1="81.7" x2="108.7" y2="80.3" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
<g font-family="-apple-system, Helvetica, sans-serif" font-size="11" fill="#6b7180">
<line x1="224" y1="16" x2="238" y2="16" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
<text x="243" y="20">near</text>
<line x1="273" y1="16" x2="287" y2="16" stroke="#a9afba" stroke-width="4" stroke-linecap="round"/>
<text x="292" y="20">far</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

+38
View File
@@ -0,0 +1,38 @@
# Crunch
The floor ab curl — peel the shoulder blades off the mat, squeeze, and
lower. Short range, all abs.
- **Category:** Main circuit
- **Type:** Spinal flexion (upper)
- **Targets:** Rectus abdominis
- **Prescription:** 3 × 1520, slow
## Setup
Lie on your back, knees bent, feet flat. Fingertips lightly behind the
ears, elbows wide.
## Execution
1. Exhale and curl the ribs toward the pelvis until the shoulder blades
leave the floor.
2. Squeeze the abs hard at the top for a beat.
3. Lower the shoulders back down without letting the head rest.
## Cues
- It's a curl, not a sit-up — the lower back stays on the mat.
- Chin off the chest; the hands never pull the head.
- Exhale on the way up to deepen the contraction.
## Common Mistakes
- Yanking the neck with the hands.
- Sitting all the way up with the hip flexors.
- Racing through reps with momentum.
## Progression
Slow the tempo and add a pause at the top; hold a small plate on the
chest, or move to the Abdominal machine for stack-loaded flexion.
+29
View File
@@ -0,0 +1,29 @@
{
"name": "Crunch",
"primary": 2,
"working": ["spine"],
"frames": [
{
"hold": 0.4, "tween": 0.8,
"root": {"pos": [166, 146], "pitch": -90},
"spine": [0, 0],
"neck": 12, "head": 0,
"shoulder_r": 155, "elbow_r": 140,
"shoulder_l": 155, "elbow_l": 140,
"hip_r": 75, "knee_r": 85, "ankle_r": 5,
"hip_l": 75, "knee_l": 85, "ankle_l": 5,
"pins": {"foot_r": [205, 148], "foot_l": [209, 150]}
},
{
"hold": 0.6, "tween": 1.0,
"root": {"pos": [166, 144], "pitch": -90},
"spine": [14, 34],
"neck": 30, "head": 0,
"shoulder_r": 150, "elbow_r": 140,
"shoulder_l": 150, "elbow_l": 140,
"hip_r": 75, "knee_r": 85, "ankle_r": 5,
"hip_l": 75, "knee_l": 85, "ankle_l": 5,
"pins": {"foot_r": [205, 148], "foot_l": [209, 150]}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

+19
View File
@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Crunch</title>
<path d="M 39.4 161.0 L 231.6 161.0 L 231.6 150.6 L 39.4 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="3" stroke-linejoin="round"/>
<path id="leg_l" d="M 171.9 144.8 L 201.5 110.0 L 209.0 148.7 L 219.6 145.8" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 102.1 103.1 L 95.8 74.2 L 81.8 100.3" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 102.1 103.1 L 96.2 103.0 L 96.2 104.9" stroke="#0d9488" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 171.9 144.8 L 166.0 144.0 L 166.0 145.2" stroke="#0d9488" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 166.0 144.0 Q 117.5 144.0 96.2 103.0" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 166.0 145.2 L 195.9 110.8 L 205.0 149.2 L 215.5 145.8" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 96.2 104.9 L 89.9 76.0 L 75.9 102.1" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="92.0" cy="83.8" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
<line id="nose" x1="101.8" y1="81.7" x2="108.7" y2="80.3" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
<g font-family="-apple-system, Helvetica, sans-serif" font-size="11" fill="#6b7180">
<line x1="224" y1="16" x2="238" y2="16" stroke="#3a3f4b" stroke-width="4" stroke-linecap="round"/>
<text x="243" y="20">near</text>
<line x1="273" y1="16" x2="287" y2="16" stroke="#a9afba" stroke-width="4" stroke-linecap="round"/>
<text x="292" y="20">far</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB