@loaders.gl/textures 4.2.0-alpha.3 → 4.2.0-alpha.5

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.
Files changed (110) hide show
  1. package/dist/basis-loader.js +27 -19
  2. package/dist/basis-worker-node.js +2 -2
  3. package/dist/basis-worker.js +2 -2
  4. package/dist/compressed-texture-loader.js +51 -31
  5. package/dist/compressed-texture-worker.js +2 -2
  6. package/dist/compressed-texture-writer.js +32 -19
  7. package/dist/crunch-loader.js +19 -13
  8. package/dist/crunch-worker.js +2 -2
  9. package/dist/dist.dev.js +326 -212
  10. package/dist/dist.min.js +10 -0
  11. package/dist/index.cjs +41 -60
  12. package/dist/index.cjs.map +7 -0
  13. package/dist/index.d.ts +16 -16
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +21 -13
  16. package/dist/ktx2-basis-writer-worker-node.js +2 -2
  17. package/dist/ktx2-basis-writer-worker.js +2 -2
  18. package/dist/ktx2-basis-writer.js +21 -15
  19. package/dist/lib/encoders/encode-ktx.js +6 -3
  20. package/dist/lib/encoders/encode-ktx2-basis-texture.js +38 -33
  21. package/dist/lib/encoders/encode-texture.d.ts +1 -1
  22. package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
  23. package/dist/lib/encoders/encode-texture.js +23 -9
  24. package/dist/lib/gl-extensions.js +70 -59
  25. package/dist/lib/parsers/basis-module-loader.js +97 -61
  26. package/dist/lib/parsers/crunch-module-loader.js +29 -13
  27. package/dist/lib/parsers/parse-basis.js +217 -205
  28. package/dist/lib/parsers/parse-compressed-texture.js +20 -11
  29. package/dist/lib/parsers/parse-crunch.js +89 -59
  30. package/dist/lib/parsers/parse-dds.js +82 -53
  31. package/dist/lib/parsers/parse-ktx.js +37 -18
  32. package/dist/lib/parsers/parse-npy.js +70 -53
  33. package/dist/lib/parsers/parse-pvr.js +203 -112
  34. package/dist/lib/texture-api/async-deep-map.js +33 -28
  35. package/dist/lib/texture-api/deep-load.js +7 -5
  36. package/dist/lib/texture-api/generate-url.d.ts +1 -1
  37. package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
  38. package/dist/lib/texture-api/generate-url.js +12 -10
  39. package/dist/lib/texture-api/load-image-array.d.ts +1 -1
  40. package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
  41. package/dist/lib/texture-api/load-image-array.js +13 -15
  42. package/dist/lib/texture-api/load-image-cube.d.ts +1 -1
  43. package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
  44. package/dist/lib/texture-api/load-image-cube.js +32 -51
  45. package/dist/lib/texture-api/load-image.d.ts +1 -1
  46. package/dist/lib/texture-api/load-image.d.ts.map +1 -1
  47. package/dist/lib/texture-api/load-image.js +30 -36
  48. package/dist/lib/texture-api/texture-api-types.js +3 -1
  49. package/dist/lib/utils/extract-mipmap-images.js +43 -29
  50. package/dist/lib/utils/ktx-format-helper.js +119 -68
  51. package/dist/lib/utils/texture-formats.js +40 -26
  52. package/dist/lib/utils/version.js +7 -2
  53. package/dist/npy-loader.d.ts +1 -1
  54. package/dist/npy-loader.d.ts.map +1 -1
  55. package/dist/npy-loader.js +24 -15
  56. package/dist/npy-worker.js +1 -1
  57. package/dist/workers/basis-worker-node.js +4 -1
  58. package/dist/workers/basis-worker.js +3 -1
  59. package/dist/workers/compressed-texture-worker.js +4 -1
  60. package/dist/workers/crunch-worker.d.ts +1 -1
  61. package/dist/workers/crunch-worker.d.ts.map +1 -1
  62. package/dist/workers/crunch-worker.js +8 -3
  63. package/dist/workers/ktx2-basis-writer-worker-node.js +23 -26
  64. package/dist/workers/ktx2-basis-writer-worker.js +22 -26
  65. package/dist/workers/npy-worker.js +3 -1
  66. package/package.json +13 -9
  67. package/dist/basis-loader.js.map +0 -1
  68. package/dist/compressed-texture-loader.js.map +0 -1
  69. package/dist/compressed-texture-writer.js.map +0 -1
  70. package/dist/crunch-loader.js.map +0 -1
  71. package/dist/index.js.map +0 -1
  72. package/dist/ktx2-basis-writer.js.map +0 -1
  73. package/dist/lib/encoders/encode-ktx.js.map +0 -1
  74. package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
  75. package/dist/lib/encoders/encode-texture.js.map +0 -1
  76. package/dist/lib/gl-extensions.js.map +0 -1
  77. package/dist/lib/parsers/basis-module-loader.js.map +0 -1
  78. package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
  79. package/dist/lib/parsers/parse-basis.js.map +0 -1
  80. package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
  81. package/dist/lib/parsers/parse-crunch.js.map +0 -1
  82. package/dist/lib/parsers/parse-dds.js.map +0 -1
  83. package/dist/lib/parsers/parse-ktx.js.map +0 -1
  84. package/dist/lib/parsers/parse-npy.js.map +0 -1
  85. package/dist/lib/parsers/parse-pvr.js.map +0 -1
  86. package/dist/lib/texture-api/async-deep-map.js.map +0 -1
  87. package/dist/lib/texture-api/deep-load.js.map +0 -1
  88. package/dist/lib/texture-api/generate-url.js.map +0 -1
  89. package/dist/lib/texture-api/load-image-array.js.map +0 -1
  90. package/dist/lib/texture-api/load-image-cube.js.map +0 -1
  91. package/dist/lib/texture-api/load-image.js.map +0 -1
  92. package/dist/lib/texture-api/texture-api-types.js.map +0 -1
  93. package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
  94. package/dist/lib/utils/ktx-format-helper.js.map +0 -1
  95. package/dist/lib/utils/texture-formats.js.map +0 -1
  96. package/dist/lib/utils/version.js.map +0 -1
  97. package/dist/libs/libs/README.md +0 -9
  98. package/dist/libs/libs/basis_encoder.js +0 -21
  99. package/dist/libs/libs/basis_encoder.wasm +0 -0
  100. package/dist/libs/libs/basis_transcoder.js +0 -22
  101. package/dist/libs/libs/basis_transcoder.wasm +0 -0
  102. package/dist/libs/libs/crunch.js +0 -136
  103. package/dist/npy-loader.js.map +0 -1
  104. package/dist/workers/basis-worker-node.js.map +0 -1
  105. package/dist/workers/basis-worker.js.map +0 -1
  106. package/dist/workers/compressed-texture-worker.js.map +0 -1
  107. package/dist/workers/crunch-worker.js.map +0 -1
  108. package/dist/workers/ktx2-basis-writer-worker-node.js.map +0 -1
  109. package/dist/workers/ktx2-basis-writer-worker.js.map +0 -1
  110. package/dist/workers/npy-worker.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if (typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if (typeof define === 'function' && define.amd) define([], factory);
5
+ else if (typeof exports === 'object') exports['loaders'] = factory();
6
+ else root['loaders'] = factory();})(globalThis, function () {
7
+ "use strict";var __exports__=(()=>{var Qt=Object.create;var k=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,or=Object.prototype.hasOwnProperty;var Ve=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nr=(e,t)=>{for(var r in t)k(e,r,{get:t[r],enumerable:!0})},V=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of tr(t))!or.call(e,s)&&s!==r&&k(e,s,{get:()=>t[s],enumerable:!(o=er(t,s))||o.enumerable});return e},W=(e,t,r)=>(V(e,t,"default"),r&&V(r,t,"default")),se=(e,t,r)=>(r=e!=null?Qt(rr(e)):{},V(t||!e||!e.__esModule?k(r,"default",{value:e,enumerable:!0}):r,e)),sr=e=>V(k({},"__esModule",{value:!0}),e);var We=Ve((Fo,ke)=>{ke.exports=globalThis.loaders});var ie=Ve(()=>{});var v={};nr(v,{BASIS_EXTERNAL_LIBRARIES:()=>G,BasisLoader:()=>ft,BasisWorkerLoader:()=>Re,CRUNCH_EXTERNAL_LIBRARIES:()=>Dt,CompressedTextureLoader:()=>Tt,CompressedTextureWorkerLoader:()=>Te,CompressedTextureWriter:()=>Pt,CrunchLoader:()=>Ce,CrunchWorkerLoader:()=>Ce,GL_EXTENSIONS_CONSTANTS:()=>n,KTX2BasisWriter:()=>Mt,KTX2BasisWriterWorker:()=>Xo,NPYLoader:()=>gt,NPYWorkerLoader:()=>he,getSupportedGPUTextureFormats:()=>j,loadImageTexture:()=>Ft,loadImageTextureArray:()=>Kt,loadImageTextureCube:()=>Vt,selectSupportedBasisFormat:()=>de});W(v,se(We(),1));var m="4.2.0-alpha.4";function ar(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-alpha.4"),globalThis._loadersgl_.version}var ze=ar();function $e(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ko=T.self||T.window||T.global||{},Wo=T.window||T.self||T.global||{},zo=T.global||T.self||T.window||{},$o=T.document||{};var M=typeof process!="object"||String(process)!=="[object process]"||process.browser,z=typeof importScripts=="function",jo=typeof window<"u"&&typeof window.orientation<"u",je=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Zo=je&&parseFloat(je[1])||0;var p={};var ae={};async function w(e,t=null,r={},o=null){return t&&(e=Ze(e,t,r,o)),ae[e]=ae[e]||ir(e),await ae[e]}function Ze(e,t,r={},o=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;o=o||e;let s=r.modules||{};return s[o]?s[o]:M?r.CDN?($e(r.CDN.startsWith("http")),`${r.CDN}/${t}@${ze}/dist/libs/${o}`):z?`../src/libs/${o}`:`modules/${t}/src/libs/${o}`:`modules/${t}/dist/libs/${o}`}async function ir(e){if(e.endsWith("wasm"))return await cr(e);if(!M)try{return p&&void 0&&await(void 0)(e)}catch(r){return console.error(r),null}if(z)return importScripts(e);let t=await fr(e);return _r(t,e)}function _r(e,t){if(!M)return void 0&&(void 0)(e,t);if(z)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function cr(e){return M||!void 0||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await(void 0)(e)}async function fr(e){return M||!void 0||e.startsWith("http")?await(await fetch(e)).text():await(void 0)(e)}var Qe=se(ie(),1);var Ye=se(ie(),1);function qe(e=3e3){return new Promise(t=>{Ye.default.exec("lsof -i -P -n | grep LISTEN",(r,o)=>{if(r){t(e);return}let s=[],a=/:(\d+) \(LISTEN\)/;o.split(`
8
+ `).forEach(_=>{let c=a.exec(_);c&&s.push(Number(c[1]))});let i=e;for(;s.includes(i);)i++;t(i)})})}var Je={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},O=class{constructor({id:t="browser-driver"}={}){this.props={...Je},this.childProcess=null,this.port=0,this.id=t}async start(t){t={...Je,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await qe(t.port)),r.push(t.portArg,String(this.port))),await new Promise((o,s)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),o({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=(void 0)(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",i=>{console.log(i.toString())}),a.stderr.on("data",i=>{console.log(`Child process wrote to stderr: "${i}".`),t.ignoreStderr||(this._clearTimeout(),s(new Error(i)))}),a.on("error",i=>{console.log(`Child process errored with ${i}`),this._clearTimeout(),s(i)}),a.on("close",i=>{console.log(`Child process exited with ${i}`),this.childProcess=null,this._clearTimeout(),o({})})}catch(a){s(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};var G={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},_e;async function fe(e){let t=e.modules||{};return t.basis?t.basis:(_e=_e||lr(e),await _e)}async function lr(e){let t=null,r=null;return[t,r]=await Promise.all([await w(G.TRANSCODER,"textures",e),await w(G.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Sr(t,r)}function Sr(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,initializeBasis:i}=s;i(),o({BasisFile:a})})})}var ce;async function U(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(ce=ce||Er(e),await ce)}async function Er(e){let t=null,r=null;return[t,r]=await Promise.all([await w(G.ENCODER,"textures",e),await w(G.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await ur(t,r)}function ur(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,KTX2File:i,initializeBasis:_,BasisEncoder:c}=s;_(),o({BasisFile:a,KTX2File:i,BasisEncoder:c})})})}var n={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var mr=["","WEBKIT_","MOZ_"],et={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},$=null;function j(e){if(!$){e=e||pr()||void 0,$=new Set;for(let t of mr)for(let r in et)if(e&&e.getExtension(`${t}${r}`)){let o=et[r];$.add(o)}}return $}function pr(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var un=new Uint8Array([0]),S=[171,75,84,88,32,50,48,187,13,10,26,10],le,Se,Ee,Z,tt,ue,rt,ot;(function(e){e[e.NONE=0]="NONE",e[e.BASISLZ=1]="BASISLZ",e[e.ZSTD=2]="ZSTD",e[e.ZLIB=3]="ZLIB"})(le||(le={})),function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(Se||(Se={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(Ee||(Ee={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(Z||(Z={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(tt||(tt={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(ue||(ue={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(rt||(rt={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(ot||(ot={}));var me=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=le.NONE,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:Se.BASICFORMAT,versionNumber:2,descriptorBlockSize:40,colorModel:Ee.UNSPECIFIED,colorPrimaries:Z.SRGB,transferFunction:Z.SRGB,flags:ue.ALPHA_STRAIGHT,texelBlockDimension:{x:4,y:4,z:1,w:1},bytesPlane:[],samples:[]}],this.keyValue={},this.globalData=null}},B=class{constructor(t,r,o,s){this._dataView=new DataView(t.buffer,t.byteOffset+r,o),this._littleEndian=s,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_skip(t){return this._offset+=t,this}_scan(t,r=0){let o=this._offset,s=0;for(;this._dataView.getUint8(this._offset)!==r&&s<t;)s++,this._offset++;return s<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+o,s)}};function nt(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function st(e){let t=new Uint8Array(e.buffer,e.byteOffset,S.length);if(t[0]!==S[0]||t[1]!==S[1]||t[2]!==S[2]||t[3]!==S[3]||t[4]!==S[4]||t[5]!==S[5]||t[6]!==S[6]||t[7]!==S[7]||t[8]!==S[8]||t[9]!==S[9]||t[10]!==S[10]||t[11]!==S[11])throw new Error("Missing KTX 2.0 identifier.");let r=new me,o=17*Uint32Array.BYTES_PER_ELEMENT,s=new B(e,S.length,o,!0);r.vkFormat=s._nextUint32(),r.typeSize=s._nextUint32(),r.pixelWidth=s._nextUint32(),r.pixelHeight=s._nextUint32(),r.pixelDepth=s._nextUint32(),r.layerCount=s._nextUint32(),r.faceCount=s._nextUint32();let a=s._nextUint32();r.supercompressionScheme=s._nextUint32();let i=s._nextUint32(),_=s._nextUint32(),c=s._nextUint32(),l=s._nextUint32(),E=s._nextUint64(),h=s._nextUint64(),oe=new B(e,S.length+o,3*a*8,!0);for(let u=0;u<a;u++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+oe._nextUint64(),oe._nextUint64()),uncompressedByteLength:oe._nextUint64()});let f=new B(e,i,_,!0),ne={vendorId:f._skip(4)._nextUint16(),descriptorType:f._nextUint16(),versionNumber:f._nextUint16(),descriptorBlockSize:f._nextUint16(),colorModel:f._nextUint8(),colorPrimaries:f._nextUint8(),transferFunction:f._nextUint8(),flags:f._nextUint8(),texelBlockDimension:{x:f._nextUint8()+1,y:f._nextUint8()+1,z:f._nextUint8()+1,w:f._nextUint8()+1},bytesPlane:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],samples:[]},kt=(ne.descriptorBlockSize/4-6)/4;for(let u=0;u<kt;u++)ne.samples[u]={bitOffset:f._nextUint16(),bitLength:f._nextUint8(),channelID:f._nextUint8(),samplePosition:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],sampleLower:f._nextUint32(),sampleUpper:f._nextUint32()};r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(ne);let b=new B(e,c,l,!0);for(;b._offset<l;){let u=b._nextUint32(),Fe=b._scan(u),Ke=nt(Fe),ve=b._scan(u-Fe.byteLength);r.keyValue[Ke]=Ke.match(/^ktx/i)?nt(ve):ve,u%4&&b._skip(4-u%4)}if(h<=0)return r;let A=new B(e,E,h,!0),Wt=A._nextUint16(),zt=A._nextUint16(),Ie=A._nextUint32(),be=A._nextUint32(),Ue=A._nextUint32(),$t=A._nextUint32(),Le=[];for(let u=0;u<a;u++)Le.push({imageFlags:A._nextUint32(),rgbSliceByteOffset:A._nextUint32(),rgbSliceByteLength:A._nextUint32(),alphaSliceByteOffset:A._nextUint32(),alphaSliceByteLength:A._nextUint32()});let He=E+A._offset,Xe=He+Ie,Ne=Xe+be,jt=Ne+Ue,Zt=new Uint8Array(e.buffer,e.byteOffset+He,Ie),Yt=new Uint8Array(e.buffer,e.byteOffset+Xe,be),qt=new Uint8Array(e.buffer,e.byteOffset+Ne,Ue),Jt=new Uint8Array(e.buffer,e.byteOffset+jt,$t);return r.globalData={endpointCount:Wt,selectorCount:zt,imageDescs:Le,endpointsData:Zt,selectorsData:Yt,tablesData:qt,extendedData:Jt},r}function y(e,t){let r=new Array(t.mipMapLevels),o=t.width,s=t.height,a=0;for(let i=0;i<t.mipMapLevels;++i){let _=Rr(t,o,s,e,i),c=dr(e,i,a,_);r[i]={compressed:!0,format:t.internalFormat,data:c,width:o,height:s,levelSize:_},o=Math.max(1,o>>1),s=Math.max(1,s>>1),a+=_}return r}function dr(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function Rr(e,t,r,o,s){return Array.isArray(o)?e.sizeFunction(o[s]):e.sizeFunction(t,r)}var Ar={131:n.COMPRESSED_RGB_S3TC_DXT1_EXT,132:n.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:n.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:n.COMPRESSED_RED_RGTC1_EXT,140:n.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:n.COMPRESSED_RED_GREEN_RGTC2_EXT,142:n.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:n.COMPRESSED_RGB8_ETC2,148:n.COMPRESSED_SRGB8_ETC2,149:n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:n.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:n.COMPRESSED_RGBA8_ETC2_EAC,152:n.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:n.COMPRESSED_R11_EAC,154:n.COMPRESSED_SIGNED_R11_EAC,155:n.COMPRESSED_RG11_EAC,156:n.COMPRESSED_SIGNED_RG11_EAC,157:n.COMPRESSED_RGBA_ASTC_4x4_KHR,158:n.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:n.COMPRESSED_RGBA_ASTC_5x4_KHR,160:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:n.COMPRESSED_RGBA_ASTC_5x5_KHR,162:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:n.COMPRESSED_RGBA_ASTC_6x5_KHR,164:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:n.COMPRESSED_RGBA_ASTC_6x6_KHR,166:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:n.COMPRESSED_RGBA_ASTC_8x5_KHR,168:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:n.COMPRESSED_RGBA_ASTC_8x6_KHR,170:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:n.COMPRESSED_RGBA_ASTC_8x8_KHR,172:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:n.COMPRESSED_RGBA_ASTC_10x5_KHR,174:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:n.COMPRESSED_RGBA_ASTC_10x6_KHR,176:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:n.COMPRESSED_RGBA_ASTC_10x8_KHR,178:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:n.COMPRESSED_RGBA_ASTC_10x10_KHR,180:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:n.COMPRESSED_RGBA_ASTC_12x10_KHR,182:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:n.COMPRESSED_RGBA_ASTC_12x12_KHR,184:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:n.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:n.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:n.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:n.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:n.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:n.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:n.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:n.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:n.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:n.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:n.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:n.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:n.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:n.COMPRESSED_RGBA_ASTC_12x12_KHR};function at(e){return Ar[e]}var d=[171,75,84,88,32,50,48,187,13,10,26,10];function Y(e){let t=new Uint8Array(e);return!(t.byteLength<d.length||t[0]!==d[0]||t[1]!==d[1]||t[2]!==d[2]||t[3]!==d[3]||t[4]!==d[4]||t[5]!==d[5]||t[6]!==d[6]||t[7]!==d[7]||t[8]!==d[8]||t[9]!==d[9]||t[10]!==d[10]||t[11]!==d[11])}function it(e){let t=new Uint8Array(e),r=st(t),o=Math.max(1,r.levels.length),s=r.pixelWidth,a=r.pixelHeight,i=at(r.vkFormat);return y(r.levels,{mipMapLevels:o,width:s,height:a,sizeFunction:_=>_.uncompressedByteLength,internalFormat:i})}var xr={etc1:{basisFormat:0,compressed:!0,format:n.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:n.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:n.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:n.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function L(e,t){if(t.basis.containerFormat==="auto"){if(Y(e)){let o=await U(t);return _t(o.KTX2File,e,t)}let{BasisFile:r}=await fe(t);return pe(r,e,t)}switch(t.basis.module){case"encoder":let r=await U(t);switch(t.basis.containerFormat){case"ktx2":return _t(r.KTX2File,e,t);case"basis":default:return pe(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await fe(t);return pe(o,e,t)}}function pe(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("Failed to start basis transcoding");let s=o.getNumImages(),a=[];for(let i=0;i<s;i++){let _=o.getNumLevels(i),c=[];for(let l=0;l<_;l++)c.push(Tr(o,i,l,r));a.push(c)}return a}finally{o.close(),o.delete()}}function Tr(e,t,r,o){let s=e.getImageWidth(t,r),a=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:_,format:c,basisFormat:l}=ct(o,i),E=e.getImageTranscodedSizeInBytes(t,r,l),h=new Uint8Array(E);if(!e.transcodeImage(h,t,r,l,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:a,data:h,compressed:_,format:c,hasAlpha:i}}function _t(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=o.getLevels(),a=[];for(let i=0;i<s;i++){a.push(Cr(o,i,r));break}return[a]}finally{o.close(),o.delete()}}function Cr(e,t,r){let{alphaFlag:o,height:s,width:a}=e.getImageLevelInfo(t,0,0),{compressed:i,format:_,basisFormat:c}=ct(r,o),l=e.getImageTranscodedSizeInBytes(t,0,0,c),E=new Uint8Array(l);if(!e.transcodeImage(E,t,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:s,data:E,compressed:i,levelSize:l,hasAlpha:o,format:_}}function ct(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=de()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),xr[r]}function de(){let e=j();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Re={name:"Basis",id:"basis",module:"textures",version:m,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ft={...Re,parse:L};function C(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var g={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},gr=g.self||g.window||g.global||{},Dr=g.window||g.self||g.global||{},hr=g.global||g.self||g.window||{},Pr=g.document||{};var Ae=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var lt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Br=lt&&parseFloat(lt[1])||0;var Mr="",St={};function xe(e){for(let t in St)if(e.startsWith(t)){let r=St[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Mr}${e}`),e}var R={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},wr={DXT1:n.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":n.COMPRESSED_RGB_ATC_WEBGL,ATCA:n.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:n.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Or=mt,Gr=q,yr=q,Ir={DXT1:mt,DXT3:q,DXT5:q,"ATC ":Or,ATCA:Gr,ATCI:yr};function Et(e){return new Uint32Array(e,0,R.HEADER_LENGTH)[R.MAGIC_NUMBER_INDEX]===R.MAGIC_NUMBER}function ut(e){let t=new Int32Array(e,0,R.HEADER_LENGTH),r=t[R.HEADER_PF_FOURCC_INDEX];C(Boolean(t[R.HEADER_PF_FLAGS_INDEX]&R.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=br(r),s=wr[o],a=Ir[o];C(s&&a,`DDS: Unknown pixel format ${r}`);let i=1;t[R.HEADER_FLAGS_INDEX]&R.DDSD_MIPMAPCOUNT&&(i=Math.max(1,t[R.MIPMAPCOUNT_INDEX]));let _=t[R.HEADER_WIDTH_INDEX],c=t[R.HEADER_HEIGHT_INDEX],l=t[R.HEADER_SIZE_INDEX]+4,E=new Uint8Array(e,l);return y(E,{mipMapLevels:i,width:_,height:c,sizeFunction:a,internalFormat:s})}function mt(e,t){return(e+3>>2)*(t+3>>2)*8}function q(e,t){return(e+3>>2)*(t+3>>2)*16}function br(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var x={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Ur={0:[n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[n.COMPRESSED_RGB_ETC1_WEBGL],7:[n.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[n.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[n.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[n.COMPRESSED_RGB8_ETC2],23:[n.COMPRESSED_RGBA8_ETC2_EAC],24:[n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[n.COMPRESSED_R11_EAC],26:[n.COMPRESSED_RG11_EAC],27:[n.COMPRESSED_RGBA_ASTC_4X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[n.COMPRESSED_RGBA_ASTC_5X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[n.COMPRESSED_RGBA_ASTC_5X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[n.COMPRESSED_RGBA_ASTC_6X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[n.COMPRESSED_RGBA_ASTC_6X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[n.COMPRESSED_RGBA_ASTC_8X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[n.COMPRESSED_RGBA_ASTC_8X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[n.COMPRESSED_RGBA_ASTC_8X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[n.COMPRESSED_RGBA_ASTC_10X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[n.COMPRESSED_RGBA_ASTC_10X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[n.COMPRESSED_RGBA_ASTC_10X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[n.COMPRESSED_RGBA_ASTC_10X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[n.COMPRESSED_RGBA_ASTC_12X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[n.COMPRESSED_RGBA_ASTC_12X12_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Lr={0:pt,1:pt,2:dt,3:dt,6:H,7:H,9:X,11:X,22:H,23:X,24:H,25:H,26:X,27:X,28:Hr,29:Xr,30:Nr,31:Fr,32:Kr,33:vr,34:Vr,35:kr,36:Wr,37:zr,38:$r,39:jr,40:Zr};function Rt(e){let r=new Uint32Array(e,0,x.HEADER_LENGTH)[x.MAGIC_NUMBER_INDEX];return r===x.MAGIC_NUMBER||r===x.MAGIC_NUMBER_EXTRA}function At(e){let t=new Uint32Array(e,0,x.HEADER_LENGTH),r=t[x.PIXEL_FORMAT_INDEX],o=t[x.COLOUR_SPACE_INDEX],s=Ur[r]||[],a=s.length>1&&o?s[1]:s[0],i=Lr[r],_=t[x.MIPMAPCOUNT_INDEX],c=t[x.WIDTH_INDEX],l=t[x.HEIGHT_INDEX],E=x.HEADER_SIZE+t[x.METADATA_SIZE_INDEX],h=new Uint8Array(e,E);return y(h,{mipMapLevels:_,width:c,height:l,sizeFunction:i,internalFormat:a})}function pt(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function dt(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function H(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function X(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Hr(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Xr(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Nr(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Fr(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Kr(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function kr(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Wr(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function zr(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function $r(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function jr(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function Zr(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function xt(e){if(Y(e))return it(e);if(Et(e))return ut(e);if(Rt(e))return At(e);throw new Error("Texture container format not recognized")}var Te={name:"Texture Containers",id:"compressed-texture",module:"textures",version:m,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},Tt={...Te,parse:async(e,t)=>t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await L(e,t))[0]):xt(e)};var Ce={id:"crunch",name:"Crunch",module:"textures",version:m,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{libraryPath:"libs/"}}};var ge=new Uint32Array([305419896]),Yr=new Uint8Array(ge.buffer,ge.byteOffset,ge.byteLength),qr=Yr[0]!==18,Ct=qr,Jr={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function De(e,t){let r=new DataView(e),{header:o,headerEndOffset:s}=Qr(r),a=o.descr,i=Jr[a.slice(1,3)];if(!i)throw new Error(`Unimplemented type ${a}`);let c=o.shape?.reduce((E,h)=>E*h)*i.BYTES_PER_ELEMENT;if(e.byteLength<s+c)throw new Error("Buffer overflow");let l=new i(e.slice(s,s+c));if(a[0]===">"&&Ct||a[0]==="<"&&!Ct)throw new Error("Incorrect endianness");return{data:l,header:o}}function Qr(e){let t=e.getUint8(6),r=8,o;t>=2?(o=e.getUint32(r,!0),r+=4):(o=e.getUint16(r,!0),r+=2);let s=t<=2?"latin1":"utf-8",a=new TextDecoder(s),i=new Uint8Array(e.buffer,r,o),_=a.decode(i);return r+=o,{header:JSON.parse(_.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var eo=new Uint8Array([147,78,85,77,80,89]),he={name:"NPY",id:"npy",module:"textures",version:m,worker:!0,extensions:["npy"],mimeTypes:[],tests:[eo.buffer],options:{npy:{}}},gt={...he,parseSync:De,parse:async(e,t)=>De(e,t)};var Dt={DECODER:"crunch.js"};async function ht(e,t,r){let o=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new O().start({command:"npx",arguments:o,spawn:r}),t}var Pt={name:"DDS Texture Container",id:"dds",module:"textures",version:m,extensions:["dds"],options:{texture:{format:"auto",compression:"auto",quality:"auto",mipmap:!1,flipY:!1,toolFlags:""}},encodeURLtoURL:ht,encode(){throw new Error("Not implemented")}};async function Bt(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:s=!1,mipmaps:a=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:i}=await U(t),_=new i;try{let c=new Uint8Array(e.width*e.height*4);_.setCreateKTX2File(!0),_.setKTX2UASTCSupercompression(!0),_.setKTX2SRGBTransferFunc(!0),_.setSliceSourceImage(0,e.data,e.width,e.height,!1),_.setPerceptual(r),_.setMipSRGB(r),_.setQualityLevel(o),_.setUASTC(s),_.setMipGen(a);let l=_.encode(c);return c.subarray(0,l).buffer}catch(c){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",c),c}finally{_.delete()}}var Mt={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:Bt};var wt="4.2.0-alpha.4";var to=globalThis.loaders?.parseImageNode,Pe=typeof Image<"u",Be=typeof ImageBitmap<"u",ro=Boolean(to),Me=Ae?!0:ro;function Ot(e){switch(e){case"auto":return Be||Pe||Me;case"imagebitmap":return Be;case"image":return Pe;case"data":return Me;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Gt(){if(Be)return"imagebitmap";if(Pe)return"image";if(Me)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function yt(e){let t=oo(e);if(!t)throw new Error("Not an image");return t}function we(e){return J(e)}function J(e){switch(yt(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function oo(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var no=/^data:image\/svg\+xml/,so=/\.svg((\?|#).*)?$/;function Q(e){return e&&(no.test(e)||so.test(e))}function It(e,t){if(Q(t)){let o=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(o=unescape(encodeURIComponent(o)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(o)}`}return Oe(e,t)}function Oe(e,t){if(Q(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function ee(e,t,r){let o=It(e,r),s=self.URL||self.webkitURL,a=typeof o!="string"&&s.createObjectURL(o);try{return await ao(a||o,t)}finally{a&&s.revokeObjectURL(a)}}async function ao(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((o,s)=>{try{r.onload=()=>o(r),r.onerror=a=>{let i=a instanceof Error?a.message:"error";s(new Error(i))}}catch(a){s(a)}})}var io={},bt=!0;async function Ut(e,t,r){let o;Q(r)?o=await ee(e,t,r):o=Oe(e,r);let s=t&&t.imagebitmap;return await _o(o,s)}async function _o(e,t=null){if((co(t)||!bt)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),bt=!1}return await createImageBitmap(e)}function co(e){for(let t in e||io)return!1;return!0}function Lt(e){return!Eo(e,"ftyp",4)||!(e[8]&96)?null:fo(e)}function fo(e){switch(lo(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function lo(e,t,r){return String.fromCharCode(...e.slice(t,r))}function So(e){return[...e].map(t=>t.charCodeAt(0))}function Eo(e,t,r=0){let o=So(t);for(let s=0;s<o.length;++s)if(o[s]!==e[s+r])return!1;return!0}var D=!1,N=!0;function te(e){let t=F(e);return mo(t)||Ao(t)||po(t)||Ro(t)||uo(t)}function uo(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Lt(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function mo(e){let t=F(e);return t.byteLength>=24&&t.getUint32(0,D)===2303741511?{mimeType:"image/png",width:t.getUint32(16,D),height:t.getUint32(20,D)}:null}function po(e){let t=F(e);return t.byteLength>=10&&t.getUint32(0,D)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,N),height:t.getUint16(8,N)}:null}function Ro(e){let t=F(e);return t.byteLength>=14&&t.getUint16(0,D)===16973&&t.getUint32(2,N)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,N),height:t.getUint32(22,N)}:null}function Ao(e){let t=F(e);if(!(t.byteLength>=3&&t.getUint16(0,D)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:s}=xo(),a=2;for(;a+9<t.byteLength;){let i=t.getUint16(a,D);if(s.has(i))return{mimeType:"image/jpeg",height:t.getUint16(a+5,D),width:t.getUint16(a+7,D)};if(!o.has(i))return null;a+=2,a+=t.getUint16(a,D)}return null}function xo(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function F(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Ht(e,t){let{mimeType:r}=te(e)||{},o=globalThis.loaders?.parseImageNode;return C(o),await o(e,r)}async function Xt(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:a}=r||{},i=To(s),_;switch(i){case"imagebitmap":_=await Ut(e,t,a);break;case"image":_=await ee(e,t,a);break;case"data":_=await Ht(e,t);break;default:C(!1)}return s==="data"&&(_=J(_)),_}function To(e){switch(e){case"auto":case"data":return Gt();default:return Ot(e),e}}var Co=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],go=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Do={image:{type:"auto",decode:!0}},P={id:"image",module:"images",name:"Images",version:wt,mimeTypes:go,extensions:Co,parse:Xt,tests:[e=>Boolean(te(new DataView(e)))],options:Do};function re(e,t,r){let o=typeof e=="function"?e({...t,...r}):e,s=t.baseUrl;return s&&(o=s[s.length-1]==="/"?`${s}${o}`:`${s}/${o}`),xe(o)}var ho=e=>e&&typeof e=="object";async function Nt(e,t,r={}){return await Ge(e,t,r)}async function Ge(e,t,r){return Array.isArray(e)?await Bo(e,t,r):ho(e)?await Po(e,t,r):await t(e,r)}async function Po(e,t,r){let o=[],s={};for(let a in e){let i=e[a],_=Ge(i,t,r).then(c=>{s[a]=c});o.push(_)}return await Promise.all(o),s}async function Bo(e,t,r={}){let o=e.map(s=>Ge(s,t,r));return await Promise.all(o)}async function I(e,t,r){return await Nt(e,o=>ye(o,t,r))}async function ye(e,t,r){let s=await(await fetch(e,r.fetch)).arrayBuffer();return await t(s,r)}async function Ft(e,t={}){let r=await K(e,t);return await I(r,P.parse,t)}async function K(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await Mo(e,o,t,r):re(e,t,r)}async function Mo(e,t,r,o){let s=[];if(t==="auto"){let a=re(e,r,{...o,lod:0}),i=await ye(a,P.parse,r),{width:_,height:c}=we(i);t=wo({width:_,height:c}),s.push(a)}C(t>0);for(let a=s.length;a<t;++a){let i=re(e,r,{...o,lod:a});s.push(i)}return s}function wo(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function Kt(e,t,r={}){let o=await Oo(e,t,r);return await I(o,P.parse,r)}async function Oo(e,t,r={}){let o=[];for(let s=0;s<e;s++){let a=K(t,r,{index:s});o.push(a)}return await Promise.all(o)}var Go=34069,yo=34070,Io=34071,bo=34072,Uo=34073,Lo=34074,vt=[{face:Go,direction:"right",axis:"x",sign:"positive"},{face:yo,direction:"left",axis:"x",sign:"negative"},{face:Io,direction:"top",axis:"y",sign:"positive"},{face:bo,direction:"bottom",axis:"y",sign:"negative"},{face:Uo,direction:"front",axis:"z",sign:"positive"},{face:Lo,direction:"back",axis:"z",sign:"negative"}];async function Ho(e,t){let r={},o=[],s=0;for(let a=0;a<vt.length;++a){let i=vt[s],_=K(e,t,{...i,index:s++}).then(c=>{r[i.face]=c});o.push(_)}return await Promise.all(o),r}async function Vt(e,t={}){let r=await Ho(e,t);return await I(r,P.parse,t)}var Xo={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};return sr(v);})();
9
+ return __exports__;
10
+ });
package/dist/index.cjs CHANGED
@@ -17,9 +17,9 @@ var __copyProps = (to, from, except, desc) => {
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
 
20
- // src/index.ts
21
- var src_exports = {};
22
- __export(src_exports, {
20
+ // dist/index.js
21
+ var dist_exports = {};
22
+ __export(dist_exports, {
23
23
  BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
24
24
  BasisLoader: () => BasisLoader,
25
25
  BasisWorkerLoader: () => BasisWorkerLoader,
@@ -40,12 +40,12 @@ __export(src_exports, {
40
40
  loadImageTextureCube: () => loadImageTextureCube,
41
41
  selectSupportedBasisFormat: () => selectSupportedBasisFormat
42
42
  });
43
- module.exports = __toCommonJS(src_exports);
43
+ module.exports = __toCommonJS(dist_exports);
44
44
 
45
- // src/lib/utils/version.ts
46
- var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
45
+ // dist/lib/utils/version.js
46
+ var VERSION = true ? "4.2.0-alpha.4" : "latest";
47
47
 
48
- // src/lib/parsers/basis-module-loader.ts
48
+ // dist/lib/parsers/basis-module-loader.js
49
49
  var import_worker_utils = require("@loaders.gl/worker-utils");
50
50
  var BASIS_EXTERNAL_LIBRARIES = {
51
51
  /** Basis transcoder, javascript wrapper part */
@@ -122,7 +122,7 @@ function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
122
122
  });
123
123
  }
124
124
 
125
- // src/lib/gl-extensions.ts
125
+ // dist/lib/gl-extensions.js
126
126
  var GL_EXTENSIONS_CONSTANTS = {
127
127
  // WEBGL_compressed_texture_s3tc
128
128
  COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
@@ -192,7 +192,7 @@ var GL_EXTENSIONS_CONSTANTS = {
192
192
  COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
193
193
  };
194
194
 
195
- // src/lib/utils/texture-formats.ts
195
+ // dist/lib/utils/texture-formats.js
196
196
  var BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
197
197
  var WEBGL_EXTENSIONS = {
198
198
  /* eslint-disable camelcase */
@@ -231,10 +231,10 @@ function getWebGLContext() {
231
231
  }
232
232
  }
233
233
 
234
- // src/lib/parsers/parse-ktx.ts
234
+ // dist/lib/parsers/parse-ktx.js
235
235
  var import_ktx_parse = require("ktx-parse");
236
236
 
237
- // src/lib/utils/extract-mipmap-images.ts
237
+ // dist/lib/utils/extract-mipmap-images.js
238
238
  function extractMipmapImages(data, options) {
239
239
  const images = new Array(options.mipMapLevels);
240
240
  let levelWidth = options.width;
@@ -270,7 +270,7 @@ function getLevelSize(options, levelWidth, levelHeight, data, index) {
270
270
  return options.sizeFunction(data[index]);
271
271
  }
272
272
 
273
- // src/lib/utils/ktx-format-helper.ts
273
+ // dist/lib/utils/ktx-format-helper.js
274
274
  var VULKAN_TO_WEBGL_FORMAT_MAP = {
275
275
  131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
276
276
  132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
@@ -385,7 +385,7 @@ function mapVkFormatToWebGL(vkFormat) {
385
385
  return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];
386
386
  }
387
387
 
388
- // src/lib/parsers/parse-ktx.ts
388
+ // dist/lib/parsers/parse-ktx.js
389
389
  var KTX2_ID = [
390
390
  // '´', 'K', 'T', 'X', '2', '0', 'ª', '\r', '\n', '\x1A', '\n'
391
391
  171,
@@ -433,7 +433,7 @@ function parseKTX(arrayBuffer) {
433
433
  });
434
434
  }
435
435
 
436
- // src/lib/parsers/parse-basis.ts
436
+ // dist/lib/parsers/parse-basis.js
437
437
  var OutputFormat = {
438
438
  etc1: {
439
439
  basisFormat: 0,
@@ -569,12 +569,7 @@ function parseKTX2File(KTX2File, data, options) {
569
569
  function transcodeKTX2Image(ktx2File, levelIndex, options) {
570
570
  const { alphaFlag, height, width } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
571
571
  const { compressed, format, basisFormat } = getBasisOptions(options, alphaFlag);
572
- const decodedSize = ktx2File.getImageTranscodedSizeInBytes(
573
- levelIndex,
574
- 0,
575
- 0,
576
- basisFormat
577
- );
572
+ const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
578
573
  const decodedData = new Uint8Array(decodedSize);
579
574
  if (!ktx2File.transcodeImage(
580
575
  decodedData,
@@ -634,7 +629,7 @@ function selectSupportedBasisFormat() {
634
629
  return "rgb565";
635
630
  }
636
631
 
637
- // src/basis-loader.ts
632
+ // dist/basis-loader.js
638
633
  var BasisWorkerLoader = {
639
634
  name: "Basis",
640
635
  id: "basis",
@@ -662,7 +657,7 @@ var BasisLoader = {
662
657
  parse: parseBasis
663
658
  };
664
659
 
665
- // src/lib/parsers/parse-dds.ts
660
+ // dist/lib/parsers/parse-dds.js
666
661
  var import_loader_utils = require("@loaders.gl/loader-utils");
667
662
  var DDS_CONSTANTS = {
668
663
  MAGIC_NUMBER: 542327876,
@@ -705,10 +700,7 @@ function isDDS(data) {
705
700
  function parseDDS(data) {
706
701
  const header = new Int32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);
707
702
  const pixelFormatNumber = header[DDS_CONSTANTS.HEADER_PF_FOURCC_INDEX];
708
- (0, import_loader_utils.assert)(
709
- Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC),
710
- "DDS: Unsupported format, must contain a FourCC code"
711
- );
703
+ (0, import_loader_utils.assert)(Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC), "DDS: Unsupported format, must contain a FourCC code");
712
704
  const fourCC = int32ToFourCC(pixelFormatNumber);
713
705
  const internalFormat = DDS_PIXEL_FORMATS[fourCC];
714
706
  const sizeFunction = DDS_SIZE_FUNCTIONS[fourCC];
@@ -736,15 +728,10 @@ function getDxtXLevelSize(width, height) {
736
728
  return (width + 3 >> 2) * (height + 3 >> 2) * 16;
737
729
  }
738
730
  function int32ToFourCC(value) {
739
- return String.fromCharCode(
740
- value & 255,
741
- value >> 8 & 255,
742
- value >> 16 & 255,
743
- value >> 24 & 255
744
- );
731
+ return String.fromCharCode(value & 255, value >> 8 & 255, value >> 16 & 255, value >> 24 & 255);
745
732
  }
746
733
 
747
- // src/lib/parsers/parse-pvr.ts
734
+ // dist/lib/parsers/parse-pvr.js
748
735
  var PVR_CONSTANTS = {
749
736
  MAGIC_NUMBER: 55727696,
750
737
  MAGIC_NUMBER_EXTRA: 1347834371,
@@ -939,7 +926,7 @@ function atc12x12Size(width, height) {
939
926
  return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;
940
927
  }
941
928
 
942
- // src/lib/parsers/parse-compressed-texture.ts
929
+ // dist/lib/parsers/parse-compressed-texture.js
943
930
  function parseCompressedTexture(data) {
944
931
  if (isKTX(data)) {
945
932
  return parseKTX(data);
@@ -953,7 +940,7 @@ function parseCompressedTexture(data) {
953
940
  throw new Error("Texture container format not recognized");
954
941
  }
955
942
 
956
- // src/compressed-texture-loader.ts
943
+ // dist/compressed-texture-loader.js
957
944
  var CompressedTextureWorkerLoader = {
958
945
  name: "Texture Containers",
959
946
  id: "compressed-texture",
@@ -1005,7 +992,7 @@ var CompressedTextureLoader = {
1005
992
  }
1006
993
  };
1007
994
 
1008
- // src/crunch-loader.ts
995
+ // dist/crunch-loader.js
1009
996
  var CrunchLoader = {
1010
997
  id: "crunch",
1011
998
  name: "Crunch",
@@ -1022,7 +1009,7 @@ var CrunchLoader = {
1022
1009
  }
1023
1010
  };
1024
1011
 
1025
- // src/lib/parsers/parse-npy.ts
1012
+ // dist/lib/parsers/parse-npy.js
1026
1013
  var a = new Uint32Array([305419896]);
1027
1014
  var b = new Uint8Array(a.buffer, a.byteOffset, a.byteLength);
1028
1015
  var isLittleEndian = !(b[0] === 18);
@@ -1076,13 +1063,11 @@ function parseHeader(view) {
1076
1063
  const headerArray = new Uint8Array(view.buffer, offset, headerLength);
1077
1064
  const headerText = decoder.decode(headerArray);
1078
1065
  offset += headerLength;
1079
- const header = JSON.parse(
1080
- headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]")
1081
- );
1066
+ const header = JSON.parse(headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]"));
1082
1067
  return { header, headerEndOffset: offset };
1083
1068
  }
1084
1069
 
1085
- // src/npy-loader.ts
1070
+ // dist/npy-loader.js
1086
1071
  var NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);
1087
1072
  var NPYWorkerLoader = {
1088
1073
  name: "NPY",
@@ -1103,14 +1088,14 @@ var NPYLoader = {
1103
1088
  parse: async (arrayBuffer, options) => parseNPY(arrayBuffer, options)
1104
1089
  };
1105
1090
 
1106
- // src/lib/parsers/crunch-module-loader.ts
1091
+ // dist/lib/parsers/crunch-module-loader.js
1107
1092
  var import_worker_utils2 = require("@loaders.gl/worker-utils");
1108
1093
  var CRUNCH_EXTERNAL_LIBRARIES = {
1109
1094
  /** Crunch decoder library. It is used as dynamically imported script */
1110
1095
  DECODER: "crunch.js"
1111
1096
  };
1112
1097
 
1113
- // src/lib/encoders/encode-texture.ts
1098
+ // dist/lib/encoders/encode-texture.js
1114
1099
  var import_worker_utils3 = require("@loaders.gl/worker-utils");
1115
1100
  async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
1116
1101
  const args = [
@@ -1136,7 +1121,7 @@ async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options
1136
1121
  return outputUrl;
1137
1122
  }
1138
1123
 
1139
- // src/compressed-texture-writer.ts
1124
+ // dist/compressed-texture-writer.js
1140
1125
  var CompressedTextureWriter = {
1141
1126
  name: "DDS Texture Container",
1142
1127
  id: "dds",
@@ -1159,14 +1144,9 @@ var CompressedTextureWriter = {
1159
1144
  }
1160
1145
  };
1161
1146
 
1162
- // src/lib/encoders/encode-ktx2-basis-texture.ts
1147
+ // dist/lib/encoders/encode-ktx2-basis-texture.js
1163
1148
  async function encodeKTX2BasisTexture(image, options = {}) {
1164
- const {
1165
- useSRGB = false,
1166
- qualityLevel = 10,
1167
- encodeUASTC = false,
1168
- mipmaps = false
1169
- } = (options == null ? void 0 : options["ktx2-basis-writer"]) || {};
1149
+ const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = (options == null ? void 0 : options["ktx2-basis-writer"]) || {};
1170
1150
  const { BasisEncoder } = await loadBasisEncoderModule(options);
1171
1151
  const basisEncoder = new BasisEncoder();
1172
1152
  try {
@@ -1191,7 +1171,7 @@ async function encodeKTX2BasisTexture(image, options = {}) {
1191
1171
  }
1192
1172
  }
1193
1173
 
1194
- // src/ktx2-basis-writer.ts
1174
+ // dist/ktx2-basis-writer.js
1195
1175
  var KTX2BasisWriter = {
1196
1176
  name: "Basis Universal Supercompressed GPU Texture",
1197
1177
  id: "ktx2-basis-writer",
@@ -1209,11 +1189,11 @@ var KTX2BasisWriter = {
1209
1189
  encode: encodeKTX2BasisTexture
1210
1190
  };
1211
1191
 
1212
- // src/lib/texture-api/load-image.ts
1192
+ // dist/lib/texture-api/load-image.js
1213
1193
  var import_loader_utils3 = require("@loaders.gl/loader-utils");
1214
1194
  var import_images = require("@loaders.gl/images");
1215
1195
 
1216
- // src/lib/texture-api/generate-url.ts
1196
+ // dist/lib/texture-api/generate-url.js
1217
1197
  var import_loader_utils2 = require("@loaders.gl/loader-utils");
1218
1198
  function generateUrl(getUrl, options, urlOptions) {
1219
1199
  let url = typeof getUrl === "function" ? getUrl({ ...options, ...urlOptions }) : getUrl;
@@ -1224,7 +1204,7 @@ function generateUrl(getUrl, options, urlOptions) {
1224
1204
  return (0, import_loader_utils2.resolvePath)(url);
1225
1205
  }
1226
1206
 
1227
- // src/lib/texture-api/async-deep-map.ts
1207
+ // dist/lib/texture-api/async-deep-map.js
1228
1208
  var isObject = (value) => value && typeof value === "object";
1229
1209
  async function asyncDeepMap(tree, func, options = {}) {
1230
1210
  return await mapSubtree(tree, func, options);
@@ -1257,7 +1237,7 @@ async function mapArray(urlArray, func, options = {}) {
1257
1237
  return await Promise.all(promises);
1258
1238
  }
1259
1239
 
1260
- // src/lib/texture-api/deep-load.ts
1240
+ // dist/lib/texture-api/deep-load.js
1261
1241
  async function deepLoad(urlTree, load, options) {
1262
1242
  return await asyncDeepMap(urlTree, (url) => shallowLoad(url, load, options));
1263
1243
  }
@@ -1267,7 +1247,7 @@ async function shallowLoad(url, load, options) {
1267
1247
  return await load(arrayBuffer, options);
1268
1248
  }
1269
1249
 
1270
- // src/lib/texture-api/load-image.ts
1250
+ // dist/lib/texture-api/load-image.js
1271
1251
  async function loadImageTexture(getUrl, options = {}) {
1272
1252
  const imageUrls = await getImageUrls(getUrl, options);
1273
1253
  return await deepLoad(imageUrls, import_images.ImageLoader.parse, options);
@@ -1296,7 +1276,7 @@ function getMipLevels(size) {
1296
1276
  return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
1297
1277
  }
1298
1278
 
1299
- // src/lib/texture-api/load-image-array.ts
1279
+ // dist/lib/texture-api/load-image-array.js
1300
1280
  var import_images2 = require("@loaders.gl/images");
1301
1281
  async function loadImageTextureArray(count, getUrl, options = {}) {
1302
1282
  const imageUrls = await getImageArrayUrls(count, getUrl, options);
@@ -1311,7 +1291,7 @@ async function getImageArrayUrls(count, getUrl, options = {}) {
1311
1291
  return await Promise.all(promises);
1312
1292
  }
1313
1293
 
1314
- // src/lib/texture-api/load-image-cube.ts
1294
+ // dist/lib/texture-api/load-image-cube.js
1315
1295
  var import_images3 = require("@loaders.gl/images");
1316
1296
  var GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069;
1317
1297
  var GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070;
@@ -1346,7 +1326,7 @@ async function loadImageTextureCube(getUrl, options = {}) {
1346
1326
  return await deepLoad(urls, import_images3.ImageLoader.parse, options);
1347
1327
  }
1348
1328
 
1349
- // src/index.ts
1329
+ // dist/index.js
1350
1330
  var KTX2BasisWriterWorker = {
1351
1331
  name: "Basis Universal Supercompressed GPU Texture",
1352
1332
  id: "ktx2-basis-writer",
@@ -1361,3 +1341,4 @@ var KTX2BasisWriterWorker = {
1361
1341
  mipmaps: false
1362
1342
  }
1363
1343
  };
1344
+ //# sourceMappingURL=index.cjs.map