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,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Pull-Up</title>
<path d="M 136.1 157.8 L 188.2 157.8 L 188.2 150.5 L 136.1 150.5 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 161.3 115.4 L 179.8 141.4 L 151.9 143.8 L 148.7 150.7" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 157.2 115.8 L 175.7 141.7 L 147.8 144.1 L 144.5 151.0" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 161.3 56.3 L 157.2 56.3 L 157.2 57.6" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 161.3 115.4 L 157.2 114.9 L 157.2 115.8" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 157.2 114.9 Q 157.2 84.9 157.2 56.3" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 161.3 56.3 L 160.4 35.7 L 158.6 15.1" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 157.2 57.6 L 156.1 37.0 L 155.8 16.3" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 140.4 15.7 L 174.0 15.7" stroke="#6b7180" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="157.7" cy="42.5" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="164.7" y1="42.0" x2="169.6" y2="41.7" 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.0 KiB

@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Pull-Up</title>
<path d="M 136.1 157.5 L 188.2 157.5 L 188.2 150.2 L 136.1 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 161.3 93.0 L 179.8 119.0 L 151.9 121.4 L 148.7 128.3" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 157.2 93.4 L 175.7 119.3 L 147.8 121.7 L 144.5 128.6" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 161.3 33.9 L 178.3 21.8 L 158.6 14.7" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 161.3 33.9 L 157.2 33.9 L 157.2 35.2" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 161.3 93.0 L 157.2 92.5 L 157.2 93.4" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 157.2 92.5 Q 157.2 62.5 157.2 33.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 157.2 35.2 L 175.0 24.3 L 155.8 15.9" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 140.4 15.3 L 174.0 15.3" stroke="#6b7180" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="158.2" cy="20.2" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="165.1" y1="19.4" x2="170.0" 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.0 KiB

+37
View File
@@ -0,0 +1,37 @@
# Pull-Up
The vertical pull — from a dead hang, pull the chin over the bar and
lower all the way back down.
- **Category:** Main circuit
- **Type:** Bodyweight vertical pull
- **Targets:** Lats, biceps, mid-back, grip
- **Prescription:** 3 × as many strict reps as possible
## Setup
Grip the bar just outside shoulder-width, palms away. Hang with straight
arms, shoulders active (pulled slightly down), knees bent or legs long.
## Execution
1. Drive the elbows down toward the ribs to pull the body up.
2. Chin clears the bar — chest toward it, not chin poking over.
3. Lower with control to a full dead hang every rep.
## Cues
- Start every rep from straight arms; half hangs don't count.
- Think "elbows to pockets", not "chin to bar".
- Quiet body — no swinging or kicking.
## Common Mistakes
- Kipping and swinging for extra reps.
- Stopping the descent halfway.
- Shrugging the shoulders to the ears at the top.
## Progression
Use the assisted pull-up machine or a band until 5 strict reps come
easily; then add reps, then hang weight from a belt.
+33
View File
@@ -0,0 +1,33 @@
{
"name": "Pull-Up",
"primary": 2,
"camera": {"zoom": 0.7},
"working": ["arm_r", "arm_l"],
"props": [
{"type": "bar", "at": ["hand_r", "hand_l"], "halfLen": 24}
],
"frames": [
{
"hold": 0.5, "tween": 1.0,
"root": {"pos": [156, 99]},
"spine": [0, 0],
"neck": 2, "head": -6,
"shoulder_r": 182, "elbow_r": 5,
"shoulder_l": 182, "elbow_l": 5,
"hip_r": 35, "knee_r": 120, "ankle_r": -30,
"hip_l": 35, "knee_l": 120, "ankle_l": -30,
"pins": {"hand_r": [154, -46], "hand_l": [158, -44]}
},
{
"hold": 0.4, "tween": 1.3,
"root": {"pos": [156, 67]},
"spine": [0, 0],
"neck": 4, "head": -10,
"shoulder_r": 150, "elbow_r": 125,
"shoulder_l": 150, "elbow_l": 125,
"hip_r": 35, "knee_r": 120, "ankle_r": -30,
"hip_l": 35, "knee_l": 120, "ankle_l": -30,
"pins": {"hand_r": [154, -46], "hand_l": [158, -44]}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

+20
View File
@@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Pull-Up</title>
<path d="M 136.1 157.5 L 188.2 157.5 L 188.2 150.2 L 136.1 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
<path id="leg_l" d="M 161.3 93.0 L 179.8 119.0 L 151.9 121.4 L 148.7 128.3" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 157.2 93.4 L 175.7 119.3 L 147.8 121.7 L 144.5 128.6" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 161.3 33.9 L 178.3 21.8 L 158.6 14.7" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 161.3 33.9 L 157.2 33.9 L 157.2 35.2" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 161.3 93.0 L 157.2 92.5 L 157.2 93.4" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 157.2 92.5 Q 157.2 62.5 157.2 33.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_r" d="M 157.2 35.2 L 175.0 24.3 L 155.8 15.9" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M 140.4 15.3 L 174.0 15.3" stroke="#6b7180" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="158.2" cy="20.2" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
<line id="nose" x1="165.1" y1="19.4" x2="170.0" 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.0 KiB