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

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.
@@ -43,7 +43,7 @@
43
43
  );
44
44
  globalThis._loadersgl_.version = NPM_TAG;
45
45
  } else {
46
- globalThis._loadersgl_.version = "4.2.0-alpha.4";
46
+ globalThis._loadersgl_.version = "4.2.0-alpha.5";
47
47
  }
48
48
  }
49
49
  return globalThis._loadersgl_.version;
@@ -136,7 +136,9 @@
136
136
  }
137
137
  getParentPort().then((parentPort2) => {
138
138
  if (parentPort2) {
139
- parentPort2.on("message", handleMessage);
139
+ parentPort2.on("message", (message) => {
140
+ handleMessage(message);
141
+ });
140
142
  parentPort2.on("exit", () => console.debug("Node worker closing"));
141
143
  } else {
142
144
  globalThis.onmessage = handleMessage;
@@ -358,7 +360,7 @@
358
360
  }
359
361
 
360
362
  // src/lib/utils/version.ts
361
- var VERSION2 = true ? "4.2.0-alpha.4" : "latest";
363
+ var VERSION2 = true ? "4.2.0-alpha.5" : "latest";
362
364
 
363
365
  // src/lib/parsers/basis-module-loader.ts
364
366
  var BASIS_EXTERNAL_LIBRARIES = {
@@ -50,7 +50,7 @@
50
50
  );
51
51
  globalThis._loadersgl_.version = NPM_TAG;
52
52
  } else {
53
- globalThis._loadersgl_.version = "4.2.0-alpha.4";
53
+ globalThis._loadersgl_.version = "4.2.0-alpha.5";
54
54
  }
55
55
  }
56
56
  return globalThis._loadersgl_.version;
@@ -143,7 +143,9 @@
143
143
  }
144
144
  getParentPort().then((parentPort2) => {
145
145
  if (parentPort2) {
146
- parentPort2.on("message", handleMessage);
146
+ parentPort2.on("message", (message) => {
147
+ handleMessage(message);
148
+ });
147
149
  parentPort2.on("exit", () => console.debug("Node worker closing"));
148
150
  } else {
149
151
  globalThis.onmessage = handleMessage;
@@ -365,7 +367,7 @@
365
367
  }
366
368
 
367
369
  // src/lib/utils/version.ts
368
- var VERSION2 = true ? "4.2.0-alpha.4" : "latest";
370
+ var VERSION2 = true ? "4.2.0-alpha.5" : "latest";
369
371
 
370
372
  // ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
371
373
  var t = new Uint8Array([0]);
@@ -50,7 +50,7 @@
50
50
  );
51
51
  globalThis._loadersgl_.version = NPM_TAG;
52
52
  } else {
53
- globalThis._loadersgl_.version = "4.2.0-alpha.4";
53
+ globalThis._loadersgl_.version = "4.2.0-alpha.5";
54
54
  }
55
55
  }
56
56
  return globalThis._loadersgl_.version;
@@ -143,7 +143,9 @@
143
143
  }
144
144
  getParentPort().then((parentPort2) => {
145
145
  if (parentPort2) {
146
- parentPort2.on("message", handleMessage);
146
+ parentPort2.on("message", (message) => {
147
+ handleMessage(message);
148
+ });
147
149
  parentPort2.on("exit", () => console.debug("Node worker closing"));
148
150
  } else {
149
151
  globalThis.onmessage = handleMessage;
@@ -365,7 +367,7 @@
365
367
  }
366
368
 
367
369
  // src/lib/utils/version.ts
368
- var VERSION2 = true ? "4.2.0-alpha.4" : "latest";
370
+ var VERSION2 = true ? "4.2.0-alpha.5" : "latest";
369
371
 
370
372
  // src/crunch-loader.ts
371
373
  var CrunchLoader = {
package/dist/dist.min.js CHANGED
@@ -4,7 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['loaders'] = factory();
6
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);})();
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.5";function ar(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-alpha.5"),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{id;props={...Je};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){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.5";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
9
  return __exports__;
10
10
  });
package/dist/index.cjs CHANGED
@@ -43,7 +43,7 @@ __export(dist_exports, {
43
43
  module.exports = __toCommonJS(dist_exports);
44
44
 
45
45
  // dist/lib/utils/version.js
46
- var VERSION = true ? "4.2.0-alpha.4" : "latest";
46
+ var VERSION = true ? "4.2.0-alpha.5" : "latest";
47
47
 
48
48
  // dist/lib/parsers/basis-module-loader.js
49
49
  var import_worker_utils = require("@loaders.gl/worker-utils");