eye-analysis
Version:
Eye Analysis - Browser-based eye tracking and screen recording library for research and experiments
72 lines • 2.38 kB
TypeScript
import type { TrackingStatus } from "./types";
import type { GazePoint } from "../recorder/types";
export interface TrackingSession {
sessionId: string;
config: {
samplingRate?: number;
calibrationPoints?: number;
trackingMode?: string;
[key: string]: unknown;
};
startTime: number;
adaptorId: string;
}
export interface CommonTrackingState {
isTracking: boolean;
currentSession: TrackingSession | null;
status: TrackingStatus;
errorCount: number;
lastError: Error | null;
}
/**
* Initialize tracking state for an adaptor
*/
export declare const initializeAdaptorState: (adaptorId: string) => CommonTrackingState;
/**
* Get tracking state for an adaptor
*/
export declare const getAdaptorState: (adaptorId: string) => CommonTrackingState;
/**
* Update tracking status for an adaptor
*/
export declare const updateAdaptorStatus: (adaptorId: string, status: Partial<TrackingStatus>) => void;
/**
* Start tracking session with common setup
*/
export declare const startTrackingSession: (adaptorId: string, sessionId: string, config?: TrackingSession["config"]) => void;
/**
* Stop tracking session with common cleanup
*/
export declare const stopTrackingSession: (adaptorId: string) => void;
/**
* Handle tracking errors with common error management
*/
export declare const handleTrackingError: (adaptorId: string, error: Error) => void;
/**
* Process gaze data with common quality and buffering
*/
export declare const processGazeData: (adaptorId: string, gazePoint: GazePoint) => void;
/**
* Send tracking message (for adaptors that support messaging)
*/
export declare const sendTrackingMessage: (websocket: WebSocket | null, type: "start_tracking" | "stop_tracking", sessionId: string, config?: Record<string, unknown>) => void;
/**
* Normalize WebSocket URL with suffix
*/
export declare const normalizeWebSocketURL: (url: string, suffix?: string) => string;
/**
* Get tracking statistics for an adaptor
*/
export declare const getTrackingStats: (adaptorId: string) => {
isTracking: boolean;
sessionId: string | null;
uptime: number;
errorCount: number;
lastError: string | null;
status: TrackingStatus;
};
/**
* Reset all tracking state for an adaptor
*/
export declare const resetAdaptorState: (adaptorId: string) => void;
//# sourceMappingURL=common.d.ts.map