v3d-web-realbits
Version:
Single camera motion-tracking in browser
20 lines (19 loc) • 1.72 kB
TypeScript
import * as Comlink from "comlink";
import { FPS, OptionMap } from "@mediapipe/control_utils";
import { Options as FMOptions, Results as FMResults, FaceMesh } from "@mediapipe/face_mesh";
import { Holistic, Options, Results } from "@mediapipe/holistic";
import { Poses } from "./worker/pose-processing";
import { Nullable } from "@babylonjs/core";
import { VRMManager } from "v3d-core-realbits/dist/src/importer/babylon-vrm-loader/src";
export interface HolisticOptions extends Options, OptionMap {
cameraOn: boolean;
useCpuInference: boolean;
effect: string;
}
export declare const InitHolisticOptions: HolisticOptions;
export declare const InitFaceMeshOptions: FMOptions;
export declare function onResults(results: Results, vrmManager: VRMManager, videoCanvasElement: Nullable<HTMLCanvasElement> | undefined, workerPose: Comlink.Remote<Poses>, activeEffect: string, proxiedCallback: ((data: Uint8Array) => void) & Comlink.ProxyMarked, fpsControl: Nullable<FPS>): void;
export declare function onFMResults(results: FMResults, vrmManager: VRMManager, videoCanvasElement: Nullable<HTMLCanvasElement> | undefined, workerPose: Comlink.Remote<Poses>, activeEffect: string, proxiedCallback: ((data: Uint8Array) => void) & Comlink.ProxyMarked, fpsControl: Nullable<FPS>): void;
export declare function setHolisticOptions(x: OptionMap, videoElement: HTMLVideoElement, activeEffect: string, holistic: Holistic): void;
export declare function setFaceMeshOptions(x: FMOptions, videoElement: HTMLVideoElement, faceMesh: FaceMesh): void;
export declare function createControlPanel(holistic: Holistic, videoElement: HTMLVideoElement, controlsElement: HTMLDivElement, activeEffect: string, fpsControl: Nullable<FPS>): void;