UNPKG

@kortexa-ai/react-multimodal

Version:

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

73 lines 2.82 kB
import { FaceLandmarker, FaceLandmarkerResult as MPFaceLandmarkerResult, NormalizedLandmark, Classifications, Category, FaceDetector, Detection } from '@mediapipe/tasks-vision'; export type FaceLandmark = NormalizedLandmark; export type FaceLandmarkerResult = MPFaceLandmarkerResult; export type FaceBlendshapes = Classifications; export type FaceDetection = Detection; export interface DetectedFace { landmarks: FaceLandmark[]; blendshapes?: Category[]; transformationMatrix?: number[]; boundingBox?: { xMin: number; yMin: number; width: number; height: number; }; } export interface MediaPipeFaceResults { faceLandmarks: FaceLandmark[][]; faceBlendshapes?: FaceBlendshapes[]; facialTransformationMatrixes?: number[][]; image?: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap; } export interface FaceData { detectedFaces: DetectedFace[]; imageDimensions?: { width: number; height: number; }; } export interface MediaPipeFaceOptions { staticImageMode?: boolean; maxNumFaces?: number; refineLandmarks?: boolean; minDetectionConfidence?: number; minTrackingConfidence?: number; selfieMode?: boolean; locateFile?: (file: string, scriptPath?: string) => string; } export interface FaceTrackingDeviceProps { options?: MediaPipeFaceOptions; faceVersion?: string; onInitialLoad?: () => void; onFaceData?: (data: FaceData) => void; onError?: (error: string) => void; onTrackingStarted?: () => void; onTrackingStopped?: () => void; onResults?: (detectedFaces: DetectedFace[], image?: HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap) => void; } export interface FaceTrackingDevice { isTracking: boolean; faceData: FaceData | null; error: string | null; startTracking: (videoElement: HTMLVideoElement) => Promise<void>; stopTracking: () => void; getFaceLandmarker?: () => FaceLandmarker | null; getFaceDetector?: () => FaceDetector | null; } export interface FaceTrackingControl extends FaceTrackingDevice { addFaceDataListener: (listener: (data: FaceData) => void) => string; removeFaceDataListener: (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 FaceProviderProps extends FaceTrackingDeviceProps { outputFaceBlendshapes?: boolean; outputTransformationMatrix?: boolean; runningMode?: "IMAGE" | "VIDEO"; } //# sourceMappingURL=types.d.ts.map