export type GameSessionStatus = 'idle' | 'running' | 'finished' | 'failed' export type GameSessionEndReason = 'completed' | 'timed_out' | 'cancelled' | null export type GuidanceState = 'searching' | 'distant' | 'approaching' | 'ready' export type GameModeState = Record | null export interface GameSessionState { status: GameSessionStatus endReason: GameSessionEndReason startedAt: number | null endedAt: number | null completedControlIds: string[] skippedControlIds: string[] currentTargetControlId: string | null inRangeControlId: string | null score: number guidanceState: GuidanceState modeState: GameModeState }