{
  "version": 3,
  "sources": ["../../src/util/dxfColorToRGB.ts"],
  "sourcesContent": ["/**\n * Convert DXF ACI (AutoCAD Color Index) to RGB color\n * Based on AutoCAD's standard 256 color palette\n */\nexport default function dxfColorToRGB(colorNumber: number): { r: number; g: number; b: number } {\n  // Standard AutoCAD Color Index (ACI) colors\n  const aciColors: Array<[number, number, number]> = [\n    [0, 0, 0],       // 0 - ByBlock\n    [255, 0, 0],     // 1 - Red\n    [255, 255, 0],   // 2 - Yellow\n    [0, 255, 0],     // 3 - Green\n    [0, 255, 255],   // 4 - Cyan\n    [0, 0, 255],     // 5 - Blue\n    [255, 0, 255],   // 6 - Magenta\n    [255, 255, 255], // 7 - White/Black (depends on background)\n    [128, 128, 128], // 8 - Gray\n    [192, 192, 192], // 9 - Light Gray\n  ]\n\n  // Handle special cases\n  if (colorNumber === 0 || colorNumber === 256) {\n    // ByBlock or ByLayer - return black as default\n    return { r: 0, g: 0, b: 0 }\n  }\n\n  if (colorNumber === 7) {\n    // White/Black - return black for light backgrounds\n    return { r: 0, g: 0, b: 0 }\n  }\n\n  // Colors 1-9 are standard\n  if (colorNumber >= 1 && colorNumber <= 9) {\n    const [r, g, b] = aciColors[colorNumber]\n    return { r, g, b }\n  }\n\n  // Colors 10-249 follow a pattern\n  // Simplified approximation for extended colors\n  if (colorNumber >= 10 && colorNumber <= 249) {\n    const base = colorNumber - 10\n    const hue = (base % 10) * 36\n    const lightness = Math.floor(base / 10) * 10 + 50\n    \n    // Convert HSL to RGB (simplified)\n    const c = (1 - Math.abs(2 * lightness / 100 - 1)) * 100\n    const x = c * (1 - Math.abs(((hue / 60) % 2) - 1))\n    const m = lightness - c / 2\n    \n    let r = 0\n    let g = 0\n    let b = 0\n    \n    if (hue < 60) {\n      r = c\n      g = x\n    } else if (hue < 120) {\n      r = x\n      g = c\n    } else if (hue < 180) {\n      g = c\n      b = x\n    } else if (hue < 240) {\n      g = x\n      b = c\n    } else if (hue < 300) {\n      r = x\n      b = c\n    } else {\n      r = c\n      b = x\n    }\n    \n    return {\n      r: Math.round((r + m) * 2.55),\n      g: Math.round((g + m) * 2.55),\n      b: Math.round((b + m) * 2.55),\n    }\n  }\n\n  // Grayscale colors 250-255\n  if (colorNumber >= 250 && colorNumber <= 255) {\n    const gray = Math.round(((colorNumber - 250) / 5) * 255)\n    return { r: gray, g: gray, b: gray }\n  }\n\n  // Default to black for unknown colors\n  return { r: 0, g: 0, b: 0 }\n}\n\n/**\n * Convert RGB object to SVG color string\n */\nexport function rgbToSVGColor(rgb: { r: number; g: number; b: number }): string {\n  return `rgb(${rgb.r},${rgb.g},${rgb.b})`\n}\n\n/**\n * Convert DXF color number directly to SVG color string\n */\nexport function dxfColorToSVG(colorNumber: number | undefined): string {\n  if (colorNumber === undefined) {\n    return 'currentColor'\n  }\n  const rgb = dxfColorToRGB(colorNumber)\n  return rgbToSVGColor(rgb)\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIe,SAAR,cAA+B,aAA0D;AAE9F,QAAM,YAA6C;AAAA,IACjD,CAAC,GAAG,GAAG,CAAC;AAAA;AAAA,IACR,CAAC,KAAK,GAAG,CAAC;AAAA;AAAA,IACV,CAAC,KAAK,KAAK,CAAC;AAAA;AAAA,IACZ,CAAC,GAAG,KAAK,CAAC;AAAA;AAAA,IACV,CAAC,GAAG,KAAK,GAAG;AAAA;AAAA,IACZ,CAAC,GAAG,GAAG,GAAG;AAAA;AAAA,IACV,CAAC,KAAK,GAAG,GAAG;AAAA;AAAA,IACZ,CAAC,KAAK,KAAK,GAAG;AAAA;AAAA,IACd,CAAC,KAAK,KAAK,GAAG;AAAA;AAAA,IACd,CAAC,KAAK,KAAK,GAAG;AAAA;AAAA,EAChB;AAGA,MAAI,gBAAgB,KAAK,gBAAgB,KAAK;AAE5C,WAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,EAC5B;AAEA,MAAI,gBAAgB,GAAG;AAErB,WAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAAA,EAC5B;AAGA,MAAI,eAAe,KAAK,eAAe,GAAG;AACxC,UAAM,CAAC,GAAG,GAAG,CAAC,IAAI,UAAU,WAAW;AACvC,WAAO,EAAE,GAAG,GAAG,EAAE;AAAA,EACnB;AAIA,MAAI,eAAe,MAAM,eAAe,KAAK;AAC3C,UAAM,OAAO,cAAc;AAC3B,UAAM,MAAO,OAAO,KAAM;AAC1B,UAAM,YAAY,KAAK,MAAM,OAAO,EAAE,IAAI,KAAK;AAG/C,UAAM,KAAK,IAAI,KAAK,IAAI,IAAI,YAAY,MAAM,CAAC,KAAK;AACpD,UAAM,IAAI,KAAK,IAAI,KAAK,IAAM,MAAM,KAAM,IAAK,CAAC;AAChD,UAAM,IAAI,YAAY,IAAI;AAE1B,QAAI,IAAI;AACR,QAAI,IAAI;AACR,QAAI,IAAI;AAER,QAAI,MAAM,IAAI;AACZ,UAAI;AACJ,UAAI;AAAA,IACN,WAAW,MAAM,KAAK;AACpB,UAAI;AACJ,UAAI;AAAA,IACN,WAAW,MAAM,KAAK;AACpB,UAAI;AACJ,UAAI;AAAA,IACN,WAAW,MAAM,KAAK;AACpB,UAAI;AACJ,UAAI;AAAA,IACN,WAAW,MAAM,KAAK;AACpB,UAAI;AACJ,UAAI;AAAA,IACN,OAAO;AACL,UAAI;AACJ,UAAI;AAAA,IACN;AAEA,WAAO;AAAA,MACL,GAAG,KAAK,OAAO,IAAI,KAAK,IAAI;AAAA,MAC5B,GAAG,KAAK,OAAO,IAAI,KAAK,IAAI;AAAA,MAC5B,GAAG,KAAK,OAAO,IAAI,KAAK,IAAI;AAAA,IAC9B;AAAA,EACF;AAGA,MAAI,eAAe,OAAO,eAAe,KAAK;AAC5C,UAAM,OAAO,KAAK,OAAQ,cAAc,OAAO,IAAK,GAAG;AACvD,WAAO,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK;AAAA,EACrC;AAGA,SAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAC5B;AAKO,SAAS,cAAc,KAAkD;AAC9E,SAAO,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC;AACvC;AAKO,SAAS,cAAc,aAAyC;AACrE,MAAI,gBAAgB,QAAW;AAC7B,WAAO;AAAA,EACT;AACA,QAAM,MAAM,cAAc,WAAW;AACrC,SAAO,cAAc,GAAG;AAC1B;",
  "names": []
}
