diff --git a/CHANGELOG.md b/CHANGELOG.md
index a7db624..811d183 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
**July 2026**
+The stick figure now has broader, more human proportions with a visible shoulder girdle and pelvis.
+
+The Leg Extension and Leg Curl form guides now press against a roller pad at the ankle, like the real machines.
+
Bodyweight form guides now slowly circle around the figure while it moves, showing the exercise from every side.
The form-guide figures now have feet — heels rise on calf raises, toes point through leg lifts, and kneeling feet rest naturally.
diff --git a/Exercise Library/Abdominal/frames/frame-1.svg b/Exercise Library/Abdominal/frames/frame-1.svg
index 3328638..05a8ef7 100644
--- a/Exercise Library/Abdominal/frames/frame-1.svg
+++ b/Exercise Library/Abdominal/frames/frame-1.svg
@@ -8,9 +8,11 @@
+
+
-
+
diff --git a/Exercise Library/Abdominal/frames/frame-2.svg b/Exercise Library/Abdominal/frames/frame-2.svg
index 49d9709..6263075 100644
--- a/Exercise Library/Abdominal/frames/frame-2.svg
+++ b/Exercise Library/Abdominal/frames/frame-2.svg
@@ -8,9 +8,11 @@
+
+
-
+
diff --git a/Exercise Library/Abdominal/preview.gif b/Exercise Library/Abdominal/preview.gif
index 30335de..2ae1c6c 100644
Binary files a/Exercise Library/Abdominal/preview.gif and b/Exercise Library/Abdominal/preview.gif differ
diff --git a/Exercise Library/Abdominal/visual.svg b/Exercise Library/Abdominal/visual.svg
index 49d9709..6263075 100644
--- a/Exercise Library/Abdominal/visual.svg
+++ b/Exercise Library/Abdominal/visual.svg
@@ -8,9 +8,11 @@
+
+
-
+
diff --git a/Exercise Library/Abductor/frames/frame-1.svg b/Exercise Library/Abductor/frames/frame-1.svg
index 4a1f9ec..e58b216 100644
--- a/Exercise Library/Abductor/frames/frame-1.svg
+++ b/Exercise Library/Abductor/frames/frame-1.svg
@@ -4,13 +4,15 @@
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/Exercise Library/Abductor/frames/frame-2.svg b/Exercise Library/Abductor/frames/frame-2.svg
index 3c6dfbf..da2b2be 100644
--- a/Exercise Library/Abductor/frames/frame-2.svg
+++ b/Exercise Library/Abductor/frames/frame-2.svg
@@ -4,13 +4,15 @@
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/Exercise Library/Abductor/preview.gif b/Exercise Library/Abductor/preview.gif
index 8dcce44..a3e186c 100644
Binary files a/Exercise Library/Abductor/preview.gif and b/Exercise Library/Abductor/preview.gif differ
diff --git a/Exercise Library/Abductor/visual.svg b/Exercise Library/Abductor/visual.svg
index 3c6dfbf..da2b2be 100644
--- a/Exercise Library/Abductor/visual.svg
+++ b/Exercise Library/Abductor/visual.svg
@@ -4,13 +4,15 @@
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/Exercise Library/Adductor/frames/frame-1.svg b/Exercise Library/Adductor/frames/frame-1.svg
index 6ef26d0..ff6a0d0 100644
--- a/Exercise Library/Adductor/frames/frame-1.svg
+++ b/Exercise Library/Adductor/frames/frame-1.svg
@@ -4,13 +4,15 @@
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/Exercise Library/Adductor/frames/frame-2.svg b/Exercise Library/Adductor/frames/frame-2.svg
index faf81a8..cf026d3 100644
--- a/Exercise Library/Adductor/frames/frame-2.svg
+++ b/Exercise Library/Adductor/frames/frame-2.svg
@@ -4,13 +4,15 @@
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/Exercise Library/Adductor/preview.gif b/Exercise Library/Adductor/preview.gif
index abe9a10..ab72d06 100644
Binary files a/Exercise Library/Adductor/preview.gif and b/Exercise Library/Adductor/preview.gif differ
diff --git a/Exercise Library/Adductor/visual.svg b/Exercise Library/Adductor/visual.svg
index faf81a8..cf026d3 100644
--- a/Exercise Library/Adductor/visual.svg
+++ b/Exercise Library/Adductor/visual.svg
@@ -4,13 +4,15 @@
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/Exercise Library/Arm Curl/frames/frame-1.svg b/Exercise Library/Arm Curl/frames/frame-1.svg
index e1bfc2b..97c7862 100644
--- a/Exercise Library/Arm Curl/frames/frame-1.svg
+++ b/Exercise Library/Arm Curl/frames/frame-1.svg
@@ -6,9 +6,11 @@
+
+
-
+
diff --git a/Exercise Library/Arm Curl/frames/frame-2.svg b/Exercise Library/Arm Curl/frames/frame-2.svg
index 985972f..4236f77 100644
--- a/Exercise Library/Arm Curl/frames/frame-2.svg
+++ b/Exercise Library/Arm Curl/frames/frame-2.svg
@@ -6,9 +6,11 @@
+
+
-
+
diff --git a/Exercise Library/Arm Curl/preview.gif b/Exercise Library/Arm Curl/preview.gif
index 4ac8d39..112945d 100644
Binary files a/Exercise Library/Arm Curl/preview.gif and b/Exercise Library/Arm Curl/preview.gif differ
diff --git a/Exercise Library/Arm Curl/visual.svg b/Exercise Library/Arm Curl/visual.svg
index 985972f..4236f77 100644
--- a/Exercise Library/Arm Curl/visual.svg
+++ b/Exercise Library/Arm Curl/visual.svg
@@ -6,9 +6,11 @@
+
+
-
+
diff --git a/Exercise Library/Bird Dog/frames/frame-1.svg b/Exercise Library/Bird Dog/frames/frame-1.svg
index b6772ea..a665659 100644
--- a/Exercise Library/Bird Dog/frames/frame-1.svg
+++ b/Exercise Library/Bird Dog/frames/frame-1.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Bird Dog/frames/frame-2.svg b/Exercise Library/Bird Dog/frames/frame-2.svg
index 376ad2c..a651643 100644
--- a/Exercise Library/Bird Dog/frames/frame-2.svg
+++ b/Exercise Library/Bird Dog/frames/frame-2.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Bird Dog/frames/frame-3.svg b/Exercise Library/Bird Dog/frames/frame-3.svg
index b6772ea..a665659 100644
--- a/Exercise Library/Bird Dog/frames/frame-3.svg
+++ b/Exercise Library/Bird Dog/frames/frame-3.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Bird Dog/frames/frame-4.svg b/Exercise Library/Bird Dog/frames/frame-4.svg
index 8a3f9a4..451db2b 100644
--- a/Exercise Library/Bird Dog/frames/frame-4.svg
+++ b/Exercise Library/Bird Dog/frames/frame-4.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Bird Dog/preview.gif b/Exercise Library/Bird Dog/preview.gif
index 98ffc7d..61faee3 100644
Binary files a/Exercise Library/Bird Dog/preview.gif and b/Exercise Library/Bird Dog/preview.gif differ
diff --git a/Exercise Library/Bird Dog/visual.svg b/Exercise Library/Bird Dog/visual.svg
index 376ad2c..a651643 100644
--- a/Exercise Library/Bird Dog/visual.svg
+++ b/Exercise Library/Bird Dog/visual.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Calfs/frames/frame-1.svg b/Exercise Library/Calfs/frames/frame-1.svg
index 6e20245..d0d1af7 100644
--- a/Exercise Library/Calfs/frames/frame-1.svg
+++ b/Exercise Library/Calfs/frames/frame-1.svg
@@ -9,9 +9,11 @@
+
+
-
+
diff --git a/Exercise Library/Calfs/frames/frame-2.svg b/Exercise Library/Calfs/frames/frame-2.svg
index e3f2a27..a1c0c59 100644
--- a/Exercise Library/Calfs/frames/frame-2.svg
+++ b/Exercise Library/Calfs/frames/frame-2.svg
@@ -9,9 +9,11 @@
+
+
-
+
diff --git a/Exercise Library/Calfs/preview.gif b/Exercise Library/Calfs/preview.gif
index d347630..eeb354f 100644
Binary files a/Exercise Library/Calfs/preview.gif and b/Exercise Library/Calfs/preview.gif differ
diff --git a/Exercise Library/Calfs/visual.svg b/Exercise Library/Calfs/visual.svg
index e3f2a27..a1c0c59 100644
--- a/Exercise Library/Calfs/visual.svg
+++ b/Exercise Library/Calfs/visual.svg
@@ -9,9 +9,11 @@
+
+
-
+
diff --git a/Exercise Library/Cat-Cow/frames/frame-1.svg b/Exercise Library/Cat-Cow/frames/frame-1.svg
index 7011f6a..991f939 100644
--- a/Exercise Library/Cat-Cow/frames/frame-1.svg
+++ b/Exercise Library/Cat-Cow/frames/frame-1.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Cat-Cow/frames/frame-2.svg b/Exercise Library/Cat-Cow/frames/frame-2.svg
index ec04352..9eeedfb 100644
--- a/Exercise Library/Cat-Cow/frames/frame-2.svg
+++ b/Exercise Library/Cat-Cow/frames/frame-2.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Cat-Cow/preview.gif b/Exercise Library/Cat-Cow/preview.gif
index fdb50c9..b4ad78e 100644
Binary files a/Exercise Library/Cat-Cow/preview.gif and b/Exercise Library/Cat-Cow/preview.gif differ
diff --git a/Exercise Library/Cat-Cow/visual.svg b/Exercise Library/Cat-Cow/visual.svg
index 7011f6a..991f939 100644
--- a/Exercise Library/Cat-Cow/visual.svg
+++ b/Exercise Library/Cat-Cow/visual.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Chest Press/frames/frame-1.svg b/Exercise Library/Chest Press/frames/frame-1.svg
index 66db829..393c779 100644
--- a/Exercise Library/Chest Press/frames/frame-1.svg
+++ b/Exercise Library/Chest Press/frames/frame-1.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Chest Press/frames/frame-2.svg b/Exercise Library/Chest Press/frames/frame-2.svg
index f1cce65..bd58417 100644
--- a/Exercise Library/Chest Press/frames/frame-2.svg
+++ b/Exercise Library/Chest Press/frames/frame-2.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Chest Press/preview.gif b/Exercise Library/Chest Press/preview.gif
index 2fabc73..6d5b473 100644
Binary files a/Exercise Library/Chest Press/preview.gif and b/Exercise Library/Chest Press/preview.gif differ
diff --git a/Exercise Library/Chest Press/visual.svg b/Exercise Library/Chest Press/visual.svg
index f1cce65..bd58417 100644
--- a/Exercise Library/Chest Press/visual.svg
+++ b/Exercise Library/Chest Press/visual.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Dead Bug/frames/frame-1.svg b/Exercise Library/Dead Bug/frames/frame-1.svg
index ab520e8..3be08b6 100644
--- a/Exercise Library/Dead Bug/frames/frame-1.svg
+++ b/Exercise Library/Dead Bug/frames/frame-1.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Dead Bug/frames/frame-2.svg b/Exercise Library/Dead Bug/frames/frame-2.svg
index baf45c4..0542d5b 100644
--- a/Exercise Library/Dead Bug/frames/frame-2.svg
+++ b/Exercise Library/Dead Bug/frames/frame-2.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Dead Bug/frames/frame-3.svg b/Exercise Library/Dead Bug/frames/frame-3.svg
index ab520e8..3be08b6 100644
--- a/Exercise Library/Dead Bug/frames/frame-3.svg
+++ b/Exercise Library/Dead Bug/frames/frame-3.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Dead Bug/frames/frame-4.svg b/Exercise Library/Dead Bug/frames/frame-4.svg
index b43a0ca..9a4e639 100644
--- a/Exercise Library/Dead Bug/frames/frame-4.svg
+++ b/Exercise Library/Dead Bug/frames/frame-4.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Dead Bug/preview.gif b/Exercise Library/Dead Bug/preview.gif
index 9bbdc59..29dcf81 100644
Binary files a/Exercise Library/Dead Bug/preview.gif and b/Exercise Library/Dead Bug/preview.gif differ
diff --git a/Exercise Library/Dead Bug/visual.svg b/Exercise Library/Dead Bug/visual.svg
index baf45c4..0542d5b 100644
--- a/Exercise Library/Dead Bug/visual.svg
+++ b/Exercise Library/Dead Bug/visual.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Hollow Body Hold/frames/frame-1.svg b/Exercise Library/Hollow Body Hold/frames/frame-1.svg
index bc2a6ec..8ca322f 100644
--- a/Exercise Library/Hollow Body Hold/frames/frame-1.svg
+++ b/Exercise Library/Hollow Body Hold/frames/frame-1.svg
@@ -2,9 +2,11 @@
Hollow Body Hold
+
+
-
+
diff --git a/Exercise Library/Hollow Body Hold/frames/frame-2.svg b/Exercise Library/Hollow Body Hold/frames/frame-2.svg
index 02e6bff..258d1da 100644
--- a/Exercise Library/Hollow Body Hold/frames/frame-2.svg
+++ b/Exercise Library/Hollow Body Hold/frames/frame-2.svg
@@ -2,9 +2,11 @@
Hollow Body Hold
+
+
-
+
diff --git a/Exercise Library/Hollow Body Hold/preview.gif b/Exercise Library/Hollow Body Hold/preview.gif
index a0a9417..df14b76 100644
Binary files a/Exercise Library/Hollow Body Hold/preview.gif and b/Exercise Library/Hollow Body Hold/preview.gif differ
diff --git a/Exercise Library/Hollow Body Hold/visual.svg b/Exercise Library/Hollow Body Hold/visual.svg
index 02e6bff..258d1da 100644
--- a/Exercise Library/Hollow Body Hold/visual.svg
+++ b/Exercise Library/Hollow Body Hold/visual.svg
@@ -2,9 +2,11 @@
Hollow Body Hold
+
+
-
+
diff --git a/Exercise Library/Lat Pull Down/frames/frame-1.svg b/Exercise Library/Lat Pull Down/frames/frame-1.svg
index 907f315..18679de 100644
--- a/Exercise Library/Lat Pull Down/frames/frame-1.svg
+++ b/Exercise Library/Lat Pull Down/frames/frame-1.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Lat Pull Down/frames/frame-2.svg b/Exercise Library/Lat Pull Down/frames/frame-2.svg
index 7061fe1..ed5c263 100644
--- a/Exercise Library/Lat Pull Down/frames/frame-2.svg
+++ b/Exercise Library/Lat Pull Down/frames/frame-2.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Lat Pull Down/preview.gif b/Exercise Library/Lat Pull Down/preview.gif
index 27635f4..9d66537 100644
Binary files a/Exercise Library/Lat Pull Down/preview.gif and b/Exercise Library/Lat Pull Down/preview.gif differ
diff --git a/Exercise Library/Lat Pull Down/visual.svg b/Exercise Library/Lat Pull Down/visual.svg
index 7061fe1..ed5c263 100644
--- a/Exercise Library/Lat Pull Down/visual.svg
+++ b/Exercise Library/Lat Pull Down/visual.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Leg Curl/frames/frame-1.svg b/Exercise Library/Leg Curl/frames/frame-1.svg
index 7581263..bf60000 100644
--- a/Exercise Library/Leg Curl/frames/frame-1.svg
+++ b/Exercise Library/Leg Curl/frames/frame-1.svg
@@ -10,10 +10,12 @@
+
+
-
-
+
+
diff --git a/Exercise Library/Leg Curl/frames/frame-2.svg b/Exercise Library/Leg Curl/frames/frame-2.svg
index e2ba219..3033bad 100644
--- a/Exercise Library/Leg Curl/frames/frame-2.svg
+++ b/Exercise Library/Leg Curl/frames/frame-2.svg
@@ -10,10 +10,12 @@
+
+
-
-
+
+
diff --git a/Exercise Library/Leg Curl/motion.json b/Exercise Library/Leg Curl/motion.json
index 5e24c99..5da1351 100644
--- a/Exercise Library/Leg Curl/motion.json
+++ b/Exercise Library/Leg Curl/motion.json
@@ -12,7 +12,7 @@
{"kind": "line", "pts": [[104, 150], [166, 150]], "w": 5},
{"kind": "circle", "c": [114, 90], "r": 3.5, "fill": true, "color": "prop"}
]},
- {"type": "pad", "at": ["foot_r", "foot_l"], "halfLen": 9}
+ {"type": "roller", "at": ["foot_r", "foot_l"], "side": -1, "r": 5, "back": -2}
],
"frames": [
{
diff --git a/Exercise Library/Leg Curl/preview.gif b/Exercise Library/Leg Curl/preview.gif
index a49d75b..25e0acf 100644
Binary files a/Exercise Library/Leg Curl/preview.gif and b/Exercise Library/Leg Curl/preview.gif differ
diff --git a/Exercise Library/Leg Curl/visual.svg b/Exercise Library/Leg Curl/visual.svg
index e2ba219..3033bad 100644
--- a/Exercise Library/Leg Curl/visual.svg
+++ b/Exercise Library/Leg Curl/visual.svg
@@ -10,10 +10,12 @@
+
+
-
-
+
+
diff --git a/Exercise Library/Leg Extension/frames/frame-1.svg b/Exercise Library/Leg Extension/frames/frame-1.svg
index 7a20cae..8153d82 100644
--- a/Exercise Library/Leg Extension/frames/frame-1.svg
+++ b/Exercise Library/Leg Extension/frames/frame-1.svg
@@ -9,10 +9,12 @@
+
+
-
-
+
+
diff --git a/Exercise Library/Leg Extension/frames/frame-2.svg b/Exercise Library/Leg Extension/frames/frame-2.svg
index 23d0c0b..68aa763 100644
--- a/Exercise Library/Leg Extension/frames/frame-2.svg
+++ b/Exercise Library/Leg Extension/frames/frame-2.svg
@@ -9,10 +9,12 @@
+
+
-
-
+
+
diff --git a/Exercise Library/Leg Extension/motion.json b/Exercise Library/Leg Extension/motion.json
index 79e628c..28eed52 100644
--- a/Exercise Library/Leg Extension/motion.json
+++ b/Exercise Library/Leg Extension/motion.json
@@ -11,7 +11,7 @@
{"kind": "line", "pts": [[104, 150], [166, 150]], "w": 5},
{"kind": "circle", "c": [114, 90], "r": 3.5, "fill": true, "color": "prop"}
]},
- {"type": "pad", "at": ["foot_r", "foot_l"], "halfLen": 9}
+ {"type": "roller", "at": ["foot_r", "foot_l"], "side": 1, "r": 5, "back": -2}
],
"frames": [
{
diff --git a/Exercise Library/Leg Extension/preview.gif b/Exercise Library/Leg Extension/preview.gif
index d07a7ab..d600537 100644
Binary files a/Exercise Library/Leg Extension/preview.gif and b/Exercise Library/Leg Extension/preview.gif differ
diff --git a/Exercise Library/Leg Extension/visual.svg b/Exercise Library/Leg Extension/visual.svg
index 23d0c0b..68aa763 100644
--- a/Exercise Library/Leg Extension/visual.svg
+++ b/Exercise Library/Leg Extension/visual.svg
@@ -9,10 +9,12 @@
+
+
-
-
+
+
diff --git a/Exercise Library/Leg Press/frames/frame-1.svg b/Exercise Library/Leg Press/frames/frame-1.svg
index e69ad09..1137ab4 100644
--- a/Exercise Library/Leg Press/frames/frame-1.svg
+++ b/Exercise Library/Leg Press/frames/frame-1.svg
@@ -9,9 +9,11 @@
+
+
-
+
diff --git a/Exercise Library/Leg Press/frames/frame-2.svg b/Exercise Library/Leg Press/frames/frame-2.svg
index 6d041ad..93b4b0a 100644
--- a/Exercise Library/Leg Press/frames/frame-2.svg
+++ b/Exercise Library/Leg Press/frames/frame-2.svg
@@ -9,9 +9,11 @@
+
+
-
+
diff --git a/Exercise Library/Leg Press/preview.gif b/Exercise Library/Leg Press/preview.gif
index 67786a4..8ae8bb2 100644
Binary files a/Exercise Library/Leg Press/preview.gif and b/Exercise Library/Leg Press/preview.gif differ
diff --git a/Exercise Library/Leg Press/visual.svg b/Exercise Library/Leg Press/visual.svg
index 6d041ad..93b4b0a 100644
--- a/Exercise Library/Leg Press/visual.svg
+++ b/Exercise Library/Leg Press/visual.svg
@@ -9,9 +9,11 @@
+
+
-
+
diff --git a/Exercise Library/Leg Raises/frames/frame-1.svg b/Exercise Library/Leg Raises/frames/frame-1.svg
index b905672..2dd524c 100644
--- a/Exercise Library/Leg Raises/frames/frame-1.svg
+++ b/Exercise Library/Leg Raises/frames/frame-1.svg
@@ -3,6 +3,8 @@
+
+
diff --git a/Exercise Library/Leg Raises/frames/frame-2.svg b/Exercise Library/Leg Raises/frames/frame-2.svg
index b3878de..5274a9a 100644
--- a/Exercise Library/Leg Raises/frames/frame-2.svg
+++ b/Exercise Library/Leg Raises/frames/frame-2.svg
@@ -3,6 +3,8 @@
+
+
diff --git a/Exercise Library/Leg Raises/preview.gif b/Exercise Library/Leg Raises/preview.gif
index 0e9b7b7..5c73425 100644
Binary files a/Exercise Library/Leg Raises/preview.gif and b/Exercise Library/Leg Raises/preview.gif differ
diff --git a/Exercise Library/Leg Raises/visual.svg b/Exercise Library/Leg Raises/visual.svg
index b905672..2dd524c 100644
--- a/Exercise Library/Leg Raises/visual.svg
+++ b/Exercise Library/Leg Raises/visual.svg
@@ -3,6 +3,8 @@
+
+
diff --git a/Exercise Library/Plank/frames/frame-1.svg b/Exercise Library/Plank/frames/frame-1.svg
index 915ac30..e71c9e2 100644
--- a/Exercise Library/Plank/frames/frame-1.svg
+++ b/Exercise Library/Plank/frames/frame-1.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Plank/frames/frame-2.svg b/Exercise Library/Plank/frames/frame-2.svg
index 444f09f..bb7fb34 100644
--- a/Exercise Library/Plank/frames/frame-2.svg
+++ b/Exercise Library/Plank/frames/frame-2.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Plank/preview.gif b/Exercise Library/Plank/preview.gif
index 0e0cb24..476c9e8 100644
Binary files a/Exercise Library/Plank/preview.gif and b/Exercise Library/Plank/preview.gif differ
diff --git a/Exercise Library/Plank/visual.svg b/Exercise Library/Plank/visual.svg
index 444f09f..bb7fb34 100644
--- a/Exercise Library/Plank/visual.svg
+++ b/Exercise Library/Plank/visual.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Reverse Crunch/frames/frame-1.svg b/Exercise Library/Reverse Crunch/frames/frame-1.svg
index 7f24f98..ce36dd4 100644
--- a/Exercise Library/Reverse Crunch/frames/frame-1.svg
+++ b/Exercise Library/Reverse Crunch/frames/frame-1.svg
@@ -3,6 +3,8 @@
+
+
diff --git a/Exercise Library/Reverse Crunch/frames/frame-2.svg b/Exercise Library/Reverse Crunch/frames/frame-2.svg
index 196da24..1ac7741 100644
--- a/Exercise Library/Reverse Crunch/frames/frame-2.svg
+++ b/Exercise Library/Reverse Crunch/frames/frame-2.svg
@@ -3,6 +3,8 @@
+
+
diff --git a/Exercise Library/Reverse Crunch/preview.gif b/Exercise Library/Reverse Crunch/preview.gif
index 6adb20e..042a60d 100644
Binary files a/Exercise Library/Reverse Crunch/preview.gif and b/Exercise Library/Reverse Crunch/preview.gif differ
diff --git a/Exercise Library/Reverse Crunch/visual.svg b/Exercise Library/Reverse Crunch/visual.svg
index 196da24..1ac7741 100644
--- a/Exercise Library/Reverse Crunch/visual.svg
+++ b/Exercise Library/Reverse Crunch/visual.svg
@@ -3,6 +3,8 @@
+
+
diff --git a/Exercise Library/Rotary/frames/frame-1.svg b/Exercise Library/Rotary/frames/frame-1.svg
index 05aff01..a780975 100644
--- a/Exercise Library/Rotary/frames/frame-1.svg
+++ b/Exercise Library/Rotary/frames/frame-1.svg
@@ -4,11 +4,13 @@
+
+
-
-
-
-
+
+
+
+
diff --git a/Exercise Library/Rotary/frames/frame-2.svg b/Exercise Library/Rotary/frames/frame-2.svg
index 727bc95..c1c105e 100644
--- a/Exercise Library/Rotary/frames/frame-2.svg
+++ b/Exercise Library/Rotary/frames/frame-2.svg
@@ -4,11 +4,13 @@
+
+
-
-
-
-
+
+
+
+
diff --git a/Exercise Library/Rotary/preview.gif b/Exercise Library/Rotary/preview.gif
index 2a1337a..25150c5 100644
Binary files a/Exercise Library/Rotary/preview.gif and b/Exercise Library/Rotary/preview.gif differ
diff --git a/Exercise Library/Rotary/visual.svg b/Exercise Library/Rotary/visual.svg
index 05aff01..a780975 100644
--- a/Exercise Library/Rotary/visual.svg
+++ b/Exercise Library/Rotary/visual.svg
@@ -4,11 +4,13 @@
+
+
-
-
-
-
+
+
+
+
diff --git a/Exercise Library/SYSTEM.md b/Exercise Library/SYSTEM.md
index 301168f..3dc1fe7 100644
--- a/Exercise Library/SYSTEM.md
+++ b/Exercise Library/SYSTEM.md
@@ -103,8 +103,10 @@ never touches a motion script** — proportions are the skeleton's problem.
stays distinguishable. The nudge scales with how side-on the view is and
vanishes face-on, where the skeleton's real shoulder/pelvis widths take
over — one continuous rule across the whole orbit.
-- **Spine** — rendered as a smooth curve through pelvis → mid → neck; teal
- when the trunk is the working part.
+- **Spine** — rendered as a smooth curve through pelvis → mid → neck, with the
+ shoulder girdle and pelvis drawn as bars across the attach points (near-full
+ width face-on, a shoulder/hip nub in profile); teal when the trunk is the
+ working part.
- Canvas 320×180, ground line at y = 152. Limbs listed in `hide` are
occluded by convention in this view and not drawn.
@@ -150,6 +152,11 @@ scale drawings of the machine.
default to perpendicular to the lower bone (forearm/shin), or take an
explicit `angle`. `plateR` puts filled discs on both ends (dumbbells default
to 4.5). A prop whose limb is hidden that frame simply isn't drawn.
+- **`roller`** — a machine roller pad seen end-on: a filled disc riding the
+ limb's lower bone near the joint in `at`, on the `side` (+1/−1) of the bone
+ it presses — a leg extension's instep roller (`side: 1`), a leg curl's
+ heel roller (`side: -1`). `r` is the radius, `back` slides it along the
+ bone away from the joint.
## Rendering
diff --git a/Exercise Library/Seated Row/frames/frame-1.svg b/Exercise Library/Seated Row/frames/frame-1.svg
index 2d85c7c..277112d 100644
--- a/Exercise Library/Seated Row/frames/frame-1.svg
+++ b/Exercise Library/Seated Row/frames/frame-1.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Seated Row/frames/frame-2.svg b/Exercise Library/Seated Row/frames/frame-2.svg
index cae5a31..27623dd 100644
--- a/Exercise Library/Seated Row/frames/frame-2.svg
+++ b/Exercise Library/Seated Row/frames/frame-2.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Seated Row/preview.gif b/Exercise Library/Seated Row/preview.gif
index f3d0d92..3c2c757 100644
Binary files a/Exercise Library/Seated Row/preview.gif and b/Exercise Library/Seated Row/preview.gif differ
diff --git a/Exercise Library/Seated Row/visual.svg b/Exercise Library/Seated Row/visual.svg
index cae5a31..27623dd 100644
--- a/Exercise Library/Seated Row/visual.svg
+++ b/Exercise Library/Seated Row/visual.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Shoulder Press/frames/frame-1.svg b/Exercise Library/Shoulder Press/frames/frame-1.svg
index 1743e62..0ca08df 100644
--- a/Exercise Library/Shoulder Press/frames/frame-1.svg
+++ b/Exercise Library/Shoulder Press/frames/frame-1.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Shoulder Press/frames/frame-2.svg b/Exercise Library/Shoulder Press/frames/frame-2.svg
index 2042d20..a4ca04f 100644
--- a/Exercise Library/Shoulder Press/frames/frame-2.svg
+++ b/Exercise Library/Shoulder Press/frames/frame-2.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Shoulder Press/preview.gif b/Exercise Library/Shoulder Press/preview.gif
index d237297..a8912d1 100644
Binary files a/Exercise Library/Shoulder Press/preview.gif and b/Exercise Library/Shoulder Press/preview.gif differ
diff --git a/Exercise Library/Shoulder Press/visual.svg b/Exercise Library/Shoulder Press/visual.svg
index 2042d20..a4ca04f 100644
--- a/Exercise Library/Shoulder Press/visual.svg
+++ b/Exercise Library/Shoulder Press/visual.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Side Plank/frames/frame-1.svg b/Exercise Library/Side Plank/frames/frame-1.svg
index 4ad0cd1..cb39e33 100644
--- a/Exercise Library/Side Plank/frames/frame-1.svg
+++ b/Exercise Library/Side Plank/frames/frame-1.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Side Plank/frames/frame-2.svg b/Exercise Library/Side Plank/frames/frame-2.svg
index f04b0ac..99ec4f5 100644
--- a/Exercise Library/Side Plank/frames/frame-2.svg
+++ b/Exercise Library/Side Plank/frames/frame-2.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Side Plank/preview.gif b/Exercise Library/Side Plank/preview.gif
index 48fa18b..4d97284 100644
Binary files a/Exercise Library/Side Plank/preview.gif and b/Exercise Library/Side Plank/preview.gif differ
diff --git a/Exercise Library/Side Plank/visual.svg b/Exercise Library/Side Plank/visual.svg
index f04b0ac..99ec4f5 100644
--- a/Exercise Library/Side Plank/visual.svg
+++ b/Exercise Library/Side Plank/visual.svg
@@ -3,9 +3,11 @@
+
+
-
+
diff --git a/Exercise Library/Tricep Press/frames/frame-1.svg b/Exercise Library/Tricep Press/frames/frame-1.svg
index d4f231a..528f2b1 100644
--- a/Exercise Library/Tricep Press/frames/frame-1.svg
+++ b/Exercise Library/Tricep Press/frames/frame-1.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Tricep Press/frames/frame-2.svg b/Exercise Library/Tricep Press/frames/frame-2.svg
index 4dd91f6..31d949e 100644
--- a/Exercise Library/Tricep Press/frames/frame-2.svg
+++ b/Exercise Library/Tricep Press/frames/frame-2.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/Tricep Press/preview.gif b/Exercise Library/Tricep Press/preview.gif
index 65bf588..4160dc1 100644
Binary files a/Exercise Library/Tricep Press/preview.gif and b/Exercise Library/Tricep Press/preview.gif differ
diff --git a/Exercise Library/Tricep Press/visual.svg b/Exercise Library/Tricep Press/visual.svg
index 4dd91f6..31d949e 100644
--- a/Exercise Library/Tricep Press/visual.svg
+++ b/Exercise Library/Tricep Press/visual.svg
@@ -7,9 +7,11 @@
+
+
-
+
diff --git a/Exercise Library/render.py b/Exercise Library/render.py
index 2684075..c2d81cb 100644
--- a/Exercise Library/render.py
+++ b/Exercise Library/render.py
@@ -149,6 +149,15 @@ def frame_geometry(nf, prof, cam, flipped=False):
geo[limb] = [scr(v, limb_off) for v in pts[limb]]
depths[limb] = _chain_depth(pts[limb])
+ # Shoulder girdle and pelvis, drawn with the spine so the limbs visibly hang
+ # from real width. Endpoints use each side's drawn attach (far offset included)
+ # so the bars meet the limbs exactly.
+ def attach(key, limb):
+ return scr(pts[key], off if shade[limb] == "far" else (0, 0))
+
+ geo["girdle"] = [attach("shoulder_l", "arm_l"), neck_b, attach("shoulder_r", "arm_r")]
+ geo["pelvisBar"] = [attach("hip_l", "leg_l"), pelvis, attach("hip_r", "leg_r")]
+
# The nose tick rides the head's anterior axis; it foreshortens naturally
# and disappears when the face points at (or away from) the camera.
nd = p["nose_dir"]
@@ -206,6 +215,8 @@ def flip_props(props, width):
p["from"] = fx(p["from"])
elif p["type"] in ("bar", "pad") and "angle" in p:
p["angle"] = 180 - p["angle"]
+ elif p["type"] == "roller":
+ p["side"] = -p.get("side", 1) # mirroring flips the perpendicular's handedness
out.append(p)
return out
@@ -243,6 +254,20 @@ def resolve_props(props, geo):
if end:
bg.append({"kind": "line", "pts": [list(p["from"]), list(end)],
"w": p.get("w", 2), "color": "equipment"})
+ elif t == "roller":
+ # A machine roller pad seen end-on: a disc riding the limb's lower
+ # bone near the joint, on the `side` (+1/-1) of the bone it presses.
+ c, d = joint_points(geo, p["at"])
+ if not c:
+ continue
+ r = p.get("r", 5)
+ back = p.get("back", 0)
+ side = p.get("side", 1)
+ px, py = d[1] * side, -d[0] * side
+ center = (c[0] - d[0] * back + px * (r + 3),
+ c[1] - d[1] * back + py * (r + 3))
+ fg.append({"kind": "circle", "c": list(center), "r": r,
+ "fill": True, "color": "prop"})
elif t in ("bar", "dumbbell", "pad"):
c, d = joint_points(geo, p["at"])
if not c:
@@ -353,6 +378,10 @@ def svg_for_frame(name, geo, order, shade, working, colors, props=None):
continue
color, width = part_style(part, working, colors, shade)
if part == "spine":
+ for bar in ("girdle", "pelvisBar"):
+ bd = "M " + " L ".join(f"{x:.1f} {y:.1f}" for x, y in geo[bar])
+ parts.append(f' ')
(ax, ay), (cx, cy), (bx, by) = geo["spine"]
d = f"M {ax:.1f} {ay:.1f} Q {cx:.1f} {cy:.1f} {bx:.1f} {by:.1f}"
else:
@@ -400,6 +429,9 @@ def draw_geo(geo, order, shade, working, colors, scale=2, font=None, props=None)
if part not in geo:
continue
color, width = part_style(part, working, colors, shade)
+ if part == "spine":
+ line(geo["girdle"], color, 5)
+ line(geo["pelvisBar"], color, 5)
pts = quad_points(*geo["spine"]) if part == "spine" else geo[part]
line(pts, color, width)
@@ -512,7 +544,11 @@ def render_orbit(folder, figure="neutral"):
imgs = []
for i, nf in enumerate(ticks):
yaw = cam + 360.0 * i / len(ticks)
- _, geo, order, shade = frame_geometry(nf, prof, yaw)
+ # Pins are canvas targets in the AUTHORED view: resolve the pose there,
+ # then rotate the posed body - never re-pin in the rotated view.
+ posed, _, _, _ = frame_geometry(nf, prof, cam)
+ posed["pins"] = {}
+ _, geo, order, shade = frame_geometry(posed, prof, yaw)
for limb in hide:
geo.pop(limb, None)
imgs.append(draw_geo(geo, order, shade, working, colors, font=font, props=props))
diff --git a/Exercise Library/skeleton.json b/Exercise Library/skeleton.json
index 2f23eab..4940db2 100644
--- a/Exercise Library/skeleton.json
+++ b/Exercise Library/skeleton.json
@@ -10,9 +10,12 @@
"thigh": 46,
"shin": 40,
"foot": 11,
- "shoulderHalf": 7,
- "hipHalf": 5,
- "farOffset": [6, 2]
+ "shoulderHalf": 11,
+ "hipHalf": 7,
+ "farOffset": [
+ 6,
+ 2
+ ]
},
"female": {
"headR": 9,
@@ -24,9 +27,12 @@
"thigh": 47,
"shin": 41,
"foot": 10,
- "shoulderHalf": 5.5,
- "hipHalf": 6.5,
- "farOffset": [6, 2]
+ "shoulderHalf": 8.5,
+ "hipHalf": 9,
+ "farOffset": [
+ 6,
+ 2
+ ]
},
"male": {
"headR": 10,
@@ -38,19 +44,90 @@
"thigh": 47,
"shin": 41,
"foot": 11.5,
- "shoulderHalf": 9,
- "hipHalf": 4.5,
- "farOffset": [6, 2]
+ "shoulderHalf": 13,
+ "hipHalf": 6.5,
+ "farOffset": [
+ 6,
+ 2
+ ]
}
},
"joints": {
- "spine": {"flexion": [-40, 55], "lateral": [-35, 35], "rotation": [-55, 55]},
- "neck": {"flexion": [-55, 55], "rotation": [-80, 80]},
- "head": {"flexion": [-120, 120]},
- "shoulder": {"flexion": [-70, 195], "abduction": [-40, 185], "rotation": [-95, 95]},
- "elbow": {"flexion": [-10, 155]},
- "hip": {"flexion": [-30, 130], "abduction": [-40, 55], "rotation": [-50, 50]},
- "knee": {"flexion": [-10, 150]},
- "ankle": {"flexion": [-60, 30]}
+ "spine": {
+ "flexion": [
+ -40,
+ 55
+ ],
+ "lateral": [
+ -35,
+ 35
+ ],
+ "rotation": [
+ -55,
+ 55
+ ]
+ },
+ "neck": {
+ "flexion": [
+ -55,
+ 55
+ ],
+ "rotation": [
+ -80,
+ 80
+ ]
+ },
+ "head": {
+ "flexion": [
+ -120,
+ 120
+ ]
+ },
+ "shoulder": {
+ "flexion": [
+ -70,
+ 195
+ ],
+ "abduction": [
+ -40,
+ 185
+ ],
+ "rotation": [
+ -95,
+ 95
+ ]
+ },
+ "elbow": {
+ "flexion": [
+ -10,
+ 155
+ ]
+ },
+ "hip": {
+ "flexion": [
+ -30,
+ 130
+ ],
+ "abduction": [
+ -40,
+ 55
+ ],
+ "rotation": [
+ -50,
+ 50
+ ]
+ },
+ "knee": {
+ "flexion": [
+ -10,
+ 150
+ ]
+ },
+ "ankle": {
+ "flexion": [
+ -60,
+ 30
+ ]
+ }
}
}
diff --git a/Workouts/ExerciseFigure/ExerciseFigureView.swift b/Workouts/ExerciseFigure/ExerciseFigureView.swift
index e64ec76..b36e491 100644
--- a/Workouts/ExerciseFigure/ExerciseFigureView.swift
+++ b/Workouts/ExerciseFigure/ExerciseFigureView.swift
@@ -146,10 +146,13 @@ struct ExerciseFigureView: View {
}
private func drawSpine(_ ctx: inout GraphicsContext, _ geo: FigureGeometry) {
+ let color = ink("spine", shade: .near)
+ stroke(&ctx, geo.girdle, color: color, width: 5)
+ stroke(&ctx, geo.pelvisBar, color: color, width: 5)
var path = Path()
path.move(to: geo.spineStart)
path.addQuadCurve(to: geo.spineEnd, control: geo.spineControl)
- ctx.stroke(path, with: .color(ink("spine", shade: .near)),
+ ctx.stroke(path, with: .color(color),
style: StrokeStyle(lineWidth: 6, lineCap: .round, lineJoin: .round))
}
@@ -210,6 +213,10 @@ struct ExerciseFigureView: View {
/// renderer's `resolve_props` — change them in lockstep.
private func drawAttachedProps(_ ctx: inout GraphicsContext, _ geo: FigureGeometry) {
for prop in figure.props {
+ if prop.type == "roller" {
+ drawRoller(&ctx, geo, prop)
+ continue
+ }
let defaults: (halfLen: Double, width: Double, plateR: Double)
switch prop.type {
case "bar": defaults = (24, 4, 0)
@@ -239,6 +246,21 @@ struct ExerciseFigureView: View {
}
}
+ /// A machine roller pad seen end-on: a disc riding the limb's lower bone near the
+ /// joint, on the `side` (+1/−1) of the bone it presses. Kept 1:1 with the reference
+ /// renderer's `resolve_props`.
+ private func drawRoller(_ ctx: inout GraphicsContext, _ geo: FigureGeometry, _ prop: MotionProp) {
+ guard let at = prop.at, let anchor = jointAnchor(geo, at) else { return }
+ let r = prop.r ?? 5
+ let back = prop.back ?? 0
+ let side = prop.side ?? 1
+ let px = anchor.direction.dy * side, py = -anchor.direction.dx * side
+ let center = CGPoint(x: anchor.point.x - anchor.direction.dx * back + px * (r + 3),
+ y: anchor.point.y - anchor.direction.dy * back + py * (r + 3))
+ let rect = CGRect(x: center.x - r, y: center.y - r, width: 2 * r, height: 2 * r)
+ ctx.fill(Path(ellipseIn: rect), with: .color(.figureProp))
+ }
+
private func drawSceneShape(_ ctx: inout GraphicsContext, _ shape: PropSceneShape) {
let color: Color = shape.color == "prop" ? .figureProp : .figureEquipment
switch shape.kind {
diff --git a/Workouts/ExerciseFigure/ExerciseMotion.swift b/Workouts/ExerciseFigure/ExerciseMotion.swift
index e02862f..86322e2 100644
--- a/Workouts/ExerciseFigure/ExerciseMotion.swift
+++ b/Workouts/ExerciseFigure/ExerciseMotion.swift
@@ -159,7 +159,7 @@ struct PropSceneShape: Codable {
/// One equipment prop. `type` selects the flavor; the other fields apply per type
/// (mirroring the reference renderer's `resolve_props`).
struct MotionProp: Codable {
- let type: String // "scene" | "cable" | "bar" | "dumbbell" | "pad"
+ let type: String // "scene" | "cable" | "bar" | "dumbbell" | "pad" | "roller"
/// scene: the static shapes.
let shapes: [PropSceneShape]?
/// cable: fixed anchor `[x, y]` → moving joint `to`.
@@ -174,6 +174,11 @@ struct MotionProp: Codable {
let w: Double?
/// End-disc radius (dumbbell plates default 4.5; bars none).
let plateR: Double?
+ /// roller: which side of the lower bone the disc presses (+1/−1), its radius,
+ /// and how far back along the bone from the joint it sits.
+ let side: Double?
+ let r: Double?
+ let back: Double?
}
/// A key frame of anatomical joint angles. A joint absent from the frame poses at
diff --git a/Workouts/ExerciseFigure/MotionSolver.swift b/Workouts/ExerciseFigure/MotionSolver.swift
index 545a9ac..f5f87ee 100644
--- a/Workouts/ExerciseFigure/MotionSolver.swift
+++ b/Workouts/ExerciseFigure/MotionSolver.swift
@@ -159,6 +159,10 @@ struct FigureGeometry {
var noseStart, noseEnd: CGPoint?
/// Quadratic Bézier through pelvis → mid → neck (control = 2·mid − (pelvis+neck)/2).
var spineStart, spineControl, spineEnd: CGPoint
+ /// Shoulder girdle and pelvis bars, drawn with the spine: left attach → center →
+ /// right attach, far offsets included so the bars meet the drawn limbs exactly.
+ var girdle: [CGPoint]
+ var pelvisBar: [CGPoint]
/// Attach → elbow/knee → hand (arms: 3 points); hip → knee → ankle → toe (legs: 4).
var limbs: [FigureLimb: [CGPoint]]
/// Parts far-to-near, `"head"` always last (`"spine"`, `"arm_r"`, … then `"head"`).
@@ -452,9 +456,14 @@ enum MotionSolver {
return (fixedRank[lhs] ?? 0) < (fixedRank[rhs] ?? 0)
} + ["head"]
+ func attachPoint(_ v: Vec3, _ limb: FigureLimb) -> CGPoint {
+ scr(v, shade[limb] == .far ? off : .zero)
+ }
let geo = FigureGeometry(
headCenter: head, headRadius: prof.headR, noseStart: noseStart, noseEnd: noseEnd,
spineStart: pelvis, spineControl: control, spineEnd: neckB,
+ girdle: [attachPoint(p.shoulderL, .armL), neckB, attachPoint(p.shoulderR, .armR)],
+ pelvisBar: [attachPoint(p.hipL, .legL), pelvis, attachPoint(p.hipR, .legR)],
limbs: limbs, order: order, shade: shade)
return (resolved, geo)
}
@@ -500,8 +509,17 @@ struct MotionTimeline {
}
/// The drawable geometry at wall-clock `time`. `yawOffset` turns the camera past
- /// the exercise's authored yaw — the slow-orbit presentation.
+ /// the exercise's authored yaw — the slow-orbit presentation. Pins are canvas
+ /// targets in the *authored* view, so the pose resolves there first and the posed
+ /// body is then rotated; re-pinning in a rotated view would glue hands to screen
+ /// points that no longer correspond to anything (arms visibly "stuck" mid-orbit).
func geometry(at time: Double, yawOffset: Double = 0) -> FigureGeometry {
- MotionSolver.frameGeometry(frame(at: time), prof: profile, cam: cam + yawOffset).1
+ let frame = frame(at: time)
+ guard yawOffset != 0 else {
+ return MotionSolver.frameGeometry(frame, prof: profile, cam: cam).1
+ }
+ var posed = MotionSolver.frameGeometry(frame, prof: profile, cam: cam).0
+ posed.pins = [:]
+ return MotionSolver.frameGeometry(posed, prof: profile, cam: cam + yawOffset).1
}
}
diff --git a/Workouts/Resources/ExerciseMotions/Leg Curl.motion.json b/Workouts/Resources/ExerciseMotions/Leg Curl.motion.json
index 5e24c99..5da1351 100644
--- a/Workouts/Resources/ExerciseMotions/Leg Curl.motion.json
+++ b/Workouts/Resources/ExerciseMotions/Leg Curl.motion.json
@@ -12,7 +12,7 @@
{"kind": "line", "pts": [[104, 150], [166, 150]], "w": 5},
{"kind": "circle", "c": [114, 90], "r": 3.5, "fill": true, "color": "prop"}
]},
- {"type": "pad", "at": ["foot_r", "foot_l"], "halfLen": 9}
+ {"type": "roller", "at": ["foot_r", "foot_l"], "side": -1, "r": 5, "back": -2}
],
"frames": [
{
diff --git a/Workouts/Resources/ExerciseMotions/Leg Extension.motion.json b/Workouts/Resources/ExerciseMotions/Leg Extension.motion.json
index 79e628c..28eed52 100644
--- a/Workouts/Resources/ExerciseMotions/Leg Extension.motion.json
+++ b/Workouts/Resources/ExerciseMotions/Leg Extension.motion.json
@@ -11,7 +11,7 @@
{"kind": "line", "pts": [[104, 150], [166, 150]], "w": 5},
{"kind": "circle", "c": [114, 90], "r": 3.5, "fill": true, "color": "prop"}
]},
- {"type": "pad", "at": ["foot_r", "foot_l"], "halfLen": 9}
+ {"type": "roller", "at": ["foot_r", "foot_l"], "side": 1, "r": 5, "back": -2}
],
"frames": [
{
diff --git a/Workouts/Resources/ExerciseMotions/skeleton.json b/Workouts/Resources/ExerciseMotions/skeleton.json
index 2f23eab..4940db2 100644
--- a/Workouts/Resources/ExerciseMotions/skeleton.json
+++ b/Workouts/Resources/ExerciseMotions/skeleton.json
@@ -10,9 +10,12 @@
"thigh": 46,
"shin": 40,
"foot": 11,
- "shoulderHalf": 7,
- "hipHalf": 5,
- "farOffset": [6, 2]
+ "shoulderHalf": 11,
+ "hipHalf": 7,
+ "farOffset": [
+ 6,
+ 2
+ ]
},
"female": {
"headR": 9,
@@ -24,9 +27,12 @@
"thigh": 47,
"shin": 41,
"foot": 10,
- "shoulderHalf": 5.5,
- "hipHalf": 6.5,
- "farOffset": [6, 2]
+ "shoulderHalf": 8.5,
+ "hipHalf": 9,
+ "farOffset": [
+ 6,
+ 2
+ ]
},
"male": {
"headR": 10,
@@ -38,19 +44,90 @@
"thigh": 47,
"shin": 41,
"foot": 11.5,
- "shoulderHalf": 9,
- "hipHalf": 4.5,
- "farOffset": [6, 2]
+ "shoulderHalf": 13,
+ "hipHalf": 6.5,
+ "farOffset": [
+ 6,
+ 2
+ ]
}
},
"joints": {
- "spine": {"flexion": [-40, 55], "lateral": [-35, 35], "rotation": [-55, 55]},
- "neck": {"flexion": [-55, 55], "rotation": [-80, 80]},
- "head": {"flexion": [-120, 120]},
- "shoulder": {"flexion": [-70, 195], "abduction": [-40, 185], "rotation": [-95, 95]},
- "elbow": {"flexion": [-10, 155]},
- "hip": {"flexion": [-30, 130], "abduction": [-40, 55], "rotation": [-50, 50]},
- "knee": {"flexion": [-10, 150]},
- "ankle": {"flexion": [-60, 30]}
+ "spine": {
+ "flexion": [
+ -40,
+ 55
+ ],
+ "lateral": [
+ -35,
+ 35
+ ],
+ "rotation": [
+ -55,
+ 55
+ ]
+ },
+ "neck": {
+ "flexion": [
+ -55,
+ 55
+ ],
+ "rotation": [
+ -80,
+ 80
+ ]
+ },
+ "head": {
+ "flexion": [
+ -120,
+ 120
+ ]
+ },
+ "shoulder": {
+ "flexion": [
+ -70,
+ 195
+ ],
+ "abduction": [
+ -40,
+ 185
+ ],
+ "rotation": [
+ -95,
+ 95
+ ]
+ },
+ "elbow": {
+ "flexion": [
+ -10,
+ 155
+ ]
+ },
+ "hip": {
+ "flexion": [
+ -30,
+ 130
+ ],
+ "abduction": [
+ -40,
+ 55
+ ],
+ "rotation": [
+ -50,
+ 50
+ ]
+ },
+ "knee": {
+ "flexion": [
+ -10,
+ 150
+ ]
+ },
+ "ankle": {
+ "flexion": [
+ -60,
+ 30
+ ]
+ }
}
}
diff --git a/WorkoutsTests/ExerciseMotionTests.swift b/WorkoutsTests/ExerciseMotionTests.swift
index 484b6e6..17414db 100644
--- a/WorkoutsTests/ExerciseMotionTests.swift
+++ b/WorkoutsTests/ExerciseMotionTests.swift
@@ -50,7 +50,8 @@ struct ExerciseMotionTests {
#expect(geo.shade[.armL] == .near)
#expect(abs(resolved.shoulderR.flexion - 73.289190) < 1e-4)
#expect(abs(resolved.elbowR.flexion - 17.443758) < 1e-4)
- #expect(geo.order == ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"])
+ // Shoulders are wider than hips, so the arms bracket the depth order.
+ #expect(geo.order == ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"])
}
/// Mid-tween of resolved frames 1→2: a hand pinned in BOTH frames stays planted
diff --git a/WorkoutsTests/Fixtures/figure-fixtures.json b/WorkoutsTests/Fixtures/figure-fixtures.json
index e4b4660..590b97e 100644
--- a/WorkoutsTests/Fixtures/figure-fixtures.json
+++ b/WorkoutsTests/Fixtures/figure-fixtures.json
@@ -1 +1 @@
-{"profile": "neutral", "exercises": [{"name": "Abdominal", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[128.0, 126.0], [123.501, 82.657], [125.0, 41.105]], "head": [127.784, 21.299], "nose": [[137.687, 22.691], [144.618, 23.665]], "arm_r": [[125.0, 41.105], [153.596, 32.033], [155.0, 62.0]], "arm_l": [[131.0, 43.105], [159.596, 34.033], [161.0, 64.0]], "leg_r": [[128.0, 126.0], [171.174, 110.126], [168.0, 150.0], [178.965, 150.873]], "leg_l": [[134.0, 128.0], [176.436, 110.247], [172.0, 150.0], [182.932, 151.22]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[128.0, 126.0], [123.113, 75.978], [167.641, 56.656]], "head": [186.184, 49.164], "nose": [[193.616, 55.855], [198.818, 60.539]], "arm_r": [[167.641, 56.656], [195.9, 46.586], [190.0, 76.0]], "arm_l": [[173.641, 58.656], [201.9, 48.586], [196.0, 78.0]], "leg_r": [[128.0, 126.0], [171.174, 110.126], [168.0, 150.0], [178.965, 150.873]], "leg_l": [[134.0, 128.0], [176.436, 110.247], [172.0, 150.0], [182.932, 151.22]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[128.0, 126.0], [122.501, 80.621], [148.0, 44.994]], "head": [160.314, 29.234], "nose": [[169.377, 33.46], [175.721, 36.418]], "arm_r": [[148.0, 44.994], [177.477, 39.416], [172.5, 69.0]], "arm_l": [[154.0, 46.994], [183.477, 41.416], [178.5, 71.0]], "leg_r": [[128.0, 126.0], [171.174, 110.126], [168.0, 150.0], [178.965, 150.873]], "leg_l": [[134.0, 128.0], [176.436, 110.247], [172.0, 150.0], [182.932, 151.22]]}}}, {"name": "Abductor", "camera": 90.0, "frames": [{"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[153.0, 31.0], [143.729, 59.098], [135.328, 82.362]], "arm_l": [[167.0, 31.0], [176.271, 59.098], [184.672, 82.362]], "leg_r": [[155.0, 116.0], [149.394, 125.493], [147.105, 163.914], [145.922, 160.867]], "leg_l": [[165.0, 116.0], [170.606, 125.493], [172.895, 163.914], [174.078, 160.867]]}, {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[153.0, 31.0], [143.729, 59.098], [135.328, 82.362]], "arm_l": [[167.0, 31.0], [176.271, 59.098], [184.672, 82.362]], "leg_r": [[155.0, 116.0], [132.0, 124.283], [122.611, 162.21], [117.754, 158.907]], "leg_l": [[165.0, 116.0], [188.0, 124.283], [197.389, 162.21], [202.246, 158.907]]}], "tween": {"t": 0.5, "sample": {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[153.0, 31.0], [143.729, 59.098], [135.328, 82.362]], "arm_l": [[167.0, 31.0], [176.271, 59.098], [184.672, 82.362]], "leg_r": [[155.0, 116.0], [140.404, 125.07], [134.445, 163.318], [131.364, 160.182]], "leg_l": [[165.0, 116.0], [179.596, 125.07], [185.555, 163.318], [188.636, 160.182]]}}}, {"name": "Adductor", "camera": 90.0, "frames": [{"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[153.0, 31.0], [143.729, 59.098], [135.328, 82.362]], "arm_l": [[167.0, 31.0], [176.271, 59.098], [184.672, 82.362]], "leg_r": [[155.0, 116.0], [132.0, 124.283], [122.611, 162.21], [117.754, 158.907]], "leg_l": [[165.0, 116.0], [188.0, 124.283], [197.389, 162.21], [202.246, 158.907]]}, {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[153.0, 31.0], [143.729, 59.098], [135.328, 82.362]], "arm_l": [[167.0, 31.0], [176.271, 59.098], [184.672, 82.362]], "leg_r": [[155.0, 116.0], [149.394, 125.493], [147.105, 163.914], [145.922, 160.867]], "leg_l": [[165.0, 116.0], [170.606, 125.493], [172.895, 163.914], [174.078, 160.867]]}], "tween": {"t": 0.5, "sample": {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[153.0, 31.0], [143.729, 59.098], [135.328, 82.362]], "arm_l": [[167.0, 31.0], [176.271, 59.098], [184.672, 82.362]], "leg_r": [[155.0, 116.0], [140.404, 125.07], [134.445, 163.318], [131.364, 160.182]], "leg_l": [[165.0, 116.0], [179.596, 125.07], [185.555, 163.318], [188.636, 160.182]]}}}, {"name": "Arm Curl", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[130.0, 124.0], [130.786, 80.488], [134.43, 39.129]], "head": [137.214, 19.323], "nose": [[146.724, 22.413], [153.382, 24.576]], "arm_r": [[134.43, 39.129], [159.005, 56.336], [174.903, 81.777]], "arm_l": [[140.43, 41.129], [165.005, 58.336], [180.903, 83.777]], "leg_r": [[130.0, 124.0], [173.836, 110.059], [176.0, 150.0], [186.984, 149.405]], "leg_l": [[136.0, 126.0], [179.487, 111.003], [180.0, 151.0], [190.999, 150.859]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[130.0, 124.0], [130.786, 80.488], [134.43, 39.129]], "head": [137.214, 19.323], "nose": [[146.724, 22.413], [153.382, 24.576]], "arm_r": [[134.43, 39.129], [159.005, 56.336], [178.289, 33.354]], "arm_l": [[140.43, 41.129], [165.005, 58.336], [184.289, 35.354]], "leg_r": [[130.0, 124.0], [173.836, 110.059], [176.0, 150.0], [186.984, 149.405]], "leg_l": [[136.0, 126.0], [179.487, 111.003], [180.0, 151.0], [190.999, 150.859]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[130.0, 124.0], [130.786, 80.488], [134.43, 39.129]], "head": [137.214, 19.323], "nose": [[146.724, 22.413], [153.382, 24.576]], "arm_r": [[134.43, 39.129], [159.005, 56.336], [188.932, 58.428]], "arm_l": [[140.43, 41.129], [165.005, 58.336], [194.932, 60.428]], "leg_r": [[130.0, 124.0], [173.836, 110.059], [176.0, 150.0], [186.984, 149.405]], "leg_l": [[136.0, 126.0], [179.487, 111.003], [180.0, 151.0], [190.999, 150.859]]}}}, {"name": "Bird Dog", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[77.132, 99.367], [70.788, 102.325]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [110.072, 122.432], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[76.536, 97.729], [69.775, 99.54]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [77.681, 82.936], [49.315, 73.169]], "leg_r": [[196.0, 108.0], [240.433, 96.094], [279.07, 85.742], [286.14, 94.168]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[77.132, 99.367], [70.788, 102.325]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [110.072, 122.432], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[76.536, 97.729], [69.775, 99.54]], "arm_r": [[112.046, 94.703], [83.681, 84.936], [55.315, 75.169]], "arm_l": [[106.046, 92.703], [110.072, 122.432], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [234.433, 94.094], [273.07, 83.742], [280.14, 92.168]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[76.799, 98.561], [70.221, 100.955]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [82.85, 111.727], [57.036, 127.013]], "leg_r": [[196.0, 108.0], [234.136, 133.723], [273.794, 128.502], [281.904, 135.933]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}}, "orbit": [{"yaw": 37.0, "sample": {"order": ["arm_r", "arm_l", "spine", "leg_r", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [155.687, 99.195], [122.952, 92.703]], "head": [107.098, 95.14], "nose": [[98.462, 100.183], [93.396, 103.141]], "arm_r": [[131.956, 94.3], [122.538, 122.784], [112.137, 150.923]], "arm_l": [[118.739, 92.703], [112.502, 122.048], [105.213, 151.149]], "leg_r": [[197.801, 107.597], [202.278, 153.254], [234.223, 153.254], [241.42, 159.564]], "leg_l": [[186.991, 106.0], [191.468, 151.657], [223.413, 151.657], [230.61, 157.966]]}}, {"yaw": 180.0, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[190.0, 106.0], [232.964, 99.195], [273.954, 92.703]], "head": [293.804, 95.14], "nose": [[302.868, 99.367], [309.212, 102.325]], "arm_r": [[273.954, 92.703], [246.072, 103.776], [217.953, 114.232]], "arm_l": [[279.954, 94.703], [251.619, 104.559], [223.076, 113.795]], "leg_r": [[190.0, 106.0], [184.394, 151.657], [144.394, 151.657], [135.383, 157.966]], "leg_l": [[196.0, 108.0], [190.394, 153.657], [150.394, 153.657], [141.383, 159.966]]}}]}, {"name": "Calfs", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 118.0], [130.995, 75.365], [128.143, 33.883]], "head": [131.616, 14.187], "nose": [[141.464, 15.924], [148.358, 17.139]], "arm_r": [[128.143, 33.883], [155.658, 45.839], [166.0, 74.0]], "arm_l": [[134.143, 35.883], [161.969, 47.095], [170.0, 76.0]], "leg_r": [[140.0, 118.0], [185.998, 117.604], [212.0, 148.0], [218.69, 139.268]], "leg_l": [[146.0, 120.0], [191.958, 118.032], [216.0, 150.0], [223.225, 141.705]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 118.0], [130.995, 75.365], [128.143, 33.883]], "head": [131.616, 14.187], "nose": [[141.464, 15.924], [148.358, 17.139]], "arm_r": [[128.143, 33.883], [155.658, 45.839], [166.0, 74.0]], "arm_l": [[134.143, 35.883], [161.969, 47.095], [170.0, 76.0]], "leg_r": [[140.0, 118.0], [185.175, 109.328], [212.0, 139.0], [222.04, 134.506]], "leg_l": [[146.0, 120.0], [190.872, 109.878], [216.0, 141.0], [226.275, 137.073]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 118.0], [130.995, 75.365], [128.143, 33.883]], "head": [131.616, 14.187], "nose": [[141.464, 15.924], [148.358, 17.139]], "arm_r": [[128.143, 33.883], [155.658, 45.839], [166.0, 74.0]], "arm_l": [[134.143, 35.883], [161.969, 47.095], [170.0, 76.0]], "leg_r": [[140.0, 118.0], [185.76, 113.309], [212.0, 143.5], [220.669, 136.728]], "leg_l": [[146.0, 120.0], [191.583, 113.817], [216.0, 145.5], [225.052, 139.25]]}}}, {"name": "Cat-Cow", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [145.16, 123.852], [109.354, 94.234]], "head": [89.43, 95.978], "nose": [[79.817, 93.221], [73.088, 91.292]], "arm_r": [[115.354, 96.234], [120.968, 125.704], [111.0, 154.0]], "arm_l": [[109.354, 94.234], [114.968, 123.704], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [152.084, 74.375], [109.947, 96.56]], "head": [93.564, 108.031], "nose": [[86.492, 115.102], [81.543, 120.052]], "arm_r": [[115.947, 98.56], [124.631, 127.275], [111.0, 154.0]], "arm_l": [[109.947, 96.56], [118.631, 125.275], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.073, 98.844], [105.742, 94.89]], "head": [86.948, 101.73], "nose": [[77.267, 104.234], [70.49, 105.987]], "arm_r": [[111.742, 96.89], [120.561, 125.564], [111.0, 154.0]], "arm_l": [[105.742, 94.89], [114.561, 123.564], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}}}, {"name": "Chest Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[116.0, 122.0], [104.043, 80.097], [98.304, 38.915]], "head": [100.395, 19.025], "nose": [[110.357, 18.153], [117.33, 17.543]], "arm_r": [[98.304, 38.915], [93.095, 68.46], [116.076, 49.176]], "arm_l": [[104.304, 40.915], [99.095, 70.46], [122.076, 51.176]], "leg_r": [[116.0, 122.0], [160.688, 111.09], [158.0, 151.0], [168.975, 151.739]], "leg_l": [[122.0, 124.0], [166.474, 112.251], [162.0, 152.0], [172.931, 153.23]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[116.0, 122.0], [104.043, 80.097], [98.304, 38.915]], "head": [100.395, 19.025], "nose": [[110.357, 18.153], [117.33, 17.543]], "arm_r": [[98.304, 38.915], [128.14, 42.051], [157.249, 49.309]], "arm_l": [[104.304, 40.915], [134.14, 44.051], [163.249, 51.309]], "leg_r": [[116.0, 122.0], [160.688, 111.09], [158.0, 151.0], [168.975, 151.739]], "leg_l": [[122.0, 124.0], [166.474, 112.251], [162.0, 152.0], [172.931, 153.23]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[116.0, 122.0], [104.043, 80.097], [98.304, 38.915]], "head": [100.395, 19.025], "nose": [[110.357, 18.153], [117.33, 17.543]], "arm_r": [[98.304, 38.915], [116.359, 62.874], [145.59, 56.126]], "arm_l": [[104.304, 40.915], [122.359, 64.874], [151.59, 58.126]], "leg_r": [[116.0, 122.0], [160.688, 111.09], [158.0, 151.0], [168.975, 151.739]], "leg_l": [[122.0, 124.0], [166.474, 112.251], [162.0, 152.0], [172.931, 153.23]]}}}, {"name": "Dead Bug", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [100.0, 118.0], [100.0, 88.0]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [211.165, 108.655], [250.557, 115.601], [252.468, 104.769]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [78.787, 126.787], [57.574, 105.574]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [235.218, 137.321], [273.669, 126.295], [270.636, 115.721]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [100.0, 118.0], [100.0, 88.0]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [211.165, 108.655], [250.557, 115.601], [252.468, 104.769]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [100.0, 118.0], [100.0, 88.0]], "arm_l": [[106.0, 150.0], [84.787, 128.787], [63.574, 107.574]], "leg_r": [[185.0, 148.0], [229.218, 135.321], [267.669, 124.295], [264.636, 113.721]], "leg_l": [[191.0, 150.0], [211.165, 108.655], [250.557, 115.601], [252.468, 104.769]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [88.519, 120.284], [77.039, 92.567]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [226.238, 120.432], [266.183, 118.338], [265.608, 107.353]]}}}, {"name": "Hollow Body Hold", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [70.0, 148.0], [40.0, 148.0]], "arm_l": [[106.0, 150.0], [136.0, 150.0], [166.0, 150.0]], "leg_r": [[185.0, 148.0], [231.0, 148.0], [271.0, 148.0], [271.0, 137.0]], "leg_l": [[191.0, 150.0], [237.0, 150.0], [277.0, 150.0], [277.0, 139.0]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [140.587, 148.44], [102.768, 129.14]], "head": [87.448, 116.285], "nose": [[93.875, 108.624], [98.375, 103.262]], "arm_r": [[102.768, 129.14], [75.579, 116.462], [48.39, 103.783]], "arm_l": [[108.768, 131.14], [136.959, 141.401], [165.15, 151.662]], "leg_r": [[185.0, 148.0], [229.995, 138.436], [269.121, 130.12], [266.834, 119.36]], "leg_l": [[191.0, 150.0], [235.995, 140.436], [275.121, 132.12], [272.834, 121.36]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.269, 148.271], [100.697, 138.456]], "head": [82.721, 129.689], "nose": [[86.141, 120.292], [88.535, 113.714]], "arm_r": [[100.697, 138.456], [71.408, 131.963], [42.119, 125.47]], "arm_l": [[106.697, 140.456], [136.241, 145.666], [165.785, 150.875]], "leg_r": [[185.0, 148.0], [230.748, 143.192], [270.529, 139.011], [269.379, 128.071]], "leg_l": [[191.0, 150.0], [236.748, 145.192], [276.529, 141.011], [275.379, 130.071]]}}}, {"name": "Lat Pull Down", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[150.0, 122.0], [146.624, 78.588], [147.75, 37.059]], "head": [149.493, 17.135], "nose": [[155.228, 8.944], [159.243, 3.209]], "arm_r": [[147.75, 37.059], [174.771, 24.027], [194.0, 1.0]], "arm_l": [[153.75, 39.059], [181.713, 28.194], [198.0, 3.0]], "leg_r": [[150.0, 122.0], [194.414, 110.025], [193.0, 150.0], [203.993, 150.389]], "leg_l": [[156.0, 124.0], [200.161, 111.125], [197.0, 151.0], [207.966, 151.869]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[150.0, 122.0], [146.624, 78.588], [147.75, 37.059]], "head": [149.493, 17.135], "nose": [[158.153, 12.135], [164.215, 8.635]], "arm_r": [[147.75, 37.059], [171.723, 55.094], [194.0, 35.0]], "arm_l": [[153.75, 39.059], [176.815, 58.242], [198.0, 37.0]], "leg_r": [[150.0, 122.0], [194.414, 110.025], [193.0, 150.0], [203.993, 150.389]], "leg_l": [[156.0, 124.0], [200.161, 111.125], [197.0, 151.0], [207.966, 151.869]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[150.0, 122.0], [146.624, 78.588], [147.75, 37.059]], "head": [149.493, 17.135], "nose": [[156.865, 10.379], [162.026, 5.65]], "arm_r": [[147.75, 37.059], [177.186, 42.845], [194.0, 18.0]], "arm_l": [[153.75, 39.059], [182.947, 45.95], [198.0, 20.0]], "leg_r": [[150.0, 122.0], [194.414, 110.025], [193.0, 150.0], [203.993, 150.389]], "leg_l": [[156.0, 124.0], [200.161, 111.125], [197.0, 151.0], [207.966, 151.869]]}}}, {"name": "Leg Curl", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [203.204, 105.222], [202.436, 94.249]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [209.204, 107.222], [208.436, 96.249]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [159.815, 147.86], [170.773, 148.819]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [165.815, 149.86], [176.773, 150.819]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [191.338, 136.542], [199.183, 128.832]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [197.338, 138.542], [205.183, 130.832]]}}}, {"name": "Leg Extension", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [168.176, 147.714], [179.094, 146.373]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [174.176, 149.714], [185.094, 148.373]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [203.204, 105.222], [202.436, 94.249]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [209.204, 107.222], [208.436, 96.249]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [194.166, 133.455], [201.163, 124.967]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [200.166, 135.455], [207.163, 126.967]]}}}, {"name": "Leg Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 116.0], [119.592, 77.499], [105.417, 38.41]], "head": [110.593, 19.092], "nose": [[120.252, 21.68], [127.014, 23.492]], "arm_r": [[105.417, 38.41], [113.181, 67.388], [141.372, 77.649]], "arm_l": [[111.417, 40.41], [119.181, 69.388], [147.372, 79.649]], "leg_r": [[140.0, 116.0], [157.129, 73.308], [185.0, 102.0], [192.89, 94.336]], "leg_l": [[146.0, 118.0], [161.702, 74.763], [189.0, 104.0], [197.04, 96.493]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 116.0], [119.592, 77.499], [105.417, 38.41]], "head": [110.593, 19.092], "nose": [[120.252, 21.68], [127.014, 23.492]], "arm_r": [[105.417, 38.41], [113.181, 67.388], [141.372, 77.649]], "arm_l": [[111.417, 40.41], [119.181, 69.388], [147.372, 79.649]], "leg_r": [[140.0, 116.0], [180.564, 94.307], [220.0, 101.0], [221.84, 90.155]], "leg_l": [[146.0, 118.0], [185.086, 93.745], [224.0, 103.0], [226.545, 92.299]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 116.0], [119.592, 77.499], [105.417, 38.41]], "head": [110.593, 19.092], "nose": [[120.252, 21.68], [127.014, 23.492]], "arm_r": [[105.417, 38.41], [113.181, 67.388], [141.372, 77.649]], "arm_l": [[111.417, 40.41], [119.181, 69.388], [147.372, 79.649]], "leg_r": [[140.0, 116.0], [168.724, 80.071], [202.5, 101.5], [208.393, 92.212]], "leg_l": [[146.0, 118.0], [173.396, 81.048], [206.5, 103.5], [212.674, 94.396]]}}}, {"name": "Leg Raises", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [130.0, 148.0], [160.0, 148.0]], "arm_l": [[106.0, 150.0], [135.982, 151.047], [165.963, 152.094]], "leg_r": [[185.0, 148.0], [208.0, 108.163], [228.0, 73.522], [218.474, 68.022]], "leg_l": [[191.0, 150.0], [214.0, 110.163], [234.0, 75.522], [224.474, 70.022]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [130.0, 148.0], [160.0, 148.0]], "arm_l": [[106.0, 150.0], [135.982, 151.047], [165.963, 152.094]], "leg_r": [[185.0, 148.0], [230.552, 141.598], [270.163, 136.031], [268.632, 125.138]], "leg_l": [[191.0, 150.0], [236.552, 143.598], [276.163, 138.031], [274.632, 127.138]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [130.0, 148.0], [160.0, 148.0]], "arm_l": [[106.0, 150.0], [135.982, 151.047], [165.963, 152.094]], "leg_r": [[185.0, 148.0], [223.136, 122.277], [256.297, 99.909], [250.146, 90.79]], "leg_l": [[191.0, 150.0], [229.136, 124.277], [262.297, 101.909], [256.146, 92.79]]}}}, {"name": "Plank", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[172.0, 114.0], [128.666, 117.791], [87.323, 121.408]], "head": [67.4, 123.151], "nose": [[58.739, 128.151], [52.677, 131.651]], "arm_r": [[93.323, 123.408], [93.323, 153.408], [63.323, 153.408]], "arm_l": [[87.323, 121.408], [87.323, 151.408], [57.323, 151.408]], "leg_r": [[178.0, 116.0], [204.385, 153.681], [244.385, 153.681], [244.385, 164.681]], "leg_l": [[172.0, 114.0], [198.385, 151.681], [238.385, 151.681], [238.385, 162.681]]}, {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[168.0, 137.0], [125.161, 129.446], [84.291, 122.24]], "head": [64.595, 118.767], "nose": [[55.935, 123.767], [49.873, 127.267]], "arm_r": [[90.291, 124.24], [90.291, 154.24], [60.291, 154.24]], "arm_l": [[84.291, 122.24], [84.291, 152.24], [54.291, 152.24]], "leg_r": [[174.0, 139.0], [219.301, 146.988], [258.693, 153.934], [256.783, 164.767]], "leg_l": [[168.0, 137.0], [213.301, 144.988], [252.693, 151.934], [250.783, 162.767]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[170.0, 125.5], [126.541, 123.603], [85.081, 121.792]], "head": [65.1, 120.92], "nose": [[56.44, 125.92], [50.378, 129.42]], "arm_r": [[91.081, 123.792], [91.081, 153.792], [61.081, 153.792]], "arm_l": [[85.081, 121.792], [85.081, 151.792], [55.081, 151.792]], "leg_r": [[176.0, 127.5], [214.796, 152.216], [254.644, 155.702], [253.685, 166.66]], "leg_l": [[170.0, 125.5], [208.796, 150.216], [248.644, 153.702], [247.685, 164.66]]}}}, {"name": "Reverse Crunch", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[172.0, 148.0], [128.5, 148.0], [87.0, 148.0]], "head": [67.437, 143.842], "nose": [[67.437, 133.842], [67.437, 126.842]], "arm_r": [[87.0, 148.0], [117.0, 148.0], [147.0, 148.0]], "arm_l": [[93.0, 150.0], [122.982, 151.047], [152.963, 152.094]], "leg_r": [[172.0, 148.0], [164.012, 102.699], [201.6, 116.38], [205.362, 106.043]], "leg_l": [[178.0, 150.0], [170.012, 104.699], [207.6, 118.38], [211.362, 108.043]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[166.0, 136.0], [124.618, 154.524], [82.625, 143.469]], "head": [62.637, 144.167], "nose": [[62.637, 134.167], [62.637, 127.167]], "arm_r": [[82.625, 143.469], [112.511, 146.083], [142.397, 148.698]], "arm_l": [[88.625, 145.469], [118.607, 146.516], [148.588, 147.563]], "leg_r": [[166.0, 136.0], [146.56, 94.31], [185.952, 101.256], [187.862, 90.423]], "leg_l": [[172.0, 138.0], [152.56, 96.31], [191.952, 103.256], [193.862, 92.423]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[169.0, 142.0], [126.032, 151.335], [84.408, 145.781]], "head": [64.484, 144.037], "nose": [[64.484, 134.037], [64.484, 127.037]], "arm_r": [[84.408, 145.781], [114.379, 147.089], [144.351, 148.398]], "arm_l": [[90.408, 147.781], [120.39, 148.828], [150.371, 149.875]], "leg_r": [[169.0, 142.0], [155.168, 98.129], [193.805, 108.482], [196.652, 97.857]], "leg_l": [[175.0, 144.0], [161.168, 100.129], [199.805, 110.482], [202.652, 99.857]]}}}, {"name": "Rotary", "camera": 90.0, "frames": [{"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 122.0], [160.0, 78.5], [160.0, 37.0]], "head": [160.0, 17.0], "nose": [[170.0, 17.0], [173.709, 17.0]], "arm_r": [[155.5, 37.0], [177.096, 47.261], [199.728, 52.47]], "arm_l": [[164.5, 37.0], [186.095, 47.261], [208.727, 52.47]], "leg_r": [[155.0, 122.0], [142.321, 128.154], [138.55, 167.206], [135.701, 164.863]], "leg_l": [[165.0, 122.0], [177.679, 128.154], [181.45, 167.206], [184.299, 164.863]]}, {"order": ["spine", "arm_r", "arm_l", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 122.0], [160.0, 78.5], [160.0, 37.0]], "head": [160.0, 17.0], "nose": [[150.0, 17.0], [146.291, 17.0]], "arm_r": [[155.5, 37.0], [133.905, 47.261], [111.273, 52.47]], "arm_l": [[164.5, 37.0], [142.904, 47.261], [120.272, 52.47]], "leg_r": [[155.0, 122.0], [142.321, 128.154], [138.55, 167.206], [135.701, 164.863]], "leg_l": [[165.0, 122.0], [177.679, 128.154], [181.45, 167.206], [184.299, 164.863]]}], "tween": {"t": 0.5, "sample": {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 122.0], [160.0, 78.5], [160.0, 37.0]], "head": [160.0, 17.0], "nose": null, "arm_r": [[153.0, 37.0], [153.0, 47.261], [153.0, 52.47]], "arm_l": [[167.0, 37.0], [167.0, 47.261], [167.0, 52.47]], "leg_r": [[155.0, 122.0], [142.321, 128.154], [138.55, 167.206], [135.701, 164.863]], "leg_l": [[165.0, 122.0], [177.679, 128.154], [181.45, 167.206], [184.299, 164.863]]}}}, {"name": "Seated Row", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 122.0], [142.699, 78.541], [149.593, 37.572]], "head": [153.066, 17.876], "nose": [[163.028, 17.005], [170.001, 16.395]], "arm_r": [[149.593, 37.572], [170.108, 59.462], [200.0, 62.0]], "arm_l": [[155.593, 39.572], [174.009, 63.254], [204.0, 64.0]], "leg_r": [[140.0, 122.0], [183.885, 108.212], [188.0, 148.0], [198.942, 146.868]], "leg_l": [[146.0, 124.0], [189.512, 109.077], [192.0, 149.0], [202.979, 148.316]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 122.0], [142.699, 78.541], [149.593, 37.572]], "head": [153.066, 17.876], "nose": [[163.028, 17.005], [170.001, 16.395]], "arm_r": [[149.593, 37.572], [130.28, 60.529], [158.0, 72.0]], "arm_l": [[155.593, 39.572], [134.847, 61.243], [162.0, 74.0]], "leg_r": [[140.0, 122.0], [183.885, 108.212], [188.0, 148.0], [198.942, 146.868]], "leg_l": [[146.0, 124.0], [189.512, 109.077], [192.0, 149.0], [202.979, 148.316]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 122.0], [142.699, 78.541], [149.593, 37.572]], "head": [153.066, 17.876], "nose": [[163.028, 17.005], [170.001, 16.395]], "arm_r": [[149.593, 37.572], [149.005, 67.567], [179.0, 67.0]], "arm_l": [[155.593, 39.572], [153.004, 69.46], [183.0, 69.0]], "leg_r": [[140.0, 122.0], [183.885, 108.212], [188.0, 148.0], [198.942, 146.868]], "leg_l": [[146.0, 124.0], [189.512, 109.077], [192.0, 149.0], [202.979, 148.316]]}}}, {"name": "Shoulder Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[120.0, 130.0], [103.02, 89.766], [95.132, 48.841]], "head": [98.605, 29.145], "nose": [[108.508, 27.753], [115.44, 26.779]], "arm_r": [[95.132, 48.841], [110.132, 74.822], [110.132, 44.822]], "arm_l": [[101.132, 50.841], [116.132, 76.822], [116.132, 46.822]], "leg_r": [[120.0, 130.0], [161.917, 111.054], [164.0, 151.0], [174.985, 150.427]], "leg_l": [[126.0, 132.0], [167.427, 112.004], [168.0, 152.0], [178.999, 151.842]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[120.0, 130.0], [103.02, 89.766], [95.132, 48.841]], "head": [98.605, 29.145], "nose": [[108.508, 27.753], [115.44, 26.779]], "arm_r": [[95.132, 48.841], [112.766, 24.57], [137.036, 6.937]], "arm_l": [[101.132, 50.841], [118.766, 26.57], [143.036, 8.937]], "leg_r": [[120.0, 130.0], [161.917, 111.054], [164.0, 151.0], [174.985, 150.427]], "leg_l": [[126.0, 132.0], [167.427, 112.004], [168.0, 152.0], [178.999, 151.842]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[120.0, 130.0], [103.02, 89.766], [95.132, 48.841]], "head": [98.605, 29.145], "nose": [[108.508, 27.753], [115.44, 26.779]], "arm_r": [[95.132, 48.841], [125.091, 50.411], [138.711, 23.681]], "arm_l": [[101.132, 50.841], [131.091, 52.411], [144.711, 25.681]], "leg_r": [[120.0, 130.0], [161.917, 111.054], [164.0, 151.0], [174.985, 150.427]], "leg_l": [[126.0, 132.0], [167.427, 112.004], [168.0, 152.0], [178.999, 151.842]]}}}, {"name": "Side Plank", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[174.0, 150.0], [132.629, 136.558], [93.16, 123.734]], "head": [74.139, 117.553], "nose": [[64.177, 116.682], [57.204, 116.072]], "arm_r": [[99.16, 125.734], [127.351, 135.994], [156.329, 143.759]], "arm_l": [[93.16, 123.734], [89.959, 153.562], [60.0, 152.0]], "leg_r": [[180.0, 152.0], [225.993, 152.803], [265.987, 153.501], [265.795, 164.499]], "leg_l": [[174.0, 150.0], [219.993, 150.803], [259.987, 151.501], [259.795, 162.499]]}, {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[174.0, 137.0], [131.161, 129.446], [90.291, 122.24]], "head": [70.595, 118.767], "nose": [[60.595, 118.767], [53.595, 118.767]], "arm_r": [[96.291, 124.24], [101.501, 94.696], [106.71, 65.151]], "arm_l": [[90.291, 122.24], [89.999, 152.238], [60.0, 152.0]], "leg_r": [[180.0, 139.0], [225.301, 146.988], [264.693, 153.934], [262.783, 164.767]], "leg_l": [[174.0, 137.0], [219.301, 144.988], [258.693, 151.934], [256.783, 162.767]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "arm_l", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[174.0, 143.5], [131.792, 132.976], [91.525, 122.937]], "head": [72.119, 118.098], "nose": [[62.128, 117.662], [55.135, 117.357]], "arm_r": [[97.525, 124.937], [123.506, 109.937], [148.807, 93.818]], "arm_l": [[91.525, 122.937], [89.987, 152.897], [60.0, 152.0]], "leg_r": [[180.0, 145.5], [225.788, 149.909], [265.604, 153.743], [264.55, 164.692]], "leg_l": [[174.0, 143.5], [219.788, 147.909], [259.604, 151.743], [258.55, 162.692]]}}}, {"name": "Tricep Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 124.0], [109.722, 81.276], [104.688, 40.062]], "head": [106.083, 20.111], "nose": [[116.028, 19.065], [122.99, 18.334]], "arm_r": [[104.688, 40.062], [94.678, 68.343], [124.0, 62.0]], "arm_l": [[110.688, 42.062], [98.504, 69.477], [128.0, 64.0]], "leg_r": [[118.0, 124.0], [162.267, 111.494], [156.0, 151.0], [166.864, 152.724]], "leg_l": [[124.0, 126.0], [168.072, 112.823], [160.0, 152.0], [170.774, 154.22]]}, {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 124.0], [109.722, 81.276], [104.688, 40.062]], "head": [106.083, 20.111], "nose": [[116.028, 19.065], [122.99, 18.334]], "arm_r": [[104.688, 40.062], [109.666, 69.646], [124.0, 96.0]], "arm_l": [[110.688, 42.062], [113.094, 71.965], [128.0, 98.0]], "leg_r": [[118.0, 124.0], [162.267, 111.494], [156.0, 151.0], [166.864, 152.724]], "leg_l": [[124.0, 126.0], [168.072, 112.823], [160.0, 152.0], [170.774, 154.22]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "arm_r", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 124.0], [109.722, 81.276], [104.688, 40.062]], "head": [106.083, 20.111], "nose": [[116.028, 19.065], [122.99, 18.334]], "arm_r": [[104.688, 40.062], [95.816, 68.72], [124.0, 79.0]], "arm_l": [[110.688, 42.062], [100.046, 70.111], [128.0, 81.0]], "leg_r": [[118.0, 124.0], [162.267, 111.494], [156.0, 151.0], [166.864, 152.724]], "leg_l": [[124.0, 126.0], [168.072, 112.823], [160.0, 152.0], [170.774, 154.22]]}}}]}
+{"profile": "neutral", "exercises": [{"name": "Abdominal", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[128.0, 126.0], [123.501, 82.657], [125.0, 41.105]], "head": [127.784, 21.299], "nose": [[137.687, 22.691], [144.618, 23.665]], "arm_r": [[125.0, 41.105], [153.596, 32.033], [155.0, 62.0]], "arm_l": [[131.0, 43.105], [159.596, 34.033], [161.0, 64.0]], "leg_r": [[128.0, 126.0], [171.174, 110.126], [168.0, 150.0], [178.965, 150.873]], "leg_l": [[134.0, 128.0], [176.436, 110.247], [172.0, 150.0], [182.932, 151.22]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[128.0, 126.0], [123.113, 75.978], [167.641, 56.656]], "head": [186.184, 49.164], "nose": [[193.616, 55.855], [198.818, 60.539]], "arm_r": [[167.641, 56.656], [195.9, 46.586], [190.0, 76.0]], "arm_l": [[173.641, 58.656], [201.9, 48.586], [196.0, 78.0]], "leg_r": [[128.0, 126.0], [171.174, 110.126], [168.0, 150.0], [178.965, 150.873]], "leg_l": [[134.0, 128.0], [176.436, 110.247], [172.0, 150.0], [182.932, 151.22]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[128.0, 126.0], [122.501, 80.621], [148.0, 44.994]], "head": [160.314, 29.234], "nose": [[169.377, 33.46], [175.721, 36.418]], "arm_r": [[148.0, 44.994], [177.477, 39.416], [172.5, 69.0]], "arm_l": [[154.0, 46.994], [183.477, 41.416], [178.5, 71.0]], "leg_r": [[128.0, 126.0], [171.174, 110.126], [168.0, 150.0], [178.965, 150.873]], "leg_l": [[134.0, 128.0], [176.436, 110.247], [172.0, 150.0], [182.932, 151.22]]}}}, {"name": "Abductor", "camera": 90.0, "frames": [{"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[149.0, 31.0], [139.729, 59.098], [131.328, 82.362]], "arm_l": [[171.0, 31.0], [180.271, 59.098], [188.672, 82.362]], "leg_r": [[153.0, 116.0], [147.394, 125.493], [145.105, 163.914], [143.922, 160.867]], "leg_l": [[167.0, 116.0], [172.606, 125.493], [174.895, 163.914], [176.078, 160.867]]}, {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[149.0, 31.0], [139.729, 59.098], [131.328, 82.362]], "arm_l": [[171.0, 31.0], [180.271, 59.098], [188.672, 82.362]], "leg_r": [[153.0, 116.0], [130.0, 124.283], [120.611, 162.21], [115.754, 158.907]], "leg_l": [[167.0, 116.0], [190.0, 124.283], [199.389, 162.21], [204.246, 158.907]]}], "tween": {"t": 0.5, "sample": {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[149.0, 31.0], [139.729, 59.098], [131.328, 82.362]], "arm_l": [[171.0, 31.0], [180.271, 59.098], [188.672, 82.362]], "leg_r": [[153.0, 116.0], [138.404, 125.07], [132.445, 163.318], [129.364, 160.182]], "leg_l": [[167.0, 116.0], [181.596, 125.07], [187.555, 163.318], [190.636, 160.182]]}}}, {"name": "Adductor", "camera": 90.0, "frames": [{"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[149.0, 31.0], [139.729, 59.098], [131.328, 82.362]], "arm_l": [[171.0, 31.0], [180.271, 59.098], [188.672, 82.362]], "leg_r": [[153.0, 116.0], [130.0, 124.283], [120.611, 162.21], [115.754, 158.907]], "leg_l": [[167.0, 116.0], [190.0, 124.283], [199.389, 162.21], [204.246, 158.907]]}, {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[149.0, 31.0], [139.729, 59.098], [131.328, 82.362]], "arm_l": [[171.0, 31.0], [180.271, 59.098], [188.672, 82.362]], "leg_r": [[153.0, 116.0], [147.394, 125.493], [145.105, 163.914], [143.922, 160.867]], "leg_l": [[167.0, 116.0], [172.606, 125.493], [174.895, 163.914], [176.078, 160.867]]}], "tween": {"t": 0.5, "sample": {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 116.0], [160.0, 72.5], [160.0, 31.0]], "head": [160.0, 11.0], "nose": null, "arm_r": [[149.0, 31.0], [139.729, 59.098], [131.328, 82.362]], "arm_l": [[171.0, 31.0], [180.271, 59.098], [188.672, 82.362]], "leg_r": [[153.0, 116.0], [138.404, 125.07], [132.445, 163.318], [129.364, 160.182]], "leg_l": [[167.0, 116.0], [181.596, 125.07], [187.555, 163.318], [190.636, 160.182]]}}}, {"name": "Arm Curl", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[130.0, 124.0], [130.786, 80.488], [134.43, 39.129]], "head": [137.214, 19.323], "nose": [[146.724, 22.413], [153.382, 24.576]], "arm_r": [[134.43, 39.129], [159.005, 56.336], [174.903, 81.777]], "arm_l": [[140.43, 41.129], [165.005, 58.336], [180.903, 83.777]], "leg_r": [[130.0, 124.0], [173.836, 110.059], [176.0, 150.0], [186.984, 149.405]], "leg_l": [[136.0, 126.0], [179.487, 111.003], [180.0, 151.0], [190.999, 150.859]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[130.0, 124.0], [130.786, 80.488], [134.43, 39.129]], "head": [137.214, 19.323], "nose": [[146.724, 22.413], [153.382, 24.576]], "arm_r": [[134.43, 39.129], [159.005, 56.336], [178.289, 33.354]], "arm_l": [[140.43, 41.129], [165.005, 58.336], [184.289, 35.354]], "leg_r": [[130.0, 124.0], [173.836, 110.059], [176.0, 150.0], [186.984, 149.405]], "leg_l": [[136.0, 126.0], [179.487, 111.003], [180.0, 151.0], [190.999, 150.859]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[130.0, 124.0], [130.786, 80.488], [134.43, 39.129]], "head": [137.214, 19.323], "nose": [[146.724, 22.413], [153.382, 24.576]], "arm_r": [[134.43, 39.129], [159.005, 56.336], [188.932, 58.428]], "arm_l": [[140.43, 41.129], [165.005, 58.336], [194.932, 60.428]], "leg_r": [[130.0, 124.0], [173.836, 110.059], [176.0, 150.0], [186.984, 149.405]], "leg_l": [[136.0, 126.0], [179.487, 111.003], [180.0, 151.0], [190.999, 150.859]]}}}, {"name": "Bird Dog", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[77.132, 99.367], [70.788, 102.325]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [110.072, 122.432], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[76.536, 97.729], [69.775, 99.54]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [77.681, 82.936], [49.315, 73.169]], "leg_r": [[196.0, 108.0], [240.433, 96.094], [279.07, 85.742], [286.14, 94.168]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[77.132, 99.367], [70.788, 102.325]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [110.072, 122.432], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[76.536, 97.729], [69.775, 99.54]], "arm_r": [[112.046, 94.703], [83.681, 84.936], [55.315, 75.169]], "arm_l": [[106.046, 92.703], [110.072, 122.432], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [234.433, 94.094], [273.07, 83.742], [280.14, 92.168]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.036, 99.195], [106.046, 92.703]], "head": [86.196, 95.14], "nose": [[76.799, 98.561], [70.221, 100.955]], "arm_r": [[112.046, 94.703], [116.072, 124.432], [111.0, 154.0]], "arm_l": [[106.046, 92.703], [82.85, 111.727], [57.036, 127.013]], "leg_r": [[196.0, 108.0], [234.136, 133.723], [273.794, 128.502], [281.904, 135.933]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}}, "orbit": [{"yaw": 37.0, "sample": {"order": ["arm_r", "arm_l", "spine", "leg_r", "leg_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [155.687, 99.195], [122.952, 92.703]], "head": [107.098, 95.14], "nose": [[98.462, 100.183], [93.396, 103.141]], "arm_r": [[134.364, 94.3], [123.942, 122.432], [112.562, 150.19]], "arm_l": [[116.332, 92.703], [111.24, 122.268], [105.078, 151.628]], "leg_r": [[199.005, 107.597], [203.482, 153.254], [235.427, 153.254], [242.623, 159.564]], "leg_l": [[185.787, 106.0], [190.264, 151.657], [222.21, 151.657], [229.406, 157.966]]}}, {"yaw": 180.0, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[190.0, 106.0], [232.964, 99.195], [273.954, 92.703]], "head": [293.804, 95.14], "nose": [[302.868, 99.367], [309.212, 102.325]], "arm_r": [[273.954, 92.703], [246.072, 103.776], [217.953, 114.232]], "arm_l": [[279.954, 94.703], [251.619, 104.559], [223.076, 113.795]], "leg_r": [[190.0, 106.0], [184.394, 151.657], [144.394, 151.657], [135.383, 157.966]], "leg_l": [[196.0, 108.0], [190.394, 153.657], [150.394, 153.657], [141.383, 159.966]]}}]}, {"name": "Calfs", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 118.0], [130.995, 75.365], [128.143, 33.883]], "head": [131.616, 14.187], "nose": [[141.464, 15.924], [148.358, 17.139]], "arm_r": [[128.143, 33.883], [155.658, 45.839], [166.0, 74.0]], "arm_l": [[134.143, 35.883], [161.969, 47.095], [170.0, 76.0]], "leg_r": [[140.0, 118.0], [185.998, 117.604], [212.0, 148.0], [218.69, 139.268]], "leg_l": [[146.0, 120.0], [191.958, 118.032], [216.0, 150.0], [223.225, 141.705]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 118.0], [130.995, 75.365], [128.143, 33.883]], "head": [131.616, 14.187], "nose": [[141.464, 15.924], [148.358, 17.139]], "arm_r": [[128.143, 33.883], [155.658, 45.839], [166.0, 74.0]], "arm_l": [[134.143, 35.883], [161.969, 47.095], [170.0, 76.0]], "leg_r": [[140.0, 118.0], [185.175, 109.328], [212.0, 139.0], [222.04, 134.506]], "leg_l": [[146.0, 120.0], [190.872, 109.878], [216.0, 141.0], [226.275, 137.073]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 118.0], [130.995, 75.365], [128.143, 33.883]], "head": [131.616, 14.187], "nose": [[141.464, 15.924], [148.358, 17.139]], "arm_r": [[128.143, 33.883], [155.658, 45.839], [166.0, 74.0]], "arm_l": [[134.143, 35.883], [161.969, 47.095], [170.0, 76.0]], "leg_r": [[140.0, 118.0], [185.76, 113.309], [212.0, 143.5], [220.669, 136.728]], "leg_l": [[146.0, 120.0], [191.583, 113.817], [216.0, 145.5], [225.052, 139.25]]}}}, {"name": "Cat-Cow", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [145.16, 123.852], [109.354, 94.234]], "head": [89.43, 95.978], "nose": [[79.817, 93.221], [73.088, 91.292]], "arm_r": [[115.354, 96.234], [120.968, 125.704], [111.0, 154.0]], "arm_l": [[109.354, 94.234], [114.968, 123.704], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}, {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [152.084, 74.375], [109.947, 96.56]], "head": [93.564, 108.031], "nose": [[86.492, 115.102], [81.543, 120.052]], "arm_r": [[115.947, 98.56], [124.631, 127.275], [111.0, 154.0]], "arm_l": [[109.947, 96.56], [118.631, 125.275], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[190.0, 106.0], [147.073, 98.844], [105.742, 94.89]], "head": [86.948, 101.73], "nose": [[77.267, 104.234], [70.49, 105.987]], "arm_r": [[111.742, 96.89], [120.561, 125.564], [111.0, 154.0]], "arm_l": [[105.742, 94.89], [114.561, 123.564], [105.0, 152.0]], "leg_r": [[196.0, 108.0], [201.606, 153.657], [241.606, 153.657], [250.617, 159.966]], "leg_l": [[190.0, 106.0], [195.606, 151.657], [235.606, 151.657], [244.617, 157.966]]}}}, {"name": "Chest Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[116.0, 122.0], [104.043, 80.097], [98.304, 38.915]], "head": [100.395, 19.025], "nose": [[110.357, 18.153], [117.33, 17.543]], "arm_r": [[98.304, 38.915], [93.095, 68.46], [116.076, 49.176]], "arm_l": [[104.304, 40.915], [99.095, 70.46], [122.076, 51.176]], "leg_r": [[116.0, 122.0], [160.688, 111.09], [158.0, 151.0], [168.975, 151.739]], "leg_l": [[122.0, 124.0], [166.474, 112.251], [162.0, 152.0], [172.931, 153.23]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[116.0, 122.0], [104.043, 80.097], [98.304, 38.915]], "head": [100.395, 19.025], "nose": [[110.357, 18.153], [117.33, 17.543]], "arm_r": [[98.304, 38.915], [128.14, 42.051], [157.249, 49.309]], "arm_l": [[104.304, 40.915], [134.14, 44.051], [163.249, 51.309]], "leg_r": [[116.0, 122.0], [160.688, 111.09], [158.0, 151.0], [168.975, 151.739]], "leg_l": [[122.0, 124.0], [166.474, 112.251], [162.0, 152.0], [172.931, 153.23]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[116.0, 122.0], [104.043, 80.097], [98.304, 38.915]], "head": [100.395, 19.025], "nose": [[110.357, 18.153], [117.33, 17.543]], "arm_r": [[98.304, 38.915], [116.359, 62.874], [145.59, 56.126]], "arm_l": [[104.304, 40.915], [122.359, 64.874], [151.59, 58.126]], "leg_r": [[116.0, 122.0], [160.688, 111.09], [158.0, 151.0], [168.975, 151.739]], "leg_l": [[122.0, 124.0], [166.474, 112.251], [162.0, 152.0], [172.931, 153.23]]}}}, {"name": "Dead Bug", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [100.0, 118.0], [100.0, 88.0]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [211.165, 108.655], [250.557, 115.601], [252.468, 104.769]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [78.787, 126.787], [57.574, 105.574]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [235.218, 137.321], [273.669, 126.295], [270.636, 115.721]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [100.0, 118.0], [100.0, 88.0]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [211.165, 108.655], [250.557, 115.601], [252.468, 104.769]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [100.0, 118.0], [100.0, 88.0]], "arm_l": [[106.0, 150.0], [84.787, 128.787], [63.574, 107.574]], "leg_r": [[185.0, 148.0], [229.218, 135.321], [267.669, 124.295], [264.636, 113.721]], "leg_l": [[191.0, 150.0], [211.165, 108.655], [250.557, 115.601], [252.468, 104.769]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [88.519, 120.284], [77.039, 92.567]], "arm_l": [[106.0, 150.0], [106.0, 120.0], [106.0, 90.0]], "leg_r": [[185.0, 148.0], [205.165, 106.655], [244.557, 113.601], [246.468, 102.769]], "leg_l": [[191.0, 150.0], [226.238, 120.432], [266.183, 118.338], [265.608, 107.353]]}}}, {"name": "Hollow Body Hold", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [70.0, 148.0], [40.0, 148.0]], "arm_l": [[106.0, 150.0], [136.0, 150.0], [166.0, 150.0]], "leg_r": [[185.0, 148.0], [231.0, 148.0], [271.0, 148.0], [271.0, 137.0]], "leg_l": [[191.0, 150.0], [237.0, 150.0], [277.0, 150.0], [277.0, 139.0]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [140.587, 148.44], [102.768, 129.14]], "head": [87.448, 116.285], "nose": [[93.875, 108.624], [98.375, 103.262]], "arm_r": [[102.768, 129.14], [75.579, 116.462], [48.39, 103.783]], "arm_l": [[108.768, 131.14], [136.959, 141.401], [165.15, 151.662]], "leg_r": [[185.0, 148.0], [229.995, 138.436], [269.121, 130.12], [266.834, 119.36]], "leg_l": [[191.0, 150.0], [235.995, 140.436], [275.121, 132.12], [272.834, 121.36]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.269, 148.271], [100.697, 138.456]], "head": [82.721, 129.689], "nose": [[86.141, 120.292], [88.535, 113.714]], "arm_r": [[100.697, 138.456], [71.408, 131.963], [42.119, 125.47]], "arm_l": [[106.697, 140.456], [136.241, 145.666], [165.785, 150.875]], "leg_r": [[185.0, 148.0], [230.748, 143.192], [270.529, 139.011], [269.379, 128.071]], "leg_l": [[191.0, 150.0], [236.748, 145.192], [276.529, 141.011], [275.379, 130.071]]}}}, {"name": "Lat Pull Down", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[150.0, 122.0], [146.624, 78.588], [147.75, 37.059]], "head": [149.493, 17.135], "nose": [[155.228, 8.944], [159.243, 3.209]], "arm_r": [[147.75, 37.059], [174.771, 24.027], [194.0, 1.0]], "arm_l": [[153.75, 39.059], [181.713, 28.194], [198.0, 3.0]], "leg_r": [[150.0, 122.0], [194.414, 110.025], [193.0, 150.0], [203.993, 150.389]], "leg_l": [[156.0, 124.0], [200.161, 111.125], [197.0, 151.0], [207.966, 151.869]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[150.0, 122.0], [146.624, 78.588], [147.75, 37.059]], "head": [149.493, 17.135], "nose": [[158.153, 12.135], [164.215, 8.635]], "arm_r": [[147.75, 37.059], [171.723, 55.094], [194.0, 35.0]], "arm_l": [[153.75, 39.059], [176.815, 58.242], [198.0, 37.0]], "leg_r": [[150.0, 122.0], [194.414, 110.025], [193.0, 150.0], [203.993, 150.389]], "leg_l": [[156.0, 124.0], [200.161, 111.125], [197.0, 151.0], [207.966, 151.869]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[150.0, 122.0], [146.624, 78.588], [147.75, 37.059]], "head": [149.493, 17.135], "nose": [[156.865, 10.379], [162.026, 5.65]], "arm_r": [[147.75, 37.059], [177.186, 42.845], [194.0, 18.0]], "arm_l": [[153.75, 39.059], [182.947, 45.95], [198.0, 20.0]], "leg_r": [[150.0, 122.0], [194.414, 110.025], [193.0, 150.0], [203.993, 150.389]], "leg_l": [[156.0, 124.0], [200.161, 111.125], [197.0, 151.0], [207.966, 151.869]]}}}, {"name": "Leg Curl", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [203.204, 105.222], [202.436, 94.249]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [209.204, 107.222], [208.436, 96.249]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [159.815, 147.86], [170.773, 148.819]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [165.815, 149.86], [176.773, 150.819]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [191.338, 136.542], [199.183, 128.832]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [197.338, 138.542], [205.183, 130.832]]}}}, {"name": "Leg Extension", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [168.176, 147.714], [179.094, 146.373]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [174.176, 149.714], [185.094, 148.373]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [203.204, 105.222], [202.436, 94.249]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [209.204, 107.222], [208.436, 96.249]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 116.0], [101.728, 75.576], [91.716, 35.22]], "head": [97.229, 15.995], "nose": [[106.626, 19.415], [113.204, 21.809]], "arm_r": [[91.716, 35.22], [99.481, 64.198], [114.481, 90.179]], "arm_l": [[97.716, 37.22], [105.481, 66.198], [120.481, 92.179]], "leg_r": [[118.0, 116.0], [163.301, 108.012], [194.166, 133.455], [201.163, 124.967]], "leg_l": [[124.0, 118.0], [169.301, 110.012], [200.166, 135.455], [207.163, 126.967]]}}}, {"name": "Leg Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 116.0], [119.592, 77.499], [105.417, 38.41]], "head": [110.593, 19.092], "nose": [[120.252, 21.68], [127.014, 23.492]], "arm_r": [[105.417, 38.41], [113.181, 67.388], [141.372, 77.649]], "arm_l": [[111.417, 40.41], [119.181, 69.388], [147.372, 79.649]], "leg_r": [[140.0, 116.0], [157.129, 73.308], [185.0, 102.0], [192.89, 94.336]], "leg_l": [[146.0, 118.0], [161.702, 74.763], [189.0, 104.0], [197.04, 96.493]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 116.0], [119.592, 77.499], [105.417, 38.41]], "head": [110.593, 19.092], "nose": [[120.252, 21.68], [127.014, 23.492]], "arm_r": [[105.417, 38.41], [113.181, 67.388], [141.372, 77.649]], "arm_l": [[111.417, 40.41], [119.181, 69.388], [147.372, 79.649]], "leg_r": [[140.0, 116.0], [180.564, 94.307], [220.0, 101.0], [221.84, 90.155]], "leg_l": [[146.0, 118.0], [185.086, 93.745], [224.0, 103.0], [226.545, 92.299]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 116.0], [119.592, 77.499], [105.417, 38.41]], "head": [110.593, 19.092], "nose": [[120.252, 21.68], [127.014, 23.492]], "arm_r": [[105.417, 38.41], [113.181, 67.388], [141.372, 77.649]], "arm_l": [[111.417, 40.41], [119.181, 69.388], [147.372, 79.649]], "leg_r": [[140.0, 116.0], [168.724, 80.071], [202.5, 101.5], [208.393, 92.212]], "leg_l": [[146.0, 118.0], [173.396, 81.048], [206.5, 103.5], [212.674, 94.396]]}}}, {"name": "Leg Raises", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [130.0, 148.0], [160.0, 148.0]], "arm_l": [[106.0, 150.0], [135.982, 151.047], [165.963, 152.094]], "leg_r": [[185.0, 148.0], [208.0, 108.163], [228.0, 73.522], [218.474, 68.022]], "leg_l": [[191.0, 150.0], [214.0, 110.163], [234.0, 75.522], [224.474, 70.022]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [130.0, 148.0], [160.0, 148.0]], "arm_l": [[106.0, 150.0], [135.982, 151.047], [165.963, 152.094]], "leg_r": [[185.0, 148.0], [230.552, 141.598], [270.163, 136.031], [268.632, 125.138]], "leg_l": [[191.0, 150.0], [236.552, 143.598], [276.163, 138.031], [274.632, 127.138]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[185.0, 148.0], [141.5, 148.0], [100.0, 148.0]], "head": [80.437, 143.842], "nose": [[80.437, 133.842], [80.437, 126.842]], "arm_r": [[100.0, 148.0], [130.0, 148.0], [160.0, 148.0]], "arm_l": [[106.0, 150.0], [135.982, 151.047], [165.963, 152.094]], "leg_r": [[185.0, 148.0], [223.136, 122.277], [256.297, 99.909], [250.146, 90.79]], "leg_l": [[191.0, 150.0], [229.136, 124.277], [262.297, 101.909], [256.146, 92.79]]}}}, {"name": "Plank", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[172.0, 114.0], [128.666, 117.791], [87.323, 121.408]], "head": [67.4, 123.151], "nose": [[58.739, 128.151], [52.677, 131.651]], "arm_r": [[93.323, 123.408], [93.323, 153.408], [63.323, 153.408]], "arm_l": [[87.323, 121.408], [87.323, 151.408], [57.323, 151.408]], "leg_r": [[178.0, 116.0], [204.385, 153.681], [244.385, 153.681], [244.385, 164.681]], "leg_l": [[172.0, 114.0], [198.385, 151.681], [238.385, 151.681], [238.385, 162.681]]}, {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[168.0, 137.0], [125.161, 129.446], [84.291, 122.24]], "head": [64.595, 118.767], "nose": [[55.935, 123.767], [49.873, 127.267]], "arm_r": [[90.291, 124.24], [90.291, 154.24], [60.291, 154.24]], "arm_l": [[84.291, 122.24], [84.291, 152.24], [54.291, 152.24]], "leg_r": [[174.0, 139.0], [219.301, 146.988], [258.693, 153.934], [256.783, 164.767]], "leg_l": [[168.0, 137.0], [213.301, 144.988], [252.693, 151.934], [250.783, 162.767]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[170.0, 125.5], [126.541, 123.603], [85.081, 121.792]], "head": [65.1, 120.92], "nose": [[56.44, 125.92], [50.378, 129.42]], "arm_r": [[91.081, 123.792], [91.081, 153.792], [61.081, 153.792]], "arm_l": [[85.081, 121.792], [85.081, 151.792], [55.081, 151.792]], "leg_r": [[176.0, 127.5], [214.796, 152.216], [254.644, 155.702], [253.685, 166.66]], "leg_l": [[170.0, 125.5], [208.796, 150.216], [248.644, 153.702], [247.685, 164.66]]}}}, {"name": "Reverse Crunch", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[172.0, 148.0], [128.5, 148.0], [87.0, 148.0]], "head": [67.437, 143.842], "nose": [[67.437, 133.842], [67.437, 126.842]], "arm_r": [[87.0, 148.0], [117.0, 148.0], [147.0, 148.0]], "arm_l": [[93.0, 150.0], [122.982, 151.047], [152.963, 152.094]], "leg_r": [[172.0, 148.0], [164.012, 102.699], [201.6, 116.38], [205.362, 106.043]], "leg_l": [[178.0, 150.0], [170.012, 104.699], [207.6, 118.38], [211.362, 108.043]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[166.0, 136.0], [124.618, 154.524], [82.625, 143.469]], "head": [62.637, 144.167], "nose": [[62.637, 134.167], [62.637, 127.167]], "arm_r": [[82.625, 143.469], [112.511, 146.083], [142.397, 148.698]], "arm_l": [[88.625, 145.469], [118.607, 146.516], [148.588, 147.563]], "leg_r": [[166.0, 136.0], [146.56, 94.31], [185.952, 101.256], [187.862, 90.423]], "leg_l": [[172.0, 138.0], [152.56, 96.31], [191.952, 103.256], [193.862, 92.423]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[169.0, 142.0], [126.032, 151.335], [84.408, 145.781]], "head": [64.484, 144.037], "nose": [[64.484, 134.037], [64.484, 127.037]], "arm_r": [[84.408, 145.781], [114.379, 147.089], [144.351, 148.398]], "arm_l": [[90.408, 147.781], [120.39, 148.828], [150.371, 149.875]], "leg_r": [[169.0, 142.0], [155.168, 98.129], [193.805, 108.482], [196.652, 97.857]], "leg_l": [[175.0, 144.0], [161.168, 100.129], [199.805, 110.482], [202.652, 99.857]]}}}, {"name": "Rotary", "camera": 90.0, "frames": [{"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 122.0], [160.0, 78.5], [160.0, 37.0]], "head": [160.0, 17.0], "nose": [[170.0, 17.0], [173.709, 17.0]], "arm_r": [[152.929, 37.0], [174.525, 47.261], [197.157, 52.47]], "arm_l": [[167.071, 37.0], [188.666, 47.261], [211.298, 52.47]], "leg_r": [[153.0, 122.0], [140.321, 128.154], [136.55, 167.206], [133.701, 164.863]], "leg_l": [[167.0, 122.0], [179.679, 128.154], [183.45, 167.206], [186.299, 164.863]]}, {"order": ["spine", "arm_r", "arm_l", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 122.0], [160.0, 78.5], [160.0, 37.0]], "head": [160.0, 17.0], "nose": [[150.0, 17.0], [146.291, 17.0]], "arm_r": [[152.929, 37.0], [131.334, 47.261], [108.702, 52.47]], "arm_l": [[167.071, 37.0], [145.475, 47.261], [122.843, 52.47]], "leg_r": [[153.0, 122.0], [140.321, 128.154], [136.55, 167.206], [133.701, 164.863]], "leg_l": [[167.0, 122.0], [179.679, 128.154], [183.45, 167.206], [186.299, 164.863]]}], "tween": {"t": 0.5, "sample": {"order": ["spine", "arm_l", "arm_r", "leg_l", "leg_r", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[160.0, 122.0], [160.0, 78.5], [160.0, 37.0]], "head": [160.0, 17.0], "nose": null, "arm_r": [[149.0, 37.0], [149.0, 47.261], [149.0, 52.47]], "arm_l": [[171.0, 37.0], [171.0, 47.261], [171.0, 52.47]], "leg_r": [[153.0, 122.0], [140.321, 128.154], [136.55, 167.206], [133.701, 164.863]], "leg_l": [[167.0, 122.0], [179.679, 128.154], [183.45, 167.206], [186.299, 164.863]]}}}, {"name": "Seated Row", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 122.0], [142.699, 78.541], [149.593, 37.572]], "head": [153.066, 17.876], "nose": [[163.028, 17.005], [170.001, 16.395]], "arm_r": [[149.593, 37.572], [170.108, 59.462], [200.0, 62.0]], "arm_l": [[155.593, 39.572], [174.009, 63.254], [204.0, 64.0]], "leg_r": [[140.0, 122.0], [183.885, 108.212], [188.0, 148.0], [198.942, 146.868]], "leg_l": [[146.0, 124.0], [189.512, 109.077], [192.0, 149.0], [202.979, 148.316]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 122.0], [142.699, 78.541], [149.593, 37.572]], "head": [153.066, 17.876], "nose": [[163.028, 17.005], [170.001, 16.395]], "arm_r": [[149.593, 37.572], [130.28, 60.529], [158.0, 72.0]], "arm_l": [[155.593, 39.572], [134.847, 61.243], [162.0, 74.0]], "leg_r": [[140.0, 122.0], [183.885, 108.212], [188.0, 148.0], [198.942, 146.868]], "leg_l": [[146.0, 124.0], [189.512, 109.077], [192.0, 149.0], [202.979, 148.316]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[140.0, 122.0], [142.699, 78.541], [149.593, 37.572]], "head": [153.066, 17.876], "nose": [[163.028, 17.005], [170.001, 16.395]], "arm_r": [[149.593, 37.572], [149.005, 67.567], [179.0, 67.0]], "arm_l": [[155.593, 39.572], [153.004, 69.46], [183.0, 69.0]], "leg_r": [[140.0, 122.0], [183.885, 108.212], [188.0, 148.0], [198.942, 146.868]], "leg_l": [[146.0, 124.0], [189.512, 109.077], [192.0, 149.0], [202.979, 148.316]]}}}, {"name": "Shoulder Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[120.0, 130.0], [103.02, 89.766], [95.132, 48.841]], "head": [98.605, 29.145], "nose": [[108.508, 27.753], [115.44, 26.779]], "arm_r": [[95.132, 48.841], [110.132, 74.822], [110.132, 44.822]], "arm_l": [[101.132, 50.841], [116.132, 76.822], [116.132, 46.822]], "leg_r": [[120.0, 130.0], [161.917, 111.054], [164.0, 151.0], [174.985, 150.427]], "leg_l": [[126.0, 132.0], [167.427, 112.004], [168.0, 152.0], [178.999, 151.842]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[120.0, 130.0], [103.02, 89.766], [95.132, 48.841]], "head": [98.605, 29.145], "nose": [[108.508, 27.753], [115.44, 26.779]], "arm_r": [[95.132, 48.841], [112.766, 24.57], [137.036, 6.937]], "arm_l": [[101.132, 50.841], [118.766, 26.57], [143.036, 8.937]], "leg_r": [[120.0, 130.0], [161.917, 111.054], [164.0, 151.0], [174.985, 150.427]], "leg_l": [[126.0, 132.0], [167.427, 112.004], [168.0, 152.0], [178.999, 151.842]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[120.0, 130.0], [103.02, 89.766], [95.132, 48.841]], "head": [98.605, 29.145], "nose": [[108.508, 27.753], [115.44, 26.779]], "arm_r": [[95.132, 48.841], [125.091, 50.411], [138.711, 23.681]], "arm_l": [[101.132, 50.841], [131.091, 52.411], [144.711, 25.681]], "leg_r": [[120.0, 130.0], [161.917, 111.054], [164.0, 151.0], [174.985, 150.427]], "leg_l": [[126.0, 132.0], [167.427, 112.004], [168.0, 152.0], [178.999, 151.842]]}}}, {"name": "Side Plank", "camera": 0.0, "frames": [{"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[174.0, 150.0], [132.629, 136.558], [93.16, 123.734]], "head": [74.139, 117.553], "nose": [[64.177, 116.682], [57.204, 116.072]], "arm_r": [[99.16, 125.734], [127.351, 135.994], [156.329, 143.759]], "arm_l": [[93.16, 123.734], [89.959, 153.562], [60.0, 152.0]], "leg_r": [[180.0, 152.0], [225.993, 152.803], [265.987, 153.501], [265.795, 164.499]], "leg_l": [[174.0, 150.0], [219.993, 150.803], [259.987, 151.501], [259.795, 162.499]]}, {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[174.0, 137.0], [131.161, 129.446], [90.291, 122.24]], "head": [70.595, 118.767], "nose": [[60.595, 118.767], [53.595, 118.767]], "arm_r": [[96.291, 124.24], [101.501, 94.696], [106.71, 65.151]], "arm_l": [[90.291, 122.24], [89.999, 152.238], [60.0, 152.0]], "leg_r": [[180.0, 139.0], [225.301, 146.988], [264.693, 153.934], [262.783, 164.767]], "leg_l": [[174.0, 137.0], [219.301, 144.988], [258.693, 151.934], [256.783, 162.767]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_r", "leg_r", "spine", "leg_l", "arm_l", "head"], "shade": {"arm_r": "far", "arm_l": "near", "leg_r": "far", "leg_l": "near"}, "spine": [[174.0, 143.5], [131.792, 132.976], [91.525, 122.937]], "head": [72.119, 118.098], "nose": [[62.128, 117.662], [55.135, 117.357]], "arm_r": [[97.525, 124.937], [123.506, 109.937], [148.807, 93.818]], "arm_l": [[91.525, 122.937], [89.987, 152.897], [60.0, 152.0]], "leg_r": [[180.0, 145.5], [225.788, 149.909], [265.604, 153.743], [264.55, 164.692]], "leg_l": [[174.0, 143.5], [219.788, 147.909], [259.604, 151.743], [258.55, 162.692]]}}}, {"name": "Tricep Press", "camera": 0.0, "frames": [{"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 124.0], [109.722, 81.276], [104.688, 40.062]], "head": [106.083, 20.111], "nose": [[116.028, 19.065], [122.99, 18.334]], "arm_r": [[104.688, 40.062], [94.678, 68.343], [124.0, 62.0]], "arm_l": [[110.688, 42.062], [98.504, 69.477], [128.0, 64.0]], "leg_r": [[118.0, 124.0], [162.267, 111.494], [156.0, 151.0], [166.864, 152.724]], "leg_l": [[124.0, 126.0], [168.072, 112.823], [160.0, 152.0], [170.774, 154.22]]}, {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 124.0], [109.722, 81.276], [104.688, 40.062]], "head": [106.083, 20.111], "nose": [[116.028, 19.065], [122.99, 18.334]], "arm_r": [[104.688, 40.062], [109.666, 69.646], [124.0, 96.0]], "arm_l": [[110.688, 42.062], [113.094, 71.965], [128.0, 98.0]], "leg_r": [[118.0, 124.0], [162.267, 111.494], [156.0, 151.0], [166.864, 152.724]], "leg_l": [[124.0, 126.0], [168.072, 112.823], [160.0, 152.0], [170.774, 154.22]]}], "tween": {"t": 0.5, "sample": {"order": ["arm_l", "leg_l", "spine", "leg_r", "arm_r", "head"], "shade": {"arm_r": "near", "arm_l": "far", "leg_r": "near", "leg_l": "far"}, "spine": [[118.0, 124.0], [109.722, 81.276], [104.688, 40.062]], "head": [106.083, 20.111], "nose": [[116.028, 19.065], [122.99, 18.334]], "arm_r": [[104.688, 40.062], [95.816, 68.72], [124.0, 79.0]], "arm_l": [[110.688, 42.062], [100.046, 70.111], [128.0, 81.0]], "leg_r": [[118.0, 124.0], [162.267, 111.494], [156.0, 151.0], [166.864, 152.724]], "leg_l": [[124.0, 126.0], [168.072, 112.823], [160.0, 152.0], [170.774, 154.22]]}}}]}