Files
La-Fabrik/src/types/handTracking.ts
T
2026-04-29 10:34:11 +02:00

68 lines
1.3 KiB
TypeScript

export interface HandTrackingLandmark {
x: number;
y: number;
z: number;
}
export interface HandTrackingHand {
x: number;
y: number;
z: number;
landmarks: HandTrackingLandmark[];
handedness: string;
isFist: boolean;
score: number;
}
export type HandTrackingUsageStatus = "inactive" | "available" | "active";
export type HandTrackingStatus =
| "idle"
| "requesting_camera"
| "starting_camera"
| "connecting_server"
| "connecting"
| "connected"
| "disconnected"
| "error";
export interface HandTrackingSnapshot {
hands: HandTrackingHand[];
status: HandTrackingStatus;
usageStatus: HandTrackingUsageStatus;
serverStatus: string | null;
error: string | null;
}
export interface HandTrackingFrameMessage {
type: "frame";
timestamp: number;
width: number;
height: number;
image: string;
}
export interface HandTrackingHandsMessage {
type: "hands";
timestamp: number;
hands: HandTrackingHand[];
}
export interface HandTrackingStatusMessage {
type: "status";
timestamp: number;
status: string;
}
export interface HandTrackingErrorMessage {
type: "error";
timestamp: number;
hands: HandTrackingHand[];
message: string;
}
export type HandTrackingServerMessage =
| HandTrackingHandsMessage
| HandTrackingStatusMessage
| HandTrackingErrorMessage;