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,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Push-Up</title>
<path d="M 53.4 160.6 L 272.0 160.6 L 272.0 150.2 L 53.4 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="3" stroke-linejoin="round"/>
<path id="arm_r" d="M 104.6 90.6 L 90.7 116.7 L 97.0 145.6" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 185.9 115.8 L 216.8 149.3 L 256.0 141.4 L 253.4 151.9" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 180.0 116.2 L 221.1 136.5 L 260.0 145.8 L 253.1 154.2" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 98.7 92.4 L 98.7 90.5 L 104.6 90.6" stroke="#3a3f4b" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 180.0 116.2 L 180.0 115.0 L 185.9 115.8" stroke="#3a3f4b" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 180.0 115.0 Q 138.4 102.5 98.7 90.5" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 98.7 92.4 L 98.1 122.0 L 101.0 151.4" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="79.6" cy="84.8" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
<line id="nose" x1="69.8" y1="87.0" x2="63.0" y2="88.5" stroke="#3a3f4b" stroke-width="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: 1.8 KiB

@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Push-Up</title>
<path d="M 53.4 160.8 L 272.0 160.8 L 272.0 150.4 L 53.4 150.4 Z" fill="none" stroke="#b9bec9" stroke-width="3" stroke-linejoin="round"/>
<path id="arm_r" d="M 101.2 124.8 L 126.5 140.6 L 97.0 145.9" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 185.9 132.8 L 221.5 161.5 L 256.0 141.6 L 257.0 152.4" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 95.3 126.6 L 95.3 124.7 L 101.2 124.8" stroke="#3a3f4b" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 180.0 133.2 L 180.0 132.0 L 185.9 132.8" stroke="#3a3f4b" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 180.0 132.0 Q 136.7 128.3 95.3 124.7" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 180.0 133.2 L 220.8 154.1 L 260.0 146.0 L 257.5 156.6" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 95.3 126.6 L 124.5 133.3 L 101.0 151.6" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="75.4" cy="123.0" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
<line id="nose" x1="66.7" y1="127.9" x2="60.6" y2="131.4" stroke="#3a3f4b" stroke-width="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: 1.9 KiB

+38
View File
@@ -0,0 +1,38 @@
# Push-Up
The bodyweight press — a moving plank: lower the chest to the floor and
press back up without the hips sagging.
- **Category:** Warm-up and main circuit
- **Type:** Bodyweight horizontal press
- **Targets:** Chest, front delts, triceps, trunk
- **Prescription:** 3 × 815
## Setup
Hands under the shoulders, legs long, toes tucked. Squeeze the glutes
and brace so the body is one straight line from head to heels.
## Execution
1. Bend the elbows about 45° from the body and lower the chest toward
the floor.
2. Stop a fist's height off the ground, body still one line.
3. Press the floor away to straight arms.
## Cues
- The plank never breaks — hips neither sag nor pike.
- Screw the hands into the floor to keep the elbows tracking.
- Chest leads the descent, not the chin or the hips.
## Common Mistakes
- Hips sagging into a banana shape.
- Flaring the elbows to 90°.
- Craning the neck at the floor.
## Progression
Start from an incline (hands on a bench) if reps stall; graduate to feet
elevated, then slow negatives.
+31
View File
@@ -0,0 +1,31 @@
{
"name": "Push-Up",
"primary": 1,
"working": ["arm_r", "arm_l"],
"frames": [
{
"hold": 0.4, "tween": 0.9,
"root": {"pos": [180, 115], "yaw": 180, "pitch": 73},
"spine": [0, 0],
"neck": 0, "head": -60,
"shoulder_r": 90, "elbow_r": 8,
"shoulder_l": 90, "elbow_l": 8,
"hip_r": 5, "knee_r": 3, "ankle_r": 25,
"hip_l": 5, "knee_l": 3, "ankle_l": 25,
"pins": {"hand_r": [97, 148], "hand_l": [101, 150],
"foot_r": [256, 143], "foot_l": [260, 145]}
},
{
"hold": 0.4, "tween": 0.9,
"root": {"pos": [180, 132], "yaw": 180, "pitch": 85},
"spine": [0, 0],
"neck": 0, "head": -55,
"shoulder_r": 60, "elbow_r": 110,
"shoulder_l": 60, "elbow_l": 110,
"hip_r": 5, "knee_r": 3, "ankle_r": 25,
"hip_l": 5, "knee_l": 3, "ankle_l": 25,
"pins": {"hand_r": [97, 148], "hand_l": [101, 150],
"foot_r": [256, 143], "foot_l": [260, 145]}
}
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

+19
View File
@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
<title>Push-Up</title>
<path d="M 53.4 160.6 L 272.0 160.6 L 272.0 150.2 L 53.4 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="3" stroke-linejoin="round"/>
<path id="arm_r" d="M 104.6 90.6 L 90.7 116.7 L 97.0 145.6" stroke="#86cfc5" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_r" d="M 185.9 115.8 L 216.8 149.3 L 256.0 141.4 L 253.4 151.9" stroke="#a9afba" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="leg_l" d="M 180.0 116.2 L 221.1 136.5 L 260.0 145.8 L 253.1 154.2" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="girdle" d="M 98.7 92.4 L 98.7 90.5 L 104.6 90.6" stroke="#3a3f4b" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="pelvisBar" d="M 180.0 116.2 L 180.0 115.0 L 185.9 115.8" stroke="#3a3f4b" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<path id="spine" d="M 180.0 115.0 Q 138.4 102.5 98.7 90.5" stroke="#3a3f4b" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<path id="arm_l" d="M 98.7 92.4 L 98.1 122.0 L 101.0 151.4" stroke="#0d9488" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
<circle id="head" cx="79.6" cy="84.8" r="10" fill="white" stroke="#3a3f4b" stroke-width="6"/>
<line id="nose" x1="69.8" y1="87.0" x2="63.0" y2="88.5" stroke="#3a3f4b" stroke-width="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: 1.8 KiB