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,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Barbell Squat</title>
<path d="M 121.5 157.5 L 193.9 157.5 L 193.9 150.2 L 121.5 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 169.8 122.1 L 162.8 148.9 L 170.3 150.7" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 160.0 91.3 L 153.6 122.3 L 160.0 149.2 L 152.5 150.9" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 170.4 32.2 L 183.1 48.6 L 167.0 35.3" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 170.4 32.2 L 166.2 32.1 L 166.2 33.5" 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 163.2 60.6 166.2 32.1" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 166.2 33.5 L 182.9 46.1 L 164.2 36.6" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 147.4 36.0 L 183.8 36.0" stroke="#6b7180" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="147.4" cy="36.0" r="9.799999999999999" fill="#6b7180"/>
<circle cx="183.8" cy="36.0" r="9.799999999999999" fill="#6b7180"/>
<circle id="head" cx="168.2" cy="18.5" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="175.2" y1="18.7" x2="180.1" y2="18.9" 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.1 KiB

@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Barbell Squat</title>
<path d="M 121.5 157.9 L 193.9 157.9 L 193.9 150.6 L 121.5 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 134.0 121.7 L 166.2 122.0 L 162.8 149.3 L 170.2 147.4" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 166.4 72.1 L 185.5 63.4 L 164.9 67.5" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 129.9 122.1 L 162.1 122.1 L 160.0 149.6 L 167.3 147.3" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 166.4 72.1 L 162.3 72.1 L 162.3 73.4" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 134.0 121.7 L 129.9 121.2 L 129.9 122.1" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 129.9 121.2 Q 148.2 97.2 162.3 72.1" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 162.3 73.4 L 183.0 70.2 L 162.1 68.8" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 145.3 68.1 L 181.7 68.1" stroke="#6b7180" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="145.3" cy="68.1" r="9.799999999999999" fill="#6b7180"/>
<circle cx="181.7" cy="68.1" r="9.799999999999999" fill="#6b7180"/>
<circle id="head" cx="170.5" cy="60.9" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="177.5" y1="61.9" x2="182.3" y2="62.6" 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.1 KiB

+39
View File
@@ -0,0 +1,39 @@
# Barbell Squat
The barbell back squat — bar across the upper back, sit down between the
heels, stand back up.
- **Category:** Main circuit
- **Type:** Free-weight compound squat
- **Targets:** Quadriceps, glutes, adductors, trunk
- **Prescription:** 4 × 68
## Setup
Set the bar on your upper traps (not the neck), hands just outside the
shoulders, and step back from the rack. Feet shoulder-width, toes slightly
out, brace before every rep.
## Execution
1. Sit down and back — hips and knees bend together, chest stays up.
2. Descend until the thighs reach at least parallel, knees tracking over
the toes.
3. Drive the floor apart and stand back up to full lockout.
## Cues
- Big breath and brace at the top; exhale at the finish.
- The bar stays over mid-foot — watch the sideways bar path, not the mirror.
- Elbows down under the bar, not flared behind it.
## Common Mistakes
- Knees caving inward out of the bottom.
- Heels lifting — weight drifting onto the toes.
- Chest collapsing forward into a good-morning.
## Progression
Master the Bodyweight Squat and Goblet Squat first; add weight in small
jumps only while depth and knee tracking hold.
@@ -0,0 +1,35 @@
{
"name": "Barbell Squat",
"primary": 2,
"camera": {"zoom": 0.7},
"working": ["leg_r", "leg_l"],
"props": [
{"type": "bar", "at": ["hand_r", "hand_l"], "halfLen": 26, "plateR": 14}
],
"frames": [
{
"hold": 0.4, "tween": 1.1,
"root": {"pos": [160, 64], "pitch": 6},
"spine": [0, 0],
"neck": 2, "head": -6,
"shoulder_r": 28, "elbow_r": 140,
"shoulder_l": 28, "elbow_l": 140,
"hip_r": 5, "knee_r": 4, "ankle_r": 0,
"hip_l": 5, "knee_l": 4, "ankle_l": 0,
"pins": {"foot_r": [160, 148], "foot_l": [164, 150],
"hand_r": [166, -16], "hand_l": [170, -14]}
},
{
"hold": 0.4, "tween": 1.1,
"root": {"pos": [117, 108], "pitch": 35},
"spine": [0, -4],
"neck": 5, "head": -28,
"shoulder_r": 55, "elbow_r": 140,
"shoulder_l": 55, "elbow_l": 140,
"hip_r": 100, "knee_r": 118, "ankle_r": 22,
"hip_l": 100, "knee_l": 118, "ankle_l": 22,
"pins": {"foot_r": [160, 148], "foot_l": [164, 150],
"hand_r": [163, 30], "hand_l": [167, 32]}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

+22
View File
@@ -0,0 +1,22 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Barbell Squat</title>
<path d="M 121.5 157.9 L 193.9 157.9 L 193.9 150.6 L 121.5 150.6 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 134.0 121.7 L 166.2 122.0 L 162.8 149.3 L 170.2 147.4" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 166.4 72.1 L 185.5 63.4 L 164.9 67.5" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 129.9 122.1 L 162.1 122.1 L 160.0 149.6 L 167.3 147.3" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 166.4 72.1 L 162.3 72.1 L 162.3 73.4" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 134.0 121.7 L 129.9 121.2 L 129.9 122.1" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 129.9 121.2 Q 148.2 97.2 162.3 72.1" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 162.3 73.4 L 183.0 70.2 L 162.1 68.8" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 145.3 68.1 L 181.7 68.1" stroke="#6b7180" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="145.3" cy="68.1" r="9.799999999999999" fill="#6b7180"/>
<circle cx="181.7" cy="68.1" r="9.799999999999999" fill="#6b7180"/>
<circle id="head" cx="170.5" cy="60.9" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="177.5" y1="61.9" x2="182.3" y2="62.6" 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.1 KiB