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>Incline Bench Press</title>
<path d="M 80.8 159.4 L 215.1 159.4 L 215.1 150.5 L 80.8 150.5 Z" fill="none" stroke="#b9bec9" stroke-width="2.55" stroke-linejoin="round"/>
<path d="M 144.7 130.8 L 97.1 73.8 L 97.1 73.8 L 144.7 130.8 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="7.6499999999999995" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 143.0 133.3 L 165.1 130.8 L 165.1 130.8 L 143.0 133.3 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.8" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 153.2 135.8 L 153.2 150.3" stroke="#c5cad4" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 154.8 127.1 L 192.1 115.6 L 195.7 148.9 L 204.9 147.2" stroke="#a9afba" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 110.3 70.5 L 135.6 74.0 L 117.5 56.3" stroke="#86cfc5" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 110.3 70.5 L 105.3 70.4 L 105.3 72.1" stroke="#3a3f4b" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 154.8 127.1 L 149.8 126.5 L 149.8 127.5" stroke="#3a3f4b" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 149.8 126.5 Q 127.0 97.8 105.3 70.4" stroke="#3a3f4b" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 149.8 127.5 L 187.2 116.2 L 192.3 149.3 L 201.4 147.1" stroke="#3a3f4b" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 105.3 72.1 L 130.3 77.2 L 114.1 57.8" stroke="#0d9488" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 93.7 57.0 L 137.9 57.0" stroke="#6b7180" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="93.7" cy="57.0" r="10.2" fill="#6b7180"/>
<circle cx="137.9" cy="57.0" r="10.2" fill="#6b7180"/>
<circle id="head" cx="99.5" cy="54.7" r="8.5" fill="white" stroke="#3a3f4b" stroke-width="5.1"/>
<line id="nose" x1="107.3" y1="51.3" x2="112.7" y2="48.9" stroke="#3a3f4b" stroke-width="3.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: 2.6 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Incline Bench Press</title>
<path d="M 80.8 159.4 L 215.1 159.4 L 215.1 150.5 L 80.8 150.5 Z" fill="none" stroke="#b9bec9" stroke-width="2.55" stroke-linejoin="round"/>
<path d="M 144.7 130.8 L 97.1 73.8 L 97.1 73.8 L 144.7 130.8 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="7.6499999999999995" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 143.0 133.3 L 165.1 130.8 L 165.1 130.8 L 143.0 133.3 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.8" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 153.2 135.8 L 153.2 150.3" stroke="#c5cad4" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 154.8 127.1 L 192.1 115.6 L 195.7 148.9 L 204.9 147.2" stroke="#a9afba" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 110.3 70.5 L 117.1 46.3 L 110.7 21.9" stroke="#86cfc5" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 110.3 70.5 L 105.3 70.4 L 105.3 72.1" stroke="#3a3f4b" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 154.8 127.1 L 149.8 126.5 L 149.8 127.5" stroke="#3a3f4b" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 149.8 126.5 Q 127.0 97.8 105.3 70.4" stroke="#3a3f4b" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 149.8 127.5 L 187.2 116.2 L 192.3 149.3 L 201.4 147.1" stroke="#3a3f4b" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 105.3 72.1 L 112.7 48.0 L 107.3 23.5" stroke="#0d9488" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 86.9 22.7 L 131.1 22.7" stroke="#6b7180" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="86.9" cy="22.7" r="10.2" fill="#6b7180"/>
<circle cx="131.1" cy="22.7" r="10.2" fill="#6b7180"/>
<circle id="head" cx="99.5" cy="54.7" r="8.5" fill="white" stroke="#3a3f4b" stroke-width="5.1"/>
<line id="nose" x1="107.3" y1="51.3" x2="112.7" y2="48.9" stroke="#3a3f4b" stroke-width="3.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: 2.6 KiB

@@ -0,0 +1,37 @@
# Incline Bench Press
The barbell press on the tilted bench — same press, aimed at the upper
chest.
- **Category:** Main circuit
- **Type:** Free-weight incline press
- **Targets:** Upper chest, front delts, triceps
- **Prescription:** 3 × 810
## Setup
Set the bench to a moderate incline (around 3045°). Lie back with the
bar over the eyes, shoulder blades set, feet planted.
## Execution
1. Lower the bar to the upper chest, just below the collarbones.
2. Touch lightly, keeping the forearms vertical.
3. Press straight up to lockout above the shoulders.
## Cues
- The steeper the bench, the more shoulder and less chest.
- Ribcage up, but hips stay on the pad.
- Bar path is a straight vertical line on the incline.
## Common Mistakes
- Sliding the bar path out over the belly.
- Overarching to turn it back into a flat press.
- Grip too wide for the shorter incline stroke.
## Progression
Work up in weight after the flat Bench Press, not before it; dumbbells
on the same bench trade load for range.
@@ -0,0 +1,40 @@
{
"name": "Incline Bench Press",
"primary": 1,
"camera": {"zoom": 0.85},
"working": ["arm_r", "arm_l"],
"props": [
{"type": "scene", "shapes": [
{"kind": "line", "pts": [[142, 127], [86, 60]], "w": 9, "depth": 8},
{"kind": "line", "pts": [[140, 130], [166, 127]], "w": 8, "depth": 8},
{"kind": "line", "pts": [[152, 133], [152, 150]], "w": 5}
]},
{"type": "bar", "at": ["hand_r", "hand_l"], "halfLen": 26, "plateR": 12}
],
"frames": [
{
"hold": 0.4, "tween": 0.9,
"root": {"pos": [148, 122], "pitch": -38},
"spine": [0, 0],
"neck": 18, "head": -4,
"shoulder_r": 30, "elbow_r": 115,
"shoulder_l": 30, "elbow_l": 115,
"hip_r": 85, "knee_r": 75, "ankle_r": 5,
"hip_l": 85, "knee_l": 75, "ankle_l": 5,
"pins": {"foot_r": [198, 148], "foot_l": [202, 150],
"hand_r": [106, 38], "hand_l": [110, 40]}
},
{
"hold": 0.4, "tween": 1.2,
"root": {"pos": [148, 122], "pitch": -38},
"spine": [0, 0],
"neck": 18, "head": -4,
"shoulder_r": 118, "elbow_r": 5,
"shoulder_l": 118, "elbow_l": 5,
"hip_r": 85, "knee_r": 75, "ankle_r": 5,
"hip_l": 85, "knee_l": 75, "ankle_l": 5,
"pins": {"foot_r": [198, 148], "foot_l": [202, 150],
"hand_r": [98, -3], "hand_l": [102, -1]}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

@@ -0,0 +1,25 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Incline Bench Press</title>
<path d="M 80.8 159.4 L 215.1 159.4 L 215.1 150.5 L 80.8 150.5 Z" fill="none" stroke="#b9bec9" stroke-width="2.55" stroke-linejoin="round"/>
<path d="M 144.7 130.8 L 97.1 73.8 L 97.1 73.8 L 144.7 130.8 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="7.6499999999999995" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 143.0 133.3 L 165.1 130.8 L 165.1 130.8 L 143.0 133.3 Z" fill="#c5cad4" stroke="#c5cad4" stroke-width="6.8" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 153.2 135.8 L 153.2 150.3" stroke="#c5cad4" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 154.8 127.1 L 192.1 115.6 L 195.7 148.9 L 204.9 147.2" stroke="#a9afba" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 110.3 70.5 L 135.6 74.0 L 117.5 56.3" stroke="#86cfc5" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 110.3 70.5 L 105.3 70.4 L 105.3 72.1" stroke="#3a3f4b" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 154.8 127.1 L 149.8 126.5 L 149.8 127.5" stroke="#3a3f4b" stroke-width="4.25" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 149.8 126.5 Q 127.0 97.8 105.3 70.4" stroke="#3a3f4b" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 149.8 127.5 L 187.2 116.2 L 192.3 149.3 L 201.4 147.1" stroke="#3a3f4b" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 105.3 72.1 L 130.3 77.2 L 114.1 57.8" stroke="#0d9488" stroke-width="5.1" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 93.7 57.0 L 137.9 57.0" stroke="#6b7180" stroke-width="3.4" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="93.7" cy="57.0" r="10.2" fill="#6b7180"/>
<circle cx="137.9" cy="57.0" r="10.2" fill="#6b7180"/>
<circle id="head" cx="99.5" cy="54.7" r="8.5" fill="white" stroke="#3a3f4b" stroke-width="5.1"/>
<line id="nose" x1="107.3" y1="51.3" x2="112.7" y2="48.9" stroke="#3a3f4b" stroke-width="3.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: 2.6 KiB