// AUTO-GENERATED from armada/tide-table/models.py — DO NOT EDIT.
// Regenerate: python3 tools/gen_ts_types.py  (DRY data layer, #42)

export type Variant = 'stream' | 'club'

export interface LoudTrace {
  trace: number[]
  stepS: number
}

export interface MasterInfo {
  file: string
  I?: number | null
  LRA?: number | null
  TP?: number | null
}

/** One orbit's lane in a take: label DERIVED from the .tidal sound, family VALIDATED by audio (centroid), activity = RMS dB per bin. (#40) */
export interface OrbitActivity {
  orbit: string
  label: string
  group: string
  sound?: string
  centroid?: number | null
  activity: number[]
}

export interface RoleGroup {
  key: string
  label: string
  color: string
  glyph: string
}

export interface Take {
  id: string
  label: string
  gig: string
  date: string
  tidal?: string | null
  dur: number
  binS: number
  masters: Record<Variant, MasterInfo>
  loud: Record<Variant, LoudTrace>
  orbits: OrbitActivity[]
}

export interface PlayerData {
  track: string
  calibration: string
  activeDb: number
  litFloorDb?: number
  roleGroups: RoleGroup[]
  note?: string
  takes: Take[]
}

export interface Note {
  id: string
  takeId: string
  t: number
  text: string
}
