@loaders.gl/textures 4.0.0-alpha.17 → 4.0.0-alpha.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/basis-worker-node.js +70 -71
- package/dist/basis-worker.js +46 -30
- package/dist/compressed-texture-worker.js +46 -30
- package/dist/crunch-worker.js +33 -17
- package/dist/dist.min.js +74 -37
- package/dist/es5/index.js +14 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/ktx2-basis-writer.js +4 -2
- package/dist/es5/ktx2-basis-writer.js.map +1 -1
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +6 -5
- package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/es5/lib/parsers/basis-module-loader.js +26 -21
- package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js +6 -1
- package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/es5/lib/parsers/parse-basis.js +7 -7
- package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
- package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
- package/dist/es5/lib/utils/version.js +1 -1
- package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +1 -1
- package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ktx2-basis-writer.js +6 -4
- package/dist/esm/ktx2-basis-writer.js.map +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/esm/lib/parsers/basis-module-loader.js +13 -10
- package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/crunch-module-loader.js +4 -1
- package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/esm/lib/parsers/parse-basis.js +3 -3
- package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
- package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
- package/dist/esm/lib/utils/version.js +1 -1
- package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +1 -1
- package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/ktx2-basis-writer-worker-node.js +73 -67
- package/dist/ktx2-basis-writer-worker.js +49 -26
- package/dist/ktx2-basis-writer.d.ts +8 -6
- package/dist/ktx2-basis-writer.d.ts.map +1 -1
- package/dist/ktx2-basis-writer.js +6 -4
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +1 -1
- package/dist/lib/parsers/basis-module-loader.d.ts +11 -1
- package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/basis-module-loader.js +21 -17
- package/dist/lib/parsers/crunch-module-loader.d.ts +4 -0
- package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/crunch-module-loader.js +6 -2
- package/dist/lib/parsers/parse-basis.js +2 -2
- package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
- package/dist/lib/texture-api/deep-load.js +0 -1
- package/dist/npy-worker.js +1 -1
- package/package.json +7 -7
- package/src/index.ts +4 -0
- package/src/ktx2-basis-writer.ts +14 -10
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +6 -1
- package/src/lib/parsers/basis-module-loader.ts +19 -16
- package/src/lib/parsers/crunch-module-loader.ts +6 -1
- package/src/lib/parsers/parse-basis.ts +3 -3
- package/src/lib/texture-api/deep-load.ts +0 -1
- package/src/workers/ktx2-basis-writer-worker-node.ts +2 -2
- package/src/workers/ktx2-basis-writer-worker.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basis-module-loader.js","names":["_workerUtils","require","VERSION","BASIS_CDN_ENCODER_WASM","concat","BASIS_CDN_ENCODER_JS","loadBasisTranscoderPromise","loadBasisTrascoderModule","_x","_loadBasisTrascoderModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","basis","abrupt","loadBasisTrascoder","sent","stop","_x2","_loadBasisTrascoder","_callee2","BASIS","wasmBinary","_yield$Promise$all","_yield$Promise$all2","_callee2$","_context2","t0","Promise","loadLibrary","t1","t2","t3","all","call","_slicedToArray2","globalThis","initializeBasisTrascoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","_x3","_loadBasisEncoderModule","_callee3","_callee3$","_context3","basisEncoder","loadBasisEncoder","_x4","_loadBasisEncoder","_callee4","BASIS_ENCODER","_yield$Promise$all3","_yield$Promise$all4","_callee4$","_context4","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\n// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;\nconst BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTrascoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTrascoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary('basis_transcoder.js', 'textures', options),\n await loadLibrary('basis_transcoder.wasm', 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTrascoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTrascoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options),\n await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":";;;;;;;;;;;AAKA,IAAAA,YAAA,GAAAC,OAAA;AAHA,IAAMC,OAAO,GAAG,uBAAkB,KAAK,WAAW,sBAAiB,MAAM;AAKzE,IAAMC,sBAAsB,6CAAAC,MAAA,CAA6CF,OAAO,kCAA+B;AAC/G,IAAMG,oBAAoB,6CAAAD,MAAA,CAA6CF,OAAO,gCAA6B;AAE3G,IAAII,0BAA0B;AAAC,SAOTC,wBAAwBA,CAAAC,EAAA;EAAA,OAAAC,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,0BAAA;EAAAA,yBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAvC,SAAAC,QAAwCC,OAAO;IAAA,IAAAC,OAAA;IAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAC9CL,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;UAAA,KACjCA,OAAO,CAACM,KAAK;YAAAH,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAI,MAAA,WACRP,OAAO,CAACM,KAAK;QAAA;UAGtBlB,0BAA0B,GAAGA,0BAA0B,IAAIoB,kBAAkB,CAACT,OAAO,CAAC;UAACI,QAAA,CAAAE,IAAA;UAAA,OAC1EjB,0BAA0B;QAAA;UAAA,OAAAe,QAAA,CAAAI,MAAA,WAAAJ,QAAA,CAAAM,IAAA;QAAA;QAAA;UAAA,OAAAN,QAAA,CAAAO,IAAA;MAAA;IAAA,GAAAZ,OAAA;EAAA,CACxC;EAAA,OAAAP,yBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAOce,kBAAkBA,CAAAG,GAAA;EAAA,OAAAC,mBAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAmB,oBAAA;EAAAA,mBAAA,OAAAlB,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAjC,SAAAgB,SAAkCd,OAAO;IAAA,IAAAe,KAAA,EAAAC,UAAA,EAAAC,kBAAA,EAAAC,mBAAA;IAAA,OAAArB,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAiB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAf,IAAA,GAAAe,SAAA,CAAAd,IAAA;QAAA;UACnCS,KAAK,GAAG,IAAI;UACZC,UAAU,GAAG,IAAI;UAAAI,SAAA,CAAAC,EAAA,GAEOC,OAAO;UAAAF,SAAA,CAAAd,IAAA;UAAA,OAC3B,IAAAiB,wBAAW,EAAC,qBAAqB,EAAE,UAAU,EAAEvB,OAAO,CAAC;QAAA;UAAAoB,SAAA,CAAAI,EAAA,GAAAJ,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAd,IAAA;UAAA,OACvD,IAAAiB,wBAAW,EAAC,uBAAuB,EAAE,UAAU,EAAEvB,OAAO,CAAC;QAAA;UAAAoB,SAAA,CAAAK,EAAA,GAAAL,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAM,EAAA,IAAAN,SAAA,CAAAI,EAAA,EAAAJ,SAAA,CAAAK,EAAA;UAAAL,SAAA,CAAAd,IAAA;UAAA,OAAAc,SAAA,CAAAC,EAAA,CAF7BM,GAAG,CAAAC,IAAA,CAAAR,SAAA,CAAAC,EAAA,EAAAD,SAAA,CAAAM,EAAA;QAAA;UAAAT,kBAAA,GAAAG,SAAA,CAAAV,IAAA;UAAAQ,mBAAA,OAAAW,eAAA,CAAAjC,OAAA,EAAAqB,kBAAA;UAAtCF,KAAK,GAAAG,mBAAA;UAAEF,UAAU,GAAAE,mBAAA;UAOlBH,KAAK,GAAGA,KAAK,IAAIe,UAAU,CAACf,KAAK;UAACK,SAAA,CAAAd,IAAA;UAAA,OACrByB,8BAA8B,CAAChB,KAAK,EAAEC,UAAU,CAAC;QAAA;UAAA,OAAAI,SAAA,CAAAZ,MAAA,WAAAY,SAAA,CAAAV,IAAA;QAAA;QAAA;UAAA,OAAAU,SAAA,CAAAT,IAAA;MAAA;IAAA,GAAAG,QAAA;EAAA,CAC/D;EAAA,OAAAD,mBAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA;AAQD,SAASqC,8BAA8BA,CAACC,WAAW,EAAEhB,UAAU,EAAE;EAC/D,IAAMhB,OAAsB,GAAG,CAAC,CAAC;EAEjC,IAAIgB,UAAU,EAAE;IACdhB,OAAO,CAACgB,UAAU,GAAGA,UAAU;EACjC;EAEA,OAAO,IAAIM,OAAO,CAAC,UAACW,OAAO,EAAK;IAE9BD,WAAW,CAAChC,OAAO,CAAC,CAACkC,IAAI,CAAC,UAACC,MAAM,EAAK;MACpC,IAAOC,SAAS,GAAqBD,MAAM,CAApCC,SAAS;QAAEC,eAAe,GAAIF,MAAM,CAAzBE,eAAe;MACjCA,eAAe,CAAC,CAAC;MACjBJ,OAAO,CAAC;QAACG,SAAS,EAATA;MAAS,CAAC,CAAC;IACtB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,IAAIE,uBAAuB;AAAC,SAONC,sBAAsBA,CAAAC,GAAA;EAAA,OAAAC,uBAAA,CAAAhD,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAA+C,wBAAA;EAAAA,uBAAA,OAAA9C,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAArC,SAAA4C,SAAsC1C,OAAO;IAAA,IAAAC,OAAA;IAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAyC,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAvC,IAAA,GAAAuC,SAAA,CAAAtC,IAAA;QAAA;UAC5CL,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;UAAA,KACjCA,OAAO,CAAC4C,YAAY;YAAAD,SAAA,CAAAtC,IAAA;YAAA;UAAA;UAAA,OAAAsC,SAAA,CAAApC,MAAA,WACfP,OAAO,CAAC4C,YAAY;QAAA;UAG7BP,uBAAuB,GAAGA,uBAAuB,IAAIQ,gBAAgB,CAAC9C,OAAO,CAAC;UAAC4C,SAAA,CAAAtC,IAAA;UAAA,OAClEgC,uBAAuB;QAAA;UAAA,OAAAM,SAAA,CAAApC,MAAA,WAAAoC,SAAA,CAAAlC,IAAA;QAAA;QAAA;UAAA,OAAAkC,SAAA,CAAAjC,IAAA;MAAA;IAAA,GAAA+B,QAAA;EAAA,CACrC;EAAA,OAAAD,uBAAA,CAAAhD,KAAA,OAAAC,SAAA;AAAA;AAAA,SAOcoD,gBAAgBA,CAAAC,GAAA;EAAA,OAAAC,iBAAA,CAAAvD,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAsD,kBAAA;EAAAA,iBAAA,OAAArD,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA/B,SAAAmD,SAAgCjD,OAAO;IAAA,IAAAkD,aAAA,EAAAlC,UAAA,EAAAmC,mBAAA,EAAAC,mBAAA;IAAA,OAAAvD,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAmD,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAjD,IAAA,GAAAiD,SAAA,CAAAhD,IAAA;QAAA;UACjC4C,aAAa,GAAG,IAAI;UACpBlC,UAAU,GAAG,IAAI;UAAAsC,SAAA,CAAAjC,EAAA,GAEeC,OAAO;UAAAgC,SAAA,CAAAhD,IAAA;UAAA,OACnC,IAAAiB,wBAAW,EAACnC,oBAAoB,EAAE,UAAU,EAAEY,OAAO,CAAC;QAAA;UAAAsD,SAAA,CAAA9B,EAAA,GAAA8B,SAAA,CAAA5C,IAAA;UAAA4C,SAAA,CAAAhD,IAAA;UAAA,OACtD,IAAAiB,wBAAW,EAACrC,sBAAsB,EAAE,UAAU,EAAEc,OAAO,CAAC;QAAA;UAAAsD,SAAA,CAAA7B,EAAA,GAAA6B,SAAA,CAAA5C,IAAA;UAAA4C,SAAA,CAAA5B,EAAA,IAAA4B,SAAA,CAAA9B,EAAA,EAAA8B,SAAA,CAAA7B,EAAA;UAAA6B,SAAA,CAAAhD,IAAA;UAAA,OAAAgD,SAAA,CAAAjC,EAAA,CAFpBM,GAAG,CAAAC,IAAA,CAAA0B,SAAA,CAAAjC,EAAA,EAAAiC,SAAA,CAAA5B,EAAA;QAAA;UAAAyB,mBAAA,GAAAG,SAAA,CAAA5C,IAAA;UAAA0C,mBAAA,OAAAvB,eAAA,CAAAjC,OAAA,EAAAuD,mBAAA;UAA9CD,aAAa,GAAAE,mBAAA;UAAEpC,UAAU,GAAAoC,mBAAA;UAO1BF,aAAa,GAAGA,aAAa,IAAIpB,UAAU,CAACf,KAAK;UAACuC,SAAA,CAAAhD,IAAA;UAAA,OACrCiD,4BAA4B,CAACL,aAAa,EAAElC,UAAU,CAAC;QAAA;UAAA,OAAAsC,SAAA,CAAA9C,MAAA,WAAA8C,SAAA,CAAA5C,IAAA;QAAA;QAAA;UAAA,OAAA4C,SAAA,CAAA3C,IAAA;MAAA;IAAA,GAAAsC,QAAA;EAAA,CACrE;EAAA,OAAAD,iBAAA,CAAAvD,KAAA,OAAAC,SAAA;AAAA;AAQD,SAAS6D,4BAA4BA,CAACC,kBAAkB,EAAExC,UAAU,EAAE;EACpE,IAAMhB,OAAsB,GAAG,CAAC,CAAC;EAEjC,IAAIgB,UAAU,EAAE;IACdhB,OAAO,CAACgB,UAAU,GAAGA,UAAU;EACjC;EAEA,OAAO,IAAIM,OAAO,CAAC,UAACW,OAAO,EAAK;IAE9BuB,kBAAkB,CAACxD,OAAO,CAAC,CAACkC,IAAI,CAAC,UAACC,MAAM,EAAK;MAC3C,IAAOC,SAAS,GAA6CD,MAAM,CAA5DC,SAAS;QAAEqB,QAAQ,GAAmCtB,MAAM,CAAjDsB,QAAQ;QAAEpB,eAAe,GAAkBF,MAAM,CAAvCE,eAAe;QAAEqB,YAAY,GAAIvB,MAAM,CAAtBuB,YAAY;MACzDrB,eAAe,CAAC,CAAC;MACjBJ,OAAO,CAAC;QAACG,SAAS,EAATA,SAAS;QAAEqB,QAAQ,EAARA,QAAQ;QAAEC,YAAY,EAAZA;MAAY,CAAC,CAAC;IAC9C,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ"}
|
|
1
|
+
{"version":3,"file":"basis-module-loader.js","names":["_workerUtils","require","BASIS_EXTERNAL_LIBRARIES","TRANSCODER","TRANSCODER_WASM","ENCODER","ENCODER_WASM","exports","loadBasisTranscoderPromise","loadBasisTranscoderModule","_x","_loadBasisTranscoderModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","basis","abrupt","loadBasisTranscoder","sent","stop","_x2","_loadBasisTranscoder","_callee2","BASIS","wasmBinary","_yield$Promise$all","_yield$Promise$all2","_callee2$","_context2","t0","Promise","loadLibrary","t1","t2","t3","all","call","_slicedToArray2","globalThis","initializeBasisTranscoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","_x3","_loadBasisEncoderModule","_callee3","_callee3$","_context3","basisEncoder","loadBasisEncoder","_x4","_loadBasisEncoder","_callee4","BASIS_ENCODER","_yield$Promise$all3","_yield$Promise$all4","_callee4$","_context4","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["import {loadLibrary} from '@loaders.gl/worker-utils';\n\nexport const BASIS_EXTERNAL_LIBRARIES = {\n /** Basis transcoder, javascript wrapper part */\n TRANSCODER: 'basis_transcoder.js',\n /** Basis transcoder, compiled web assembly part */\n TRANSCODER_WASM: 'basis_transcoder.wasm',\n /** Basis encoder, javascript wrapper part */\n ENCODER: 'basis_encoder.js',\n /** Basis encoder, compiled web assembly part */\n ENCODER_WASM: 'basis_encoder.wasm'\n};\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTranscoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTranscoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, 'textures', options),\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTranscoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTranscoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, 'textures', options),\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":"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"}
|
|
@@ -4,10 +4,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
exports.CRUNCH_EXTERNAL_LIBRARIES = void 0;
|
|
7
8
|
exports.loadCrunchModule = loadCrunchModule;
|
|
8
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
11
|
var _workerUtils = require("@loaders.gl/worker-utils");
|
|
12
|
+
var CRUNCH_EXTERNAL_LIBRARIES = {
|
|
13
|
+
DECODER: 'crunch.js'
|
|
14
|
+
};
|
|
15
|
+
exports.CRUNCH_EXTERNAL_LIBRARIES = CRUNCH_EXTERNAL_LIBRARIES;
|
|
11
16
|
function loadCrunchModule(_x) {
|
|
12
17
|
return _loadCrunchModule.apply(this, arguments);
|
|
13
18
|
}
|
|
@@ -50,7 +55,7 @@ function _loadCrunch() {
|
|
|
50
55
|
return _context2.abrupt("return", crunchModule);
|
|
51
56
|
case 2:
|
|
52
57
|
_context2.next = 4;
|
|
53
|
-
return (0, _workerUtils.loadLibrary)(
|
|
58
|
+
return (0, _workerUtils.loadLibrary)(CRUNCH_EXTERNAL_LIBRARIES.DECODER, 'textures', options);
|
|
54
59
|
case 4:
|
|
55
60
|
loadCrunchDecoder = _context2.sent;
|
|
56
61
|
loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crunch-module-loader.js","names":["_workerUtils","require","loadCrunchModule","_x","_loadCrunchModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","crunch","abrupt","loadCrunch","stop","crunchModule","_x2","_loadCrunch","_callee2","loadCrunchDecoder","_callee2$","_context2","loadLibrary","sent","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary(
|
|
1
|
+
{"version":3,"file":"crunch-module-loader.js","names":["_workerUtils","require","CRUNCH_EXTERNAL_LIBRARIES","DECODER","exports","loadCrunchModule","_x","_loadCrunchModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","crunch","abrupt","loadCrunch","stop","crunchModule","_x2","_loadCrunch","_callee2","loadCrunchDecoder","_callee2$","_context2","loadLibrary","sent","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nexport const CRUNCH_EXTERNAL_LIBRARIES = {\n /** Crunch decoder library. It is used as dynamically imported script */\n DECODER: 'crunch.js'\n};\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary(CRUNCH_EXTERNAL_LIBRARIES.DECODER, 'textures', options);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;\n crunchModule = loadCrunchDecoder();\n return crunchModule;\n}\n"],"mappings":";;;;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEO,IAAMC,yBAAyB,GAAG;EAEvCC,OAAO,EAAE;AACX,CAAC;AAACC,OAAA,CAAAF,yBAAA,GAAAA,yBAAA;AAAA,SAOoBG,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,kBAAA;EAAAA,iBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA/B,SAAAC,QAAgCC,OAAO;IAAA,IAAAC,OAAA;IAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACtCL,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;UAAA,KACjCA,OAAO,CAACM,MAAM;YAAAH,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAI,MAAA,WACTP,OAAO,CAACM,MAAM;QAAA;UAAA,OAAAH,QAAA,CAAAI,MAAA,WAGhBC,UAAU,CAACT,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAI,QAAA,CAAAM,IAAA;MAAA;IAAA,GAAAX,OAAA;EAAA,CAC3B;EAAA,OAAAP,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,IAAIiB,YAAY;AAAC,SAOFF,UAAUA,CAAAG,GAAA;EAAA,OAAAC,WAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAmB,YAAA;EAAAA,WAAA,OAAAlB,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAzB,SAAAgB,SAA0Bd,OAAO;IAAA,IAAAe,iBAAA;IAAA,OAAAlB,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAc,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;QAAA;UAAA,KAC3BK,YAAY;YAAAM,SAAA,CAAAX,IAAA;YAAA;UAAA;UAAA,OAAAW,SAAA,CAAAT,MAAA,WACPG,YAAY;QAAA;UAAAM,SAAA,CAAAX,IAAA;UAAA,OAGS,IAAAY,wBAAW,EAAC/B,yBAAyB,CAACC,OAAO,EAAE,UAAU,EAAEY,OAAO,CAAC;QAAA;UAA7Fe,iBAAiB,GAAAE,SAAA,CAAAE,IAAA;UAIrBJ,iBAAiB,GAAGA,iBAAiB,IAAIK,UAAU,CAACC,iBAAiB;UACrEV,YAAY,GAAGI,iBAAiB,CAAC,CAAC;UAAC,OAAAE,SAAA,CAAAT,MAAA,WAC5BG,YAAY;QAAA;QAAA;UAAA,OAAAM,SAAA,CAAAP,IAAA;MAAA;IAAA,GAAAI,QAAA;EAAA,CACpB;EAAA,OAAAD,WAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA"}
|
|
@@ -94,7 +94,7 @@ function parseBasis(_x, _x2) {
|
|
|
94
94
|
}
|
|
95
95
|
function _parseBasis() {
|
|
96
96
|
_parseBasis = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, options) {
|
|
97
|
-
var fileConstructors, _yield$
|
|
97
|
+
var fileConstructors, _yield$loadBasisTrans, BasisFile, _fileConstructors, _yield$loadBasisTrans2, _BasisFile;
|
|
98
98
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
99
99
|
while (1) switch (_context.prev = _context.next) {
|
|
100
100
|
case 0:
|
|
@@ -113,10 +113,10 @@ function _parseBasis() {
|
|
|
113
113
|
return _context.abrupt("return", parseKTX2File(fileConstructors.KTX2File, data, options));
|
|
114
114
|
case 6:
|
|
115
115
|
_context.next = 8;
|
|
116
|
-
return (0, _basisModuleLoader.
|
|
116
|
+
return (0, _basisModuleLoader.loadBasisTranscoderModule)(options);
|
|
117
117
|
case 8:
|
|
118
|
-
_yield$
|
|
119
|
-
BasisFile = _yield$
|
|
118
|
+
_yield$loadBasisTrans = _context.sent;
|
|
119
|
+
BasisFile = _yield$loadBasisTrans.BasisFile;
|
|
120
120
|
return _context.abrupt("return", parseBasisFile(BasisFile, data, options));
|
|
121
121
|
case 11:
|
|
122
122
|
_context.t0 = options.basis.module;
|
|
@@ -136,10 +136,10 @@ function _parseBasis() {
|
|
|
136
136
|
return _context.abrupt("return", parseBasisFile(_fileConstructors.BasisFile, data, options));
|
|
137
137
|
case 22:
|
|
138
138
|
_context.next = 24;
|
|
139
|
-
return (0, _basisModuleLoader.
|
|
139
|
+
return (0, _basisModuleLoader.loadBasisTranscoderModule)(options);
|
|
140
140
|
case 24:
|
|
141
|
-
_yield$
|
|
142
|
-
_BasisFile = _yield$
|
|
141
|
+
_yield$loadBasisTrans2 = _context.sent;
|
|
142
|
+
_BasisFile = _yield$loadBasisTrans2.BasisFile;
|
|
143
143
|
return _context.abrupt("return", parseBasisFile(_BasisFile, data, options));
|
|
144
144
|
case 27:
|
|
145
145
|
case "end":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-basis.js","names":["_basisModuleLoader","require","_glExtensions","_textureFormats","_parseKtx","OutputFormat","etc1","basisFormat","compressed","format","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_ETC1_WEBGL","etc2","bc1","COMPRESSED_RGB_S3TC_DXT1_EXT","bc3","COMPRESSED_RGBA_S3TC_DXT5_EXT","bc4","bc5","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_ASTC_4X4_KHR","rgba32","rgb565","bgr565","rgba4444","parseBasis","_x","_x2","_parseBasis","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","fileConstructors","_yield$loadBasisTrasc","BasisFile","_fileConstructors","_yield$loadBasisTrasc2","_BasisFile","wrap","_callee$","_context","prev","next","basis","containerFormat","isKTX","loadBasisEncoderModule","sent","abrupt","parseKTX2File","KTX2File","loadBasisTrascoderModule","parseBasisFile","t0","module","t1","stop","basisFile","Uint8Array","startTranscoding","Error","imageCount","getNumImages","images","imageIndex","levelsCount","getNumLevels","levels","levelIndex","push","transcodeImage","close","delete","width","getImageWidth","height","getImageHeight","hasAlpha","getHasAlpha","_getBasisOptions","getBasisOptions","decodedSize","getImageTranscodedSizeInBytes","decodedData","ktx2File","getLevels","transcodeKTX2Image","_ktx2File$getImageLev","getImageLevelInfo","alphaFlag","_getBasisOptions2","levelSize","selectSupportedBasisFormat","_typeof2","alpha","noAlpha","toLowerCase","supportedFormats","getSupportedGPUTextureFormats","has"],"sources":["../../../../src/lib/parsers/parse-basis.ts"],"sourcesContent":["/* eslint-disable indent */\nimport type {TextureLevel} from '@loaders.gl/schema';\nimport {loadBasisEncoderModule, loadBasisTrascoderModule} from './basis-module-loader';\nimport {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\nimport {getSupportedGPUTextureFormats} from '../utils/texture-formats';\nimport {isKTX} from './parse-ktx';\n\nexport type BasisFormat =\n | 'etc1'\n | 'etc2'\n | 'bc1'\n | 'bc3'\n | 'bc4'\n | 'bc5'\n | 'bc7-m6-opaque-only'\n | 'bc7-m5'\n | 'pvrtc1-4-rgb'\n | 'pvrtc1-4-rgba'\n | 'astc-4x4'\n | 'atc-rgb'\n | 'atc-rgba-interpolated-alpha'\n | 'rgba32'\n | 'rgb565'\n | 'bgr565'\n | 'rgba4444';\n\ntype BasisOutputOptions = {\n basisFormat: number;\n compressed: boolean;\n format?: number;\n};\n\nconst OutputFormat: Record<string, BasisOutputOptions> = {\n etc1: {\n basisFormat: 0,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL\n },\n etc2: {basisFormat: 1, compressed: true},\n bc1: {\n basisFormat: 2,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT\n },\n bc3: {\n basisFormat: 3,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT\n },\n bc4: {basisFormat: 4, compressed: true},\n bc5: {basisFormat: 5, compressed: true},\n 'bc7-m6-opaque-only': {basisFormat: 6, compressed: true},\n 'bc7-m5': {basisFormat: 7, compressed: true},\n 'pvrtc1-4-rgb': {\n basisFormat: 8,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG\n },\n 'pvrtc1-4-rgba': {\n basisFormat: 9,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG\n },\n 'astc-4x4': {\n basisFormat: 10,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR\n },\n 'atc-rgb': {basisFormat: 11, compressed: true},\n 'atc-rgba-interpolated-alpha': {basisFormat: 12, compressed: true},\n rgba32: {basisFormat: 13, compressed: false},\n rgb565: {basisFormat: 14, compressed: false},\n bgr565: {basisFormat: 15, compressed: false},\n rgba4444: {basisFormat: 16, compressed: false}\n};\n\n/**\n * parse data with a Binomial Basis_Universal module\n * @param data\n * @param options\n * @returns compressed texture data\n */\nexport default async function parseBasis(data: ArrayBuffer, options): Promise<TextureLevel[][]> {\n if (options.basis.containerFormat === 'auto') {\n if (isKTX(data)) {\n const fileConstructors = await loadBasisEncoderModule(options);\n return parseKTX2File(fileConstructors.KTX2File, data, options);\n }\n const {BasisFile} = await loadBasisTrascoderModule(options);\n return parseBasisFile(BasisFile, data, options);\n }\n switch (options.basis.module) {\n case 'encoder':\n const fileConstructors = await loadBasisEncoderModule(options);\n switch (options.basis.containerFormat) {\n case 'ktx2':\n return parseKTX2File(fileConstructors.KTX2File, data, options);\n case 'basis':\n default:\n return parseBasisFile(fileConstructors.BasisFile, data, options);\n }\n case 'transcoder':\n default:\n const {BasisFile} = await loadBasisTrascoderModule(options);\n return parseBasisFile(BasisFile, data, options);\n }\n}\n\n/**\n * Parse *.basis file data\n * @param BasisFile - initialized transcoder module\n * @param data\n * @param options\n * @returns compressed texture data\n */\nfunction parseBasisFile(BasisFile, data, options): TextureLevel[][] {\n const basisFile = new BasisFile(new Uint8Array(data));\n\n try {\n if (!basisFile.startTranscoding()) {\n throw new Error('Failed to start basis transcoding');\n }\n\n const imageCount = basisFile.getNumImages();\n const images: TextureLevel[][] = [];\n\n for (let imageIndex = 0; imageIndex < imageCount; imageIndex++) {\n const levelsCount = basisFile.getNumLevels(imageIndex);\n const levels: TextureLevel[] = [];\n\n for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {\n levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));\n }\n\n images.push(levels);\n }\n\n return images;\n } finally {\n basisFile.close();\n basisFile.delete();\n }\n}\n\n/**\n * Parse the particular level image of a basis file\n * @param basisFile\n * @param imageIndex\n * @param levelIndex\n * @param options\n * @returns compressed texture data\n */\nfunction transcodeImage(basisFile, imageIndex, levelIndex, options): TextureLevel {\n const width = basisFile.getImageWidth(imageIndex, levelIndex);\n const height = basisFile.getImageHeight(imageIndex, levelIndex);\n\n // See https://github.com/BinomialLLC/basis_universal/pull/83\n const hasAlpha = basisFile.getHasAlpha(/* imageIndex, levelIndex */);\n\n // Check options for output format etc\n const {compressed, format, basisFormat} = getBasisOptions(options, hasAlpha);\n\n const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);\n const decodedData = new Uint8Array(decodedSize);\n\n if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {\n throw new Error('failed to start Basis transcoding');\n }\n\n return {\n // standard loaders.gl image category payload\n width,\n height,\n data: decodedData,\n compressed,\n format,\n\n // Additional fields\n // Add levelSize field.\n hasAlpha\n };\n}\n\n/**\n * Parse *.ktx2 file data\n * @param KTX2File\n * @param data\n * @param options\n * @returns compressed texture data\n */\nfunction parseKTX2File(KTX2File, data: ArrayBuffer, options): TextureLevel[][] {\n const ktx2File = new KTX2File(new Uint8Array(data));\n\n try {\n if (!ktx2File.startTranscoding()) {\n throw new Error('failed to start KTX2 transcoding');\n }\n const levelsCount = ktx2File.getLevels();\n const levels: TextureLevel[] = [];\n\n for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {\n levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));\n break; // texture app can only show one level for some reason\n }\n\n return [levels];\n } finally {\n ktx2File.close();\n ktx2File.delete();\n }\n}\n\n/**\n * Parse the particular level image of a ktx2 file\n * @param ktx2File\n * @param levelIndex\n * @param options\n * @returns\n */\nfunction transcodeKTX2Image(ktx2File, levelIndex: number, options): TextureLevel {\n const {alphaFlag, height, width} = ktx2File.getImageLevelInfo(levelIndex, 0, 0);\n\n // Check options for output format etc\n const {compressed, format, basisFormat} = getBasisOptions(options, alphaFlag);\n\n const decodedSize = ktx2File.getImageTranscodedSizeInBytes(\n levelIndex,\n 0 /* layerIndex */,\n 0 /* faceIndex */,\n basisFormat\n );\n const decodedData = new Uint8Array(decodedSize);\n\n if (\n !ktx2File.transcodeImage(\n decodedData,\n levelIndex,\n 0 /* layerIndex */,\n 0 /* faceIndex */,\n basisFormat,\n 0,\n -1 /* channel0 */,\n -1 /* channel1 */\n )\n ) {\n throw new Error('Failed to transcode KTX2 image');\n }\n\n return {\n // standard loaders.gl image category payload\n width,\n height,\n data: decodedData,\n compressed,\n\n // Additional fields\n levelSize: decodedSize,\n hasAlpha: alphaFlag,\n format\n };\n}\n\n/**\n * Get BasisFormat by loader format option\n * @param options\n * @param hasAlpha\n * @returns BasisFormat data\n */\nfunction getBasisOptions(options, hasAlpha: boolean): BasisOutputOptions {\n let format = options && options.basis && options.basis.format;\n if (format === 'auto') {\n format = selectSupportedBasisFormat();\n }\n if (typeof format === 'object') {\n format = hasAlpha ? format.alpha : format.noAlpha;\n }\n format = format.toLowerCase();\n return OutputFormat[format];\n}\n\n/**\n * Select transcode format from the list of supported formats\n * @returns key for OutputFormat map\n */\nexport function selectSupportedBasisFormat():\n | BasisFormat\n | {\n alpha: BasisFormat;\n noAlpha: BasisFormat;\n } {\n const supportedFormats = getSupportedGPUTextureFormats();\n if (supportedFormats.has('astc')) {\n return 'astc-4x4';\n } else if (supportedFormats.has('dxt')) {\n return {\n alpha: 'bc3',\n noAlpha: 'bc1'\n };\n } else if (supportedFormats.has('pvrtc')) {\n return {\n alpha: 'pvrtc1-4-rgba',\n noAlpha: 'pvrtc1-4-rgb'\n };\n } else if (supportedFormats.has('etc1')) {\n return 'etc1';\n } else if (supportedFormats.has('etc2')) {\n return 'etc2';\n }\n return 'rgb565';\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-basis.js","names":["_basisModuleLoader","require","_glExtensions","_textureFormats","_parseKtx","OutputFormat","etc1","basisFormat","compressed","format","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_ETC1_WEBGL","etc2","bc1","COMPRESSED_RGB_S3TC_DXT1_EXT","bc3","COMPRESSED_RGBA_S3TC_DXT5_EXT","bc4","bc5","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_ASTC_4X4_KHR","rgba32","rgb565","bgr565","rgba4444","parseBasis","_x","_x2","_parseBasis","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","fileConstructors","_yield$loadBasisTrans","BasisFile","_fileConstructors","_yield$loadBasisTrans2","_BasisFile","wrap","_callee$","_context","prev","next","basis","containerFormat","isKTX","loadBasisEncoderModule","sent","abrupt","parseKTX2File","KTX2File","loadBasisTranscoderModule","parseBasisFile","t0","module","t1","stop","basisFile","Uint8Array","startTranscoding","Error","imageCount","getNumImages","images","imageIndex","levelsCount","getNumLevels","levels","levelIndex","push","transcodeImage","close","delete","width","getImageWidth","height","getImageHeight","hasAlpha","getHasAlpha","_getBasisOptions","getBasisOptions","decodedSize","getImageTranscodedSizeInBytes","decodedData","ktx2File","getLevels","transcodeKTX2Image","_ktx2File$getImageLev","getImageLevelInfo","alphaFlag","_getBasisOptions2","levelSize","selectSupportedBasisFormat","_typeof2","alpha","noAlpha","toLowerCase","supportedFormats","getSupportedGPUTextureFormats","has"],"sources":["../../../../src/lib/parsers/parse-basis.ts"],"sourcesContent":["/* eslint-disable indent */\nimport type {TextureLevel} from '@loaders.gl/schema';\nimport {loadBasisEncoderModule, loadBasisTranscoderModule} from './basis-module-loader';\nimport {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\nimport {getSupportedGPUTextureFormats} from '../utils/texture-formats';\nimport {isKTX} from './parse-ktx';\n\nexport type BasisFormat =\n | 'etc1'\n | 'etc2'\n | 'bc1'\n | 'bc3'\n | 'bc4'\n | 'bc5'\n | 'bc7-m6-opaque-only'\n | 'bc7-m5'\n | 'pvrtc1-4-rgb'\n | 'pvrtc1-4-rgba'\n | 'astc-4x4'\n | 'atc-rgb'\n | 'atc-rgba-interpolated-alpha'\n | 'rgba32'\n | 'rgb565'\n | 'bgr565'\n | 'rgba4444';\n\ntype BasisOutputOptions = {\n basisFormat: number;\n compressed: boolean;\n format?: number;\n};\n\nconst OutputFormat: Record<string, BasisOutputOptions> = {\n etc1: {\n basisFormat: 0,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL\n },\n etc2: {basisFormat: 1, compressed: true},\n bc1: {\n basisFormat: 2,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT\n },\n bc3: {\n basisFormat: 3,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT\n },\n bc4: {basisFormat: 4, compressed: true},\n bc5: {basisFormat: 5, compressed: true},\n 'bc7-m6-opaque-only': {basisFormat: 6, compressed: true},\n 'bc7-m5': {basisFormat: 7, compressed: true},\n 'pvrtc1-4-rgb': {\n basisFormat: 8,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG\n },\n 'pvrtc1-4-rgba': {\n basisFormat: 9,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG\n },\n 'astc-4x4': {\n basisFormat: 10,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR\n },\n 'atc-rgb': {basisFormat: 11, compressed: true},\n 'atc-rgba-interpolated-alpha': {basisFormat: 12, compressed: true},\n rgba32: {basisFormat: 13, compressed: false},\n rgb565: {basisFormat: 14, compressed: false},\n bgr565: {basisFormat: 15, compressed: false},\n rgba4444: {basisFormat: 16, compressed: false}\n};\n\n/**\n * parse data with a Binomial Basis_Universal module\n * @param data\n * @param options\n * @returns compressed texture data\n */\nexport default async function parseBasis(data: ArrayBuffer, options): Promise<TextureLevel[][]> {\n if (options.basis.containerFormat === 'auto') {\n if (isKTX(data)) {\n const fileConstructors = await loadBasisEncoderModule(options);\n return parseKTX2File(fileConstructors.KTX2File, data, options);\n }\n const {BasisFile} = await loadBasisTranscoderModule(options);\n return parseBasisFile(BasisFile, data, options);\n }\n switch (options.basis.module) {\n case 'encoder':\n const fileConstructors = await loadBasisEncoderModule(options);\n switch (options.basis.containerFormat) {\n case 'ktx2':\n return parseKTX2File(fileConstructors.KTX2File, data, options);\n case 'basis':\n default:\n return parseBasisFile(fileConstructors.BasisFile, data, options);\n }\n case 'transcoder':\n default:\n const {BasisFile} = await loadBasisTranscoderModule(options);\n return parseBasisFile(BasisFile, data, options);\n }\n}\n\n/**\n * Parse *.basis file data\n * @param BasisFile - initialized transcoder module\n * @param data\n * @param options\n * @returns compressed texture data\n */\nfunction parseBasisFile(BasisFile, data, options): TextureLevel[][] {\n const basisFile = new BasisFile(new Uint8Array(data));\n\n try {\n if (!basisFile.startTranscoding()) {\n throw new Error('Failed to start basis transcoding');\n }\n\n const imageCount = basisFile.getNumImages();\n const images: TextureLevel[][] = [];\n\n for (let imageIndex = 0; imageIndex < imageCount; imageIndex++) {\n const levelsCount = basisFile.getNumLevels(imageIndex);\n const levels: TextureLevel[] = [];\n\n for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {\n levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));\n }\n\n images.push(levels);\n }\n\n return images;\n } finally {\n basisFile.close();\n basisFile.delete();\n }\n}\n\n/**\n * Parse the particular level image of a basis file\n * @param basisFile\n * @param imageIndex\n * @param levelIndex\n * @param options\n * @returns compressed texture data\n */\nfunction transcodeImage(basisFile, imageIndex, levelIndex, options): TextureLevel {\n const width = basisFile.getImageWidth(imageIndex, levelIndex);\n const height = basisFile.getImageHeight(imageIndex, levelIndex);\n\n // See https://github.com/BinomialLLC/basis_universal/pull/83\n const hasAlpha = basisFile.getHasAlpha(/* imageIndex, levelIndex */);\n\n // Check options for output format etc\n const {compressed, format, basisFormat} = getBasisOptions(options, hasAlpha);\n\n const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);\n const decodedData = new Uint8Array(decodedSize);\n\n if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {\n throw new Error('failed to start Basis transcoding');\n }\n\n return {\n // standard loaders.gl image category payload\n width,\n height,\n data: decodedData,\n compressed,\n format,\n\n // Additional fields\n // Add levelSize field.\n hasAlpha\n };\n}\n\n/**\n * Parse *.ktx2 file data\n * @param KTX2File\n * @param data\n * @param options\n * @returns compressed texture data\n */\nfunction parseKTX2File(KTX2File, data: ArrayBuffer, options): TextureLevel[][] {\n const ktx2File = new KTX2File(new Uint8Array(data));\n\n try {\n if (!ktx2File.startTranscoding()) {\n throw new Error('failed to start KTX2 transcoding');\n }\n const levelsCount = ktx2File.getLevels();\n const levels: TextureLevel[] = [];\n\n for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {\n levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));\n break; // texture app can only show one level for some reason\n }\n\n return [levels];\n } finally {\n ktx2File.close();\n ktx2File.delete();\n }\n}\n\n/**\n * Parse the particular level image of a ktx2 file\n * @param ktx2File\n * @param levelIndex\n * @param options\n * @returns\n */\nfunction transcodeKTX2Image(ktx2File, levelIndex: number, options): TextureLevel {\n const {alphaFlag, height, width} = ktx2File.getImageLevelInfo(levelIndex, 0, 0);\n\n // Check options for output format etc\n const {compressed, format, basisFormat} = getBasisOptions(options, alphaFlag);\n\n const decodedSize = ktx2File.getImageTranscodedSizeInBytes(\n levelIndex,\n 0 /* layerIndex */,\n 0 /* faceIndex */,\n basisFormat\n );\n const decodedData = new Uint8Array(decodedSize);\n\n if (\n !ktx2File.transcodeImage(\n decodedData,\n levelIndex,\n 0 /* layerIndex */,\n 0 /* faceIndex */,\n basisFormat,\n 0,\n -1 /* channel0 */,\n -1 /* channel1 */\n )\n ) {\n throw new Error('Failed to transcode KTX2 image');\n }\n\n return {\n // standard loaders.gl image category payload\n width,\n height,\n data: decodedData,\n compressed,\n\n // Additional fields\n levelSize: decodedSize,\n hasAlpha: alphaFlag,\n format\n };\n}\n\n/**\n * Get BasisFormat by loader format option\n * @param options\n * @param hasAlpha\n * @returns BasisFormat data\n */\nfunction getBasisOptions(options, hasAlpha: boolean): BasisOutputOptions {\n let format = options && options.basis && options.basis.format;\n if (format === 'auto') {\n format = selectSupportedBasisFormat();\n }\n if (typeof format === 'object') {\n format = hasAlpha ? format.alpha : format.noAlpha;\n }\n format = format.toLowerCase();\n return OutputFormat[format];\n}\n\n/**\n * Select transcode format from the list of supported formats\n * @returns key for OutputFormat map\n */\nexport function selectSupportedBasisFormat():\n | BasisFormat\n | {\n alpha: BasisFormat;\n noAlpha: BasisFormat;\n } {\n const supportedFormats = getSupportedGPUTextureFormats();\n if (supportedFormats.has('astc')) {\n return 'astc-4x4';\n } else if (supportedFormats.has('dxt')) {\n return {\n alpha: 'bc3',\n noAlpha: 'bc1'\n };\n } else if (supportedFormats.has('pvrtc')) {\n return {\n alpha: 'pvrtc1-4-rgba',\n noAlpha: 'pvrtc1-4-rgb'\n };\n } else if (supportedFormats.has('etc1')) {\n return 'etc1';\n } else if (supportedFormats.has('etc2')) {\n return 'etc2';\n }\n return 'rgb565';\n}\n"],"mappings":";;;;;;;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AA2BA,IAAMI,YAAgD,GAAG;EACvDC,IAAI,EAAE;IACJC,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACC;EAClC,CAAC;EACDC,IAAI,EAAE;IAACL,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACxCK,GAAG,EAAE;IACHN,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACI;EAClC,CAAC;EACDC,GAAG,EAAE;IACHR,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACM;EAClC,CAAC;EACDC,GAAG,EAAE;IAACV,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACvCU,GAAG,EAAE;IAACX,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACvC,oBAAoB,EAAE;IAACD,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACxD,QAAQ,EAAE;IAACD,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EAC5C,cAAc,EAAE;IACdD,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACS;EAClC,CAAC;EACD,eAAe,EAAE;IACfZ,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACU;EAClC,CAAC;EACD,UAAU,EAAE;IACVb,WAAW,EAAE,EAAE;IACfC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACW;EAClC,CAAC;EACD,SAAS,EAAE;IAACd,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAI,CAAC;EAC9C,6BAA6B,EAAE;IAACD,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAI,CAAC;EAClEc,MAAM,EAAE;IAACf,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK,CAAC;EAC5Ce,MAAM,EAAE;IAAChB,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK,CAAC;EAC5CgB,MAAM,EAAE;IAACjB,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK,CAAC;EAC5CiB,QAAQ,EAAE;IAAClB,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK;AAC/C,CAAC;AAAC,SAQ4BkB,UAAUA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,YAAA;EAAAA,WAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAzB,SAAAC,QAA0BC,IAAiB,EAAEC,OAAO;IAAA,IAAAC,gBAAA,EAAAC,qBAAA,EAAAC,SAAA,EAAAC,iBAAA,EAAAC,sBAAA,EAAAC,UAAA;IAAA,OAAAV,YAAA,CAAAD,OAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAA,MAC7DX,OAAO,CAACY,KAAK,CAACC,eAAe,KAAK,MAAM;YAAAJ,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,KACtC,IAAAG,eAAK,EAACf,IAAI,CAAC;YAAAU,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACkB,IAAAI,yCAAsB,EAACf,OAAO,CAAC;QAAA;UAAxDC,gBAAgB,GAAAQ,QAAA,CAAAO,IAAA;UAAA,OAAAP,QAAA,CAAAQ,MAAA,WACfC,aAAa,CAACjB,gBAAgB,CAACkB,QAAQ,EAAEpB,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAAS,QAAA,CAAAE,IAAA;UAAA,OAEtC,IAAAS,4CAAyB,EAACpB,OAAO,CAAC;QAAA;UAAAE,qBAAA,GAAAO,QAAA,CAAAO,IAAA;UAArDb,SAAS,GAAAD,qBAAA,CAATC,SAAS;UAAA,OAAAM,QAAA,CAAAQ,MAAA,WACTI,cAAc,CAAClB,SAAS,EAAEJ,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAAS,QAAA,CAAAa,EAAA,GAEzCtB,OAAO,CAACY,KAAK,CAACW,MAAM;UAAAd,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAa,EAAA,KACrB,SAAS,QAAAb,QAAA,CAAAa,EAAA,KAST,YAAY;UAAA;QAAA;UAAAb,QAAA,CAAAE,IAAA;UAAA,OARgB,IAAAI,yCAAsB,EAACf,OAAO,CAAC;QAAA;UAAxDC,iBAAgB,GAAAQ,QAAA,CAAAO,IAAA;UAAAP,QAAA,CAAAe,EAAA,GACdxB,OAAO,CAACY,KAAK,CAACC,eAAe;UAAAJ,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAe,EAAA,KAC9B,MAAM,QAAAf,QAAA,CAAAe,EAAA,KAEN,OAAO;UAAA;QAAA;UAAA,OAAAf,QAAA,CAAAQ,MAAA,WADHC,aAAa,CAACjB,iBAAgB,CAACkB,QAAQ,EAAEpB,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAA,OAAAS,QAAA,CAAAQ,MAAA,WAGvDI,cAAc,CAACpB,iBAAgB,CAACE,SAAS,EAAEJ,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAAS,QAAA,CAAAE,IAAA;UAAA,OAI1C,IAAAS,4CAAyB,EAACpB,OAAO,CAAC;QAAA;UAAAK,sBAAA,GAAAI,QAAA,CAAAO,IAAA;UAArDb,UAAS,GAAAE,sBAAA,CAATF,SAAS;UAAA,OAAAM,QAAA,CAAAQ,MAAA,WACTI,cAAc,CAAClB,UAAS,EAAEJ,IAAI,EAAEC,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAS,QAAA,CAAAgB,IAAA;MAAA;IAAA,GAAA3B,OAAA;EAAA,CAEpD;EAAA,OAAAP,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AASD,SAAS4B,cAAcA,CAAClB,SAAS,EAAEJ,IAAI,EAAEC,OAAO,EAAoB;EAClE,IAAM0B,SAAS,GAAG,IAAIvB,SAAS,CAAC,IAAIwB,UAAU,CAAC5B,IAAI,CAAC,CAAC;EAErD,IAAI;IACF,IAAI,CAAC2B,SAAS,CAACE,gBAAgB,CAAC,CAAC,EAAE;MACjC,MAAM,IAAIC,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAEA,IAAMC,UAAU,GAAGJ,SAAS,CAACK,YAAY,CAAC,CAAC;IAC3C,IAAMC,MAAwB,GAAG,EAAE;IAEnC,KAAK,IAAIC,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGH,UAAU,EAAEG,UAAU,EAAE,EAAE;MAC9D,IAAMC,WAAW,GAAGR,SAAS,CAACS,YAAY,CAACF,UAAU,CAAC;MACtD,IAAMG,MAAsB,GAAG,EAAE;MAEjC,KAAK,IAAIC,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGH,WAAW,EAAEG,UAAU,EAAE,EAAE;QAC/DD,MAAM,CAACE,IAAI,CAACC,cAAc,CAACb,SAAS,EAAEO,UAAU,EAAEI,UAAU,EAAErC,OAAO,CAAC,CAAC;MACzE;MAEAgC,MAAM,CAACM,IAAI,CAACF,MAAM,CAAC;IACrB;IAEA,OAAOJ,MAAM;EACf,CAAC,SAAS;IACRN,SAAS,CAACc,KAAK,CAAC,CAAC;IACjBd,SAAS,CAACe,MAAM,CAAC,CAAC;EACpB;AACF;AAUA,SAASF,cAAcA,CAACb,SAAS,EAAEO,UAAU,EAAEI,UAAU,EAAErC,OAAO,EAAgB;EAChF,IAAM0C,KAAK,GAAGhB,SAAS,CAACiB,aAAa,CAACV,UAAU,EAAEI,UAAU,CAAC;EAC7D,IAAMO,MAAM,GAAGlB,SAAS,CAACmB,cAAc,CAACZ,UAAU,EAAEI,UAAU,CAAC;EAG/D,IAAMS,QAAQ,GAAGpB,SAAS,CAACqB,WAAW,CAA6B,CAAC;EAGpE,IAAAC,gBAAA,GAA0CC,eAAe,CAACjD,OAAO,EAAE8C,QAAQ,CAAC;IAArE5E,UAAU,GAAA8E,gBAAA,CAAV9E,UAAU;IAAEC,MAAM,GAAA6E,gBAAA,CAAN7E,MAAM;IAAEF,WAAW,GAAA+E,gBAAA,CAAX/E,WAAW;EAEtC,IAAMiF,WAAW,GAAGxB,SAAS,CAACyB,6BAA6B,CAAClB,UAAU,EAAEI,UAAU,EAAEpE,WAAW,CAAC;EAChG,IAAMmF,WAAW,GAAG,IAAIzB,UAAU,CAACuB,WAAW,CAAC;EAE/C,IAAI,CAACxB,SAAS,CAACa,cAAc,CAACa,WAAW,EAAEnB,UAAU,EAAEI,UAAU,EAAEpE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrF,MAAM,IAAI4D,KAAK,CAAC,mCAAmC,CAAC;EACtD;EAEA,OAAO;IAELa,KAAK,EAALA,KAAK;IACLE,MAAM,EAANA,MAAM;IACN7C,IAAI,EAAEqD,WAAW;IACjBlF,UAAU,EAAVA,UAAU;IACVC,MAAM,EAANA,MAAM;IAIN2E,QAAQ,EAARA;EACF,CAAC;AACH;AASA,SAAS5B,aAAaA,CAACC,QAAQ,EAAEpB,IAAiB,EAAEC,OAAO,EAAoB;EAC7E,IAAMqD,QAAQ,GAAG,IAAIlC,QAAQ,CAAC,IAAIQ,UAAU,CAAC5B,IAAI,CAAC,CAAC;EAEnD,IAAI;IACF,IAAI,CAACsD,QAAQ,CAACzB,gBAAgB,CAAC,CAAC,EAAE;MAChC,MAAM,IAAIC,KAAK,CAAC,kCAAkC,CAAC;IACrD;IACA,IAAMK,WAAW,GAAGmB,QAAQ,CAACC,SAAS,CAAC,CAAC;IACxC,IAAMlB,MAAsB,GAAG,EAAE;IAEjC,KAAK,IAAIC,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGH,WAAW,EAAEG,UAAU,EAAE,EAAE;MAC/DD,MAAM,CAACE,IAAI,CAACiB,kBAAkB,CAACF,QAAQ,EAAEhB,UAAU,EAAErC,OAAO,CAAC,CAAC;MAC9D;IACF;IAEA,OAAO,CAACoC,MAAM,CAAC;EACjB,CAAC,SAAS;IACRiB,QAAQ,CAACb,KAAK,CAAC,CAAC;IAChBa,QAAQ,CAACZ,MAAM,CAAC,CAAC;EACnB;AACF;AASA,SAASc,kBAAkBA,CAACF,QAAQ,EAAEhB,UAAkB,EAAErC,OAAO,EAAgB;EAC/E,IAAAwD,qBAAA,GAAmCH,QAAQ,CAACI,iBAAiB,CAACpB,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAAxEqB,SAAS,GAAAF,qBAAA,CAATE,SAAS;IAAEd,MAAM,GAAAY,qBAAA,CAANZ,MAAM;IAAEF,KAAK,GAAAc,qBAAA,CAALd,KAAK;EAG/B,IAAAiB,iBAAA,GAA0CV,eAAe,CAACjD,OAAO,EAAE0D,SAAS,CAAC;IAAtExF,UAAU,GAAAyF,iBAAA,CAAVzF,UAAU;IAAEC,MAAM,GAAAwF,iBAAA,CAANxF,MAAM;IAAEF,WAAW,GAAA0F,iBAAA,CAAX1F,WAAW;EAEtC,IAAMiF,WAAW,GAAGG,QAAQ,CAACF,6BAA6B,CACxDd,UAAU,EACV,CAAC,EACD,CAAC,EACDpE,WACF,CAAC;EACD,IAAMmF,WAAW,GAAG,IAAIzB,UAAU,CAACuB,WAAW,CAAC;EAE/C,IACE,CAACG,QAAQ,CAACd,cAAc,CACtBa,WAAW,EACXf,UAAU,EACV,CAAC,EACD,CAAC,EACDpE,WAAW,EACX,CAAC,EACD,CAAC,CAAC,EACF,CAAC,CACH,CAAC,EACD;IACA,MAAM,IAAI4D,KAAK,CAAC,gCAAgC,CAAC;EACnD;EAEA,OAAO;IAELa,KAAK,EAALA,KAAK;IACLE,MAAM,EAANA,MAAM;IACN7C,IAAI,EAAEqD,WAAW;IACjBlF,UAAU,EAAVA,UAAU;IAGV0F,SAAS,EAAEV,WAAW;IACtBJ,QAAQ,EAAEY,SAAS;IACnBvF,MAAM,EAANA;EACF,CAAC;AACH;AAQA,SAAS8E,eAAeA,CAACjD,OAAO,EAAE8C,QAAiB,EAAsB;EACvE,IAAI3E,MAAM,GAAG6B,OAAO,IAAIA,OAAO,CAACY,KAAK,IAAIZ,OAAO,CAACY,KAAK,CAACzC,MAAM;EAC7D,IAAIA,MAAM,KAAK,MAAM,EAAE;IACrBA,MAAM,GAAG0F,0BAA0B,CAAC,CAAC;EACvC;EACA,IAAI,IAAAC,QAAA,CAAAnE,OAAA,EAAOxB,MAAM,MAAK,QAAQ,EAAE;IAC9BA,MAAM,GAAG2E,QAAQ,GAAG3E,MAAM,CAAC4F,KAAK,GAAG5F,MAAM,CAAC6F,OAAO;EACnD;EACA7F,MAAM,GAAGA,MAAM,CAAC8F,WAAW,CAAC,CAAC;EAC7B,OAAOlG,YAAY,CAACI,MAAM,CAAC;AAC7B;AAMO,SAAS0F,0BAA0BA,CAAA,EAKpC;EACJ,IAAMK,gBAAgB,GAAG,IAAAC,6CAA6B,EAAC,CAAC;EACxD,IAAID,gBAAgB,CAACE,GAAG,CAAC,MAAM,CAAC,EAAE;IAChC,OAAO,UAAU;EACnB,CAAC,MAAM,IAAIF,gBAAgB,CAACE,GAAG,CAAC,KAAK,CAAC,EAAE;IACtC,OAAO;MACLL,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE;IACX,CAAC;EACH,CAAC,MAAM,IAAIE,gBAAgB,CAACE,GAAG,CAAC,OAAO,CAAC,EAAE;IACxC,OAAO;MACLL,KAAK,EAAE,eAAe;MACtBC,OAAO,EAAE;IACX,CAAC;EACH,CAAC,MAAM,IAAIE,gBAAgB,CAACE,GAAG,CAAC,MAAM,CAAC,EAAE;IACvC,OAAO,MAAM;EACf,CAAC,MAAM,IAAIF,gBAAgB,CAACE,GAAG,CAAC,MAAM,CAAC,EAAE;IACvC,OAAO,MAAM;EACf;EACA,OAAO,QAAQ;AACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-load.js","names":["_asyncDeepMap","require","deepLoad","_x","_x2","_x3","_deepLoad","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","urlTree","load","options","wrap","_callee$","_context","prev","next","asyncDeepMap","url","shallowLoad","abrupt","sent","stop","_x4","_x5","_x6","_shallowLoad","_callee2","response","arrayBuffer","_callee2$","_context2","fetch"],"sources":["../../../../src/lib/texture-api/deep-load.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {asyncDeepMap} from './async-deep-map';\n\nexport type LoadOptions = Record<string, any>;\nexport type Load = (data: ArrayBuffer, options: Record<string, any>) => Promise<any>;\n\nexport async function deepLoad(urlTree: unknown, load: Load, options: LoadOptions) {\n return await asyncDeepMap(urlTree, (url: string) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url: string, load: Load, options: LoadOptions): Promise<any> {\n
|
|
1
|
+
{"version":3,"file":"deep-load.js","names":["_asyncDeepMap","require","deepLoad","_x","_x2","_x3","_deepLoad","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","urlTree","load","options","wrap","_callee$","_context","prev","next","asyncDeepMap","url","shallowLoad","abrupt","sent","stop","_x4","_x5","_x6","_shallowLoad","_callee2","response","arrayBuffer","_callee2$","_context2","fetch"],"sources":["../../../../src/lib/texture-api/deep-load.ts"],"sourcesContent":["// loaders.gl, MIT license\nimport {asyncDeepMap} from './async-deep-map';\n\nexport type LoadOptions = Record<string, any>;\nexport type Load = (data: ArrayBuffer, options: Record<string, any>) => Promise<any>;\n\nexport async function deepLoad(urlTree: unknown, load: Load, options: LoadOptions) {\n return await asyncDeepMap(urlTree, (url: string) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url: string, load: Load, options: LoadOptions): Promise<any> {\n const response = await fetch(url, options.fetch);\n const arrayBuffer = await response.arrayBuffer();\n return await load(arrayBuffer, options);\n}\n"],"mappings":";;;;;;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AAA8C,SAKxBC,QAAQA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,UAAA;EAAAA,SAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAvB,SAAAC,QAAwBC,OAAgB,EAAEC,IAAU,EAAEC,OAAoB;IAAA,OAAAL,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OAClE,IAAAC,0BAAY,EAACR,OAAO,EAAE,UAACS,GAAW;YAAA,OAAKC,WAAW,CAACD,GAAG,EAAER,IAAI,EAAEC,OAAO,CAAC;UAAA,EAAC;QAAA;UAAA,OAAAG,QAAA,CAAAM,MAAA,WAAAN,QAAA,CAAAO,IAAA;QAAA;QAAA;UAAA,OAAAP,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAd,OAAA;EAAA,CACrF;EAAA,OAAAP,SAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAEqBgB,WAAWA,CAAAI,GAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,YAAA,CAAAxB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAuB,aAAA;EAAAA,YAAA,OAAAtB,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA1B,SAAAoB,SAA2BT,GAAW,EAAER,IAAU,EAAEC,OAAoB;IAAA,IAAAiB,QAAA,EAAAC,WAAA;IAAA,OAAAvB,YAAA,CAAAD,OAAA,CAAAO,IAAA,UAAAkB,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAhB,IAAA,GAAAgB,SAAA,CAAAf,IAAA;QAAA;UAAAe,SAAA,CAAAf,IAAA;UAAA,OACtDgB,KAAK,CAACd,GAAG,EAAEP,OAAO,CAACqB,KAAK,CAAC;QAAA;UAA1CJ,QAAQ,GAAAG,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAf,IAAA;UAAA,OACYY,QAAQ,CAACC,WAAW,CAAC,CAAC;QAAA;UAA1CA,WAAW,GAAAE,SAAA,CAAAV,IAAA;UAAAU,SAAA,CAAAf,IAAA;UAAA,OACJN,IAAI,CAACmB,WAAW,EAAElB,OAAO,CAAC;QAAA;UAAA,OAAAoB,SAAA,CAAAX,MAAA,WAAAW,SAAA,CAAAV,IAAA;QAAA;QAAA;UAAA,OAAAU,SAAA,CAAAT,IAAA;MAAA;IAAA,GAAAK,QAAA;EAAA,CACxC;EAAA,OAAAD,YAAA,CAAAxB,KAAA,OAAAC,SAAA;AAAA"}
|
|
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VERSION = void 0;
|
|
7
|
-
var VERSION = typeof "4.0.0-alpha.
|
|
7
|
+
var VERSION = typeof "4.0.0-alpha.19" !== 'undefined' ? "4.0.0-alpha.19" : 'beta';
|
|
8
8
|
exports.VERSION = VERSION;
|
|
9
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx2-basis-writer-worker-node.js","names":["require","_workerUtils","_ktx2BasisWriter","WorkerBody","inWorkerThread","onmessage","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","type","payload","_KTX2BasisWriter$enco","input","options","result","message","wrap","_callee$","_context","prev","next","t0","KTX2BasisWriter","encode","call","sent","postMessage","t1","Error","error","abrupt","stop","_x","_x2","apply","arguments"],"sources":["../../../src/workers/ktx2-basis-writer-worker-node.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\nimport {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {KTX2BasisWriter} from '../ktx2-basis-writer';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await KTX2BasisWriter.encode?.(input, options);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":";;;;;AACAA,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAEA,CAAC,YAAM;EAEL,IAAI,CAACG,uBAAU,CAACC,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAD,uBAAU,CAACE,SAAS;IAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAG,SAAAC,QAAOC,IAAI,EAAEC,OAA6B;MAAA,IAAAC,qBAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,OAAA;MAAA,OAAAT,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAG,EAAA,GACvDZ,IAAI;YAAAS,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAG,EAAA,KACL,SAAS;YAAA;UAAA;YAAAH,QAAA,CAAAC,IAAA;YAEHP,KAAK,GAAaF,OAAO,CAAzBE,KAAK,EAAEC,OAAO,GAAIH,OAAO,CAAlBG,OAAO;YAAAK,QAAA,CAAAE,IAAA;YAAA,QAAAT,qBAAA,GACAW,gCAAe,CAACC,MAAM,cAAAZ,qBAAA,uBAAtBA,qBAAA,CAAAa,IAAA,CAAAF,gCAAe,EAAUV,KAAK,EAAEC,
|
|
1
|
+
{"version":3,"file":"ktx2-basis-writer-worker-node.js","names":["require","_workerUtils","_ktx2BasisWriter","WorkerBody","inWorkerThread","onmessage","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","type","payload","_KTX2BasisWriter$enco","input","options","result","message","wrap","_callee$","_context","prev","next","t0","KTX2BasisWriter","encode","call","sent","postMessage","t1","Error","error","abrupt","stop","_x","_x2","apply","arguments"],"sources":["../../../src/workers/ktx2-basis-writer-worker-node.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\nimport {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {KTX2BasisWriter, KTX2BasisWriterOptions} from '../ktx2-basis-writer';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await KTX2BasisWriter.encode?.(input, options as KTX2BasisWriterOptions);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":";;;;;AACAA,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAEA,CAAC,YAAM;EAEL,IAAI,CAACG,uBAAU,CAACC,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAD,uBAAU,CAACE,SAAS;IAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAG,SAAAC,QAAOC,IAAI,EAAEC,OAA6B;MAAA,IAAAC,qBAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,OAAA;MAAA,OAAAT,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAG,EAAA,GACvDZ,IAAI;YAAAS,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAG,EAAA,KACL,SAAS;YAAA;UAAA;YAAAH,QAAA,CAAAC,IAAA;YAEHP,KAAK,GAAaF,OAAO,CAAzBE,KAAK,EAAEC,OAAO,GAAIH,OAAO,CAAlBG,OAAO;YAAAK,QAAA,CAAAE,IAAA;YAAA,QAAAT,qBAAA,GACAW,gCAAe,CAACC,MAAM,cAAAZ,qBAAA,uBAAtBA,qBAAA,CAAAa,IAAA,CAAAF,gCAAe,EAAUV,KAAK,EAAEC,OAAiC,CAAC;UAAA;YAAjFC,MAAM,GAAAI,QAAA,CAAAO,IAAA;YACZzB,uBAAU,CAAC0B,WAAW,CAAC,MAAM,EAAE;cAACZ,MAAM,EAANA;YAAM,CAAC,CAAC;YAACI,QAAA,CAAAE,IAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAS,EAAA,GAAAT,QAAA;YAEnCH,OAAO,GAAGG,QAAA,CAAAS,EAAA,YAAiBC,KAAK,GAAGV,QAAA,CAAAS,EAAA,CAAMZ,OAAO,GAAG,EAAE;YAC3Df,uBAAU,CAAC0B,WAAW,CAAC,OAAO,EAAE;cAACG,KAAK,EAAEd;YAAO,CAAC,CAAC;UAAC;YAAA,OAAAG,QAAA,CAAAY,MAAA;UAAA;UAAA;YAAA,OAAAZ,QAAA,CAAAa,IAAA;QAAA;MAAA,GAAAvB,OAAA;IAAA,CAKzD;IAAA,iBAAAwB,EAAA,EAAAC,GAAA;MAAA,OAAA9B,IAAA,CAAA+B,KAAA,OAAAC,SAAA;IAAA;EAAA;AACH,CAAC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx2-basis-writer-worker.js","names":["_workerUtils","require","_ktx2BasisWriter","WorkerBody","inWorkerThread","onmessage","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","type","payload","_KTX2BasisWriter$enco","input","options","result","message","wrap","_callee$","_context","prev","next","t0","KTX2BasisWriter","encode","call","sent","postMessage","t1","Error","error","abrupt","stop","_x","_x2","apply","arguments"],"sources":["../../../src/workers/ktx2-basis-writer-worker.ts"],"sourcesContent":["import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {KTX2BasisWriter} from '../ktx2-basis-writer';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await KTX2BasisWriter.encode?.(input, options);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,CAAC,YAAM;EAEL,IAAI,CAACE,uBAAU,CAACC,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAD,uBAAU,CAACE,SAAS;IAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAG,SAAAC,QAAOC,IAAI,EAAEC,OAA6B;MAAA,IAAAC,qBAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,OAAA;MAAA,OAAAT,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAG,EAAA,GACvDZ,IAAI;YAAAS,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAG,EAAA,KACL,SAAS;YAAA;UAAA;YAAAH,QAAA,CAAAC,IAAA;YAEHP,KAAK,GAAaF,OAAO,CAAzBE,KAAK,EAAEC,OAAO,GAAIH,OAAO,CAAlBG,OAAO;YAAAK,QAAA,CAAAE,IAAA;YAAA,QAAAT,qBAAA,GACAW,gCAAe,CAACC,MAAM,cAAAZ,qBAAA,uBAAtBA,qBAAA,CAAAa,IAAA,CAAAF,gCAAe,EAAUV,KAAK,EAAEC,
|
|
1
|
+
{"version":3,"file":"ktx2-basis-writer-worker.js","names":["_workerUtils","require","_ktx2BasisWriter","WorkerBody","inWorkerThread","onmessage","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","type","payload","_KTX2BasisWriter$enco","input","options","result","message","wrap","_callee$","_context","prev","next","t0","KTX2BasisWriter","encode","call","sent","postMessage","t1","Error","error","abrupt","stop","_x","_x2","apply","arguments"],"sources":["../../../src/workers/ktx2-basis-writer-worker.ts"],"sourcesContent":["import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';\nimport {KTX2BasisWriter, KTX2BasisWriterOptions} from '../ktx2-basis-writer';\n\n(() => {\n // Check that we are actually in a worker thread\n if (!WorkerBody.inWorkerThread()) {\n return;\n }\n\n WorkerBody.onmessage = async (type, payload: WorkerMessagePayload) => {\n switch (type) {\n case 'process':\n try {\n const {input, options} = payload;\n const result = await KTX2BasisWriter.encode?.(input, options as KTX2BasisWriterOptions);\n WorkerBody.postMessage('done', {result});\n } catch (error) {\n const message = error instanceof Error ? error.message : '';\n WorkerBody.postMessage('error', {error: message});\n }\n break;\n default:\n }\n };\n})();\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAEA,CAAC,YAAM;EAEL,IAAI,CAACE,uBAAU,CAACC,cAAc,CAAC,CAAC,EAAE;IAChC;EACF;EAEAD,uBAAU,CAACE,SAAS;IAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAG,SAAAC,QAAOC,IAAI,EAAEC,OAA6B;MAAA,IAAAC,qBAAA,EAAAC,KAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,OAAA;MAAA,OAAAT,YAAA,CAAAD,OAAA,CAAAW,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAAAF,QAAA,CAAAG,EAAA,GACvDZ,IAAI;YAAAS,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAG,EAAA,KACL,SAAS;YAAA;UAAA;YAAAH,QAAA,CAAAC,IAAA;YAEHP,KAAK,GAAaF,OAAO,CAAzBE,KAAK,EAAEC,OAAO,GAAIH,OAAO,CAAlBG,OAAO;YAAAK,QAAA,CAAAE,IAAA;YAAA,QAAAT,qBAAA,GACAW,gCAAe,CAACC,MAAM,cAAAZ,qBAAA,uBAAtBA,qBAAA,CAAAa,IAAA,CAAAF,gCAAe,EAAUV,KAAK,EAAEC,OAAiC,CAAC;UAAA;YAAjFC,MAAM,GAAAI,QAAA,CAAAO,IAAA;YACZzB,uBAAU,CAAC0B,WAAW,CAAC,MAAM,EAAE;cAACZ,MAAM,EAANA;YAAM,CAAC,CAAC;YAACI,QAAA,CAAAE,IAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAS,EAAA,GAAAT,QAAA;YAEnCH,OAAO,GAAGG,QAAA,CAAAS,EAAA,YAAiBC,KAAK,GAAGV,QAAA,CAAAS,EAAA,CAAMZ,OAAO,GAAG,EAAE;YAC3Df,uBAAU,CAAC0B,WAAW,CAAC,OAAO,EAAE;cAACG,KAAK,EAAEd;YAAO,CAAC,CAAC;UAAC;YAAA,OAAAG,QAAA,CAAAY,MAAA;UAAA;UAAA;YAAA,OAAAZ,QAAA,CAAAa,IAAA;QAAA;MAAA,GAAAvB,OAAA;IAAA,CAKzD;IAAA,iBAAAwB,EAAA,EAAAC,GAAA;MAAA,OAAA9B,IAAA,CAAA+B,KAAA,OAAAC,SAAA;IAAA;EAAA;AACH,CAAC,EAAE,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -3,6 +3,8 @@ export { BasisLoader, BasisWorkerLoader } from './basis-loader';
|
|
|
3
3
|
export { CompressedTextureLoader, CompressedTextureWorkerLoader } from './compressed-texture-loader';
|
|
4
4
|
export { CrunchLoader } from './crunch-loader';
|
|
5
5
|
export { NPYLoader, NPYWorkerLoader } from './npy-loader';
|
|
6
|
+
export { BASIS_EXTERNAL_LIBRARIES } from './lib/parsers/basis-module-loader';
|
|
7
|
+
export { CRUNCH_EXTERNAL_LIBRARIES } from './lib/parsers/crunch-module-loader';
|
|
6
8
|
export { CompressedTextureWriter } from './compressed-texture-writer';
|
|
7
9
|
export { KTX2BasisWriter } from './ktx2-basis-writer';
|
|
8
10
|
export const KTX2BasisWriterWorker = {
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["VERSION","BasisLoader","BasisWorkerLoader","CompressedTextureLoader","CompressedTextureWorkerLoader","CrunchLoader","NPYLoader","NPYWorkerLoader","CompressedTextureWriter","KTX2BasisWriter","KTX2BasisWriterWorker","name","id","module","version","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","loadImageTexture","loadImageTextureArray","loadImageTextureCube","GL_EXTENSIONS_CONSTANTS","selectSupportedBasisFormat","getSupportedGPUTextureFormats","CrunchWorkerLoader"],"sources":["../../src/index.ts"],"sourcesContent":["import {VERSION} from './lib/utils/version';\n\n// Types\nexport type {GPUTextureFormat} from '@loaders.gl/schema';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisWriter} from './ktx2-basis-writer';\n\nexport const KTX2BasisWriterWorker = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n extensions: ['ktx2'],\n worker: true,\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n};\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"mappings":"AAAA,SAAQA,OAAO,QAAO,qBAAqB;AAO3C,SAAQC,WAAW,EAAEC,iBAAiB,QAAO,gBAAgB;AAC7D,SAAQC,uBAAuB,EAAEC,6BAA6B,QAAO,6BAA6B;AAClG,SAAQC,YAAY,QAAO,iBAAiB;AAC5C,SAAQC,SAAS,EAAEC,eAAe,QAAO,cAAc;AAGvD,SAAQC,uBAAuB,QAAO,6BAA6B;AACnE,SAAQC,eAAe,QAAO,qBAAqB;AAEnD,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","names":["VERSION","BasisLoader","BasisWorkerLoader","CompressedTextureLoader","CompressedTextureWorkerLoader","CrunchLoader","NPYLoader","NPYWorkerLoader","BASIS_EXTERNAL_LIBRARIES","CRUNCH_EXTERNAL_LIBRARIES","CompressedTextureWriter","KTX2BasisWriter","KTX2BasisWriterWorker","name","id","module","version","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","loadImageTexture","loadImageTextureArray","loadImageTextureCube","GL_EXTENSIONS_CONSTANTS","selectSupportedBasisFormat","getSupportedGPUTextureFormats","CrunchWorkerLoader"],"sources":["../../src/index.ts"],"sourcesContent":["import {VERSION} from './lib/utils/version';\n\n// Types\nexport type {GPUTextureFormat} from '@loaders.gl/schema';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Module constants\nexport {BASIS_EXTERNAL_LIBRARIES} from './lib/parsers/basis-module-loader';\nexport {CRUNCH_EXTERNAL_LIBRARIES} from './lib/parsers/crunch-module-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisWriter} from './ktx2-basis-writer';\n\nexport const KTX2BasisWriterWorker = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n extensions: ['ktx2'],\n worker: true,\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n};\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"mappings":"AAAA,SAAQA,OAAO,QAAO,qBAAqB;AAO3C,SAAQC,WAAW,EAAEC,iBAAiB,QAAO,gBAAgB;AAC7D,SAAQC,uBAAuB,EAAEC,6BAA6B,QAAO,6BAA6B;AAClG,SAAQC,YAAY,QAAO,iBAAiB;AAC5C,SAAQC,SAAS,EAAEC,eAAe,QAAO,cAAc;AAGvD,SAAQC,wBAAwB,QAAO,mCAAmC;AAC1E,SAAQC,yBAAyB,QAAO,oCAAoC;AAG5E,SAAQC,uBAAuB,QAAO,6BAA6B;AACnE,SAAQC,eAAe,QAAO,qBAAqB;AAEnD,OAAO,MAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEhB,OAAO;EAChBiB,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX;AACF,CAAC;AAGD,SAAQC,gBAAgB,QAAO,8BAA8B;AAC7D,SAAQC,qBAAqB,QAAO,oCAAoC;AACxE,SAAQC,oBAAoB,QAAO,mCAAmC;AAGtE,SAAQC,uBAAuB,QAAO,qBAAqB;AAC3D,SAAQC,0BAA0B,QAAO,2BAA2B;AACpE,SAAQC,6BAA6B,QAAO,6BAA6B;AAGzE,SAAQxB,YAAY,IAAIyB,kBAAkB,QAAO,iBAAiB"}
|
|
@@ -7,10 +7,12 @@ export const KTX2BasisWriter = {
|
|
|
7
7
|
version: VERSION,
|
|
8
8
|
extensions: ['ktx2'],
|
|
9
9
|
options: {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
['ktx2-basis-writer']: {
|
|
11
|
+
useSRGB: false,
|
|
12
|
+
qualityLevel: 10,
|
|
13
|
+
encodeUASTC: false,
|
|
14
|
+
mipmaps: false
|
|
15
|
+
}
|
|
14
16
|
},
|
|
15
17
|
encode: encodeKTX2BasisTexture
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ktx2-basis-writer.js","names":["VERSION","encodeKTX2BasisTexture","KTX2BasisWriter","name","id","module","version","extensions","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","encode","_TypecheckKTX2TextureWriter"],"sources":["../../src/ktx2-basis-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport type {ImageDataType} from '@loaders.gl/images';\nimport {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';\n\n/** @todo should be in basis sub-object */\nexport type KTX2BasisWriterOptions = {\n useSRGB?: boolean;\n
|
|
1
|
+
{"version":3,"file":"ktx2-basis-writer.js","names":["VERSION","encodeKTX2BasisTexture","KTX2BasisWriter","name","id","module","version","extensions","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","encode","_TypecheckKTX2TextureWriter"],"sources":["../../src/ktx2-basis-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport type {ImageDataType} from '@loaders.gl/images';\nimport {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';\n\n/** @todo should be in basis sub-object */\nexport type KTX2BasisWriterOptions = WriterOptions & {\n ['ktx2-basis-writer']: {\n useSRGB?: boolean;\n qualityLevel?: number;\n encodeUASTC?: boolean;\n mipmaps?: boolean;\n };\n};\n\n/**\n * Basis Universal Supercompressed GPU Texture.\n * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinitionFormat.cmn.md\n */\nexport const KTX2BasisWriter: Writer<ImageDataType, unknown, KTX2BasisWriterOptions> = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n\n extensions: ['ktx2'],\n options: {\n ['ktx2-basis-writer']: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n },\n\n encode: encodeKTX2BasisTexture\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckKTX2TextureWriter: Writer = KTX2BasisWriter;\n"],"mappings":"AAGA,SAAQA,OAAO,QAAO,qBAAqB;AAE3C,SAAQC,sBAAsB,QAAO,0CAA0C;AAgB/E,OAAO,MAAMC,eAAuE,GAAG;EACrFC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEN,OAAO;EAEhBO,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACP,CAAC,mBAAmB,GAAG;MACrBC,OAAO,EAAE,KAAK;MACdC,YAAY,EAAE,EAAE;MAChBC,WAAW,EAAE,KAAK;MAClBC,OAAO,EAAE;IACX;EACF,CAAC;EAEDC,MAAM,EAAEZ;AACV,CAAC;AAGD,OAAO,MAAMa,2BAAmC,GAAGZ,eAAe"}
|
|
@@ -6,7 +6,7 @@ export async function encodeKTX2BasisTexture(image) {
|
|
|
6
6
|
qualityLevel = 10,
|
|
7
7
|
encodeUASTC = false,
|
|
8
8
|
mipmaps = false
|
|
9
|
-
} = options;
|
|
9
|
+
} = (options === null || options === void 0 ? void 0 : options['ktx2-basis-writer']) || {};
|
|
10
10
|
const {
|
|
11
11
|
BasisEncoder
|
|
12
12
|
} = await loadBasisEncoderModule(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode-ktx2-basis-texture.js","names":["loadBasisEncoderModule","encodeKTX2BasisTexture","image","options","arguments","length","undefined","useSRGB","qualityLevel","encodeUASTC","mipmaps","BasisEncoder","basisEncoder","basisFileData","Uint8Array","width","height","setCreateKTX2File","setKTX2UASTCSupercompression","setKTX2SRGBTransferFunc","setSliceSourceImage","data","setPerceptual","setMipSRGB","setQualityLevel","setUASTC","setMipGen","numOutputBytes","encode","actualKTX2FileData","subarray","buffer","error","console","delete"],"sources":["../../../../src/lib/encoders/encode-ktx2-basis-texture.ts"],"sourcesContent":["import type {ImageDataType} from '@loaders.gl/images';\nimport {loadBasisEncoderModule} from '../parsers/basis-module-loader';\n\n/**\n * Encodes image to Basis Universal Supercompressed GPU Texture.\n * Code example is taken from here - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/ktx2_encode_test/index.html#L279\n * BasisEncoder API - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/basis_wrappers.cpp#L1712\n * @param image\n * @param options\n */\nexport async function encodeKTX2BasisTexture(\n image: ImageDataType,\n options: any = {}\n): Promise<ArrayBuffer> {\n // TODO remove default values after writer options will be normalized like it done in load module.\n const {useSRGB = false
|
|
1
|
+
{"version":3,"file":"encode-ktx2-basis-texture.js","names":["loadBasisEncoderModule","encodeKTX2BasisTexture","image","options","arguments","length","undefined","useSRGB","qualityLevel","encodeUASTC","mipmaps","BasisEncoder","basisEncoder","basisFileData","Uint8Array","width","height","setCreateKTX2File","setKTX2UASTCSupercompression","setKTX2SRGBTransferFunc","setSliceSourceImage","data","setPerceptual","setMipSRGB","setQualityLevel","setUASTC","setMipGen","numOutputBytes","encode","actualKTX2FileData","subarray","buffer","error","console","delete"],"sources":["../../../../src/lib/encoders/encode-ktx2-basis-texture.ts"],"sourcesContent":["import type {ImageDataType} from '@loaders.gl/images';\nimport {loadBasisEncoderModule} from '../parsers/basis-module-loader';\n\n/**\n * Encodes image to Basis Universal Supercompressed GPU Texture.\n * Code example is taken from here - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/ktx2_encode_test/index.html#L279\n * BasisEncoder API - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/basis_wrappers.cpp#L1712\n * @param image\n * @param options\n */\nexport async function encodeKTX2BasisTexture(\n image: ImageDataType,\n options: any = {}\n): Promise<ArrayBuffer> {\n // TODO remove default values after writer options will be normalized like it done in load module.\n const {\n useSRGB = false,\n qualityLevel = 10,\n encodeUASTC = false,\n mipmaps = false\n } = options?.['ktx2-basis-writer'] || {};\n const {BasisEncoder} = await loadBasisEncoderModule(options);\n const basisEncoder = new BasisEncoder();\n\n try {\n const basisFileData = new Uint8Array(image.width * image.height * 4);\n basisEncoder.setCreateKTX2File(true);\n basisEncoder.setKTX2UASTCSupercompression(true);\n basisEncoder.setKTX2SRGBTransferFunc(true);\n\n basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);\n basisEncoder.setPerceptual(useSRGB);\n basisEncoder.setMipSRGB(useSRGB);\n basisEncoder.setQualityLevel(qualityLevel);\n basisEncoder.setUASTC(encodeUASTC);\n basisEncoder.setMipGen(mipmaps);\n\n const numOutputBytes = basisEncoder.encode(basisFileData);\n\n const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;\n return actualKTX2FileData;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', error);\n throw error;\n } finally {\n basisEncoder.delete();\n }\n}\n"],"mappings":"AACA,SAAQA,sBAAsB,QAAO,gCAAgC;AASrE,OAAO,eAAeC,sBAAsBA,CAC1CC,KAAoB,EAEE;EAAA,IADtBC,OAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAGjB,MAAM;IACJG,OAAO,GAAG,KAAK;IACfC,YAAY,GAAG,EAAE;IACjBC,WAAW,GAAG,KAAK;IACnBC,OAAO,GAAG;EACZ,CAAC,GAAG,CAAAP,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAG,mBAAmB,CAAC,KAAI,CAAC,CAAC;EACxC,MAAM;IAACQ;EAAY,CAAC,GAAG,MAAMX,sBAAsB,CAACG,OAAO,CAAC;EAC5D,MAAMS,YAAY,GAAG,IAAID,YAAY,CAAC,CAAC;EAEvC,IAAI;IACF,MAAME,aAAa,GAAG,IAAIC,UAAU,CAACZ,KAAK,CAACa,KAAK,GAAGb,KAAK,CAACc,MAAM,GAAG,CAAC,CAAC;IACpEJ,YAAY,CAACK,iBAAiB,CAAC,IAAI,CAAC;IACpCL,YAAY,CAACM,4BAA4B,CAAC,IAAI,CAAC;IAC/CN,YAAY,CAACO,uBAAuB,CAAC,IAAI,CAAC;IAE1CP,YAAY,CAACQ,mBAAmB,CAAC,CAAC,EAAElB,KAAK,CAACmB,IAAI,EAAEnB,KAAK,CAACa,KAAK,EAAEb,KAAK,CAACc,MAAM,EAAE,KAAK,CAAC;IACjFJ,YAAY,CAACU,aAAa,CAACf,OAAO,CAAC;IACnCK,YAAY,CAACW,UAAU,CAAChB,OAAO,CAAC;IAChCK,YAAY,CAACY,eAAe,CAAChB,YAAY,CAAC;IAC1CI,YAAY,CAACa,QAAQ,CAAChB,WAAW,CAAC;IAClCG,YAAY,CAACc,SAAS,CAAChB,OAAO,CAAC;IAE/B,MAAMiB,cAAc,GAAGf,YAAY,CAACgB,MAAM,CAACf,aAAa,CAAC;IAEzD,MAAMgB,kBAAkB,GAAGhB,aAAa,CAACiB,QAAQ,CAAC,CAAC,EAAEH,cAAc,CAAC,CAACI,MAAM;IAC3E,OAAOF,kBAAkB;EAC3B,CAAC,CAAC,OAAOG,KAAK,EAAE;IAEdC,OAAO,CAACD,KAAK,CAAC,6DAA6D,EAAEA,KAAK,CAAC;IACnF,MAAMA,KAAK;EACb,CAAC,SAAS;IACRpB,YAAY,CAACsB,MAAM,CAAC,CAAC;EACvB;AACF"}
|
|
@@ -1,24 +1,27 @@
|
|
|
1
|
-
const VERSION = typeof "4.0.0-alpha.17" !== 'undefined' ? "4.0.0-alpha.17" : 'beta';
|
|
2
1
|
import { loadLibrary } from '@loaders.gl/worker-utils';
|
|
3
|
-
const
|
|
4
|
-
|
|
2
|
+
export const BASIS_EXTERNAL_LIBRARIES = {
|
|
3
|
+
TRANSCODER: 'basis_transcoder.js',
|
|
4
|
+
TRANSCODER_WASM: 'basis_transcoder.wasm',
|
|
5
|
+
ENCODER: 'basis_encoder.js',
|
|
6
|
+
ENCODER_WASM: 'basis_encoder.wasm'
|
|
7
|
+
};
|
|
5
8
|
let loadBasisTranscoderPromise;
|
|
6
|
-
export async function
|
|
9
|
+
export async function loadBasisTranscoderModule(options) {
|
|
7
10
|
const modules = options.modules || {};
|
|
8
11
|
if (modules.basis) {
|
|
9
12
|
return modules.basis;
|
|
10
13
|
}
|
|
11
|
-
loadBasisTranscoderPromise = loadBasisTranscoderPromise ||
|
|
14
|
+
loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
|
|
12
15
|
return await loadBasisTranscoderPromise;
|
|
13
16
|
}
|
|
14
|
-
async function
|
|
17
|
+
async function loadBasisTranscoder(options) {
|
|
15
18
|
let BASIS = null;
|
|
16
19
|
let wasmBinary = null;
|
|
17
|
-
[BASIS, wasmBinary] = await Promise.all([await loadLibrary(
|
|
20
|
+
[BASIS, wasmBinary] = await Promise.all([await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, 'textures', options), await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, 'textures', options)]);
|
|
18
21
|
BASIS = BASIS || globalThis.BASIS;
|
|
19
|
-
return await
|
|
22
|
+
return await initializeBasisTranscoderModule(BASIS, wasmBinary);
|
|
20
23
|
}
|
|
21
|
-
function
|
|
24
|
+
function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
|
|
22
25
|
const options = {};
|
|
23
26
|
if (wasmBinary) {
|
|
24
27
|
options.wasmBinary = wasmBinary;
|
|
@@ -48,7 +51,7 @@ export async function loadBasisEncoderModule(options) {
|
|
|
48
51
|
async function loadBasisEncoder(options) {
|
|
49
52
|
let BASIS_ENCODER = null;
|
|
50
53
|
let wasmBinary = null;
|
|
51
|
-
[BASIS_ENCODER, wasmBinary] = await Promise.all([await loadLibrary(
|
|
54
|
+
[BASIS_ENCODER, wasmBinary] = await Promise.all([await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, 'textures', options), await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, 'textures', options)]);
|
|
52
55
|
BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
|
|
53
56
|
return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
|
|
54
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basis-module-loader.js","names":["
|
|
1
|
+
{"version":3,"file":"basis-module-loader.js","names":["loadLibrary","BASIS_EXTERNAL_LIBRARIES","TRANSCODER","TRANSCODER_WASM","ENCODER","ENCODER_WASM","loadBasisTranscoderPromise","loadBasisTranscoderModule","options","modules","basis","loadBasisTranscoder","BASIS","wasmBinary","Promise","all","globalThis","initializeBasisTranscoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","basisEncoder","loadBasisEncoder","BASIS_ENCODER","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["import {loadLibrary} from '@loaders.gl/worker-utils';\n\nexport const BASIS_EXTERNAL_LIBRARIES = {\n /** Basis transcoder, javascript wrapper part */\n TRANSCODER: 'basis_transcoder.js',\n /** Basis transcoder, compiled web assembly part */\n TRANSCODER_WASM: 'basis_transcoder.wasm',\n /** Basis encoder, javascript wrapper part */\n ENCODER: 'basis_encoder.js',\n /** Basis encoder, compiled web assembly part */\n ENCODER_WASM: 'basis_encoder.wasm'\n};\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTranscoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTranscoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, 'textures', options),\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTranscoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTranscoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, 'textures', options),\n await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { loadLibrary } from '@loaders.gl/worker-utils';
|
|
2
|
+
export const CRUNCH_EXTERNAL_LIBRARIES = {
|
|
3
|
+
DECODER: 'crunch.js'
|
|
4
|
+
};
|
|
2
5
|
export async function loadCrunchModule(options) {
|
|
3
6
|
const modules = options.modules || {};
|
|
4
7
|
if (modules.crunch) {
|
|
@@ -11,7 +14,7 @@ async function loadCrunch(options) {
|
|
|
11
14
|
if (crunchModule) {
|
|
12
15
|
return crunchModule;
|
|
13
16
|
}
|
|
14
|
-
let loadCrunchDecoder = await loadLibrary(
|
|
17
|
+
let loadCrunchDecoder = await loadLibrary(CRUNCH_EXTERNAL_LIBRARIES.DECODER, 'textures', options);
|
|
15
18
|
loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
|
|
16
19
|
crunchModule = loadCrunchDecoder();
|
|
17
20
|
return crunchModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crunch-module-loader.js","names":["loadLibrary","loadCrunchModule","options","modules","crunch","loadCrunch","crunchModule","loadCrunchDecoder","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary(
|
|
1
|
+
{"version":3,"file":"crunch-module-loader.js","names":["loadLibrary","CRUNCH_EXTERNAL_LIBRARIES","DECODER","loadCrunchModule","options","modules","crunch","loadCrunch","crunchModule","loadCrunchDecoder","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nexport const CRUNCH_EXTERNAL_LIBRARIES = {\n /** Crunch decoder library. It is used as dynamically imported script */\n DECODER: 'crunch.js'\n};\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary(CRUNCH_EXTERNAL_LIBRARIES.DECODER, 'textures', options);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;\n crunchModule = loadCrunchDecoder();\n return crunchModule;\n}\n"],"mappings":"AACA,SAAQA,WAAW,QAAO,0BAA0B;AAEpD,OAAO,MAAMC,yBAAyB,GAAG;EAEvCC,OAAO,EAAE;AACX,CAAC;AAOD,OAAO,eAAeC,gBAAgBA,CAACC,OAAO,EAAgB;EAC5D,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;EACrC,IAAIA,OAAO,CAACC,MAAM,EAAE;IAClB,OAAOD,OAAO,CAACC,MAAM;EACvB;EAEA,OAAOC,UAAU,CAACH,OAAO,CAAC;AAC5B;AAEA,IAAII,YAAY;AAOhB,eAAeD,UAAUA,CAACH,OAAO,EAAE;EACjC,IAAII,YAAY,EAAE;IAChB,OAAOA,YAAY;EACrB;EAEA,IAAIC,iBAAiB,GAAG,MAAMT,WAAW,CAACC,yBAAyB,CAACC,OAAO,EAAE,UAAU,EAAEE,OAAO,CAAC;EAIjGK,iBAAiB,GAAGA,iBAAiB,IAAIC,UAAU,CAACC,iBAAiB;EACrEH,YAAY,GAAGC,iBAAiB,CAAC,CAAC;EAClC,OAAOD,YAAY;AACrB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { loadBasisEncoderModule,
|
|
1
|
+
import { loadBasisEncoderModule, loadBasisTranscoderModule } from './basis-module-loader';
|
|
2
2
|
import { GL_EXTENSIONS_CONSTANTS } from '../gl-extensions';
|
|
3
3
|
import { getSupportedGPUTextureFormats } from '../utils/texture-formats';
|
|
4
4
|
import { isKTX } from './parse-ktx';
|
|
@@ -86,7 +86,7 @@ export default async function parseBasis(data, options) {
|
|
|
86
86
|
}
|
|
87
87
|
const {
|
|
88
88
|
BasisFile
|
|
89
|
-
} = await
|
|
89
|
+
} = await loadBasisTranscoderModule(options);
|
|
90
90
|
return parseBasisFile(BasisFile, data, options);
|
|
91
91
|
}
|
|
92
92
|
switch (options.basis.module) {
|
|
@@ -103,7 +103,7 @@ export default async function parseBasis(data, options) {
|
|
|
103
103
|
default:
|
|
104
104
|
const {
|
|
105
105
|
BasisFile
|
|
106
|
-
} = await
|
|
106
|
+
} = await loadBasisTranscoderModule(options);
|
|
107
107
|
return parseBasisFile(BasisFile, data, options);
|
|
108
108
|
}
|
|
109
109
|
}
|