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,28 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Dumbbell Shoulder Press</title>
<path d="M 123.3 159.2 L 195.3 159.2 L 195.3 150.6 L 123.3 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="2.46" stroke-linejoin="round"/>
<path d="M 124.7 132.3 L 121.5 74.9 L 121.5 74.9 L 124.7 132.3 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.56" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 122.3 137.2 L 151.8 137.2 L 151.8 137.2 L 122.3 137.2 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.56" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 137.0 138.9 L 137.0 150.4" stroke="#c5cad4" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 140.2 129.7 L 175.9 117.6 L 176.4 149.9 L 185.4 149.7" stroke="#a9afba" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 143.9 60.6 L 164.3 74.1 L 151.8 53.2" stroke="#86cfc5" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 143.9 60.6 L 139.0 60.5 L 139.0 62.1" stroke="#3a3f4b" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 140.2 129.7 L 135.4 129.0 L 135.4 130.0" stroke="#3a3f4b" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 135.4 129.0 Q 136.0 93.9 139.0 60.5" stroke="#3a3f4b" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 135.4 130.0 L 171.3 118.8 L 173.1 151.0 L 182.1 150.6" stroke="#3a3f4b" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 139.0 62.1 L 158.5 76.8 L 148.5 54.7" stroke="#0d9488" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 143.3 57.1 L 153.7 52.3" stroke="#6b7180" stroke-width="2.46" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="143.3" cy="57.1" r="3.69" fill="#6b7180"/>
<circle cx="153.7" cy="52.3" r="3.69" fill="#6b7180"/>
<path d="M 146.9 56.2 L 156.7 50.3" stroke="#6b7180" stroke-width="2.46" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="146.9" cy="56.2" r="3.69" fill="#6b7180"/>
<circle cx="156.7" cy="50.3" r="3.69" fill="#6b7180"/>
<circle id="head" cx="141.3" cy="44.5" r="8.2" fill="white" stroke="#3a3f4b" stroke-width="4.92"/>
<line id="nose" x1="149.5" y1="44.8" x2="155.2" y2="45.0" stroke="#3a3f4b" stroke-width="3.28" 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.8 KiB

@@ -0,0 +1,28 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Dumbbell Shoulder Press</title>
<path d="M 123.3 159.2 L 195.3 159.2 L 195.3 150.6 L 123.3 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="2.46" stroke-linejoin="round"/>
<path d="M 124.7 132.3 L 121.5 74.9 L 121.5 74.9 L 124.7 132.3 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.56" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 122.3 137.2 L 151.8 137.2 L 151.8 137.2 L 122.3 137.2 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.56" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 137.0 138.9 L 137.0 150.4" stroke="#c5cad4" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 140.2 129.7 L 175.9 117.6 L 176.4 149.9 L 185.4 149.7" stroke="#a9afba" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 143.9 60.6 L 139.0 60.5 L 139.0 62.1" stroke="#3a3f4b" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 140.2 129.7 L 135.4 129.0 L 135.4 130.0" stroke="#3a3f4b" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 135.4 129.0 Q 136.0 93.9 139.0 60.5" stroke="#3a3f4b" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 135.4 130.0 L 171.3 118.8 L 173.1 151.0 L 182.1 150.6" stroke="#3a3f4b" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 143.9 60.6 L 150.7 37.3 L 145.2 13.6" stroke="#86cfc5" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 139.0 62.1 L 146.4 39.0 L 142.0 15.1" stroke="#0d9488" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 136.3 16.2 L 147.6 14.1" stroke="#6b7180" stroke-width="2.46" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="136.3" cy="16.2" r="3.69" fill="#6b7180"/>
<circle cx="147.6" cy="14.1" r="3.69" fill="#6b7180"/>
<path d="M 139.6 14.9 L 150.8 12.4" stroke="#6b7180" stroke-width="2.46" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="139.6" cy="14.9" r="3.69" fill="#6b7180"/>
<circle cx="150.8" cy="12.4" r="3.69" fill="#6b7180"/>
<circle id="head" cx="141.3" cy="44.5" r="8.2" fill="white" stroke="#3a3f4b" stroke-width="4.92"/>
<line id="nose" x1="149.5" y1="44.8" x2="155.2" y2="45.0" stroke="#3a3f4b" stroke-width="3.28" 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.8 KiB

@@ -0,0 +1,37 @@
# Dumbbell Shoulder Press
The overhead press with dumbbells — seated against an upright bench,
press from the shoulders to lockout overhead.
- **Category:** Main circuit
- **Type:** Free-weight vertical press (dumbbells)
- **Targets:** Shoulders, triceps, upper chest
- **Prescription:** 3 × 812
## Setup
Set the bench back upright. Sit with the dumbbells at shoulder height,
palms forward, forearms vertical, feet planted.
## Execution
1. Press both dumbbells straight up until the arms lock out overhead.
2. Keep the weights over the shoulders — not drifting forward.
3. Lower under control back to shoulder height.
## Cues
- Forearms vertical from every angle, wrists stacked over elbows.
- Ribs down; the back stays on the pad, not arching off it.
- The head moves slightly through at the top — bar path stays vertical.
## Common Mistakes
- Overarching the lower back to press bigger weights.
- Stopping short of lockout.
- Letting the dumbbells drift out sideways on the way up.
## Progression
Add weight while the back stays quiet on the pad; standing presses
recruit more trunk once the seated pattern is strong.
@@ -0,0 +1,41 @@
{
"name": "Dumbbell Shoulder Press",
"primary": 2,
"camera": {"zoom": 0.82},
"working": ["arm_r", "arm_l"],
"props": [
{"type": "scene", "shapes": [
{"kind": "line", "pts": [[117, 128], [113, 58]], "w": 8, "depth": 8},
{"kind": "line", "pts": [[114, 134], [150, 134]], "w": 8, "depth": 8},
{"kind": "line", "pts": [[132, 136], [132, 150]], "w": 5}
]},
{"type": "dumbbell", "at": "hand_r"},
{"type": "dumbbell", "at": "hand_l"}
],
"frames": [
{
"hold": 0.4, "tween": 1.0,
"root": {"pos": [130, 124], "pitch": 2},
"spine": [0, 2],
"neck": 4, "head": -6,
"shoulder_r": 35, "elbow_r": 145,
"shoulder_l": 35, "elbow_l": 145,
"hip_r": 84, "knee_r": 64,
"hip_l": 84, "knee_l": 64,
"pins": {"foot_r": [176, 150], "foot_l": [180, 151],
"hand_r": [146, 30], "hand_l": [150, 32]}
},
{
"hold": 0.4, "tween": 1.2,
"root": {"pos": [130, 124], "pitch": 2},
"spine": [0, 2],
"neck": 4, "head": -6,
"shoulder_r": 168, "elbow_r": 8,
"shoulder_l": 168, "elbow_l": 8,
"hip_r": 84, "knee_r": 64,
"hip_l": 84, "knee_l": 64,
"pins": {"foot_r": [176, 150], "foot_l": [180, 151],
"hand_r": [138, -19], "hand_l": [142, -17]}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

@@ -0,0 +1,28 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Dumbbell Shoulder Press</title>
<path d="M 123.3 159.2 L 195.3 159.2 L 195.3 150.6 L 123.3 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="2.46" stroke-linejoin="round"/>
<path d="M 124.7 132.3 L 121.5 74.9 L 121.5 74.9 L 124.7 132.3 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.56" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 122.3 137.2 L 151.8 137.2 L 151.8 137.2 L 122.3 137.2 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.56" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 137.0 138.9 L 137.0 150.4" stroke="#c5cad4" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 140.2 129.7 L 175.9 117.6 L 176.4 149.9 L 185.4 149.7" stroke="#a9afba" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 143.9 60.6 L 139.0 60.5 L 139.0 62.1" stroke="#3a3f4b" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 140.2 129.7 L 135.4 129.0 L 135.4 130.0" stroke="#3a3f4b" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 135.4 129.0 Q 136.0 93.9 139.0 60.5" stroke="#3a3f4b" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 135.4 130.0 L 171.3 118.8 L 173.1 151.0 L 182.1 150.6" stroke="#3a3f4b" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 143.9 60.6 L 150.7 37.3 L 145.2 13.6" stroke="#86cfc5" stroke-width="4.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 139.0 62.1 L 146.4 39.0 L 142.0 15.1" stroke="#0d9488" stroke-width="4.92" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 136.3 16.2 L 147.6 14.1" stroke="#6b7180" stroke-width="2.46" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="136.3" cy="16.2" r="3.69" fill="#6b7180"/>
<circle cx="147.6" cy="14.1" r="3.69" fill="#6b7180"/>
<path d="M 139.6 14.9 L 150.8 12.4" stroke="#6b7180" stroke-width="2.46" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="139.6" cy="14.9" r="3.69" fill="#6b7180"/>
<circle cx="150.8" cy="12.4" r="3.69" fill="#6b7180"/>
<circle id="head" cx="141.3" cy="44.5" r="8.2" fill="white" stroke="#3a3f4b" stroke-width="4.92"/>
<line id="nose" x1="149.5" y1="44.8" x2="155.2" y2="45.0" stroke="#3a3f4b" stroke-width="3.28" 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.8 KiB