Add 17 warm-up, stretch, and mobility exercises with new starter splits
The library grows to 64 exercises: arm circles, torso twist, leg swings, hip and neck mobility, marching, calf raises, and a full stretching set (forward fold, quad, calf, chest, triceps, hip flexor, butterfly, cobra, child's pose), each with an authored motion rig and reference page. Eight new starter splits join the catalog — Upper and Lower Body Warm-Up, Morning Wake-Up, Morning Mobility, Full Body Stretch, Evening Stretch, Free Weight Basics, and Full Body Machines — regenerated deterministically at split schema v3 with fixed ULIDs. Claude-Session: https://claude.ai/code/session_01HJDQQDA9QdP8zByg43H5v3
@@ -0,0 +1,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Standing Side Bend</title>
|
||||
<path d="M 140.2 146.3 L 140.2 161.3 L 179.8 161.3 L 179.8 146.3 Z" fill="none" stroke="#b9bec9" stroke-width="1.98" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.6 99.2 L 174.3 127.9 L 163.3 150.1 L 168.9 153.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.4 99.2 L 145.7 127.9 L 156.7 150.1 L 151.1 153.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 144.1 45.3 L 137.9 48.9 L 131.7 52.6" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.6 99.2 L 160.0 99.2 L 155.4 99.2" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 99.2 Q 155.4 70.6 137.9 48.9" stroke="#0d9488" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 131.7 52.6 L 139.4 70.8 L 146.7 88.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 144.1 45.3 L 152.0 27.1 L 155.2 14.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="131.1" cy="37.8" r="6.6000000000000005" fill="white" stroke="#3a3f4b" stroke-width="3.96"/>
|
||||
<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,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Standing Side Bend</title>
|
||||
<path d="M 140.2 146.3 L 140.2 161.3 L 179.8 161.3 L 179.8 146.3 Z" fill="none" stroke="#b9bec9" stroke-width="1.98" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.6 99.2 L 174.3 127.9 L 163.3 150.1 L 168.9 153.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.4 99.2 L 145.7 127.9 L 156.7 150.1 L 151.1 153.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 167.3 44.0 L 160.0 44.0 L 152.7 44.0" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.6 99.2 L 160.0 99.2 L 155.4 99.2" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 99.2 Q 160.0 70.9 160.0 44.0" stroke="#0d9488" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 167.3 44.0 L 170.0 63.5 L 172.7 82.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 152.7 44.0 L 150.0 63.5 L 147.3 82.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="31.0" r="6.6000000000000005" fill="white" stroke="#3a3f4b" stroke-width="3.96"/>
|
||||
<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,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Standing Side Bend</title>
|
||||
<path d="M 140.2 146.3 L 140.2 161.3 L 179.8 161.3 L 179.8 146.3 Z" fill="none" stroke="#b9bec9" stroke-width="1.98" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.6 99.2 L 174.3 127.9 L 163.3 150.1 L 168.9 153.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.4 99.2 L 145.7 127.9 L 156.7 150.1 L 151.1 153.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 188.3 52.6 L 182.1 48.9 L 175.9 45.3" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.6 99.2 L 160.0 99.2 L 155.4 99.2" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 99.2 Q 164.6 70.6 182.1 48.9" stroke="#0d9488" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 188.3 52.6 L 180.6 70.8 L 173.3 88.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 175.9 45.3 L 168.0 27.1 L 164.8 14.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="188.9" cy="37.8" r="6.6000000000000005" fill="white" stroke="#3a3f4b" stroke-width="3.96"/>
|
||||
<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,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Standing Side Bend</title>
|
||||
<path d="M 140.2 146.3 L 140.2 161.3 L 179.8 161.3 L 179.8 146.3 Z" fill="none" stroke="#b9bec9" stroke-width="1.98" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.6 99.2 L 174.3 127.9 L 163.3 150.1 L 168.9 153.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.4 99.2 L 145.7 127.9 L 156.7 150.1 L 151.1 153.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 167.3 44.0 L 160.0 44.0 L 152.7 44.0" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.6 99.2 L 160.0 99.2 L 155.4 99.2" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 99.2 Q 160.0 70.9 160.0 44.0" stroke="#0d9488" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 167.3 44.0 L 170.0 63.5 L 172.7 82.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 152.7 44.0 L 150.0 63.5 L 147.3 82.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="31.0" r="6.6000000000000005" fill="white" stroke="#3a3f4b" stroke-width="3.96"/>
|
||||
<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,40 @@
|
||||
# Standing Side Bend
|
||||
|
||||
Reach one arm overhead and lean to the opposite side, alternating, to lengthen
|
||||
the side body and open the ribs and lats.
|
||||
|
||||
- **Category:** Mobility / warm-up
|
||||
- **Type:** Lateral flexion mobility
|
||||
- **Targets:** Obliques, quadratus lumborum, lats
|
||||
- **Prescription:** 8 slow bends to each side, reaching long
|
||||
- **Defaults:** 2 × 8 bodyweight
|
||||
|
||||
## Setup
|
||||
|
||||
Stand tall, feet hip-width, one arm relaxed and the other ready to reach
|
||||
overhead.
|
||||
|
||||
## Execution
|
||||
|
||||
1. Raise one arm overhead and reach it up and over as you bend to the opposite
|
||||
side.
|
||||
2. Feel a long stretch down the whole reaching side; keep both feet planted.
|
||||
3. Return to tall through center, then reach the other arm over and bend the
|
||||
other way.
|
||||
|
||||
## Cues
|
||||
|
||||
- Reach up and over — think length, not a sideways crunch.
|
||||
- Keep the hips level and both feet flat on the floor.
|
||||
- Bend straight to the side; don't twist or lean forward.
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
- Collapsing down into the bend instead of reaching long.
|
||||
- Shoving the hips out to the side to counterbalance.
|
||||
- Rotating the trunk forward out of the pure side bend.
|
||||
|
||||
## Progression
|
||||
|
||||
Short range → full reach-and-over → add a brief hold at the end range on each
|
||||
side.
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"name": "Standing Side Bend",
|
||||
"primary": 1,
|
||||
"camera": {"yaw": 90, "zoom": 0.66},
|
||||
"working": ["spine"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.5, "tween": 1.0,
|
||||
"root": {"pos": [160, 72]},
|
||||
"spine": [{"lateral": 16}, {"lateral": 15}],
|
||||
"neck": 0,
|
||||
"shoulder_l": {"flexion": 14, "abduction": 126}, "elbow_l": 50,
|
||||
"shoulder_r": {"flexion": 4, "abduction": 8}, "elbow_r": 14,
|
||||
"hip_r": 2, "knee_r": 2, "ankle_r": 0,
|
||||
"hip_l": 2, "knee_l": 2, "ankle_l": 0,
|
||||
"pins": {"foot_r": [155, 150], "foot_l": [165, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.3, "tween": 0.9,
|
||||
"root": {"pos": [160, 72]},
|
||||
"spine": [{"lateral": 0}, {"lateral": 0}],
|
||||
"neck": 0,
|
||||
"shoulder_l": {"flexion": 4, "abduction": 8}, "elbow_l": 14,
|
||||
"shoulder_r": {"flexion": 4, "abduction": 8}, "elbow_r": 14,
|
||||
"hip_r": 2, "knee_r": 2, "ankle_r": 0,
|
||||
"hip_l": 2, "knee_l": 2, "ankle_l": 0,
|
||||
"pins": {"foot_r": [155, 150], "foot_l": [165, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.5, "tween": 1.0,
|
||||
"root": {"pos": [160, 72]},
|
||||
"spine": [{"lateral": -16}, {"lateral": -15}],
|
||||
"neck": 0,
|
||||
"shoulder_r": {"flexion": 14, "abduction": 126}, "elbow_r": 50,
|
||||
"shoulder_l": {"flexion": 4, "abduction": 8}, "elbow_l": 14,
|
||||
"hip_r": 2, "knee_r": 2, "ankle_r": 0,
|
||||
"hip_l": 2, "knee_l": 2, "ankle_l": 0,
|
||||
"pins": {"foot_r": [155, 150], "foot_l": [165, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.3, "tween": 0.9,
|
||||
"root": {"pos": [160, 72]},
|
||||
"spine": [{"lateral": 0}, {"lateral": 0}],
|
||||
"neck": 0,
|
||||
"shoulder_l": {"flexion": 4, "abduction": 8}, "elbow_l": 14,
|
||||
"shoulder_r": {"flexion": 4, "abduction": 8}, "elbow_r": 14,
|
||||
"hip_r": 2, "knee_r": 2, "ankle_r": 0,
|
||||
"hip_l": 2, "knee_l": 2, "ankle_l": 0,
|
||||
"pins": {"foot_r": [155, 150], "foot_l": [165, 150]}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 420 KiB |
|
After Width: | Height: | Size: 259 KiB |
@@ -0,0 +1,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Standing Side Bend</title>
|
||||
<path d="M 140.2 146.3 L 140.2 161.3 L 179.8 161.3 L 179.8 146.3 Z" fill="none" stroke="#b9bec9" stroke-width="1.98" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.6 99.2 L 174.3 127.9 L 163.3 150.1 L 168.9 153.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.4 99.2 L 145.7 127.9 L 156.7 150.1 L 151.1 153.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 144.1 45.3 L 137.9 48.9 L 131.7 52.6" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.6 99.2 L 160.0 99.2 L 155.4 99.2" stroke="#0d9488" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 99.2 Q 155.4 70.6 137.9 48.9" stroke="#0d9488" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 131.7 52.6 L 139.4 70.8 L 146.7 88.9" stroke="#a9afba" stroke-width="3.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 144.1 45.3 L 152.0 27.1 L 155.2 14.9" stroke="#3a3f4b" stroke-width="3.96" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="131.1" cy="37.8" r="6.6000000000000005" fill="white" stroke="#3a3f4b" stroke-width="3.96"/>
|
||||
<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 |