{"version":3,"sources":["../../src/encode/psd.ts"],"names":["writePsd"],"mappings":";;;;;AAIO,IAAM,IAAA,GAAmB;AAAA,EAC9B,GAAA,EAAK,KAAA;AAAA,EACL,SAAS,EAAC;AAAA,EACV,KAAA,EAAO,KAAA;AAAA,EACP,IAAA,EAAM,iBAAA;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,IAAA;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;AAE7C,EAAA,MAAM,SAAA,GAAY;AAAA,IAChB,MAAM,SAAA,CAAU,IAAA;AAAA,IAChB,KAAA,EAAO,CAAA;AAAA,IACP,MAAA,EAAQ;AAAA,GACV;AAEA,EAAA,MAAM,GAAA,GAAM;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,MAAA,EAAQ,CAAA;AAAA,IACR,SAAA,EAAW,SAAA;AAAA,IACX,QAAA,EAAU;AAAA,MACR;AAAA,QACE,IAAA,EAAM,SAAA;AAAA,QACN,SAAA,EAAW,SAAA;AAAA,QACX,GAAA,EAAK,CAAA;AAAA,QACL,IAAA,EAAM;AAAA;AACR;AACF,GACF;AAEA,EAAA,MAAM,WAAA,GAAcA,eAAS,GAAG,CAAA;AAEhC,EAAA,OAAO,IAAI,KAAK,CAAC,WAAW,GAAG,EAAE,IAAA,EAAM,IAAA,CAAK,IAAA,EAAM,CAAA;AACpD","file":"psd.cjs","sourcesContent":["import type { FormatMeta, EncodeOptions } from '../types.js';\n\nimport { writePsd } from 'ag-psd';\n\nexport const meta: FormatMeta = {\n  key: 'psd',\n  aliases: [],\n  label: 'PSD',\n  mime: 'application/psd',\n  ext: 'psd',\n  supportsCompression: false,\n  compressionType: 'none',\n  defaultQuality: null,\n  qualityRange: null,\n  qualityHint: 'PSD uses built-in RLE compression',\n  requiresAlphaCompositing: true,\n  supportsTransparency: false,\n};\n\n/**\n * Encode a Canvas to PSD using ag-psd.\n * Produces a single-layer PSD with flattened composite image.\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 PSD encoding');\n\n  const imageData = ctx.getImageData(0, 0, w, h);\n\n  const pixelData = {\n    data: imageData.data,\n    width: w,\n    height: h,\n  };\n\n  const psd = {\n    width: w,\n    height: h,\n    imageData: pixelData,\n    children: [\n      {\n        name: 'Layer 1',\n        imageData: pixelData,\n        top: 0,\n        left: 0,\n      },\n    ],\n  };\n\n  const arrayBuffer = writePsd(psd);\n\n  return new Blob([arrayBuffer], { type: meta.mime });\n}\n"]}