export interface SymbolDef {
  id: string;
  name: string;
  file: string;
  w: number;
  h: number;
  w2?: number; // Spur: top base width
  defaultRotation?: number;
  group: string;
  subgroup?: string;
  curveAngle?: number; // For curved conveyors/chutes: arc angle in degrees
}

export interface EpcWaypoint {
  x: number; // local coords relative to symbol origin
  y: number;
}

export interface PlacedSymbol {
  id: number;
  symbolId: string;
  name: string;
  label: string; // User-assigned ID, exported as id and inkscape:label
  file: string;
  x: number;
  y: number;
  w: number;
  h: number;
  w2?: number; // Spur: top base width
  rotation: number;
  mirrored?: boolean; // Horizontal flip
  hidden?: boolean; // Individually hidden via context menu
  curveAngle?: number; // For curved conveyors/chutes
  epcWaypoints?: EpcWaypoint[]; // EPC editable line waypoints (local coords)
  pdpCBs?: number[]; // PDP visible circuit breaker numbers (1-26)
}

export interface AABB {
  x: number;
  y: number;
  w: number;
  h: number;
}

export interface ProjectInfo {
  name: string;
  mcms: McmInfo[];
}

export interface McmInfo {
  name: string;
  excelPath: string;
  pdfPath: string | null;
}
