Add the exercise reference library, animated exercise figures, and exercise categories
Exercise Library/ holds per-exercise reference docs (setup, cues, mistakes, progressions) with SVG visuals and a Python-rendered motion pipeline; Workouts/ExerciseFigure renders the bundled *.motion.json rigs as animated stick figures on the exercise screen. Exercises gain a warm-up/main-circuit category, timed exercises display hold time via planSummary, and a completed exercise reopens to a check screen instead of its timers.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "Bird Dog",
|
||||
"primary": 2,
|
||||
"working": ["arm_r", "leg_l"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.5, "tween": 0.8,
|
||||
"root": [190, 106],
|
||||
"spine": [171, 171], "neck": 187, "gaze": 205,
|
||||
"arm_r": [-90, -90], "arm_l": [-90, -90],
|
||||
"leg_r": [-83, 0], "leg_l": [-83, 0],
|
||||
"pins": {"hand_r": [105, 152], "hand_l": [111, 154]}
|
||||
},
|
||||
{
|
||||
"hold": 1.4, "tween": 0.8,
|
||||
"root": [190, 106],
|
||||
"spine": [171, 171], "neck": 187, "gaze": 195,
|
||||
"arm_r": [161, 161], "arm_l": [-90, -90],
|
||||
"leg_r": [-83, 0], "leg_l": [15, 15],
|
||||
"pins": {"hand_l": [111, 154]}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "Cat-Cow",
|
||||
"primary": 1,
|
||||
"working": ["spine"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.8, "tween": 0.9,
|
||||
"root": [190, 106],
|
||||
"spine": [188, 155], "neck": 185, "gaze": 164,
|
||||
"arm_r": [-90, -90], "arm_l": [-90, -90],
|
||||
"leg_r": [-83, 0], "leg_l": [-83, 0],
|
||||
"pins": {"hand_r": [105, 152], "hand_l": [111, 154]}
|
||||
},
|
||||
{
|
||||
"hold": 0.8, "tween": 0.9,
|
||||
"root": [190, 106],
|
||||
"spine": [155, 192], "neck": 215, "gaze": 225,
|
||||
"arm_r": [-90, -90], "arm_l": [-90, -90],
|
||||
"leg_r": [-83, 0], "leg_l": [-83, 0],
|
||||
"pins": {"hand_r": [105, 152], "hand_l": [111, 154]}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "Dead Bug",
|
||||
"primary": 2,
|
||||
"working": ["arm_r", "leg_l"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.5, "tween": 0.8,
|
||||
"root": [185, 148],
|
||||
"spine": [180, 180], "neck": 168, "gaze": 90,
|
||||
"arm_r": [90, 90], "arm_l": [90, 90],
|
||||
"leg_r": [64, -10], "leg_l": [64, -10]
|
||||
},
|
||||
{
|
||||
"hold": 0.9, "tween": 0.8,
|
||||
"root": [185, 148],
|
||||
"spine": [180, 180], "neck": 168, "gaze": 90,
|
||||
"arm_r": [135, 135], "arm_l": [90, 90],
|
||||
"leg_r": [64, -10], "leg_l": [16, 16]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Hollow Body Hold",
|
||||
"primary": 2,
|
||||
"working": ["spine"],
|
||||
"hide": ["arm_l"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.4, "tween": 0.8,
|
||||
"root": [185, 148],
|
||||
"spine": [180, 180], "neck": 168, "gaze": 90,
|
||||
"arm_r": [180, 180],
|
||||
"leg_r": [0, 0], "leg_l": [0, 0]
|
||||
},
|
||||
{
|
||||
"hold": 1.8, "tween": 0.8,
|
||||
"root": [185, 148],
|
||||
"spine": [174, 160], "neck": 140, "gaze": 50,
|
||||
"arm_r": [155, 155],
|
||||
"leg_r": [12, 12], "leg_l": [12, 12]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Leg Raises",
|
||||
"primary": 1,
|
||||
"working": ["leg_r", "leg_l"],
|
||||
"hide": ["arm_r"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.5, "tween": 1.4,
|
||||
"root": [185, 148],
|
||||
"spine": [180, 180], "neck": 168, "gaze": 90,
|
||||
"arm_l": [-2, -2],
|
||||
"leg_r": [60, 60], "leg_l": [60, 60]
|
||||
},
|
||||
{
|
||||
"hold": 0.3, "tween": 0.6,
|
||||
"root": [185, 148],
|
||||
"spine": [180, 180], "neck": 168, "gaze": 90,
|
||||
"arm_l": [-2, -2],
|
||||
"leg_r": [8, 8], "leg_l": [8, 8]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "Plank",
|
||||
"primary": 2,
|
||||
"working": ["spine"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.4, "tween": 0.7,
|
||||
"root": [172, 114],
|
||||
"spine": [185, 185], "neck": 185, "gaze": 210,
|
||||
"arm_r": [-90, 180], "arm_l": [-90, 180],
|
||||
"leg_r": [-55, 0], "leg_l": [-55, 0]
|
||||
},
|
||||
{
|
||||
"hold": 1.8, "tween": 0.7,
|
||||
"root": [168, 137],
|
||||
"spine": [170, 170], "neck": 170, "gaze": 210,
|
||||
"arm_r": [-90, 180], "arm_l": [-90, 180],
|
||||
"leg_r": [-10, -10], "leg_l": [-10, -10]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "Reverse Crunch",
|
||||
"primary": 2,
|
||||
"working": ["spine"],
|
||||
"hide": ["arm_r"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.5, "tween": 0.7,
|
||||
"root": [172, 148],
|
||||
"spine": [180, 180], "neck": 168, "gaze": 90,
|
||||
"arm_l": [-2, -2],
|
||||
"leg_r": [100, -20], "leg_l": [100, -20]
|
||||
},
|
||||
{
|
||||
"hold": 0.8, "tween": 0.9,
|
||||
"root": [166, 136],
|
||||
"spine": [195, 175], "neck": 182, "gaze": 90,
|
||||
"arm_l": [-2, -2],
|
||||
"leg_r": [115, -10], "leg_l": [115, -10]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "Side Plank",
|
||||
"primary": 2,
|
||||
"working": ["spine"],
|
||||
"frames": [
|
||||
{
|
||||
"hold": 0.4, "tween": 0.8,
|
||||
"root": [174, 150],
|
||||
"spine": [162, 162], "neck": 162, "gaze": 175,
|
||||
"arm_r": [-90, 180], "arm_l": [-20, -15],
|
||||
"leg_r": [-1, -1], "leg_l": [-1, -1],
|
||||
"pins": {"hand_r": [60, 152]}
|
||||
},
|
||||
{
|
||||
"hold": 1.8, "tween": 0.8,
|
||||
"root": [174, 137],
|
||||
"spine": [170, 170], "neck": 170, "gaze": 180,
|
||||
"arm_r": [-90, 180], "arm_l": [80, 80],
|
||||
"leg_r": [-10, -10], "leg_l": [-10, -10],
|
||||
"pins": {"hand_r": [60, 152]}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"neutral": {
|
||||
"headR": 10,
|
||||
"neck": 20,
|
||||
"spine1": 43,
|
||||
"spine2": 42,
|
||||
"upperArm": 30,
|
||||
"foreArm": 30,
|
||||
"thigh": 46,
|
||||
"shin": 40,
|
||||
"leftOffset": [6, 2]
|
||||
},
|
||||
"female": {
|
||||
"headR": 9,
|
||||
"neck": 19,
|
||||
"spine1": 40,
|
||||
"spine2": 39,
|
||||
"upperArm": 27,
|
||||
"foreArm": 27,
|
||||
"thigh": 47,
|
||||
"shin": 41,
|
||||
"leftOffset": [6, 2]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user