UNPKG

@kortexa-ai/react-multimodal

Version:

A set of react components and hooks to help with multimodal input

75 lines 3.03 kB
import { HandLandmarker, GestureRecognizer, Category, GestureRecognizerResult, HandLandmarkerResult as MPHandLandmarkerResult, NormalizedLandmark, Landmark } from '@mediapipe/tasks-vision'; export type HandLandmark = NormalizedLandmark; export type Handedness = Category; export type GestureResult = Category; export type GestureRecognitionResult = GestureRecognizerResult; export type HandLandmarkerResult = MPHandLandmarkerResult; export interface DetectedHand { landmarks: HandLandmark[]; worldLandmarks?: Landmark[]; handedness: Handedness; gestures: GestureResult[]; } export interface MediaPipeHandsResults { multiHandLandmarks: HandLandmark[][]; multiHandWorldLandmarks: HandLandmark[][]; multiHandedness: Handedness[]; image?: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap; } export interface HandsData { detectedHands: DetectedHand[]; imageDimensions?: { width: number; height: number; }; } export interface MediaPipeHandsOptions { staticImageMode?: boolean; maxNumHands?: number; modelComplexity?: 0 | 1; minDetectionConfidence?: number; minTrackingConfidence?: number; selfieMode?: boolean; locateFile?: (file: string, scriptPath?: string) => string; } export interface HandsTrackingDeviceProps { options?: MediaPipeHandsOptions; handsVersion?: string; onInitialLoad?: () => void; onHandsData?: (data: HandsData) => void; onError?: (error: string) => void; onTrackingStarted?: () => void; onTrackingStopped?: () => void; onResults?: (detectedHands: DetectedHand[], image?: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap) => void; } export interface HandsTrackingDevice { isTracking: boolean; handsData: HandsData | null; error: string | null; startTracking: (videoElement: HTMLVideoElement) => Promise<void>; stopTracking: () => void; getHandLandmarker?: () => HandLandmarker | null; getGestureRecognizer?: () => GestureRecognizer | null; } export interface HandsTrackingControl extends HandsTrackingDevice { addHandsDataListener: (listener: (data: HandsData) => void) => string; removeHandsDataListener: (listenerId: string) => void; addErrorListener: (listener: (error: string) => void) => string; removeErrorListener: (listenerId: string) => void; addStartListener: (listener: () => void) => string; removeStartListener: (listenerId: string) => void; addStopListener: (listener: () => void) => string; removeStopListener: (listenerId: string) => void; } export interface HandsProviderProps extends HandsTrackingDeviceProps { enableGestures?: boolean; gestureOptions?: { numHands?: number; minHandDetectionConfidence?: number; minHandPresenceConfidence?: number; minTrackingConfidence?: number; }; gestureModelPath?: string; onGestureResults?: (gestures: GestureResult[], handIndex: number) => void; } //# sourceMappingURL=types.d.ts.map