react-native-nitro-pose-exercises 1.1.4 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +207 -126
- package/lib/module/config/boat-pose.js +41 -0
- package/lib/module/config/boat-pose.js.map +1 -0
- package/lib/module/config/bow-pose.js +34 -0
- package/lib/module/config/bow-pose.js.map +1 -0
- package/lib/module/config/bridge-pose.js +34 -0
- package/lib/module/config/bridge-pose.js.map +1 -0
- package/lib/module/config/calf-raise.js +44 -0
- package/lib/module/config/calf-raise.js.map +1 -0
- package/lib/module/config/camel-pose.js +34 -0
- package/lib/module/config/camel-pose.js.map +1 -0
- package/lib/module/config/childs-pose.js +39 -0
- package/lib/module/config/childs-pose.js.map +1 -0
- package/lib/module/config/cobra-wings.js +44 -0
- package/lib/module/config/cobra-wings.js.map +1 -0
- package/lib/module/config/dead-lift.js +51 -0
- package/lib/module/config/dead-lift.js.map +1 -0
- package/lib/module/config/extended-side-angle.js +46 -0
- package/lib/module/config/extended-side-angle.js.map +1 -0
- package/lib/module/config/fish-pose.js +34 -0
- package/lib/module/config/fish-pose.js.map +1 -0
- package/lib/module/config/front-raise.js +51 -0
- package/lib/module/config/front-raise.js.map +1 -0
- package/lib/module/config/glute-bridge.js +46 -0
- package/lib/module/config/glute-bridge.js.map +1 -0
- package/lib/module/config/hip-abduction.js +39 -0
- package/lib/module/config/hip-abduction.js.map +1 -0
- package/lib/module/config/knee-raise.js +44 -0
- package/lib/module/config/knee-raise.js.map +1 -0
- package/lib/module/config/lateral-raise.js +51 -0
- package/lib/module/config/lateral-raise.js.map +1 -0
- package/lib/module/config/leg-raise.js +46 -0
- package/lib/module/config/leg-raise.js.map +1 -0
- package/lib/module/config/mountain-pose.js +46 -0
- package/lib/module/config/mountain-pose.js.map +1 -0
- package/lib/module/config/overarm-reach.js +44 -0
- package/lib/module/config/overarm-reach.js.map +1 -0
- package/lib/module/config/pull-up.js +44 -0
- package/lib/module/config/pull-up.js.map +1 -0
- package/lib/module/config/reverse-warrior.js +46 -0
- package/lib/module/config/reverse-warrior.js.map +1 -0
- package/lib/module/config/side-lung.js +51 -0
- package/lib/module/config/side-lung.js.map +1 -0
- package/lib/module/config/side-plank.js +34 -0
- package/lib/module/config/side-plank.js.map +1 -0
- package/lib/module/config/sumo-squat.js +51 -0
- package/lib/module/config/sumo-squat.js.map +1 -0
- package/lib/module/config/triangle-pose.js +46 -0
- package/lib/module/config/triangle-pose.js.map +1 -0
- package/lib/module/config/v-up.js +39 -0
- package/lib/module/config/v-up.js.map +1 -0
- package/lib/module/config/warrior-iii.js +58 -0
- package/lib/module/config/warrior-iii.js.map +1 -0
- package/lib/module/index.js +31 -3
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/config/boat-pose.d.ts +3 -0
- package/lib/typescript/src/config/boat-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/bow-pose.d.ts +3 -0
- package/lib/typescript/src/config/bow-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/bridge-pose.d.ts +3 -0
- package/lib/typescript/src/config/bridge-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/calf-raise.d.ts +3 -0
- package/lib/typescript/src/config/calf-raise.d.ts.map +1 -0
- package/lib/typescript/src/config/camel-pose.d.ts +3 -0
- package/lib/typescript/src/config/camel-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/childs-pose.d.ts +3 -0
- package/lib/typescript/src/config/childs-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/cobra-wings.d.ts +3 -0
- package/lib/typescript/src/config/cobra-wings.d.ts.map +1 -0
- package/lib/typescript/src/config/dead-lift.d.ts +3 -0
- package/lib/typescript/src/config/dead-lift.d.ts.map +1 -0
- package/lib/typescript/src/config/extended-side-angle.d.ts +3 -0
- package/lib/typescript/src/config/extended-side-angle.d.ts.map +1 -0
- package/lib/typescript/src/config/fish-pose.d.ts +3 -0
- package/lib/typescript/src/config/fish-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/front-raise.d.ts +3 -0
- package/lib/typescript/src/config/front-raise.d.ts.map +1 -0
- package/lib/typescript/src/config/glute-bridge.d.ts +3 -0
- package/lib/typescript/src/config/glute-bridge.d.ts.map +1 -0
- package/lib/typescript/src/config/hip-abduction.d.ts +3 -0
- package/lib/typescript/src/config/hip-abduction.d.ts.map +1 -0
- package/lib/typescript/src/config/knee-raise.d.ts +3 -0
- package/lib/typescript/src/config/knee-raise.d.ts.map +1 -0
- package/lib/typescript/src/config/lateral-raise.d.ts +3 -0
- package/lib/typescript/src/config/lateral-raise.d.ts.map +1 -0
- package/lib/typescript/src/config/leg-raise.d.ts +3 -0
- package/lib/typescript/src/config/leg-raise.d.ts.map +1 -0
- package/lib/typescript/src/config/mountain-pose.d.ts +3 -0
- package/lib/typescript/src/config/mountain-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/overarm-reach.d.ts +3 -0
- package/lib/typescript/src/config/overarm-reach.d.ts.map +1 -0
- package/lib/typescript/src/config/pull-up.d.ts +3 -0
- package/lib/typescript/src/config/pull-up.d.ts.map +1 -0
- package/lib/typescript/src/config/reverse-warrior.d.ts +3 -0
- package/lib/typescript/src/config/reverse-warrior.d.ts.map +1 -0
- package/lib/typescript/src/config/side-lung.d.ts +3 -0
- package/lib/typescript/src/config/side-lung.d.ts.map +1 -0
- package/lib/typescript/src/config/side-plank.d.ts +3 -0
- package/lib/typescript/src/config/side-plank.d.ts.map +1 -0
- package/lib/typescript/src/config/sumo-squat.d.ts +3 -0
- package/lib/typescript/src/config/sumo-squat.d.ts.map +1 -0
- package/lib/typescript/src/config/triangle-pose.d.ts +3 -0
- package/lib/typescript/src/config/triangle-pose.d.ts.map +1 -0
- package/lib/typescript/src/config/v-up.d.ts +3 -0
- package/lib/typescript/src/config/v-up.d.ts.map +1 -0
- package/lib/typescript/src/config/warrior-iii.d.ts +3 -0
- package/lib/typescript/src/config/warrior-iii.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +26 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/config/boat-pose.ts +33 -0
- package/src/config/bow-pose.ts +24 -0
- package/src/config/bridge-pose.ts +25 -0
- package/src/config/calf-raise.ts +27 -0
- package/src/config/camel-pose.ts +24 -0
- package/src/config/childs-pose.ts +23 -0
- package/src/config/cobra-wings.ts +26 -0
- package/src/config/dead-lift.ts +35 -0
- package/src/config/extended-side-angle.ts +33 -0
- package/src/config/fish-pose.ts +25 -0
- package/src/config/front-raise.ts +54 -0
- package/src/config/glute-bridge.ts +33 -0
- package/src/config/hip-abduction.ts +25 -0
- package/src/config/knee-raise.ts +26 -0
- package/src/config/lateral-raise.ts +55 -0
- package/src/config/leg-raise.ts +33 -0
- package/src/config/mountain-pose.ts +33 -0
- package/src/config/overarm-reach.ts +46 -0
- package/src/config/pull-up.ts +27 -0
- package/src/config/reverse-warrior.ts +33 -0
- package/src/config/side-lung.ts +34 -0
- package/src/config/side-plank.ts +25 -0
- package/src/config/sumo-squat.ts +34 -0
- package/src/config/triangle-pose.ts +34 -0
- package/src/config/v-up.ts +25 -0
- package/src/config/warrior-iii.ts +42 -0
- package/src/index.tsx +31 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dead-lift.d.ts","sourceRoot":"","sources":["../../../../src/config/dead-lift.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,eAAe,EAAE,cAgC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-side-angle.d.ts","sourceRoot":"","sources":["../../../../src/config/extended-side-angle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,0BAA0B,EAAE,cA+BxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fish-pose.d.ts","sourceRoot":"","sources":["../../../../src/config/fish-pose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,gBAAgB,EAAE,cAsB9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"front-raise.d.ts","sourceRoot":"","sources":["../../../../src/config/front-raise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,kBAAkB,EAAE,cAoDhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glute-bridge.d.ts","sourceRoot":"","sources":["../../../../src/config/glute-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,mBAAmB,EAAE,cA+BjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hip-abduction.d.ts","sourceRoot":"","sources":["../../../../src/config/hip-abduction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,oBAAoB,EAAE,cAuBlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"knee-raise.d.ts","sourceRoot":"","sources":["../../../../src/config/knee-raise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,iBAAiB,EAAE,cAwB/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lateral-raise.d.ts","sourceRoot":"","sources":["../../../../src/config/lateral-raise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,oBAAoB,EAAE,cAoDlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leg-raise.d.ts","sourceRoot":"","sources":["../../../../src/config/leg-raise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,gBAAgB,EAAE,cA+B9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mountain-pose.d.ts","sourceRoot":"","sources":["../../../../src/config/mountain-pose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,oBAAoB,EAAE,cA+BlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overarm-reach.d.ts","sourceRoot":"","sources":["../../../../src/config/overarm-reach.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,oBAAoB,EAAE,cA4ClC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pull-up.d.ts","sourceRoot":"","sources":["../../../../src/config/pull-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,cAAc,EAAE,cAwB5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse-warrior.d.ts","sourceRoot":"","sources":["../../../../src/config/reverse-warrior.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,sBAAsB,EAAE,cA+BpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-lung.d.ts","sourceRoot":"","sources":["../../../../src/config/side-lung.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,iBAAiB,EAAE,cAgC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"side-plank.d.ts","sourceRoot":"","sources":["../../../../src/config/side-plank.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,iBAAiB,EAAE,cAsB/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sumo-squat.d.ts","sourceRoot":"","sources":["../../../../src/config/sumo-squat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,iBAAiB,EAAE,cAgC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triangle-pose.d.ts","sourceRoot":"","sources":["../../../../src/config/triangle-pose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE,eAAO,MAAM,oBAAoB,EAAE,cA+BlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v-up.d.ts","sourceRoot":"","sources":["../../../../src/config/v-up.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,WAAW,EAAE,cAuBzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"warrior-iii.d.ts","sourceRoot":"","sources":["../../../../src/config/warrior-iii.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,eAAO,MAAM,kBAAkB,EAAE,cAwChC,CAAC"}
|
|
@@ -3,18 +3,44 @@ declare const nitroPoseExercises: NitroPoseExercises;
|
|
|
3
3
|
export { nitroPoseExercises };
|
|
4
4
|
export type { NitroPoseExercises, ExerciseConfig, ExerciseType, ExercisePhase, FormSeverity, SessionStatus, Landmark, AngleDefinition, PhaseThreshold, FormRule, RepData, AngleSnapshot, FormFeedback, HoldProgress, SessionResult, } from './NitroPoseExercises.nitro';
|
|
5
5
|
export { PUSHUP_CONFIG } from './config/pushup';
|
|
6
|
+
export { PULL_UP_CONFIG } from './config/pull-up';
|
|
6
7
|
export { SQUAT_CONFIG } from './config/squat';
|
|
8
|
+
export { SUMO_SQUAT_CONFIG } from './config/sumo-squat';
|
|
7
9
|
export { BICEP_CURL_CONFIG } from './config/bicep-curl';
|
|
8
10
|
export { SHOULDER_PRESS_CONFIG } from './config/shoulder-press';
|
|
9
11
|
export { LUNGE_CONFIG } from './config/lunge';
|
|
12
|
+
export { SIDE_LUNGE_CONFIG } from './config/side-lung';
|
|
10
13
|
export { SITUP_CONFIG } from './config/situp';
|
|
11
14
|
export { TRICEP_DIP_CONFIG } from './config/tricep-dip';
|
|
15
|
+
export { DEADLIFT_CONFIG } from './config/dead-lift';
|
|
16
|
+
export { LATERAL_RAISE_CONFIG } from './config/lateral-raise';
|
|
17
|
+
export { FRONT_RAISE_CONFIG } from './config/front-raise';
|
|
18
|
+
export { CALF_RAISE_CONFIG } from './config/calf-raise';
|
|
19
|
+
export { OVERARM_REACH_CONFIG } from './config/overarm-reach';
|
|
20
|
+
export { LEG_RAISE_CONFIG } from './config/leg-raise';
|
|
21
|
+
export { V_UP_CONFIG } from './config/v-up';
|
|
22
|
+
export { GLUTE_BRIDGE_CONFIG } from './config/glute-bridge';
|
|
23
|
+
export { COBRA_WINGS_CONFIG } from './config/cobra-wings';
|
|
24
|
+
export { KNEE_RAISE_CONFIG } from './config/knee-raise';
|
|
25
|
+
export { HIP_ABDUCTION_CONFIG } from './config/hip-abduction';
|
|
12
26
|
export { PLANK_CONFIG } from './config/plank';
|
|
27
|
+
export { SIDE_PLANK_CONFIG } from './config/side-plank';
|
|
13
28
|
export { WALL_SIT_CONFIG } from './config/wall-sit';
|
|
14
29
|
export { TREE_POSE_CONFIG } from './config/tree-pose';
|
|
15
30
|
export { WARRIOR_I_CONFIG } from './config/warrior-i';
|
|
16
31
|
export { WARRIOR_II_CONFIG } from './config/warrior-ii';
|
|
32
|
+
export { WARRIOR_III_CONFIG } from './config/warrior-iii';
|
|
33
|
+
export { REVERSE_WARRIOR_CONFIG } from './config/reverse-warrior';
|
|
17
34
|
export { DOWNWARD_DOG_CONFIG } from './config/downward-dog';
|
|
18
35
|
export { CHAIR_POSE_CONFIG } from './config/chair-pose';
|
|
19
36
|
export { COBRA_POSE_CONFIG } from './config/cobra-pose';
|
|
37
|
+
export { BRIDGE_POSE_CONFIG } from './config/bridge-pose';
|
|
38
|
+
export { BOAT_POSE_CONFIG } from './config/boat-pose';
|
|
39
|
+
export { EXTENDED_SIDE_ANGLE_CONFIG } from './config/extended-side-angle';
|
|
40
|
+
export { CAMEL_POSE_CONFIG } from './config/camel-pose';
|
|
41
|
+
export { CHILDS_POSE_CONFIG } from './config/childs-pose';
|
|
42
|
+
export { BOW_POSE_CONFIG } from './config/bow-pose';
|
|
43
|
+
export { FISH_POSE_CONFIG } from './config/fish-pose';
|
|
44
|
+
export { MOUNTAIN_POSE_CONFIG } from './config/mountain-pose';
|
|
45
|
+
export { TRIANGLE_POSE_CONFIG } from './config/triangle-pose';
|
|
20
46
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,QAAA,MAAM,kBAAkB,oBACmD,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,eAAe,EACf,cAAc,EACd,QAAQ,EACR,OAAO,EACP,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,aAAa,GACd,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-pose-exercises",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Real-time on-device exercise tracking for React Native. Rep counting, form validation, and skeleton overlay powered by Apple Vision (iOS) and Google ML Kit (Android) with VisionCamera v5 via Nitro Modules.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
|
|
3
|
+
export const BOAT_POSE_CONFIG: ExerciseConfig = {
|
|
4
|
+
name: 'Boat Pose (Navasana)',
|
|
5
|
+
type: 'hold',
|
|
6
|
+
angles: [
|
|
7
|
+
{ name: 'hipFlexion', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
8
|
+
{ name: 'kneeAngle', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
9
|
+
],
|
|
10
|
+
phases: [
|
|
11
|
+
{ phase: 'hold', angleName: 'hipFlexion', minAngle: 60, maxAngle: 110 },
|
|
12
|
+
],
|
|
13
|
+
repSequence: [],
|
|
14
|
+
formRules: [
|
|
15
|
+
{
|
|
16
|
+
name: 'backRounding',
|
|
17
|
+
message: "Lengthen your spine — don't round your back",
|
|
18
|
+
severity: 'warning',
|
|
19
|
+
angleName: 'hipFlexion',
|
|
20
|
+
minAngle: 60,
|
|
21
|
+
maxAngle: 110,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'legsDropping',
|
|
25
|
+
message: 'Keep your legs lifted',
|
|
26
|
+
severity: 'warning',
|
|
27
|
+
angleName: 'kneeAngle',
|
|
28
|
+
minAngle: 150,
|
|
29
|
+
maxAngle: 180,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
holdDurationMs: 30000,
|
|
33
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
export const BOW_POSE_CONFIG: ExerciseConfig = {
|
|
3
|
+
name: 'Bow Pose (Dhanurasana)',
|
|
4
|
+
type: 'hold',
|
|
5
|
+
angles: [
|
|
6
|
+
{ name: 'kneeAngle', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
7
|
+
{ name: 'shoulderExtension', landmarkA: 23, landmarkB: 11, landmarkC: 15 },
|
|
8
|
+
],
|
|
9
|
+
phases: [
|
|
10
|
+
{ phase: 'hold', angleName: 'kneeAngle', minAngle: 50, maxAngle: 100 },
|
|
11
|
+
],
|
|
12
|
+
repSequence: [],
|
|
13
|
+
formRules: [
|
|
14
|
+
{
|
|
15
|
+
name: 'kneesTooWide',
|
|
16
|
+
message: 'Keep your knees hip-width apart',
|
|
17
|
+
severity: 'warning',
|
|
18
|
+
angleName: 'kneeAngle',
|
|
19
|
+
minAngle: 50,
|
|
20
|
+
maxAngle: 100,
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
holdDurationMs: 30000,
|
|
24
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
|
|
3
|
+
export const BRIDGE_POSE_CONFIG: ExerciseConfig = {
|
|
4
|
+
name: 'Bridge Pose (Setu Bandhasana)',
|
|
5
|
+
type: 'hold',
|
|
6
|
+
angles: [
|
|
7
|
+
{ name: 'hipExtension', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
8
|
+
{ name: 'kneeAngle', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
9
|
+
],
|
|
10
|
+
phases: [
|
|
11
|
+
{ phase: 'hold', angleName: 'kneeAngle', minAngle: 80, maxAngle: 110 },
|
|
12
|
+
],
|
|
13
|
+
repSequence: [],
|
|
14
|
+
formRules: [
|
|
15
|
+
{
|
|
16
|
+
name: 'hipsLow',
|
|
17
|
+
message: 'Push your hips up higher',
|
|
18
|
+
severity: 'warning',
|
|
19
|
+
angleName: 'hipExtension',
|
|
20
|
+
minAngle: 140,
|
|
21
|
+
maxAngle: 180,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
holdDurationMs: 30000,
|
|
25
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
|
|
3
|
+
export const CALF_RAISE_CONFIG: ExerciseConfig = {
|
|
4
|
+
name: 'Calf Raise',
|
|
5
|
+
type: 'rep',
|
|
6
|
+
angles: [
|
|
7
|
+
{ name: 'leftAnkle', landmarkA: 25, landmarkB: 27, landmarkC: 31 },
|
|
8
|
+
{ name: 'rightAnkle', landmarkA: 26, landmarkB: 28, landmarkC: 32 },
|
|
9
|
+
{ name: 'leftKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
10
|
+
],
|
|
11
|
+
phases: [
|
|
12
|
+
{ phase: 'down', angleName: 'leftAnkle', minAngle: 70, maxAngle: 95 },
|
|
13
|
+
{ phase: 'up', angleName: 'leftAnkle', minAngle: 110, maxAngle: 150 },
|
|
14
|
+
],
|
|
15
|
+
repSequence: ['down', 'up', 'down'],
|
|
16
|
+
formRules: [
|
|
17
|
+
{
|
|
18
|
+
name: 'kneesBending',
|
|
19
|
+
message: 'Keep your legs straight',
|
|
20
|
+
severity: 'warning',
|
|
21
|
+
angleName: 'leftKnee',
|
|
22
|
+
minAngle: 165,
|
|
23
|
+
maxAngle: 180,
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
holdDurationMs: 0,
|
|
27
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
export const CAMEL_POSE_CONFIG: ExerciseConfig = {
|
|
3
|
+
name: 'Camel Pose (Ustrasana)',
|
|
4
|
+
type: 'hold',
|
|
5
|
+
angles: [
|
|
6
|
+
{ name: 'hipExtension', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
7
|
+
{ name: 'kneeAngle', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
8
|
+
],
|
|
9
|
+
phases: [
|
|
10
|
+
{ phase: 'hold', angleName: 'hipExtension', minAngle: 120, maxAngle: 165 },
|
|
11
|
+
],
|
|
12
|
+
repSequence: [],
|
|
13
|
+
formRules: [
|
|
14
|
+
{
|
|
15
|
+
name: 'kneesTooWide',
|
|
16
|
+
message: 'Keep knees hip-width apart',
|
|
17
|
+
severity: 'warning',
|
|
18
|
+
angleName: 'kneeAngle',
|
|
19
|
+
minAngle: 80,
|
|
20
|
+
maxAngle: 100,
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
holdDurationMs: 30000,
|
|
24
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
export const CHILDS_POSE_CONFIG: ExerciseConfig = {
|
|
3
|
+
name: "Child's Pose (Balasana)",
|
|
4
|
+
type: 'hold',
|
|
5
|
+
angles: [
|
|
6
|
+
{ name: 'hipFold', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
7
|
+
{ name: 'kneeAngle', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
8
|
+
{ name: 'arms', landmarkA: 11, landmarkB: 13, landmarkC: 15 },
|
|
9
|
+
],
|
|
10
|
+
phases: [{ phase: 'hold', angleName: 'hipFold', minAngle: 30, maxAngle: 80 }],
|
|
11
|
+
repSequence: [],
|
|
12
|
+
formRules: [
|
|
13
|
+
{
|
|
14
|
+
name: 'notRelaxing',
|
|
15
|
+
message: 'Relax into the pose — let your forehead rest',
|
|
16
|
+
severity: 'info',
|
|
17
|
+
angleName: 'hipFold',
|
|
18
|
+
minAngle: 30,
|
|
19
|
+
maxAngle: 80,
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
holdDurationMs: 60000,
|
|
23
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
export const COBRA_WINGS_CONFIG: ExerciseConfig = {
|
|
3
|
+
name: 'Cobra Wings',
|
|
4
|
+
type: 'rep',
|
|
5
|
+
angles: [
|
|
6
|
+
{ name: 'hipExtension', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
7
|
+
{ name: 'leftShoulder', landmarkA: 23, landmarkB: 11, landmarkC: 13 },
|
|
8
|
+
{ name: 'leftElbow', landmarkA: 11, landmarkB: 13, landmarkC: 15 },
|
|
9
|
+
],
|
|
10
|
+
phases: [
|
|
11
|
+
{ phase: 'down', angleName: 'hipExtension', minAngle: 160, maxAngle: 180 },
|
|
12
|
+
{ phase: 'up', angleName: 'hipExtension', minAngle: 120, maxAngle: 155 },
|
|
13
|
+
],
|
|
14
|
+
repSequence: ['down', 'up', 'down'],
|
|
15
|
+
formRules: [
|
|
16
|
+
{
|
|
17
|
+
name: 'legsLifting',
|
|
18
|
+
message: 'Keep your legs on the ground',
|
|
19
|
+
severity: 'warning',
|
|
20
|
+
angleName: 'hipExtension',
|
|
21
|
+
minAngle: 110,
|
|
22
|
+
maxAngle: 180,
|
|
23
|
+
},
|
|
24
|
+
],
|
|
25
|
+
holdDurationMs: 0,
|
|
26
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
|
|
3
|
+
export const DEADLIFT_CONFIG: ExerciseConfig = {
|
|
4
|
+
name: 'Deadlift',
|
|
5
|
+
type: 'rep',
|
|
6
|
+
angles: [
|
|
7
|
+
{ name: 'leftHip', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
8
|
+
{ name: 'rightHip', landmarkA: 12, landmarkB: 24, landmarkC: 26 },
|
|
9
|
+
{ name: 'leftKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
10
|
+
],
|
|
11
|
+
phases: [
|
|
12
|
+
{ phase: 'up', angleName: 'leftHip', minAngle: 160, maxAngle: 180 },
|
|
13
|
+
{ phase: 'down', angleName: 'leftHip', minAngle: 60, maxAngle: 120 },
|
|
14
|
+
],
|
|
15
|
+
repSequence: ['up', 'down', 'up'],
|
|
16
|
+
formRules: [
|
|
17
|
+
{
|
|
18
|
+
name: 'roundedBack',
|
|
19
|
+
message: "Keep your back straight — don't round your spine",
|
|
20
|
+
severity: 'error',
|
|
21
|
+
angleName: 'leftHip',
|
|
22
|
+
minAngle: 50,
|
|
23
|
+
maxAngle: 180,
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'kneesTooForward',
|
|
27
|
+
message: 'Push your hips back — knees stay behind toes',
|
|
28
|
+
severity: 'warning',
|
|
29
|
+
angleName: 'leftKnee',
|
|
30
|
+
minAngle: 140,
|
|
31
|
+
maxAngle: 180,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
holdDurationMs: 0,
|
|
35
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
export const EXTENDED_SIDE_ANGLE_CONFIG: ExerciseConfig = {
|
|
3
|
+
name: 'Extended Side Angle (Utthita Parsvakonasana)',
|
|
4
|
+
type: 'hold',
|
|
5
|
+
angles: [
|
|
6
|
+
{ name: 'frontKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
7
|
+
{ name: 'backLeg', landmarkA: 24, landmarkB: 26, landmarkC: 28 },
|
|
8
|
+
{ name: 'topArm', landmarkA: 12, landmarkB: 14, landmarkC: 16 },
|
|
9
|
+
],
|
|
10
|
+
phases: [
|
|
11
|
+
{ phase: 'hold', angleName: 'frontKnee', minAngle: 80, maxAngle: 110 },
|
|
12
|
+
],
|
|
13
|
+
repSequence: [],
|
|
14
|
+
formRules: [
|
|
15
|
+
{
|
|
16
|
+
name: 'backLegBent',
|
|
17
|
+
message: 'Straighten your back leg',
|
|
18
|
+
severity: 'warning',
|
|
19
|
+
angleName: 'backLeg',
|
|
20
|
+
minAngle: 160,
|
|
21
|
+
maxAngle: 180,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'topArmBent',
|
|
25
|
+
message: 'Extend your top arm fully',
|
|
26
|
+
severity: 'info',
|
|
27
|
+
angleName: 'topArm',
|
|
28
|
+
minAngle: 160,
|
|
29
|
+
maxAngle: 180,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
holdDurationMs: 30000,
|
|
33
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
|
|
3
|
+
export const FISH_POSE_CONFIG: ExerciseConfig = {
|
|
4
|
+
name: 'Fish Pose (Matsyasana)',
|
|
5
|
+
type: 'hold',
|
|
6
|
+
angles: [
|
|
7
|
+
{ name: 'chestOpen', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
8
|
+
{ name: 'legs', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
9
|
+
],
|
|
10
|
+
phases: [
|
|
11
|
+
{ phase: 'hold', angleName: 'chestOpen', minAngle: 130, maxAngle: 170 },
|
|
12
|
+
],
|
|
13
|
+
repSequence: [],
|
|
14
|
+
formRules: [
|
|
15
|
+
{
|
|
16
|
+
name: 'legsNotStraight',
|
|
17
|
+
message: 'Keep your legs straight and together',
|
|
18
|
+
severity: 'info',
|
|
19
|
+
angleName: 'legs',
|
|
20
|
+
minAngle: 165,
|
|
21
|
+
maxAngle: 180,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
holdDurationMs: 30000,
|
|
25
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
export const FRONT_RAISE_CONFIG: ExerciseConfig = {
|
|
3
|
+
name: 'Front Raise',
|
|
4
|
+
type: 'rep',
|
|
5
|
+
angles: [
|
|
6
|
+
{
|
|
7
|
+
name: 'leftShoulderFlexion',
|
|
8
|
+
landmarkA: 23,
|
|
9
|
+
landmarkB: 11,
|
|
10
|
+
landmarkC: 15,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
name: 'rightShoulderFlexion',
|
|
14
|
+
landmarkA: 24,
|
|
15
|
+
landmarkB: 12,
|
|
16
|
+
landmarkC: 16,
|
|
17
|
+
},
|
|
18
|
+
{ name: 'leftElbow', landmarkA: 11, landmarkB: 13, landmarkC: 15 },
|
|
19
|
+
],
|
|
20
|
+
phases: [
|
|
21
|
+
{
|
|
22
|
+
phase: 'down',
|
|
23
|
+
angleName: 'leftShoulderFlexion',
|
|
24
|
+
minAngle: 0,
|
|
25
|
+
maxAngle: 25,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
phase: 'up',
|
|
29
|
+
angleName: 'leftShoulderFlexion',
|
|
30
|
+
minAngle: 75,
|
|
31
|
+
maxAngle: 110,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
repSequence: ['down', 'up', 'down'],
|
|
35
|
+
formRules: [
|
|
36
|
+
{
|
|
37
|
+
name: 'elbowBending',
|
|
38
|
+
message: 'Keep your arms straight — slight bend only',
|
|
39
|
+
severity: 'warning',
|
|
40
|
+
angleName: 'leftElbow',
|
|
41
|
+
minAngle: 155,
|
|
42
|
+
maxAngle: 180,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: 'tooHigh',
|
|
46
|
+
message: 'Stop at shoulder height',
|
|
47
|
+
severity: 'info',
|
|
48
|
+
angleName: 'leftShoulderFlexion',
|
|
49
|
+
minAngle: 0,
|
|
50
|
+
maxAngle: 115,
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
holdDurationMs: 0,
|
|
54
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
|
|
2
|
+
export const GLUTE_BRIDGE_CONFIG: ExerciseConfig = {
|
|
3
|
+
name: 'Glute Bridge',
|
|
4
|
+
type: 'rep',
|
|
5
|
+
angles: [
|
|
6
|
+
{ name: 'hipExtension', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
|
|
7
|
+
{ name: 'kneeAngle', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
|
|
8
|
+
],
|
|
9
|
+
phases: [
|
|
10
|
+
{ phase: 'down', angleName: 'hipExtension', minAngle: 80, maxAngle: 120 },
|
|
11
|
+
{ phase: 'up', angleName: 'hipExtension', minAngle: 155, maxAngle: 180 },
|
|
12
|
+
],
|
|
13
|
+
repSequence: ['down', 'up', 'down'],
|
|
14
|
+
formRules: [
|
|
15
|
+
{
|
|
16
|
+
name: 'hipsNotHigh',
|
|
17
|
+
message: 'Squeeze your glutes — push hips higher',
|
|
18
|
+
severity: 'warning',
|
|
19
|
+
angleName: 'hipExtension',
|
|
20
|
+
minAngle: 150,
|
|
21
|
+
maxAngle: 180,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'kneesTooWide',
|
|
25
|
+
message: 'Keep knees hip-width apart',
|
|
26
|
+
severity: 'info',
|
|
27
|
+
angleName: 'kneeAngle',
|
|
28
|
+
minAngle: 75,
|
|
29
|
+
maxAngle: 110,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
holdDurationMs: 0,
|
|
33
|
+
};
|