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>Hip Circles</title>
|
||||
<path d="M 115.1 151.3 L 180.7 162.7 L 210.4 157.5 L 144.8 146.1 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.4 96.4 L 178.0 126.4 L 164.2 149.3 L 170.4 153.6" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 166.2 37.1 L 176.9 48.3 L 182.9 45.2" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 156.5 96.6 L 167.2 127.0 L 155.8 150.5 L 161.8 154.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 166.2 37.1 L 157.8 37.1 L 152.4 38.1" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 166.4 96.4 L 160.0 96.0 L 156.5 96.6" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 96.0 Q 159.6 65.9 157.8 37.1" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 152.4 38.1 L 140.3 53.2 L 159.4 47.8" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="157.1" cy="23.2" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="164.1" y1="23.8" x2="167.6" y2="24.0" 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>Hip Circles</title>
|
||||
<path d="M 112.0 152.5 L 177.7 163.9 L 207.4 158.7 L 141.7 147.3 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 155.9 92.9 L 152.2 124.7 L 164.2 149.2 L 157.5 152.8" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 146.0 93.1 L 145.3 125.0 L 155.8 150.4 L 148.8 153.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 149.0 34.8 L 140.8 36.8 L 135.6 39.8" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 155.9 92.9 L 149.5 92.5 L 146.0 93.1" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 149.5 92.5 Q 147.9 62.7 140.8 36.8" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 149.0 34.8 L 161.2 40.5 L 166.7 41.5" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 135.6 39.8 L 125.9 58.1 L 144.0 51.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="138.1" cy="24.0" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="145.0" y1="25.2" x2="148.4" y2="25.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>Hip Circles</title>
|
||||
<path d="M 115.1 151.2 L 180.7 162.6 L 210.4 157.4 L 144.8 146.0 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 166.4 90.1 L 167.7 121.9 L 164.2 149.2 L 171.3 150.6" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 156.5 90.3 L 156.5 122.1 L 155.8 149.7 L 162.5 150.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 170.6 31.6 L 180.0 42.3 L 186.5 41.7" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 170.6 31.6 L 162.2 31.6 L 156.7 32.5" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 166.4 90.1 L 160.0 89.7 L 156.5 90.3" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 160.0 89.7 Q 160.4 59.8 162.2 31.6" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 156.7 32.5 L 143.4 47.2 L 162.9 44.3" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="162.9" cy="17.9" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="169.6" y1="19.8" x2="173.1" y2="20.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: 1.9 KiB |
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Hip Circles</title>
|
||||
<path d="M 118.2 149.9 L 183.8 161.3 L 213.5 156.2 L 147.9 144.8 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 176.9 92.9 L 176.9 124.8 L 164.2 149.2 L 171.0 152.8" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 187.4 36.0 L 194.4 51.3 L 201.9 46.9" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 167.0 93.1 L 166.4 125.0 L 155.8 150.4 L 162.9 153.4" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 187.4 36.0 L 179.2 33.8 L 174.0 32.6" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 176.9 92.9 L 170.5 92.5 L 167.0 93.1" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 170.5 92.5 Q 172.1 62.1 179.2 33.8" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 174.0 32.6 L 159.1 43.0 L 179.2 41.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="181.9" cy="20.1" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="188.8" y1="21.3" x2="192.3" y2="21.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: 1.9 KiB |
@@ -0,0 +1,37 @@
|
||||
# Hip Circles
|
||||
|
||||
Hands on the hips, circle the pelvis slowly like a hula-hoop warm-up to loosen
|
||||
the hips and low back and prime the whole midsection.
|
||||
|
||||
- **Category:** Mobility / warm-up
|
||||
- **Type:** Hip mobility
|
||||
- **Targets:** Hips, pelvis, lumbar spine
|
||||
- **Prescription:** 8 slow circles in each direction
|
||||
- **Defaults:** 2 × 8 bodyweight
|
||||
|
||||
## Setup
|
||||
|
||||
Stand with feet shoulder-width, hands resting on the hips, knees soft.
|
||||
|
||||
## Execution
|
||||
|
||||
1. Push the hips forward, then around to one side.
|
||||
2. Carry them back, then to the other side, tracing one big smooth circle.
|
||||
3. Keep the head and shoulders roughly still over the feet as the hips travel.
|
||||
4. Complete the circles, then reverse the direction.
|
||||
|
||||
## Cues
|
||||
|
||||
- Draw the circle with the hips, not the whole body.
|
||||
- Keep both feet flat and planted throughout.
|
||||
- Let the upper body counter-lean gently so the head stays centered.
|
||||
|
||||
## Common Mistakes
|
||||
|
||||
- Circling the shoulders instead of the hips.
|
||||
- Letting a foot lift as the hips swing across.
|
||||
- Rushing — the circle should be slow and even.
|
||||
|
||||
## Progression
|
||||
|
||||
Small circles → bigger hula-hoop circles → slow tempo in both directions.
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"name": "Hip Circles",
|
||||
"primary": 2,
|
||||
"camera": {"yaw": 45, "zoom": 0.7},
|
||||
"working": ["spine"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.12, "tween": 0.6,
|
||||
"root": {"pos": [160, 72]},
|
||||
"spine": [{"lateral": 0, "flexion": -2}, {"lateral": 0, "flexion": -2}],
|
||||
"neck": 0, "head": 0,
|
||||
"shoulder_r": {"flexion": -8, "abduction": 50}, "elbow_r": 125,
|
||||
"shoulder_l": {"flexion": -8, "abduction": 50}, "elbow_l": 125,
|
||||
"hip_r": 3, "knee_r": 5, "ankle_r": 0,
|
||||
"hip_l": 3, "knee_l": 5, "ankle_l": 0,
|
||||
"pins": {"foot_r": [154, 150], "foot_l": [166, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.12, "tween": 0.6,
|
||||
"root": {"pos": [145, 67]},
|
||||
"spine": [{"lateral": 8, "flexion": 0}, {"lateral": 8, "flexion": 0}],
|
||||
"neck": 0, "head": 0,
|
||||
"shoulder_r": {"flexion": -8, "abduction": 50}, "elbow_r": 125,
|
||||
"shoulder_l": {"flexion": -8, "abduction": 50}, "elbow_l": 125,
|
||||
"hip_r": 3, "knee_r": 5, "ankle_r": 0,
|
||||
"hip_l": 3, "knee_l": 5, "ankle_l": 0,
|
||||
"pins": {"foot_r": [154, 150], "foot_l": [166, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.12, "tween": 0.6,
|
||||
"root": {"pos": [160, 63]},
|
||||
"spine": [{"lateral": 0, "flexion": 2}, {"lateral": 0, "flexion": 2}],
|
||||
"neck": 0, "head": 0,
|
||||
"shoulder_r": {"flexion": -8, "abduction": 50}, "elbow_r": 125,
|
||||
"shoulder_l": {"flexion": -8, "abduction": 50}, "elbow_l": 125,
|
||||
"hip_r": 3, "knee_r": 5, "ankle_r": 0,
|
||||
"hip_l": 3, "knee_l": 5, "ankle_l": 0,
|
||||
"pins": {"foot_r": [154, 150], "foot_l": [166, 150]}
|
||||
},
|
||||
{
|
||||
"hold": 0.12, "tween": 0.6,
|
||||
"root": {"pos": [175, 67]},
|
||||
"spine": [{"lateral": -8, "flexion": 0}, {"lateral": -8, "flexion": 0}],
|
||||
"neck": 0, "head": 0,
|
||||
"shoulder_r": {"flexion": -8, "abduction": 50}, "elbow_r": 125,
|
||||
"shoulder_l": {"flexion": -8, "abduction": 50}, "elbow_l": 125,
|
||||
"hip_r": 3, "knee_r": 5, "ankle_r": 0,
|
||||
"hip_l": 3, "knee_l": 5, "ankle_l": 0,
|
||||
"pins": {"foot_r": [154, 150], "foot_l": [166, 150]}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 213 KiB |
|
After Width: | Height: | Size: 204 KiB |
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 180" fill="none">
|
||||
<title>Hip Circles</title>
|
||||
<path d="M 112.0 152.5 L 177.7 163.9 L 207.4 158.7 L 141.7 147.3 Z" fill="none" stroke="#b9bec9" stroke-width="2.1" stroke-linejoin="round"/>
|
||||
<path id="leg_l" d="M 155.9 92.9 L 152.2 124.7 L 164.2 149.2 L 157.5 152.8" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="leg_r" d="M 146.0 93.1 L 145.3 125.0 L 155.8 150.4 L 148.8 153.5" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="girdle" d="M 149.0 34.8 L 140.8 36.8 L 135.6 39.8" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="pelvisBar" d="M 155.9 92.9 L 149.5 92.5 L 146.0 93.1" stroke="#0d9488" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="spine" d="M 149.5 92.5 Q 147.9 62.7 140.8 36.8" stroke="#0d9488" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_l" d="M 149.0 34.8 L 161.2 40.5 L 166.7 41.5" stroke="#a9afba" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path id="arm_r" d="M 135.6 39.8 L 125.9 58.1 L 144.0 51.9" stroke="#3a3f4b" stroke-width="4.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<circle id="head" cx="138.1" cy="24.0" r="7.0" fill="white" stroke="#3a3f4b" stroke-width="4.2"/>
|
||||
<line id="nose" x1="145.0" y1="25.2" x2="148.4" y2="25.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 |