export interface Site {
  id: string
  name: string
  x: number
  y: number
  z?: number
  layerId?: string
  fields?: Record<string, string>
}

export type TrackKind = 'line' | 'arc' | 'bezier' | 'nurbs'

export interface Track {
  id: string
  name?: string
  kind: TrackKind
  fromSiteId: string
  toSiteId: string
  ctrlPts?: Array<{ x: number; y: number }>
  lengthM?: number
  bidirectional?: boolean
}

export interface MapLayer {
  id: string
  name: string
  visible: boolean
  editable: boolean
}
