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,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>March in Place</title>
|
||||
<path d="M 142.5 157.4 L 207.2 157.4 L 207.2 150.2 L 142.5 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.1 89.5 L 163.1 121.2 L 161.4 148.7 L 169.1 149.2" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 168.3 30.6 L 178.8 48.5 L 198.8 42.1" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 89.9 L 188.9 103.8 L 177.6 128.9 L 184.1 133.0" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 168.3 30.6 L 164.2 30.5 L 164.2 31.9" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.1 89.5 L 160.0 89.0 L 160.0 89.9" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 89.0 Q 162.1 59.1 164.2 30.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 164.2 31.9 L 153.0 49.4 L 169.1 62.7" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="165.6" cy="16.8" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="172.6" y1="16.8" x2="177.5" y2="16.8" 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>March in Place</title>
|
||||
<path d="M 142.5 157.5 L 207.2 157.5 L 207.2 150.2 L 142.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 168.9 122.3 L 161.4 148.9 L 168.8 150.9" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 91.3 L 165.6 122.5 L 158.6 149.2 L 166.1 151.1" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 168.3 32.0 L 167.9 52.7 L 186.6 62.1" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 168.3 32.0 L 164.2 31.9 L 164.2 33.3" 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 162.1 60.5 164.2 31.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 164.2 33.3 L 163.8 54.0 L 182.5 63.4" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="165.6" cy="18.2" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="172.6" y1="18.2" x2="177.5" y2="18.2" 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>March in Place</title>
|
||||
<path d="M 142.5 157.4 L 207.2 157.4 L 207.2 150.2 L 142.5 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.1 89.5 L 193.1 103.4 L 181.7 128.6 L 188.2 132.6" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 89.9 L 158.8 121.5 L 158.6 149.1 L 150.9 149.1" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 168.3 30.6 L 157.2 48.1 L 173.2 61.4" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 168.3 30.6 L 164.2 30.5 L 164.2 31.9" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.1 89.5 L 160.0 89.0 L 160.0 89.9" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 89.0 Q 162.1 59.1 164.2 30.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 164.2 31.9 L 174.7 49.8 L 194.6 43.4" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="165.6" cy="16.8" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="172.6" y1="16.8" x2="177.5" y2="16.8" 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>March in Place</title>
|
||||
<path d="M 142.5 157.5 L 207.2 157.5 L 207.2 150.2 L 142.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 168.9 122.3 L 161.4 148.9 L 168.8 150.9" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 91.3 L 165.6 122.5 L 158.6 149.2 L 166.1 151.1" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 168.3 32.0 L 167.9 52.7 L 186.6 62.1" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 168.3 32.0 L 164.2 31.9 L 164.2 33.3" 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 162.1 60.5 164.2 31.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 164.2 33.3 L 163.8 54.0 L 182.5 63.4" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="165.6" cy="18.2" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="172.6" y1="18.2" x2="177.5" y2="18.2" 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,39 @@
|
||||
# March in Place
|
||||
|
||||
A rhythmic warm-up staple — drive one knee up while the opposite arm swings
|
||||
through, then switch, marching on the spot. It wakes the hip flexors, primes
|
||||
the calves and ankles, and lifts the heart rate before the real work.
|
||||
|
||||
- **Category:** Mobility / warm-up
|
||||
- **Type:** Dynamic warm-up
|
||||
- **Targets:** Hip flexors, calves, coordination
|
||||
- **Prescription:** 30–60 seconds at a steady, controlled cadence
|
||||
- **Defaults:** 2 × 30 s
|
||||
|
||||
## Setup
|
||||
|
||||
Stand tall with feet hip-width, arms relaxed at your sides, eyes forward.
|
||||
|
||||
## Execution
|
||||
|
||||
1. Drive one knee up toward hip height, staying tall through the spine.
|
||||
2. Swing the opposite arm forward as the knee rises — natural, like walking.
|
||||
3. Plant that foot and lift the other knee, letting the arms switch.
|
||||
4. Keep alternating in an even, unhurried rhythm.
|
||||
|
||||
## Cues
|
||||
|
||||
- Stand tall — no hunching or leaning back to swing the knee up.
|
||||
- Opposite arm to opposite knee, the same coordination as walking.
|
||||
- Land softly through the whole foot, not with a hard heel strike.
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
- Shuffling low, barely lifting the knees.
|
||||
- Rushing into a stiff, bouncy jog instead of a controlled march.
|
||||
- Same-side arm and knee moving together, which kills the rhythm.
|
||||
|
||||
## Progression
|
||||
|
||||
Lift the knees higher, quicken the cadence, or add a light arm reach overhead
|
||||
to turn it into a fuller-body warm-up.
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"name": "March in Place",
|
||||
"primary": 1,
|
||||
"camera": {"zoom": 0.7},
|
||||
"working": ["leg_r", "leg_l"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.18, "tween": 0.42,
|
||||
"root": {"pos": [160, 62], "pitch": 4},
|
||||
"spine": [0, 0],
|
||||
"neck": 2, "head": -6,
|
||||
"shoulder_r": -28, "elbow_r": 82,
|
||||
"shoulder_l": 34, "elbow_l": 78,
|
||||
"hip_r": 68, "knee_r": 88, "ankle_r": -8,
|
||||
"hip_l": 2, "knee_l": 4, "ankle_l": 0,
|
||||
"pins": {"foot_l": [162, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.14, "tween": 0.4,
|
||||
"root": {"pos": [160, 64], "pitch": 4},
|
||||
"spine": [0, 0],
|
||||
"neck": 2, "head": -6,
|
||||
"shoulder_r": 3, "elbow_r": 64,
|
||||
"shoulder_l": 3, "elbow_l": 64,
|
||||
"hip_r": 4, "knee_r": 4, "ankle_r": 0,
|
||||
"hip_l": 4, "knee_l": 4, "ankle_l": 0,
|
||||
"pins": {"foot_r": [158, 148], "foot_l": [162, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.18, "tween": 0.42,
|
||||
"root": {"pos": [160, 62], "pitch": 4},
|
||||
"spine": [0, 0],
|
||||
"neck": 2, "head": -6,
|
||||
"shoulder_r": 34, "elbow_r": 78,
|
||||
"shoulder_l": -28, "elbow_l": 82,
|
||||
"hip_r": 2, "knee_r": 4, "ankle_r": 0,
|
||||
"hip_l": 68, "knee_l": 88, "ankle_l": -8,
|
||||
"pins": {"foot_r": [158, 148]}
|
||||
},
|
||||
{
|
||||
"hold": 0.14, "tween": 0.4,
|
||||
"root": {"pos": [160, 64], "pitch": 4},
|
||||
"spine": [0, 0],
|
||||
"neck": 2, "head": -6,
|
||||
"shoulder_r": 3, "elbow_r": 64,
|
||||
"shoulder_l": 3, "elbow_l": 64,
|
||||
"hip_r": 4, "knee_r": 4, "ankle_r": 0,
|
||||
"hip_l": 4, "knee_l": 4, "ankle_l": 0,
|
||||
"pins": {"foot_r": [158, 148], "foot_l": [162, 150]}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 168 KiB |
|
After Width: | Height: | Size: 108 KiB |
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>March in Place</title>
|
||||
<path d="M 142.5 157.4 L 207.2 157.4 L 207.2 150.2 L 142.5 150.2 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 164.1 89.5 L 163.1 121.2 L 161.4 148.7 L 169.1 149.2" stroke="#86cfc5" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 168.3 30.6 L 178.8 48.5 L 198.8 42.1" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 160.0 89.9 L 188.9 103.8 L 177.6 128.9 L 184.1 133.0" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 168.3 30.6 L 164.2 30.5 L 164.2 31.9" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 164.1 89.5 L 160.0 89.0 L 160.0 89.9" stroke="#3a3f4b" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 89.0 Q 162.1 59.1 164.2 30.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 164.2 31.9 L 153.0 49.4 L 169.1 62.7" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="165.6" cy="16.8" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="172.6" y1="16.8" x2="177.5" y2="16.8" 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 |