@pose-tracker/pose-estimation-web-react 0.2.0 → 0.3.1

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 CHANGED
@@ -17,6 +17,8 @@ import {
17
17
  function Screen() {
18
18
  usePoseTracker({ onKeypoints: (e) => console.log(e.keypoints.length) });
19
19
  return <PoseCamera style={{ height: 480 }} />;
20
+ // Video / image: <PoseCamera source="image" sourceFile={file} />
21
+ // or sourceUrl — see docs/MEDIA_SOURCES.md · https://docs.posetracker.com/media-sources
20
22
  }
21
23
 
22
24
  export function App() {
package/dist/index.cjs CHANGED
@@ -8,16 +8,23 @@ var jsxRuntime = require('react/jsx-runtime');
8
8
  var PoseTrackerContext = react.createContext(null);
9
9
  function PoseTrackerProvider({
10
10
  apiToken,
11
+ engine,
11
12
  options,
12
13
  autoStart = true,
13
14
  autoPreload = false,
14
15
  children
15
16
  }) {
16
17
  const merged = react.useMemo(
17
- () => ({ ...options, apiToken: apiToken ?? options?.apiToken }),
18
+ () => ({
19
+ ...options,
20
+ apiToken: apiToken ?? options?.apiToken,
21
+ engine: engine ?? options?.engine
22
+ }),
18
23
  // eslint-disable-next-line react-hooks/exhaustive-deps
19
24
  [
20
25
  apiToken,
26
+ engine,
27
+ options?.engine,
21
28
  options?.model,
22
29
  options?.modelUrl,
23
30
  options?.facingMode,
@@ -345,14 +352,26 @@ Object.defineProperty(exports, "SDK_VERSION", {
345
352
  enumerable: true,
346
353
  get: function () { return poseEstimationWeb.SDK_VERSION; }
347
354
  });
355
+ Object.defineProperty(exports, "V4_ONLY_EXERCISE_IDS", {
356
+ enumerable: true,
357
+ get: function () { return poseEstimationWeb.V4_ONLY_EXERCISE_IDS; }
358
+ });
348
359
  Object.defineProperty(exports, "createPoseTracker", {
349
360
  enumerable: true,
350
361
  get: function () { return poseEstimationWeb.createPoseTracker; }
351
362
  });
363
+ Object.defineProperty(exports, "normalizeEngineChannel", {
364
+ enumerable: true,
365
+ get: function () { return poseEstimationWeb.normalizeEngineChannel; }
366
+ });
352
367
  Object.defineProperty(exports, "normalizePoseSource", {
353
368
  enumerable: true,
354
369
  get: function () { return poseEstimationWeb.normalizePoseSource; }
355
370
  });
371
+ Object.defineProperty(exports, "requiresEngineV4", {
372
+ enumerable: true,
373
+ get: function () { return poseEstimationWeb.requiresEngineV4; }
374
+ });
356
375
  Object.defineProperty(exports, "resolvePoseModel", {
357
376
  enumerable: true,
358
377
  get: function () { return poseEstimationWeb.resolvePoseModel; }
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PoseTrackerClient, PoseTrackerStatus, PoseTrackerMode, ErrorEvent, SdkManifest, ExerciseConfig, PreloadOptions, StartExerciseOptions, PoseTrackerClientOptions, PoseTrackerEventListener, ClassicNativeMessage, PoseSource, PoseSourceType, SkeletonDefinition, PoseTrackerCallbacks } from '@pose-tracker/pose-estimation-web';
2
- export { COCO_KEYPOINT_NAMES, ColdStartMode, CounterEvent, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, ErrorEvent, ExerciseConfig, InitializationEvent, Keypoint, KeypointsEvent, Pose, PoseModelAlias, PoseSource, PoseSourceType, PoseTracker, PoseTrackerCallbacks, PoseTrackerClient, PoseTrackerClientOptions, PoseTrackerOptions, PostureEvent, PreloadOptions, SDK_NAME, SDK_VERSION, SdkManifest, StartExerciseOptions, createPoseTracker, normalizePoseSource, resolvePoseModel, shouldShowWatermark } from '@pose-tracker/pose-estimation-web';
2
+ export { COCO_KEYPOINT_NAMES, ColdStartMode, CounterEvent, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, EngineChannel, ErrorEvent, ExerciseConfig, InitializationEvent, Keypoint, KeypointsEvent, Pose, PoseModelAlias, PoseSource, PoseSourceType, PoseTracker, PoseTrackerCallbacks, PoseTrackerClient, PoseTrackerClientOptions, PoseTrackerOptions, PostureEvent, PreloadOptions, SDK_NAME, SDK_VERSION, SdkManifest, StartExerciseOptions, V4_ONLY_EXERCISE_IDS, createPoseTracker, normalizeEngineChannel, normalizePoseSource, requiresEngineV4, resolvePoseModel, shouldShowWatermark } from '@pose-tracker/pose-estimation-web';
3
3
  import React from 'react';
4
4
 
5
5
  /**
@@ -35,6 +35,12 @@ interface PoseTrackerContextValue {
35
35
  }
36
36
  interface PoseTrackerProviderProps {
37
37
  apiToken?: string;
38
+ /**
39
+ * Remote engine. Default `'v4'`. Pass `'v3'` for the production FSM bundle.
40
+ * Unlabeled `startExercise('squat')` still uses the V3 squat FSM unless this
41
+ * is explicitly `'v4'`.
42
+ */
43
+ engine?: 'v3' | 'v4';
38
44
  options?: PoseTrackerClientOptions;
39
45
  /**
40
46
  * When true, PoseCamera calls `start()` after mount (full cold start).
@@ -45,7 +51,7 @@ interface PoseTrackerProviderProps {
45
51
  autoPreload?: boolean;
46
52
  children: React.ReactNode;
47
53
  }
48
- declare function PoseTrackerProvider({ apiToken, options, autoStart, autoPreload, children, }: PoseTrackerProviderProps): React.JSX.Element;
54
+ declare function PoseTrackerProvider({ apiToken, engine, options, autoStart, autoPreload, children, }: PoseTrackerProviderProps): React.JSX.Element;
49
55
  declare function usePoseTrackerContext(): PoseTrackerContextValue;
50
56
 
51
57
  interface PoseCameraProps {
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PoseTrackerClient, PoseTrackerStatus, PoseTrackerMode, ErrorEvent, SdkManifest, ExerciseConfig, PreloadOptions, StartExerciseOptions, PoseTrackerClientOptions, PoseTrackerEventListener, ClassicNativeMessage, PoseSource, PoseSourceType, SkeletonDefinition, PoseTrackerCallbacks } from '@pose-tracker/pose-estimation-web';
2
- export { COCO_KEYPOINT_NAMES, ColdStartMode, CounterEvent, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, ErrorEvent, ExerciseConfig, InitializationEvent, Keypoint, KeypointsEvent, Pose, PoseModelAlias, PoseSource, PoseSourceType, PoseTracker, PoseTrackerCallbacks, PoseTrackerClient, PoseTrackerClientOptions, PoseTrackerOptions, PostureEvent, PreloadOptions, SDK_NAME, SDK_VERSION, SdkManifest, StartExerciseOptions, createPoseTracker, normalizePoseSource, resolvePoseModel, shouldShowWatermark } from '@pose-tracker/pose-estimation-web';
2
+ export { COCO_KEYPOINT_NAMES, ColdStartMode, CounterEvent, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, EngineChannel, ErrorEvent, ExerciseConfig, InitializationEvent, Keypoint, KeypointsEvent, Pose, PoseModelAlias, PoseSource, PoseSourceType, PoseTracker, PoseTrackerCallbacks, PoseTrackerClient, PoseTrackerClientOptions, PoseTrackerOptions, PostureEvent, PreloadOptions, SDK_NAME, SDK_VERSION, SdkManifest, StartExerciseOptions, V4_ONLY_EXERCISE_IDS, createPoseTracker, normalizeEngineChannel, normalizePoseSource, requiresEngineV4, resolvePoseModel, shouldShowWatermark } from '@pose-tracker/pose-estimation-web';
3
3
  import React from 'react';
4
4
 
5
5
  /**
@@ -35,6 +35,12 @@ interface PoseTrackerContextValue {
35
35
  }
36
36
  interface PoseTrackerProviderProps {
37
37
  apiToken?: string;
38
+ /**
39
+ * Remote engine. Default `'v4'`. Pass `'v3'` for the production FSM bundle.
40
+ * Unlabeled `startExercise('squat')` still uses the V3 squat FSM unless this
41
+ * is explicitly `'v4'`.
42
+ */
43
+ engine?: 'v3' | 'v4';
38
44
  options?: PoseTrackerClientOptions;
39
45
  /**
40
46
  * When true, PoseCamera calls `start()` after mount (full cold start).
@@ -45,7 +51,7 @@ interface PoseTrackerProviderProps {
45
51
  autoPreload?: boolean;
46
52
  children: React.ReactNode;
47
53
  }
48
- declare function PoseTrackerProvider({ apiToken, options, autoStart, autoPreload, children, }: PoseTrackerProviderProps): React.JSX.Element;
54
+ declare function PoseTrackerProvider({ apiToken, engine, options, autoStart, autoPreload, children, }: PoseTrackerProviderProps): React.JSX.Element;
49
55
  declare function usePoseTrackerContext(): PoseTrackerContextValue;
50
56
 
51
57
  interface PoseCameraProps {
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { createPoseTracker } from '@pose-tracker/pose-estimation-web';
2
- export { COCO_KEYPOINT_NAMES, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, PoseTrackerClient, SDK_NAME, SDK_VERSION, createPoseTracker, normalizePoseSource, resolvePoseModel, shouldShowWatermark } from '@pose-tracker/pose-estimation-web';
2
+ export { COCO_KEYPOINT_NAMES, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, PoseTrackerClient, SDK_NAME, SDK_VERSION, V4_ONLY_EXERCISE_IDS, createPoseTracker, normalizeEngineChannel, normalizePoseSource, requiresEngineV4, resolvePoseModel, shouldShowWatermark } from '@pose-tracker/pose-estimation-web';
3
3
  import { createContext, useMemo, useRef, useState, useEffect, useCallback, useContext } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
5
5
 
@@ -7,16 +7,23 @@ import { jsx } from 'react/jsx-runtime';
7
7
  var PoseTrackerContext = createContext(null);
8
8
  function PoseTrackerProvider({
9
9
  apiToken,
10
+ engine,
10
11
  options,
11
12
  autoStart = true,
12
13
  autoPreload = false,
13
14
  children
14
15
  }) {
15
16
  const merged = useMemo(
16
- () => ({ ...options, apiToken: apiToken ?? options?.apiToken }),
17
+ () => ({
18
+ ...options,
19
+ apiToken: apiToken ?? options?.apiToken,
20
+ engine: engine ?? options?.engine
21
+ }),
17
22
  // eslint-disable-next-line react-hooks/exhaustive-deps
18
23
  [
19
24
  apiToken,
25
+ engine,
26
+ options?.engine,
20
27
  options?.model,
21
28
  options?.modelUrl,
22
29
  options?.facingMode,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pose-tracker/pose-estimation-web-react",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "private": false,
5
5
  "description": "PoseTracker React (web) pose estimation — thin wrapper over @pose-tracker/pose-estimation-web. Browser camera + canvas, not React Native.",
6
6
  "type": "module",
@@ -54,7 +54,7 @@
54
54
  "access": "public"
55
55
  },
56
56
  "dependencies": {
57
- "@pose-tracker/pose-estimation-web": "0.2.0"
57
+ "@pose-tracker/pose-estimation-web": "0.3.1"
58
58
  },
59
59
  "peerDependencies": {
60
60
  "react": ">=18.0.0",