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.
Files changed (137) hide show
  1. package/README.md +207 -126
  2. package/lib/module/config/boat-pose.js +41 -0
  3. package/lib/module/config/boat-pose.js.map +1 -0
  4. package/lib/module/config/bow-pose.js +34 -0
  5. package/lib/module/config/bow-pose.js.map +1 -0
  6. package/lib/module/config/bridge-pose.js +34 -0
  7. package/lib/module/config/bridge-pose.js.map +1 -0
  8. package/lib/module/config/calf-raise.js +44 -0
  9. package/lib/module/config/calf-raise.js.map +1 -0
  10. package/lib/module/config/camel-pose.js +34 -0
  11. package/lib/module/config/camel-pose.js.map +1 -0
  12. package/lib/module/config/childs-pose.js +39 -0
  13. package/lib/module/config/childs-pose.js.map +1 -0
  14. package/lib/module/config/cobra-wings.js +44 -0
  15. package/lib/module/config/cobra-wings.js.map +1 -0
  16. package/lib/module/config/dead-lift.js +51 -0
  17. package/lib/module/config/dead-lift.js.map +1 -0
  18. package/lib/module/config/extended-side-angle.js +46 -0
  19. package/lib/module/config/extended-side-angle.js.map +1 -0
  20. package/lib/module/config/fish-pose.js +34 -0
  21. package/lib/module/config/fish-pose.js.map +1 -0
  22. package/lib/module/config/front-raise.js +51 -0
  23. package/lib/module/config/front-raise.js.map +1 -0
  24. package/lib/module/config/glute-bridge.js +46 -0
  25. package/lib/module/config/glute-bridge.js.map +1 -0
  26. package/lib/module/config/hip-abduction.js +39 -0
  27. package/lib/module/config/hip-abduction.js.map +1 -0
  28. package/lib/module/config/knee-raise.js +44 -0
  29. package/lib/module/config/knee-raise.js.map +1 -0
  30. package/lib/module/config/lateral-raise.js +51 -0
  31. package/lib/module/config/lateral-raise.js.map +1 -0
  32. package/lib/module/config/leg-raise.js +46 -0
  33. package/lib/module/config/leg-raise.js.map +1 -0
  34. package/lib/module/config/mountain-pose.js +46 -0
  35. package/lib/module/config/mountain-pose.js.map +1 -0
  36. package/lib/module/config/overarm-reach.js +44 -0
  37. package/lib/module/config/overarm-reach.js.map +1 -0
  38. package/lib/module/config/pull-up.js +44 -0
  39. package/lib/module/config/pull-up.js.map +1 -0
  40. package/lib/module/config/reverse-warrior.js +46 -0
  41. package/lib/module/config/reverse-warrior.js.map +1 -0
  42. package/lib/module/config/side-lung.js +51 -0
  43. package/lib/module/config/side-lung.js.map +1 -0
  44. package/lib/module/config/side-plank.js +34 -0
  45. package/lib/module/config/side-plank.js.map +1 -0
  46. package/lib/module/config/sumo-squat.js +51 -0
  47. package/lib/module/config/sumo-squat.js.map +1 -0
  48. package/lib/module/config/triangle-pose.js +46 -0
  49. package/lib/module/config/triangle-pose.js.map +1 -0
  50. package/lib/module/config/v-up.js +39 -0
  51. package/lib/module/config/v-up.js.map +1 -0
  52. package/lib/module/config/warrior-iii.js +58 -0
  53. package/lib/module/config/warrior-iii.js.map +1 -0
  54. package/lib/module/index.js +31 -3
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/typescript/src/config/boat-pose.d.ts +3 -0
  57. package/lib/typescript/src/config/boat-pose.d.ts.map +1 -0
  58. package/lib/typescript/src/config/bow-pose.d.ts +3 -0
  59. package/lib/typescript/src/config/bow-pose.d.ts.map +1 -0
  60. package/lib/typescript/src/config/bridge-pose.d.ts +3 -0
  61. package/lib/typescript/src/config/bridge-pose.d.ts.map +1 -0
  62. package/lib/typescript/src/config/calf-raise.d.ts +3 -0
  63. package/lib/typescript/src/config/calf-raise.d.ts.map +1 -0
  64. package/lib/typescript/src/config/camel-pose.d.ts +3 -0
  65. package/lib/typescript/src/config/camel-pose.d.ts.map +1 -0
  66. package/lib/typescript/src/config/childs-pose.d.ts +3 -0
  67. package/lib/typescript/src/config/childs-pose.d.ts.map +1 -0
  68. package/lib/typescript/src/config/cobra-wings.d.ts +3 -0
  69. package/lib/typescript/src/config/cobra-wings.d.ts.map +1 -0
  70. package/lib/typescript/src/config/dead-lift.d.ts +3 -0
  71. package/lib/typescript/src/config/dead-lift.d.ts.map +1 -0
  72. package/lib/typescript/src/config/extended-side-angle.d.ts +3 -0
  73. package/lib/typescript/src/config/extended-side-angle.d.ts.map +1 -0
  74. package/lib/typescript/src/config/fish-pose.d.ts +3 -0
  75. package/lib/typescript/src/config/fish-pose.d.ts.map +1 -0
  76. package/lib/typescript/src/config/front-raise.d.ts +3 -0
  77. package/lib/typescript/src/config/front-raise.d.ts.map +1 -0
  78. package/lib/typescript/src/config/glute-bridge.d.ts +3 -0
  79. package/lib/typescript/src/config/glute-bridge.d.ts.map +1 -0
  80. package/lib/typescript/src/config/hip-abduction.d.ts +3 -0
  81. package/lib/typescript/src/config/hip-abduction.d.ts.map +1 -0
  82. package/lib/typescript/src/config/knee-raise.d.ts +3 -0
  83. package/lib/typescript/src/config/knee-raise.d.ts.map +1 -0
  84. package/lib/typescript/src/config/lateral-raise.d.ts +3 -0
  85. package/lib/typescript/src/config/lateral-raise.d.ts.map +1 -0
  86. package/lib/typescript/src/config/leg-raise.d.ts +3 -0
  87. package/lib/typescript/src/config/leg-raise.d.ts.map +1 -0
  88. package/lib/typescript/src/config/mountain-pose.d.ts +3 -0
  89. package/lib/typescript/src/config/mountain-pose.d.ts.map +1 -0
  90. package/lib/typescript/src/config/overarm-reach.d.ts +3 -0
  91. package/lib/typescript/src/config/overarm-reach.d.ts.map +1 -0
  92. package/lib/typescript/src/config/pull-up.d.ts +3 -0
  93. package/lib/typescript/src/config/pull-up.d.ts.map +1 -0
  94. package/lib/typescript/src/config/reverse-warrior.d.ts +3 -0
  95. package/lib/typescript/src/config/reverse-warrior.d.ts.map +1 -0
  96. package/lib/typescript/src/config/side-lung.d.ts +3 -0
  97. package/lib/typescript/src/config/side-lung.d.ts.map +1 -0
  98. package/lib/typescript/src/config/side-plank.d.ts +3 -0
  99. package/lib/typescript/src/config/side-plank.d.ts.map +1 -0
  100. package/lib/typescript/src/config/sumo-squat.d.ts +3 -0
  101. package/lib/typescript/src/config/sumo-squat.d.ts.map +1 -0
  102. package/lib/typescript/src/config/triangle-pose.d.ts +3 -0
  103. package/lib/typescript/src/config/triangle-pose.d.ts.map +1 -0
  104. package/lib/typescript/src/config/v-up.d.ts +3 -0
  105. package/lib/typescript/src/config/v-up.d.ts.map +1 -0
  106. package/lib/typescript/src/config/warrior-iii.d.ts +3 -0
  107. package/lib/typescript/src/config/warrior-iii.d.ts.map +1 -0
  108. package/lib/typescript/src/index.d.ts +26 -0
  109. package/lib/typescript/src/index.d.ts.map +1 -1
  110. package/package.json +1 -1
  111. package/src/config/boat-pose.ts +33 -0
  112. package/src/config/bow-pose.ts +24 -0
  113. package/src/config/bridge-pose.ts +25 -0
  114. package/src/config/calf-raise.ts +27 -0
  115. package/src/config/camel-pose.ts +24 -0
  116. package/src/config/childs-pose.ts +23 -0
  117. package/src/config/cobra-wings.ts +26 -0
  118. package/src/config/dead-lift.ts +35 -0
  119. package/src/config/extended-side-angle.ts +33 -0
  120. package/src/config/fish-pose.ts +25 -0
  121. package/src/config/front-raise.ts +54 -0
  122. package/src/config/glute-bridge.ts +33 -0
  123. package/src/config/hip-abduction.ts +25 -0
  124. package/src/config/knee-raise.ts +26 -0
  125. package/src/config/lateral-raise.ts +55 -0
  126. package/src/config/leg-raise.ts +33 -0
  127. package/src/config/mountain-pose.ts +33 -0
  128. package/src/config/overarm-reach.ts +46 -0
  129. package/src/config/pull-up.ts +27 -0
  130. package/src/config/reverse-warrior.ts +33 -0
  131. package/src/config/side-lung.ts +34 -0
  132. package/src/config/side-plank.ts +25 -0
  133. package/src/config/sumo-squat.ts +34 -0
  134. package/src/config/triangle-pose.ts +34 -0
  135. package/src/config/v-up.ts +25 -0
  136. package/src/config/warrior-iii.ts +42 -0
  137. package/src/index.tsx +31 -3
@@ -0,0 +1,25 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const HIP_ABDUCTION_CONFIG: ExerciseConfig = {
3
+ name: 'Hip Abduction Standing',
4
+ type: 'rep',
5
+ angles: [
6
+ { name: 'legSpread', landmarkA: 25, landmarkB: 23, landmarkC: 24 },
7
+ { name: 'standingLeg', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
8
+ ],
9
+ phases: [
10
+ { phase: 'down', angleName: 'legSpread', minAngle: 0, maxAngle: 15 },
11
+ { phase: 'up', angleName: 'legSpread', minAngle: 30, maxAngle: 60 },
12
+ ],
13
+ repSequence: ['down', 'up', 'down'],
14
+ formRules: [
15
+ {
16
+ name: 'leaningOver',
17
+ message: "Keep your torso upright — don't lean",
18
+ severity: 'warning',
19
+ angleName: 'standingLeg',
20
+ minAngle: 165,
21
+ maxAngle: 180,
22
+ },
23
+ ],
24
+ holdDurationMs: 0,
25
+ };
@@ -0,0 +1,26 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const KNEE_RAISE_CONFIG: ExerciseConfig = {
3
+ name: 'Knee Raise',
4
+ type: 'rep',
5
+ angles: [
6
+ { name: 'leftHip', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
7
+ { name: 'rightHip', landmarkA: 12, landmarkB: 24, landmarkC: 26 },
8
+ { name: 'torso', landmarkA: 11, landmarkB: 23, landmarkC: 27 },
9
+ ],
10
+ phases: [
11
+ { phase: 'down', angleName: 'leftHip', minAngle: 155, maxAngle: 180 },
12
+ { phase: 'up', angleName: 'leftHip', minAngle: 60, maxAngle: 110 },
13
+ ],
14
+ repSequence: ['down', 'up', 'down'],
15
+ formRules: [
16
+ {
17
+ name: 'leaningBack',
18
+ message: "Stay upright — don't lean back",
19
+ severity: 'warning',
20
+ angleName: 'torso',
21
+ minAngle: 160,
22
+ maxAngle: 180,
23
+ },
24
+ ],
25
+ holdDurationMs: 0,
26
+ };
@@ -0,0 +1,55 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+
3
+ export const LATERAL_RAISE_CONFIG: ExerciseConfig = {
4
+ name: 'Lateral Raise',
5
+ type: 'rep',
6
+ angles: [
7
+ {
8
+ name: 'leftShoulderAbduction',
9
+ landmarkA: 23,
10
+ landmarkB: 11,
11
+ landmarkC: 15,
12
+ },
13
+ {
14
+ name: 'rightShoulderAbduction',
15
+ landmarkA: 24,
16
+ landmarkB: 12,
17
+ landmarkC: 16,
18
+ },
19
+ { name: 'leftElbow', landmarkA: 11, landmarkB: 13, landmarkC: 15 },
20
+ ],
21
+ phases: [
22
+ {
23
+ phase: 'down',
24
+ angleName: 'leftShoulderAbduction',
25
+ minAngle: 5,
26
+ maxAngle: 30,
27
+ },
28
+ {
29
+ phase: 'up',
30
+ angleName: 'leftShoulderAbduction',
31
+ minAngle: 75,
32
+ maxAngle: 110,
33
+ },
34
+ ],
35
+ repSequence: ['down', 'up', 'down'],
36
+ formRules: [
37
+ {
38
+ name: 'elbowBending',
39
+ message: "Keep a slight bend — don't fully bend your elbows",
40
+ severity: 'warning',
41
+ angleName: 'leftElbow',
42
+ minAngle: 150,
43
+ maxAngle: 180,
44
+ },
45
+ {
46
+ name: 'raisingTooHigh',
47
+ message: "Stop at shoulder height — don't go above",
48
+ severity: 'info',
49
+ angleName: 'leftShoulderAbduction',
50
+ minAngle: 5,
51
+ maxAngle: 115,
52
+ },
53
+ ],
54
+ holdDurationMs: 0,
55
+ };
@@ -0,0 +1,33 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const LEG_RAISE_CONFIG: ExerciseConfig = {
3
+ name: 'Leg Raise',
4
+ type: 'rep',
5
+ angles: [
6
+ { name: 'leftHip', landmarkA: 11, landmarkB: 23, landmarkC: 27 },
7
+ { name: 'leftKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
8
+ ],
9
+ phases: [
10
+ { phase: 'down', angleName: 'leftHip', minAngle: 150, maxAngle: 180 },
11
+ { phase: 'up', angleName: 'leftHip', minAngle: 60, maxAngle: 110 },
12
+ ],
13
+ repSequence: ['down', 'up', 'down'],
14
+ formRules: [
15
+ {
16
+ name: 'kneesBending',
17
+ message: 'Keep your legs straight',
18
+ severity: 'warning',
19
+ angleName: 'leftKnee',
20
+ minAngle: 160,
21
+ maxAngle: 180,
22
+ },
23
+ {
24
+ name: 'lowerBackLifting',
25
+ message: 'Press your lower back into the floor',
26
+ severity: 'warning',
27
+ angleName: 'leftHip',
28
+ minAngle: 50,
29
+ maxAngle: 180,
30
+ },
31
+ ],
32
+ holdDurationMs: 0,
33
+ };
@@ -0,0 +1,33 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const MOUNTAIN_POSE_CONFIG: ExerciseConfig = {
3
+ name: 'Mountain Pose (Tadasana)',
4
+ type: 'hold',
5
+ angles: [
6
+ { name: 'leftKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
7
+ { name: 'hipAngle', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
8
+ { name: 'shoulderAlignment', landmarkA: 23, landmarkB: 11, landmarkC: 13 },
9
+ ],
10
+ phases: [
11
+ { phase: 'hold', angleName: 'leftKnee', minAngle: 170, maxAngle: 180 },
12
+ ],
13
+ repSequence: [],
14
+ formRules: [
15
+ {
16
+ name: 'slouching',
17
+ message: 'Stand tall — lengthen your spine',
18
+ severity: 'info',
19
+ angleName: 'hipAngle',
20
+ minAngle: 170,
21
+ maxAngle: 180,
22
+ },
23
+ {
24
+ name: 'shouldersTense',
25
+ message: 'Relax your shoulders down',
26
+ severity: 'info',
27
+ angleName: 'shoulderAlignment',
28
+ minAngle: 5,
29
+ maxAngle: 25,
30
+ },
31
+ ],
32
+ holdDurationMs: 30000,
33
+ };
@@ -0,0 +1,46 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const OVERARM_REACH_CONFIG: ExerciseConfig = {
3
+ name: 'Overarm Reach',
4
+ type: 'rep',
5
+ angles: [
6
+ {
7
+ name: 'leftShoulderAbduction',
8
+ landmarkA: 23,
9
+ landmarkB: 11,
10
+ landmarkC: 15,
11
+ },
12
+ {
13
+ name: 'rightShoulderAbduction',
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: 'leftShoulderAbduction',
24
+ minAngle: 0,
25
+ maxAngle: 30,
26
+ },
27
+ {
28
+ phase: 'up',
29
+ angleName: 'leftShoulderAbduction',
30
+ minAngle: 155,
31
+ maxAngle: 180,
32
+ },
33
+ ],
34
+ repSequence: ['down', 'up', 'down'],
35
+ formRules: [
36
+ {
37
+ name: 'elbowsBending',
38
+ message: 'Keep your arms straight',
39
+ severity: 'warning',
40
+ angleName: 'leftElbow',
41
+ minAngle: 160,
42
+ maxAngle: 180,
43
+ },
44
+ ],
45
+ holdDurationMs: 0,
46
+ };
@@ -0,0 +1,27 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+
3
+ export const PULL_UP_CONFIG: ExerciseConfig = {
4
+ name: 'Pull-Up',
5
+ type: 'rep',
6
+ angles: [
7
+ { name: 'leftElbow', landmarkA: 11, landmarkB: 13, landmarkC: 15 },
8
+ { name: 'rightElbow', landmarkA: 12, landmarkB: 14, landmarkC: 16 },
9
+ { name: 'leftShoulder', landmarkA: 23, landmarkB: 11, landmarkC: 13 },
10
+ ],
11
+ phases: [
12
+ { phase: 'down', angleName: 'leftElbow', minAngle: 150, maxAngle: 180 },
13
+ { phase: 'up', angleName: 'leftElbow', minAngle: 40, maxAngle: 90 },
14
+ ],
15
+ repSequence: ['down', 'up', 'down'],
16
+ formRules: [
17
+ {
18
+ name: 'kipping',
19
+ message: 'Control the movement — no swinging',
20
+ severity: 'warning',
21
+ angleName: 'leftShoulder',
22
+ minAngle: 0,
23
+ maxAngle: 160,
24
+ },
25
+ ],
26
+ holdDurationMs: 0,
27
+ };
@@ -0,0 +1,33 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const REVERSE_WARRIOR_CONFIG: ExerciseConfig = {
3
+ name: 'Reverse Warrior (Viparita Virabhadrasana)',
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: 'torsoArch', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
9
+ ],
10
+ phases: [
11
+ { phase: 'hold', angleName: 'frontKnee', minAngle: 80, maxAngle: 110 },
12
+ ],
13
+ repSequence: [],
14
+ formRules: [
15
+ {
16
+ name: 'frontKneeStraight',
17
+ message: 'Bend your front knee deeper',
18
+ severity: 'warning',
19
+ angleName: 'frontKnee',
20
+ minAngle: 80,
21
+ maxAngle: 110,
22
+ },
23
+ {
24
+ name: 'backLegBent',
25
+ message: 'Keep your back leg strong and straight',
26
+ severity: 'warning',
27
+ angleName: 'backLeg',
28
+ minAngle: 160,
29
+ maxAngle: 180,
30
+ },
31
+ ],
32
+ holdDurationMs: 30000,
33
+ };
@@ -0,0 +1,34 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const SIDE_LUNGE_CONFIG: ExerciseConfig = {
3
+ name: 'Side Lunge',
4
+ type: 'rep',
5
+ angles: [
6
+ { name: 'bentKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
7
+ { name: 'straightLeg', landmarkA: 24, landmarkB: 26, landmarkC: 28 },
8
+ { name: 'torso', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
9
+ ],
10
+ phases: [
11
+ { phase: 'up', angleName: 'bentKnee', minAngle: 155, maxAngle: 180 },
12
+ { phase: 'down', angleName: 'bentKnee', minAngle: 70, maxAngle: 110 },
13
+ ],
14
+ repSequence: ['up', 'down', 'up'],
15
+ formRules: [
16
+ {
17
+ name: 'straightLegBending',
18
+ message: 'Keep your other leg straight',
19
+ severity: 'warning',
20
+ angleName: 'straightLeg',
21
+ minAngle: 160,
22
+ maxAngle: 180,
23
+ },
24
+ {
25
+ name: 'leaningForward',
26
+ message: 'Keep your chest up',
27
+ severity: 'warning',
28
+ angleName: 'torso',
29
+ minAngle: 70,
30
+ maxAngle: 180,
31
+ },
32
+ ],
33
+ holdDurationMs: 0,
34
+ };
@@ -0,0 +1,25 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+
3
+ export const SIDE_PLANK_CONFIG: ExerciseConfig = {
4
+ name: 'Side Plank',
5
+ type: 'hold',
6
+ angles: [
7
+ { name: 'hipLateral', landmarkA: 11, landmarkB: 23, landmarkC: 27 },
8
+ { name: 'supportArm', landmarkA: 11, landmarkB: 13, landmarkC: 15 },
9
+ ],
10
+ phases: [
11
+ { phase: 'hold', angleName: 'hipLateral', minAngle: 155, maxAngle: 180 },
12
+ ],
13
+ repSequence: [],
14
+ formRules: [
15
+ {
16
+ name: 'hipDrop',
17
+ message: 'Lift your hips — keep your body in a straight line',
18
+ severity: 'warning',
19
+ angleName: 'hipLateral',
20
+ minAngle: 155,
21
+ maxAngle: 180,
22
+ },
23
+ ],
24
+ holdDurationMs: 30000,
25
+ };
@@ -0,0 +1,34 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const SUMO_SQUAT_CONFIG: ExerciseConfig = {
3
+ name: 'Sumo Squat',
4
+ type: 'rep',
5
+ angles: [
6
+ { name: 'leftKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
7
+ { name: 'rightKnee', landmarkA: 24, landmarkB: 26, landmarkC: 28 },
8
+ { name: 'hipAngle', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
9
+ ],
10
+ phases: [
11
+ { phase: 'up', angleName: 'leftKnee', minAngle: 155, maxAngle: 180 },
12
+ { phase: 'down', angleName: 'leftKnee', minAngle: 60, maxAngle: 110 },
13
+ ],
14
+ repSequence: ['up', 'down', 'up'],
15
+ formRules: [
16
+ {
17
+ name: 'kneesNotTracking',
18
+ message: 'Push knees out over your toes',
19
+ severity: 'warning',
20
+ angleName: 'leftKnee',
21
+ minAngle: 50,
22
+ maxAngle: 180,
23
+ },
24
+ {
25
+ name: 'leaningForward',
26
+ message: 'Keep your torso upright',
27
+ severity: 'warning',
28
+ angleName: 'hipAngle',
29
+ minAngle: 80,
30
+ maxAngle: 180,
31
+ },
32
+ ],
33
+ holdDurationMs: 0,
34
+ };
@@ -0,0 +1,34 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+
3
+ export const TRIANGLE_POSE_CONFIG: ExerciseConfig = {
4
+ name: 'Triangle Pose (Trikonasana)',
5
+ type: 'hold',
6
+ angles: [
7
+ { name: 'frontLeg', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
8
+ { name: 'backLeg', landmarkA: 24, landmarkB: 26, landmarkC: 28 },
9
+ { name: 'torsoLateral', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
10
+ ],
11
+ phases: [
12
+ { phase: 'hold', angleName: 'frontLeg', minAngle: 160, maxAngle: 180 },
13
+ ],
14
+ repSequence: [],
15
+ formRules: [
16
+ {
17
+ name: 'frontKneeBending',
18
+ message: 'Keep your front leg straight',
19
+ severity: 'warning',
20
+ angleName: 'frontLeg',
21
+ minAngle: 160,
22
+ maxAngle: 180,
23
+ },
24
+ {
25
+ name: 'backKneeBending',
26
+ message: 'Straighten your back leg',
27
+ severity: 'warning',
28
+ angleName: 'backLeg',
29
+ minAngle: 160,
30
+ maxAngle: 180,
31
+ },
32
+ ],
33
+ holdDurationMs: 30000,
34
+ };
@@ -0,0 +1,25 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const V_UP_CONFIG: ExerciseConfig = {
3
+ name: 'V-Up',
4
+ type: 'rep',
5
+ angles: [
6
+ { name: 'hipFold', landmarkA: 15, landmarkB: 23, landmarkC: 27 },
7
+ { name: 'leftKnee', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
8
+ ],
9
+ phases: [
10
+ { phase: 'down', angleName: 'hipFold', minAngle: 150, maxAngle: 180 },
11
+ { phase: 'up', angleName: 'hipFold', minAngle: 30, maxAngle: 80 },
12
+ ],
13
+ repSequence: ['down', 'up', 'down'],
14
+ formRules: [
15
+ {
16
+ name: 'kneesBending',
17
+ message: 'Keep your legs straight — reach for your toes',
18
+ severity: 'warning',
19
+ angleName: 'leftKnee',
20
+ minAngle: 155,
21
+ maxAngle: 180,
22
+ },
23
+ ],
24
+ holdDurationMs: 0,
25
+ };
@@ -0,0 +1,42 @@
1
+ import type { ExerciseConfig } from '../NitroPoseExercises.nitro';
2
+ export const WARRIOR_III_CONFIG: ExerciseConfig = {
3
+ name: 'Warrior III (Virabhadrasana III)',
4
+ type: 'hold',
5
+ angles: [
6
+ { name: 'standingLeg', landmarkA: 23, landmarkB: 25, landmarkC: 27 },
7
+ { name: 'hipHinge', landmarkA: 11, landmarkB: 23, landmarkC: 25 },
8
+ { name: 'raisedLeg', landmarkA: 12, landmarkB: 24, landmarkC: 28 },
9
+ { name: 'arms', landmarkA: 11, landmarkB: 13, landmarkC: 15 },
10
+ ],
11
+ phases: [
12
+ { phase: 'hold', angleName: 'hipHinge', minAngle: 70, maxAngle: 110 },
13
+ ],
14
+ repSequence: [],
15
+ formRules: [
16
+ {
17
+ name: 'standingLegBent',
18
+ message: 'Straighten your standing leg',
19
+ severity: 'warning',
20
+ angleName: 'standingLeg',
21
+ minAngle: 165,
22
+ maxAngle: 180,
23
+ },
24
+ {
25
+ name: 'raisedLegLow',
26
+ message: 'Lift your back leg parallel to the floor',
27
+ severity: 'info',
28
+ angleName: 'raisedLeg',
29
+ minAngle: 155,
30
+ maxAngle: 180,
31
+ },
32
+ {
33
+ name: 'armsNotExtended',
34
+ message: 'Reach your arms forward',
35
+ severity: 'info',
36
+ angleName: 'arms',
37
+ minAngle: 160,
38
+ maxAngle: 180,
39
+ },
40
+ ],
41
+ holdDurationMs: 30000,
42
+ };
package/src/index.tsx CHANGED
@@ -25,23 +25,51 @@ export type {
25
25
  SessionResult,
26
26
  } from './NitroPoseExercises.nitro';
27
27
 
28
- // ─── Rep-Based Exercises ─────────────────────────────────────
28
+ // ─── Rep-Based: Strength ─────────────────────────────────────
29
29
  export { PUSHUP_CONFIG } from './config/pushup';
30
+ export { PULL_UP_CONFIG } from './config/pull-up';
30
31
  export { SQUAT_CONFIG } from './config/squat';
32
+ export { SUMO_SQUAT_CONFIG } from './config/sumo-squat';
31
33
  export { BICEP_CURL_CONFIG } from './config/bicep-curl';
32
34
  export { SHOULDER_PRESS_CONFIG } from './config/shoulder-press';
33
35
  export { LUNGE_CONFIG } from './config/lunge';
36
+ export { SIDE_LUNGE_CONFIG } from './config/side-lung';
34
37
  export { SITUP_CONFIG } from './config/situp';
35
38
  export { TRICEP_DIP_CONFIG } from './config/tricep-dip';
39
+ export { DEADLIFT_CONFIG } from './config/dead-lift';
40
+ export { LATERAL_RAISE_CONFIG } from './config/lateral-raise';
41
+ export { FRONT_RAISE_CONFIG } from './config/front-raise';
42
+ export { CALF_RAISE_CONFIG } from './config/calf-raise';
43
+ export { OVERARM_REACH_CONFIG } from './config/overarm-reach';
36
44
 
37
- // ─── Hold-Based Exercises ────────────────────────────────────
45
+ // ─── Rep-Based: Core ─────────────────────────────────────────
46
+ export { LEG_RAISE_CONFIG } from './config/leg-raise';
47
+ export { V_UP_CONFIG } from './config/v-up';
48
+ export { GLUTE_BRIDGE_CONFIG } from './config/glute-bridge';
49
+ export { COBRA_WINGS_CONFIG } from './config/cobra-wings';
50
+ export { KNEE_RAISE_CONFIG } from './config/knee-raise';
51
+ export { HIP_ABDUCTION_CONFIG } from './config/hip-abduction';
52
+
53
+ // ─── Hold-Based: Strength ────────────────────────────────────
38
54
  export { PLANK_CONFIG } from './config/plank';
55
+ export { SIDE_PLANK_CONFIG } from './config/side-plank';
39
56
  export { WALL_SIT_CONFIG } from './config/wall-sit';
40
57
 
41
- // ─── Yoga Poses ──────────────────────────────────────────────
58
+ // ─── Hold-Based: Yoga ────────────────────────────────────────
42
59
  export { TREE_POSE_CONFIG } from './config/tree-pose';
43
60
  export { WARRIOR_I_CONFIG } from './config/warrior-i';
44
61
  export { WARRIOR_II_CONFIG } from './config/warrior-ii';
62
+ export { WARRIOR_III_CONFIG } from './config/warrior-iii';
63
+ export { REVERSE_WARRIOR_CONFIG } from './config/reverse-warrior';
45
64
  export { DOWNWARD_DOG_CONFIG } from './config/downward-dog';
46
65
  export { CHAIR_POSE_CONFIG } from './config/chair-pose';
47
66
  export { COBRA_POSE_CONFIG } from './config/cobra-pose';
67
+ export { BRIDGE_POSE_CONFIG } from './config/bridge-pose';
68
+ export { BOAT_POSE_CONFIG } from './config/boat-pose';
69
+ export { EXTENDED_SIDE_ANGLE_CONFIG } from './config/extended-side-angle';
70
+ export { CAMEL_POSE_CONFIG } from './config/camel-pose';
71
+ export { CHILDS_POSE_CONFIG } from './config/childs-pose';
72
+ export { BOW_POSE_CONFIG } from './config/bow-pose';
73
+ export { FISH_POSE_CONFIG } from './config/fish-pose';
74
+ export { MOUNTAIN_POSE_CONFIG } from './config/mountain-pose';
75
+ export { TRIANGLE_POSE_CONFIG } from './config/triangle-pose';