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,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Dumbbell Curl</title>
<path d="M 148.9 157.5 L 192.6 157.5 L 192.6 150.2 L 148.9 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 164.1 90.9 L 168.9 122.3 L 161.4 148.9 L 168.8 150.9" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 160.0 91.3 L 165.6 122.5 L 158.6 149.2 L 166.1 151.1" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 167.3 31.9 L 167.3 52.6 L 170.9 73.0" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 167.3 31.9 L 163.1 31.9 L 163.1 33.2" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 164.1 90.9 L 160.0 90.4 L 160.0 91.3" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 160.0 90.4 Q 161.6 60.5 163.1 31.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 163.1 33.2 L 163.1 53.9 L 166.8 74.3" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 171.6 73.4 L 161.9 75.1" stroke="#6b7180" stroke-width="2.0999999999999996" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="171.6" cy="73.4" r="3.15" fill="#6b7180"/>
<circle cx="161.9" cy="75.1" r="3.15" fill="#6b7180"/>
<path d="M 175.7 72.1 L 166.1 73.8" stroke="#6b7180" stroke-width="2.0999999999999996" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="175.7" cy="72.1" r="3.15" fill="#6b7180"/>
<circle cx="166.1" cy="73.8" r="3.15" fill="#6b7180"/>
<circle id="head" cx="164.3" cy="18.1" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="171.3" y1="18.3" x2="176.2" y2="18.4" stroke="#3a3f4b" stroke-width="2.8" 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: 2.4 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Dumbbell Curl</title>
<path d="M 148.9 157.5 L 192.6 157.5 L 192.6 150.2 L 148.9 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 164.1 90.9 L 168.9 122.3 L 161.4 148.9 L 168.8 150.9" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 160.0 91.3 L 165.6 122.5 L 158.6 149.2 L 166.1 151.1" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 167.3 31.9 L 168.3 52.6 L 184.2 39.0" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 167.3 31.9 L 163.1 31.9 L 163.1 33.2" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 164.1 90.9 L 160.0 90.4 L 160.0 91.3" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 160.0 90.4 Q 161.6 60.5 163.1 31.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 163.1 33.2 L 164.2 53.9 L 180.1 40.3" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 176.9 36.6 L 183.2 44.0" stroke="#6b7180" stroke-width="2.0999999999999996" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="176.9" cy="36.6" r="3.15" fill="#6b7180"/>
<circle cx="183.2" cy="44.0" r="3.15" fill="#6b7180"/>
<path d="M 181.0 35.3 L 187.4 42.7" stroke="#6b7180" stroke-width="2.0999999999999996" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="181.0" cy="35.3" r="3.15" fill="#6b7180"/>
<circle cx="187.4" cy="42.7" r="3.15" fill="#6b7180"/>
<circle id="head" cx="164.3" cy="18.1" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="171.3" y1="18.3" x2="176.2" y2="18.4" stroke="#3a3f4b" stroke-width="2.8" 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: 2.4 KiB

+37
View File
@@ -0,0 +1,37 @@
# Dumbbell Curl
The free-weight biceps curl — elbows pinned to the sides, curl both
dumbbells from a full hang to the shoulders.
- **Category:** Main circuit
- **Type:** Free-weight elbow flexion (dumbbells)
- **Targets:** Biceps, forearms
- **Prescription:** 3 × 1012
## Setup
Stand tall with a dumbbell in each hand at your sides, palms forward (or
turning as you curl), elbows lightly touching the ribs.
## Execution
1. Curl both weights up in an arc until the forearms reach the biceps.
2. Keep the elbows fixed in place at your sides.
3. Lower all the way to straight arms — the stretch counts.
## Cues
- Elbows are hinges, not swings — they never travel forward or back.
- Wrists stay neutral; no flicking at the top.
- Stand tall; the trunk does not rock.
## Common Mistakes
- Swinging the hips to start the rep.
- Half reps that skip the bottom stretch.
- Elbows drifting forward, turning it into a front raise.
## Progression
Add weight only while the torso stays statue-still; alternate arms or
curl seated to remove all momentum.
@@ -0,0 +1,34 @@
{
"name": "Dumbbell Curl",
"primary": 2,
"camera": {"zoom": 0.7},
"working": ["arm_r", "arm_l"],
"props": [
{"type": "dumbbell", "at": "hand_r"},
{"type": "dumbbell", "at": "hand_l"}
],
"frames": [
{
"hold": 0.4, "tween": 1.0,
"root": {"pos": [160, 64], "pitch": 3},
"spine": [0, 0],
"neck": 2, "head": -4,
"shoulder_r": 3, "elbow_r": 10,
"shoulder_l": 3, "elbow_l": 10,
"hip_r": 3, "knee_r": 2, "ankle_r": 0,
"hip_l": 3, "knee_l": 2, "ankle_l": 0,
"pins": {"foot_r": [158, 148], "foot_l": [162, 150]}
},
{
"hold": 0.4, "tween": 1.2,
"root": {"pos": [160, 64], "pitch": 3},
"spine": [0, 0],
"neck": 2, "head": -4,
"shoulder_r": 6, "elbow_r": 128,
"shoulder_l": 6, "elbow_l": 128,
"hip_r": 3, "knee_r": 2, "ankle_r": 0,
"hip_l": 3, "knee_l": 2, "ankle_l": 0,
"pins": {"foot_r": [158, 148], "foot_l": [162, 150]}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

+25
View File
@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Dumbbell Curl</title>
<path d="M 148.9 157.5 L 192.6 157.5 L 192.6 150.2 L 148.9 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 164.1 90.9 L 168.9 122.3 L 161.4 148.9 L 168.8 150.9" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 160.0 91.3 L 165.6 122.5 L 158.6 149.2 L 166.1 151.1" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 167.3 31.9 L 168.3 52.6 L 184.2 39.0" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 167.3 31.9 L 163.1 31.9 L 163.1 33.2" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 164.1 90.9 L 160.0 90.4 L 160.0 91.3" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 160.0 90.4 Q 161.6 60.5 163.1 31.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 163.1 33.2 L 164.2 53.9 L 180.1 40.3" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 176.9 36.6 L 183.2 44.0" stroke="#6b7180" stroke-width="2.0999999999999996" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="176.9" cy="36.6" r="3.15" fill="#6b7180"/>
<circle cx="183.2" cy="44.0" r="3.15" fill="#6b7180"/>
<path d="M 181.0 35.3 L 187.4 42.7" stroke="#6b7180" stroke-width="2.0999999999999996" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="181.0" cy="35.3" r="3.15" fill="#6b7180"/>
<circle cx="187.4" cy="42.7" r="3.15" fill="#6b7180"/>
<circle id="head" cx="164.3" cy="18.1" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="171.3" y1="18.3" x2="176.2" y2="18.4" stroke="#3a3f4b" stroke-width="2.8" 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: 2.4 KiB