@pose-tracker/pose-estimation-web 0.1.0 → 0.3.0
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 +25 -4
- package/dist/index.cjs +797 -151
- package/dist/index.d.cts +151 -11
- package/dist/index.d.ts +151 -11
- package/dist/index.js +794 -152
- package/dist/pose-tracker.global.js +6 -5
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _tensorflow_tfjs from '@tensorflow/tfjs';
|
|
2
2
|
|
|
3
3
|
/** Bumped with package.json version (keep in sync). */
|
|
4
|
-
declare const SDK_VERSION = "0.
|
|
4
|
+
declare const SDK_VERSION = "0.3.0";
|
|
5
5
|
declare const SDK_NAME: "posetracker-web";
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -132,6 +132,8 @@ interface EngineBundleDescriptor {
|
|
|
132
132
|
minSdkVersion: string;
|
|
133
133
|
/** True when the version sent in `localVersions.engine` is already current. */
|
|
134
134
|
upToDate?: boolean;
|
|
135
|
+
/** Which interpreter this descriptor is. Absent on older backends = v3. */
|
|
136
|
+
channel?: 'v3' | 'v4';
|
|
135
137
|
}
|
|
136
138
|
interface PoseRuntimePartDescriptor {
|
|
137
139
|
/** Download URL of this part (`GET /api/sdk/pose-runtime?part=...&v=...`). */
|
|
@@ -172,6 +174,11 @@ interface ConfigureRequest {
|
|
|
172
174
|
poseRuntime?: string | null;
|
|
173
175
|
engine?: string | null;
|
|
174
176
|
};
|
|
177
|
+
/**
|
|
178
|
+
* Which remote engine to download. Default / omitted = v3 (production).
|
|
179
|
+
* `v4` is opt-in (heuristic catalog: squat, shoulder_roll, …).
|
|
180
|
+
*/
|
|
181
|
+
engineChannel?: 'v3' | 'v4';
|
|
175
182
|
}
|
|
176
183
|
interface PlanInfo {
|
|
177
184
|
plan: string;
|
|
@@ -202,6 +209,13 @@ interface SdkManifest {
|
|
|
202
209
|
expiresAt: number;
|
|
203
210
|
}
|
|
204
211
|
|
|
212
|
+
/** Opt-in remote engine channel. Default is production V3. */
|
|
213
|
+
type EngineChannel = 'v3' | 'v4';
|
|
214
|
+
/** Movements that exist only in the V4 catalog (not in V3 FSM / Strapi). */
|
|
215
|
+
declare const V4_ONLY_EXERCISE_IDS: readonly ["shoulder_roll", "shoulder_deep_breath", "chair_forward_fold"];
|
|
216
|
+
declare function normalizeEngineChannel(raw?: string | null): EngineChannel;
|
|
217
|
+
declare function requiresEngineV4(exerciseId: string): boolean;
|
|
218
|
+
|
|
205
219
|
/**
|
|
206
220
|
* Handshake client: `configure(apiToken)` → Strapi `SdkManifest`.
|
|
207
221
|
* Same endpoint as RN light; `targetPlatform: 'web'`, `sdkName: posetracker-web`.
|
|
@@ -213,6 +227,11 @@ interface ConfigureOptions {
|
|
|
213
227
|
poseModelProfile?: PoseModelProfile;
|
|
214
228
|
locale?: string;
|
|
215
229
|
localVersions?: ConfigureRequest['localVersions'];
|
|
230
|
+
/**
|
|
231
|
+
* Opt-in V4 heuristic engine. Default `'v3'` (production FSM).
|
|
232
|
+
* Set `'v4'` at init — the handshake downloads `engine-v4.bundle.js`.
|
|
233
|
+
*/
|
|
234
|
+
engine?: EngineChannel;
|
|
216
235
|
}
|
|
217
236
|
declare class ConfigureError extends Error {
|
|
218
237
|
readonly code: 'invalid_token' | 'quota_exceeded' | 'network' | 'internal';
|
|
@@ -310,7 +329,7 @@ type PoseTrackerStatus = 'idle' | 'configuring' | 'downloading' | 'warming' | 'r
|
|
|
310
329
|
* restarting the camera pipeline, via `configure()` or a preload retry.
|
|
311
330
|
*/
|
|
312
331
|
type PoseTrackerMode = 'keypoints-only' | 'full-engine';
|
|
313
|
-
type InitializationStep = 'configuring' | 'downloading' | 'warming' | 'accessing_webcam' | 'loading_pose_model' | 'ready';
|
|
332
|
+
type InitializationStep = 'configuring' | 'downloading' | 'warming' | 'accessing_webcam' | 'loading_media' | 'loading_pose_model' | 'ready';
|
|
314
333
|
interface InitializationEvent {
|
|
315
334
|
type: 'initialization';
|
|
316
335
|
/**
|
|
@@ -359,7 +378,7 @@ interface ErrorEvent {
|
|
|
359
378
|
/** Unknown exercise id (WebView parity: `invalid_exercise`). */
|
|
360
379
|
| 'invalid_exercise'
|
|
361
380
|
/** jump_analysis requires `userHeightCm` (WebView parity). */
|
|
362
|
-
| 'jump_analysis_missing_height' | 'model_load_failed' | 'engine_load_failed' | 'integrity_check_failed' | 'webview_error' | 'device_too_slow' | 'backend_fallback_wasm' | 'camera_denied' | 'camera_unavailable' | 'internal';
|
|
381
|
+
| 'jump_analysis_missing_height' | 'model_load_failed' | 'engine_load_failed' | 'integrity_check_failed' | 'webview_error' | 'device_too_slow' | 'backend_fallback_wasm' | 'camera_denied' | 'camera_unavailable' | 'media_load_failed' | 'media_unavailable' | 'internal';
|
|
363
382
|
message: string;
|
|
364
383
|
}
|
|
365
384
|
/**
|
|
@@ -716,6 +735,13 @@ interface PoseTrackerEngine {
|
|
|
716
735
|
createSession(options: EngineSessionOptions, emit: EventSink): EngineSession;
|
|
717
736
|
/** Engine >= 1.2.0: custom exercises shipped in the bundle (jump analysis…). */
|
|
718
737
|
listCustomExercises?(): CustomExerciseDescriptor[];
|
|
738
|
+
/** Engine V4 catalog (opt-in channel). Absent on V3 bundles. */
|
|
739
|
+
listExercises?(): Array<{
|
|
740
|
+
id: string;
|
|
741
|
+
displayName: string;
|
|
742
|
+
type: string;
|
|
743
|
+
description?: string;
|
|
744
|
+
}>;
|
|
719
745
|
/** Engine >= 1.2.0: start a custom exercise session (placement + jump_* events). */
|
|
720
746
|
createCustomSession?(options: CustomSessionOptions, emit: EventSink): EngineSession;
|
|
721
747
|
}
|
|
@@ -811,6 +837,52 @@ declare class UsageTracker {
|
|
|
811
837
|
private enqueue;
|
|
812
838
|
}
|
|
813
839
|
|
|
840
|
+
/**
|
|
841
|
+
* Input source for pose estimation (camera / uploaded video / still image).
|
|
842
|
+
* Default remains camera for quickstart compatibility.
|
|
843
|
+
*/
|
|
844
|
+
type PoseSourceType = 'camera' | 'video' | 'image';
|
|
845
|
+
type CameraFacingMode = 'user' | 'environment';
|
|
846
|
+
interface CameraPoseSource {
|
|
847
|
+
type: 'camera';
|
|
848
|
+
facingMode?: CameraFacingMode;
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* Uploaded or remote video. `src` may be a URL string, File/Blob (object URL),
|
|
852
|
+
* or an existing HTMLVideoElement (SDK uses it as the frame source).
|
|
853
|
+
*/
|
|
854
|
+
interface VideoPoseSource {
|
|
855
|
+
type: 'video';
|
|
856
|
+
src: string | File | Blob | HTMLVideoElement;
|
|
857
|
+
/** Autoplay when attached. Default true. */
|
|
858
|
+
autoplay?: boolean;
|
|
859
|
+
/** Loop the file. Default true for continuous inference demos. */
|
|
860
|
+
loop?: boolean;
|
|
861
|
+
muted?: boolean;
|
|
862
|
+
}
|
|
863
|
+
/**
|
|
864
|
+
* Still image — single-shot estimate (re-run via `analyze()`).
|
|
865
|
+
*/
|
|
866
|
+
interface ImagePoseSource {
|
|
867
|
+
type: 'image';
|
|
868
|
+
src: string | File | Blob | HTMLImageElement | ImageBitmap;
|
|
869
|
+
}
|
|
870
|
+
type PoseSource = CameraPoseSource | VideoPoseSource | ImagePoseSource;
|
|
871
|
+
/** Narrow helper for prop-style APIs (`source` + `sourceUrl` / `sourceFile`). */
|
|
872
|
+
interface PoseSourceProps {
|
|
873
|
+
source?: PoseSourceType;
|
|
874
|
+
sourceUrl?: string;
|
|
875
|
+
sourceFile?: File | Blob;
|
|
876
|
+
facingMode?: CameraFacingMode;
|
|
877
|
+
}
|
|
878
|
+
/** Frame types accepted by detector adapters. */
|
|
879
|
+
type PoseEstimateInput = HTMLVideoElement | HTMLImageElement | HTMLCanvasElement | ImageBitmap;
|
|
880
|
+
declare function normalizePoseSource(source?: PoseSource | PoseSourceType | null, extras?: {
|
|
881
|
+
sourceUrl?: string;
|
|
882
|
+
sourceFile?: File | Blob;
|
|
883
|
+
facingMode?: CameraFacingMode;
|
|
884
|
+
}): PoseSource;
|
|
885
|
+
|
|
814
886
|
/**
|
|
815
887
|
* Online pose-model catalog (web) — mirrors RN light `poseModels.ts`.
|
|
816
888
|
*
|
|
@@ -954,6 +1026,20 @@ interface PoseTrackerClientOptions extends ConfigureOptions {
|
|
|
954
1026
|
onDiagnostic?: (message: string) => void;
|
|
955
1027
|
/** Alias of preload coldStart when using start(). Default full on camera screens. */
|
|
956
1028
|
coldStart?: ColdStartMode;
|
|
1029
|
+
/**
|
|
1030
|
+
* Input source. Default `{ type: 'camera' }` (webcam).
|
|
1031
|
+
* Use `{ type: 'video', src }` or `{ type: 'image', src }` for file / URL / element.
|
|
1032
|
+
*/
|
|
1033
|
+
source?: PoseSource | PoseSourceType;
|
|
1034
|
+
/** Convenience with `source: 'video' | 'image'` (string / File / Blob). */
|
|
1035
|
+
sourceUrl?: string;
|
|
1036
|
+
sourceFile?: File | Blob;
|
|
1037
|
+
/**
|
|
1038
|
+
* Still-image inference. Default `single`: one full-frame SinglePose pass
|
|
1039
|
+
* (no EMA / no ROI). `tracked`: treat analyze() as video frames — EMA +
|
|
1040
|
+
* previous-pose crop so each shot can refine the last skeleton.
|
|
1041
|
+
*/
|
|
1042
|
+
stillMode?: 'single' | 'tracked';
|
|
957
1043
|
}
|
|
958
1044
|
/** @deprecated Prefer PoseTrackerClientOptions — kept for vanilla DX. */
|
|
959
1045
|
type PoseTrackerOptions = PoseTrackerClientOptions;
|
|
@@ -989,6 +1075,10 @@ declare class PoseTrackerClient {
|
|
|
989
1075
|
private opts;
|
|
990
1076
|
private shell;
|
|
991
1077
|
private stream;
|
|
1078
|
+
private poseSource;
|
|
1079
|
+
private objectUrlRevoke;
|
|
1080
|
+
private estimateInput;
|
|
1081
|
+
private imageShotPending;
|
|
992
1082
|
private adapter;
|
|
993
1083
|
private resolved;
|
|
994
1084
|
private running;
|
|
@@ -1013,6 +1103,8 @@ declare class PoseTrackerClient {
|
|
|
1013
1103
|
getAccelerationDiagnostics(): AccelerationDiagnostics;
|
|
1014
1104
|
getResolvedModel(): ResolvedPoseModel;
|
|
1015
1105
|
getColdStartMode(): ColdStartMode;
|
|
1106
|
+
/** Active pose input source (`camera` | `video` | `image`). */
|
|
1107
|
+
getSource(): PoseSource;
|
|
1016
1108
|
addEventListener(listener: PoseTrackerEventListener): () => void;
|
|
1017
1109
|
on(type: PoseTrackerEvent['type'] | '*', listener: PoseTrackerEventListener): () => void;
|
|
1018
1110
|
addMessageListener(listener: ClassicMessageListener): () => void;
|
|
@@ -1024,14 +1116,35 @@ declare class PoseTrackerClient {
|
|
|
1024
1116
|
*/
|
|
1025
1117
|
preload(options?: PreloadOptions): Promise<void>;
|
|
1026
1118
|
warmup(options?: PreloadOptions): Promise<void>;
|
|
1027
|
-
/**
|
|
1119
|
+
/**
|
|
1120
|
+
* Mount + load model + open source + start inference.
|
|
1121
|
+
* Camera / video stream continuously; image runs a single shot (re-run with {@link analyze}).
|
|
1122
|
+
*/
|
|
1028
1123
|
start(): Promise<void>;
|
|
1124
|
+
/**
|
|
1125
|
+
* Switch input source. Stops the current media, attaches the new source, and
|
|
1126
|
+
* restarts the loop when previously running.
|
|
1127
|
+
*/
|
|
1128
|
+
setSource(source: PoseSource | PoseSourceType, extras?: {
|
|
1129
|
+
sourceUrl?: string;
|
|
1130
|
+
sourceFile?: File | Blob;
|
|
1131
|
+
facingMode?: 'user' | 'environment';
|
|
1132
|
+
}): Promise<void>;
|
|
1133
|
+
/**
|
|
1134
|
+
* Re-run pose estimation on the current still image (no-op for camera/video
|
|
1135
|
+
* while the loop is already running — for those, call {@link start}).
|
|
1136
|
+
*/
|
|
1137
|
+
analyze(): Promise<Pose | null>;
|
|
1029
1138
|
stop(): void;
|
|
1139
|
+
private stopMediaOnly;
|
|
1030
1140
|
dispose(): Promise<void>;
|
|
1031
1141
|
configure(apiToken?: string): Promise<boolean>;
|
|
1032
1142
|
getAvailableExercises(): ExerciseConfig[];
|
|
1143
|
+
getEngineChannel(): EngineChannel;
|
|
1144
|
+
private v4ExerciseConfig;
|
|
1033
1145
|
getAvailableCustomExercises(): CustomExerciseDescriptor[];
|
|
1034
1146
|
startExercise(exerciseId: string, options?: StartExerciseOptions): void;
|
|
1147
|
+
private beginEngineSession;
|
|
1035
1148
|
private startCustomExercise;
|
|
1036
1149
|
stopExercise(): void;
|
|
1037
1150
|
getCurrentExerciseId(): string | null;
|
|
@@ -1042,8 +1155,13 @@ declare class PoseTrackerClient {
|
|
|
1042
1155
|
private doPreload;
|
|
1043
1156
|
private ensureColdStartMode;
|
|
1044
1157
|
private ensureAdapter;
|
|
1045
|
-
private
|
|
1158
|
+
private ensureSource;
|
|
1159
|
+
private scheduleReveal;
|
|
1160
|
+
private attachVideoSource;
|
|
1161
|
+
private attachImageSource;
|
|
1046
1162
|
private beginLoop;
|
|
1163
|
+
private frameReady;
|
|
1164
|
+
private runOneFrame;
|
|
1047
1165
|
private loop;
|
|
1048
1166
|
private resolveSkeletonFromOptions;
|
|
1049
1167
|
private resolveManifestOnce;
|
|
@@ -1078,6 +1196,9 @@ interface Letterbox {
|
|
|
1078
1196
|
drawH: number;
|
|
1079
1197
|
vw: number;
|
|
1080
1198
|
vh: number;
|
|
1199
|
+
/** Window top-left in original media pixels (still-image video simulation). */
|
|
1200
|
+
originX?: number;
|
|
1201
|
+
originY?: number;
|
|
1081
1202
|
}
|
|
1082
1203
|
interface DetectorFrameResult {
|
|
1083
1204
|
/** Raw model output used for skeleton mapping (MoveNet: Float32Array length 51). */
|
|
@@ -1095,18 +1216,24 @@ interface DetectorFrameResult {
|
|
|
1095
1216
|
letterbox: Letterbox;
|
|
1096
1217
|
}
|
|
1097
1218
|
type Float32ArrayLike = ArrayLike<number>;
|
|
1219
|
+
|
|
1098
1220
|
interface PoseDetectorAdapter {
|
|
1099
1221
|
readonly modelId: string;
|
|
1100
1222
|
load(): Promise<void>;
|
|
1101
1223
|
/**
|
|
1102
|
-
* Run one frame.
|
|
1224
|
+
* Run one frame. Input must have non-zero dimensions
|
|
1225
|
+
* (HTMLVideoElement, HTMLImageElement, canvas, or ImageBitmap).
|
|
1103
1226
|
* Returns null when the frame should be skipped.
|
|
1104
1227
|
*/
|
|
1105
|
-
estimate(
|
|
1228
|
+
estimate(input: PoseEstimateInput, options: {
|
|
1106
1229
|
facingMode: 'user' | 'environment';
|
|
1107
1230
|
displayWidth: number;
|
|
1108
1231
|
displayHeight: number;
|
|
1232
|
+
/** EMA across frames. Default true. Stills may pass true to simulate a short clip. */
|
|
1233
|
+
temporalSmooth?: boolean;
|
|
1109
1234
|
}): Promise<DetectorFrameResult | null>;
|
|
1235
|
+
/** Optional: clear temporal filters when the media source changes. */
|
|
1236
|
+
resetTemporal?(): void;
|
|
1110
1237
|
dispose(): void;
|
|
1111
1238
|
}
|
|
1112
1239
|
interface CreateAdapterContext {
|
|
@@ -1126,6 +1253,9 @@ declare class MoveNetGraphAdapter implements PoseDetectorAdapter {
|
|
|
1126
1253
|
private offscreen;
|
|
1127
1254
|
private offCtx;
|
|
1128
1255
|
private smoothed;
|
|
1256
|
+
private lastVideoKps;
|
|
1257
|
+
private stillPass;
|
|
1258
|
+
private inferLb;
|
|
1129
1259
|
private letterbox;
|
|
1130
1260
|
constructor(ctx: CreateAdapterContext);
|
|
1131
1261
|
getBackend(): string | null;
|
|
@@ -1133,11 +1263,14 @@ declare class MoveNetGraphAdapter implements PoseDetectorAdapter {
|
|
|
1133
1263
|
private poseCanvasCtx;
|
|
1134
1264
|
private prepareInput;
|
|
1135
1265
|
private smooth;
|
|
1136
|
-
estimate(
|
|
1266
|
+
estimate(input: PoseEstimateInput, options: {
|
|
1137
1267
|
facingMode: 'user' | 'environment';
|
|
1138
1268
|
displayWidth: number;
|
|
1139
1269
|
displayHeight: number;
|
|
1270
|
+
temporalSmooth?: boolean;
|
|
1140
1271
|
}): Promise<DetectorFrameResult | null>;
|
|
1272
|
+
/** Clear EMA state (call when the still / clip changes). */
|
|
1273
|
+
resetTemporal(): void;
|
|
1141
1274
|
dispose(): void;
|
|
1142
1275
|
}
|
|
1143
1276
|
/** Map video keypoints → object-fit:cover display pixels for drawing. */
|
|
@@ -1162,11 +1295,14 @@ declare class BlazePoseAdapter implements PoseDetectorAdapter {
|
|
|
1162
1295
|
constructor(_ctx: CreateAdapterContext);
|
|
1163
1296
|
getBackend(): string | null;
|
|
1164
1297
|
load(): Promise<void>;
|
|
1165
|
-
estimate(
|
|
1298
|
+
estimate(input: PoseEstimateInput, options: {
|
|
1166
1299
|
facingMode: 'user' | 'environment';
|
|
1167
1300
|
displayWidth: number;
|
|
1168
1301
|
displayHeight: number;
|
|
1302
|
+
temporalSmooth?: boolean;
|
|
1169
1303
|
}): Promise<DetectorFrameResult | null>;
|
|
1304
|
+
/** Clear cached ROI / landmark filters (call when the still changes). */
|
|
1305
|
+
resetTemporal(): void;
|
|
1170
1306
|
dispose(): void;
|
|
1171
1307
|
}
|
|
1172
1308
|
|
|
@@ -1266,6 +1402,8 @@ declare function drawSkeleton(ctx: CanvasRenderingContext2D, kps: DrawKeypoint[]
|
|
|
1266
1402
|
interface DomShell {
|
|
1267
1403
|
root: HTMLElement;
|
|
1268
1404
|
video: HTMLVideoElement;
|
|
1405
|
+
/** Still-image element for `source: image` mode. */
|
|
1406
|
+
image: HTMLImageElement;
|
|
1269
1407
|
canvas: HTMLCanvasElement;
|
|
1270
1408
|
boot: HTMLElement;
|
|
1271
1409
|
bootMsg: HTMLElement;
|
|
@@ -1274,10 +1412,12 @@ interface DomShell {
|
|
|
1274
1412
|
placement: HTMLElement;
|
|
1275
1413
|
setBootMessage(text: string, isError?: boolean): void;
|
|
1276
1414
|
setCameraVisible(visible: boolean): void;
|
|
1415
|
+
/** Show video preview, still image, or neither (boot only). */
|
|
1416
|
+
setMediaMode(mode: 'video' | 'image' | 'none'): void;
|
|
1277
1417
|
setWatermarkVisible(visible: boolean): void;
|
|
1278
1418
|
setHud(text: string, debug: boolean): void;
|
|
1279
1419
|
setPlacementVisible(visible: boolean, paddingPercent?: number): void;
|
|
1280
|
-
applyMirror(facingMode: 'user' | 'environment'): void;
|
|
1420
|
+
applyMirror(facingMode: 'user' | 'environment' | 'none'): void;
|
|
1281
1421
|
destroy(): void;
|
|
1282
1422
|
}
|
|
1283
1423
|
declare function mountDomShell(host: HTMLElement, options?: {
|
|
@@ -1322,4 +1462,4 @@ declare function findExerciseByIdOrAlias<T extends {
|
|
|
1322
1462
|
id: string;
|
|
1323
1463
|
}>(exerciseId: string, exercises: readonly T[]): T | undefined;
|
|
1324
1464
|
|
|
1325
|
-
export { type AccelerationDiagnostics, type AccelerationState, type AngleValue, type AnglesEvent, BRAND_COLORS, BlazePoseAdapter, type BlazePoseModelType, COCO_KEYPOINT_NAMES, COMBINED_REFERENCE_EXERCISE_MESSAGE, type CameraOptions, type ClassicMessageListener, type ClassicNativeMessage, type CocoKeypointName, type ColdStartMode, ConfigureError, type ConfigureOptions, type ConfigureRequest, type CounterEvent, type CounterFormScore, type CustomExerciseDescriptor, type CustomSessionOptions, DEFAULT_BASE_URL, DEFAULT_FEATURES, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, DEFAULT_SKELETON, DEFAULT_SKELETON_DEFINITION, type DetectorFrameResult, type DiagnosticListener, EXERCISE_ALIASES, type EngineBundleDescriptor, type EngineLoadResult, EngineLoader, type EngineLoaderOptions, type EngineSession, type EngineSessionFeatures, type EngineSessionOptions, type ErrorEvent, type EventSink, type ExerciseConfig, type ExerciseSummaryEvent, FREE_PLAN_FEATURES_MESSAGE, type FetchSkeletonOptions, type FileStore, type FormGrade, type FormScoreEvent, INVALID_TOKEN_MESSAGE, type InferenceRuntime, type InitialPosture, type InitializationEvent, type InitializationStep, type JumpCalibrationEvent, type JumpDiscardedEvent, type JumpHeightEvent, type JumpResultEvent, type JumpStartedEvent, type JumpSummaryEntry, type JumpSummaryEvent, type KeyValueStore, type Keypoint, type KeypointName, type KeypointsEvent, type MinGrade, type ModelDescriptor, type ModelFormat, type ModelsByProfile, MoveNetGraphAdapter, type MovementDefinition, type MovementRecommendation, type MovementStep, type MovementStepParameter, ONLINE_POSE_DETECTION_VERSION, ONLINE_TFJS_VERSION, POSETRACKER_LOGO_URL, type PerformanceWarningEvent, type PlanInfo, type Pose, PoseCamera, PoseCamera_mount, type PoseDetectionModule, type PoseDetectorAdapter, type PoseModelAlias, type PoseModelKind, type PoseModelProfile, type PoseRuntimeDescriptor, type PoseRuntimePartDescriptor, type PoseTracker, type PoseTrackerCallbacks, PoseTrackerClient, type PoseTrackerClientOptions, type PoseTrackerEngine, type PoseTrackerEvent, type PoseTrackerEventListener, type PoseTrackerEventType, type PoseTrackerFeatures, type PoseTrackerMode, type PoseTrackerOptions, type PoseTrackerStatus, type PostureEvent, type PreloadOptions, type ProgressionEvent, type QualityChangedEvent, type RecommendationsEvent, type ReferenceMovementDescriptor, type RepSummary, type ResolvePoseModelOptions, type ResolvedFeatures, type ResolvedPoseModel, type RuntimeDownloadProgressEvent, SDK_NAME, SDK_VERSION, type SdkManifest, type SkeletonAnglesStyle, type SkeletonCirclesStyle, type SkeletonDefinition, SkeletonFetchError, type SkeletonLinesStyle, type StartExerciseOptions, type StatsEvent, type TfModule, type TfjsCdnUrls, TrackError, type TrackRequest, type TrackResponse, UsageTracker, type UsageTrackerOptions, type VisibleHipsInfo, type WarningEvent, configure, createLocalFileStore, createLocalKeyValueStore, createMemoryFileStore, createPoseAdapter, createPoseTracker, createWebFileStore, defaultPoseDetectionCdnUrl, defaultTfjsCdnUrls, drawSkeleton, featureNotSupportedMessage, fetchSkeletonDefinition, findExerciseByIdOrAlias, freeBlockedFeatures, initWebGlBackend, isPaidPlan, mapVideoKeypointsToDisplay, mountDomShell, openCameraStream, resolveExerciseName, resolveFeatures, resolvePoseDetection, resolvePoseModel, resolveTf, shouldShowWatermark, stopMediaStream, toClassicNativeMessage };
|
|
1465
|
+
export { type AccelerationDiagnostics, type AccelerationState, type AngleValue, type AnglesEvent, BRAND_COLORS, BlazePoseAdapter, type BlazePoseModelType, COCO_KEYPOINT_NAMES, COMBINED_REFERENCE_EXERCISE_MESSAGE, type CameraFacingMode, type CameraOptions, type CameraPoseSource, type ClassicMessageListener, type ClassicNativeMessage, type CocoKeypointName, type ColdStartMode, ConfigureError, type ConfigureOptions, type ConfigureRequest, type CounterEvent, type CounterFormScore, type CustomExerciseDescriptor, type CustomSessionOptions, DEFAULT_BASE_URL, DEFAULT_FEATURES, DEFAULT_LOADING_TEXT, DEFAULT_MOVENET_LIGHTNING_URL, DEFAULT_SKELETON, DEFAULT_SKELETON_DEFINITION, type DetectorFrameResult, type DiagnosticListener, EXERCISE_ALIASES, type EngineBundleDescriptor, type EngineChannel, type EngineLoadResult, EngineLoader, type EngineLoaderOptions, type EngineSession, type EngineSessionFeatures, type EngineSessionOptions, type ErrorEvent, type EventSink, type ExerciseConfig, type ExerciseSummaryEvent, FREE_PLAN_FEATURES_MESSAGE, type FetchSkeletonOptions, type FileStore, type FormGrade, type FormScoreEvent, INVALID_TOKEN_MESSAGE, type ImagePoseSource, type InferenceRuntime, type InitialPosture, type InitializationEvent, type InitializationStep, type JumpCalibrationEvent, type JumpDiscardedEvent, type JumpHeightEvent, type JumpResultEvent, type JumpStartedEvent, type JumpSummaryEntry, type JumpSummaryEvent, type KeyValueStore, type Keypoint, type KeypointName, type KeypointsEvent, type MinGrade, type ModelDescriptor, type ModelFormat, type ModelsByProfile, MoveNetGraphAdapter, type MovementDefinition, type MovementRecommendation, type MovementStep, type MovementStepParameter, ONLINE_POSE_DETECTION_VERSION, ONLINE_TFJS_VERSION, POSETRACKER_LOGO_URL, type PerformanceWarningEvent, type PlanInfo, type Pose, PoseCamera, PoseCamera_mount, type PoseDetectionModule, type PoseDetectorAdapter, type PoseEstimateInput, type PoseModelAlias, type PoseModelKind, type PoseModelProfile, type PoseRuntimeDescriptor, type PoseRuntimePartDescriptor, type PoseSource, type PoseSourceProps, type PoseSourceType, type PoseTracker, type PoseTrackerCallbacks, PoseTrackerClient, type PoseTrackerClientOptions, type PoseTrackerEngine, type PoseTrackerEvent, type PoseTrackerEventListener, type PoseTrackerEventType, type PoseTrackerFeatures, type PoseTrackerMode, type PoseTrackerOptions, type PoseTrackerStatus, type PostureEvent, type PreloadOptions, type ProgressionEvent, type QualityChangedEvent, type RecommendationsEvent, type ReferenceMovementDescriptor, type RepSummary, type ResolvePoseModelOptions, type ResolvedFeatures, type ResolvedPoseModel, type RuntimeDownloadProgressEvent, SDK_NAME, SDK_VERSION, type SdkManifest, type SkeletonAnglesStyle, type SkeletonCirclesStyle, type SkeletonDefinition, SkeletonFetchError, type SkeletonLinesStyle, type StartExerciseOptions, type StatsEvent, type TfModule, type TfjsCdnUrls, TrackError, type TrackRequest, type TrackResponse, UsageTracker, type UsageTrackerOptions, V4_ONLY_EXERCISE_IDS, type VideoPoseSource, type VisibleHipsInfo, type WarningEvent, configure, createLocalFileStore, createLocalKeyValueStore, createMemoryFileStore, createPoseAdapter, createPoseTracker, createWebFileStore, defaultPoseDetectionCdnUrl, defaultTfjsCdnUrls, drawSkeleton, featureNotSupportedMessage, fetchSkeletonDefinition, findExerciseByIdOrAlias, freeBlockedFeatures, initWebGlBackend, isPaidPlan, mapVideoKeypointsToDisplay, mountDomShell, normalizeEngineChannel, normalizePoseSource, openCameraStream, requiresEngineV4, resolveExerciseName, resolveFeatures, resolvePoseDetection, resolvePoseModel, resolveTf, shouldShowWatermark, stopMediaStream, toClassicNativeMessage };
|