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
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Torso Twist</title>
|
||||
<path d="M 139.0 148.3 L 139.0 159.4 L 181.0 159.4 L 181.0 148.3 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.9 90.4 L 165.3 122.2 L 166.3 149.8 L 161.0 150.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.1 90.4 L 154.7 122.2 L 153.7 149.8 L 159.0 150.9" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 166.5 32.5 L 160.0 31.8 L 153.5 31.1" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.9 90.4 L 160.0 90.4 L 155.1 90.4" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 90.4 Q 160.0 60.4 160.0 31.8" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 153.5 31.1 L 146.3 48.9 L 136.5 61.4" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 166.5 32.5 L 159.4 50.3 L 149.6 62.8" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="18.0" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="153.5" y1="20.6" x2="151.5" y2="21.3" 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: 1.9 KiB |
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Torso Twist</title>
|
||||
<path d="M 139.0 148.3 L 139.0 159.4 L 181.0 159.4 L 181.0 148.3 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.9 90.4 L 165.3 122.2 L 166.3 149.8 L 161.0 150.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.1 90.4 L 154.7 122.2 L 153.7 149.8 L 159.0 150.9" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 166.5 31.1 L 160.0 31.8 L 153.5 32.5" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.9 90.4 L 160.0 90.4 L 155.1 90.4" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 90.4 Q 160.0 60.4 160.0 31.8" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 166.5 31.1 L 173.7 48.9 L 183.5 61.4" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 153.5 32.5 L 160.6 50.3 L 170.4 62.8" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="18.0" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="166.5" y1="20.6" x2="168.5" y2="21.3" 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: 1.9 KiB |
@@ -0,0 +1,37 @@
|
||||
# Torso Twist
|
||||
|
||||
Relaxed standing rotation from side to side, letting the arms swing freely, to
|
||||
warm the spine and obliques before lifting.
|
||||
|
||||
- **Category:** Mobility / warm-up
|
||||
- **Type:** Spinal rotation
|
||||
- **Targets:** Obliques, thoracic spine, lower back
|
||||
- **Prescription:** 10 easy twists to each side, arms loose
|
||||
- **Defaults:** 2 × 10 bodyweight
|
||||
|
||||
## Setup
|
||||
|
||||
Stand with feet shoulder-width, knees soft, arms hanging loose.
|
||||
|
||||
## Execution
|
||||
|
||||
1. Turn the trunk gently to one side, letting the arms swing across the body.
|
||||
2. Let that momentum carry you back through center to the other side.
|
||||
3. Keep a smooth, relaxed rhythm turning side to side.
|
||||
|
||||
## Cues
|
||||
|
||||
- Let the arms be floppy — they trail the twist, they don't drive it.
|
||||
- Rotate from the waist and mid-back while the hips stay mostly forward.
|
||||
- Keep the neck loose and let the head follow the shoulders.
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
- Yanking the arms to force more rotation.
|
||||
- Letting the feet peel off the floor as you turn.
|
||||
- Twisting so hard the low back pinches.
|
||||
|
||||
## Progression
|
||||
|
||||
Small easy twists → fuller rotation → slow, controlled turns with a brief pause
|
||||
at each end.
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "Torso Twist",
|
||||
"primary": 1,
|
||||
"camera": {"yaw": 90, "zoom": 0.7},
|
||||
"working": ["spine"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.3, "tween": 1.1,
|
||||
"root": {"pos": [160, 64]},
|
||||
"spine": [{"rotation": 18}, {"rotation": 14}],
|
||||
"neck": {"rotation": -8},
|
||||
"shoulder_r": 40, "elbow_r": 22,
|
||||
"shoulder_l": 40, "elbow_l": 22,
|
||||
"hip_r": 2, "knee_r": 3, "ankle_r": 0,
|
||||
"hip_l": 2, "knee_l": 3, "ankle_l": 0,
|
||||
"pins": {"foot_r": [151, 150], "foot_l": [169, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.3, "tween": 1.1,
|
||||
"root": {"pos": [160, 64]},
|
||||
"spine": [{"rotation": -18}, {"rotation": -14}],
|
||||
"neck": {"rotation": 8},
|
||||
"shoulder_r": 40, "elbow_r": 22,
|
||||
"shoulder_l": 40, "elbow_l": 22,
|
||||
"hip_r": 2, "knee_r": 3, "ankle_r": 0,
|
||||
"hip_l": 2, "knee_l": 3, "ankle_l": 0,
|
||||
"pins": {"foot_r": [151, 150], "foot_l": [169, 150]}
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 183 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 118 KiB |
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Torso Twist</title>
|
||||
<path d="M 139.0 148.3 L 139.0 159.4 L 181.0 159.4 L 181.0 148.3 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.9 90.4 L 165.3 122.2 L 166.3 149.8 L 161.0 150.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 155.1 90.4 L 154.7 122.2 L 153.7 149.8 L 159.0 150.9" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 166.5 32.5 L 160.0 31.8 L 153.5 31.1" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.9 90.4 L 160.0 90.4 L 155.1 90.4" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 90.4 Q 160.0 60.4 160.0 31.8" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 153.5 31.1 L 146.3 48.9 L 136.5 61.4" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 166.5 32.5 L 159.4 50.3 L 149.6 62.8" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="160.0" cy="18.0" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="153.5" y1="20.6" x2="151.5" y2="21.3" 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: 1.9 KiB |
Reference in New Issue
Block a user