{"version":3,"file":"loadKTX2onWorker.mjs","sources":["../../../../src/compressed-textures/ktx2/worker/loadKTX2onWorker.ts"],"sourcesContent":["import KTXWorker from 'worker:./ktx.worker.ts';\nimport { ktxTranscoderUrls } from '../utils/setKTXTranscoderPath';\n\nimport type { TEXTURE_FORMATS } from '../../../rendering/renderers/shared/texture/const';\nimport type { TextureSourceOptions } from '../../../rendering/renderers/shared/texture/sources/TextureSource';\n\nlet ktxWorker: Worker;\nconst urlHash: Record void> = {};\n\nfunction getKTX2Worker(supportedTextures: TEXTURE_FORMATS[]): Worker\n{\n if (!ktxWorker)\n {\n ktxWorker = new KTXWorker().worker;\n\n ktxWorker.onmessage = (messageEvent) =>\n {\n const { success, url, textureOptions } = messageEvent.data;\n\n if (!success)\n {\n console.warn('Failed to load KTX texture', url);\n }\n\n urlHash[url](textureOptions);\n };\n\n ktxWorker.postMessage({\n type: 'init',\n jsUrl: ktxTranscoderUrls.jsUrl,\n wasmUrl: ktxTranscoderUrls.wasmUrl,\n supportedTextures\n });\n }\n\n return ktxWorker;\n}\n\n/**\n * @param url\n * @param supportedTextures\n * @internal\n */\nexport function loadKTX2onWorker(\n url: string,\n supportedTextures: TEXTURE_FORMATS[]\n): Promise\n{\n const ktxWorker = getKTX2Worker(supportedTextures);\n\n return new Promise((resolve) =>\n {\n urlHash[url] = resolve;\n\n ktxWorker.postMessage({ type: 'load', url });\n });\n}\n"],"names":["KTXWorker","ktxWorker"],"mappings":";;;;AAMA,IAAI,SAAA,CAAA;AACJ,MAAM,UAAgD,EAAC,CAAA;AAEvD,SAAS,cAAc,iBACvB,EAAA;AACI,EAAA,IAAI,CAAC,SACL,EAAA;AACI,IAAY,SAAA,GAAA,IAAIA,gBAAY,CAAA,MAAA,CAAA;AAE5B,IAAU,SAAA,CAAA,SAAA,GAAY,CAAC,YACvB,KAAA;AACI,MAAA,MAAM,EAAE,OAAA,EAAS,GAAK,EAAA,cAAA,KAAmB,YAAa,CAAA,IAAA,CAAA;AAEtD,MAAA,IAAI,CAAC,OACL,EAAA;AACI,QAAQ,OAAA,CAAA,IAAA,CAAK,8BAA8B,GAAG,CAAA,CAAA;AAAA,OAClD;AAEA,MAAQ,OAAA,CAAA,GAAG,EAAE,cAAc,CAAA,CAAA;AAAA,KAC/B,CAAA;AAEA,IAAA,SAAA,CAAU,WAAY,CAAA;AAAA,MAClB,IAAM,EAAA,MAAA;AAAA,MACN,OAAO,iBAAkB,CAAA,KAAA;AAAA,MACzB,SAAS,iBAAkB,CAAA,OAAA;AAAA,MAC3B,iBAAA;AAAA,KACH,CAAA,CAAA;AAAA,GACL;AAEA,EAAO,OAAA,SAAA,CAAA;AACX,CAAA;AAOgB,SAAA,gBAAA,CACZ,KACA,iBAEJ,EAAA;AACI,EAAMC,MAAAA,UAAAA,GAAY,cAAc,iBAAiB,CAAA,CAAA;AAEjD,EAAO,OAAA,IAAI,OAAQ,CAAA,CAAC,OACpB,KAAA;AACI,IAAA,OAAA,CAAQ,GAAG,CAAI,GAAA,OAAA,CAAA;AAEf,IAAAA,WAAU,WAAY,CAAA,EAAE,IAAM,EAAA,MAAA,EAAQ,KAAK,CAAA,CAAA;AAAA,GAC9C,CAAA,CAAA;AACL;;;;"}