export interface MapPresentationState {
  controlVisualMode: 'single-target' | 'multi-target'
  showCourseLegs: boolean
  guidanceLegAnimationEnabled: boolean
  focusableControlIds: string[]
  focusedControlId: string | null
  focusedControlSequences: number[]
  activeControlIds: string[]
  activeControlSequences: number[]
  activeStart: boolean
  completedStart: boolean
  activeFinish: boolean
  focusedFinish: boolean
  completedFinish: boolean
  revealFullCourse: boolean
  activeLegIndices: number[]
  completedLegIndices: number[]
  completedControlIds: string[]
  completedControlSequences: number[]
  skippedControlIds: string[]
  skippedControlSequences: number[]
}

export const EMPTY_MAP_PRESENTATION_STATE: MapPresentationState = {
  controlVisualMode: 'single-target',
  showCourseLegs: true,
  guidanceLegAnimationEnabled: true,
  focusableControlIds: [],
  focusedControlId: null,
  focusedControlSequences: [],
  activeControlIds: [],
  activeControlSequences: [],
  activeStart: false,
  completedStart: false,
  activeFinish: false,
  focusedFinish: false,
  completedFinish: false,
  revealFullCourse: false,
  activeLegIndices: [],
  completedLegIndices: [],
  completedControlIds: [],
  completedControlSequences: [],
  skippedControlIds: [],
  skippedControlSequences: [],
}
