{"version":3,"sources":["../../src/encode/tga.ts"],"names":["encodeTga"],"mappings":";;;;;AAIO,IAAM,IAAA,GAAmB;AAAA,EAC9B,GAAA,EAAK,KAAA;AAAA,EACL,SAAS,EAAC;AAAA,EACV,KAAA,EAAO,KAAA;AAAA,EACP,IAAA,EAAM,aAAA;AAAA,EACN,GAAA,EAAK,KAAA;AAAA,EACL,mBAAA,EAAqB,KAAA;AAAA,EACrB,eAAA,EAAiB,MAAA;AAAA,EACjB,cAAA,EAAgB,IAAA;AAAA,EAChB,YAAA,EAAc,IAAA;AAAA,EACd,WAAA,EAAa,mCAAA;AAAA,EACb,wBAAA,EAA0B,KAAA;AAAA,EAC1B,oBAAA,EAAsB;AACxB;AAMA,eAAsB,MAAA,CACpB,QACA,QAAA,EACe;AACf,EAAA,MAAM,IAAI,MAAA,CAAO,KAAA;AACjB,EAAA,MAAM,IAAI,MAAA,CAAO,MAAA;AAEjB,EAAA,MAAM,GAAA,GAAM,MAAA,CAAO,UAAA,CAAW,IAAI,CAAA;AAIlC,EAAA,IAAI,CAAC,GAAA,EAAK,MAAM,IAAI,MAAM,2CAA2C,CAAA;AAErE,EAAA,MAAM,YAAY,GAAA,CAAI,YAAA,CAAa,CAAA,EAAG,CAAA,EAAG,GAAG,CAAC,CAAA;AAG7C,EAAA,MAAM,IAAA,GAAO,IAAI,UAAA,CAAW,SAAA,CAAU,IAAA,CAAK,MAAA,EAAQ,SAAA,CAAU,IAAA,CAAK,UAAA,EAAY,SAAA,CAAU,IAAA,CAAK,UAAU,CAAA;AAEvG,EAAA,MAAM,MAAA,GAAS,MAAMA,kBAAA,CAAU,EAAE,IAAA,EAAM,MAAM,KAAA,EAAO,CAAA,EAAG,MAAA,EAAQ,CAAA,EAAG,CAAA;AAElE,EAAA,OAAO,IAAI,IAAA,CAAK,CAAC,MAAA,CAAO,IAAA,CAAK,MAAqB,CAAA,EAAG,EAAE,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,CAAA;AAC1E","file":"tga.cjs","sourcesContent":["import type { FormatMeta, EncodeOptions } from '../types.js';\n\nimport { encodeTga } from '@lunapaint/tga-codec';\n\nexport const meta: FormatMeta = {\n  key: 'tga',\n  aliases: [],\n  label: 'TGA',\n  mime: 'image/x-tga',\n  ext: 'tga',\n  supportsCompression: false,\n  compressionType: 'none',\n  defaultQuality: null,\n  qualityRange: null,\n  qualityHint: 'TGA uses built-in RLE compression',\n  requiresAlphaCompositing: false,\n  supportsTransparency: true,\n};\n\n/**\n * Encode a Canvas to TGA using @lunapaint/tga-codec.\n * Produces 32-bit RGBA TGA.\n */\nexport async function encode(\n  canvas: HTMLCanvasElement | OffscreenCanvas,\n  _options?: EncodeOptions,\n): Promise<Blob> {\n  const w = canvas.width;\n  const h = canvas.height;\n\n  const ctx = canvas.getContext('2d') as\n    | CanvasRenderingContext2D\n    | OffscreenCanvasRenderingContext2D;\n\n  if (!ctx) throw new Error('Failed to get 2D context for TGA encoding');\n\n  const imageData = ctx.getImageData(0, 0, w, h);\n\n  // tga-codec expects { data: Uint8Array, width, height }\n  const rgba = new Uint8Array(imageData.data.buffer, imageData.data.byteOffset, imageData.data.byteLength);\n\n  const result = await encodeTga({ data: rgba, width: w, height: h });\n\n  return new Blob([result.data.buffer as ArrayBuffer], { type: meta.mime });\n}\n"]}