@loaders.gl/textures 4.3.0-alpha.2 → 4.3.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/basis-worker-node.js +8961 -11052
- package/dist/basis-worker.js +2 -31
- package/dist/compressed-texture-worker.js +253 -98
- package/dist/crunch-worker.js +2 -2
- package/dist/dist.dev.js +268 -113
- package/dist/dist.min.js +2 -2
- package/dist/index.cjs +1 -2
- package/dist/index.cjs.map +2 -2
- package/dist/ktx2-basis-writer-worker-node.js +8890 -10804
- package/dist/ktx2-basis-writer-worker.js +2 -2
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +0 -1
- package/dist/lib/utils/version.js +1 -1
- package/dist/npy-worker.js +1 -1
- package/package.json +7 -7
- package/src/lib/parsers/parse-basis.ts +0 -1
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
|
|
8
|
-
`).forEach(c=>{let _=a.exec(c);_&&s.push(Number(_[1]))});let i=e;for(;s.includes(i);)i++;t(i)})})}var Qe={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},w=class{id;props={...Qe};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Qe,...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 dr="",tt={};function le(e){for(let t in tt)if(e.startsWith(t)){let r=tt[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${dr}${e}`),e}var y={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},rt;async function Se(e){ae(e.modules);let t=ie("basis");return t||(rt||=Rr(e),await rt)}async function Rr(e){let t=null,r=null;return[t,r]=await Promise.all([await M(y.TRANSCODER,"textures",e),await M(y.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Ar(t,r)}function Ar(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 fe;async function b(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(fe=fe||xr(e),await fe)}async function xr(e){let t=null,r=null;return[t,r]=await Promise.all([await M(y.ENCODER,"textures",e),await M(y.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Tr(t,r)}function Tr(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,KTX2File:i,initializeBasis:c,BasisEncoder:_}=s;c(),o({BasisFile:a,KTX2File:i,BasisEncoder:_})})})}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 Cr=["","WEBKIT_","MOZ_"],ot={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"},z=null;function $(e){if(!z){e=e||gr()||void 0,z=new Set;for(let t of Cr)for(let r in ot)if(e&&e.getExtension(`${t}${r}`)){let o=ot[r];z.add(o)}}return z}function gr(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var On=new Uint8Array([0]),S=[171,75,84,88,32,50,48,187,13,10,26,10],ue,Ee,me,j,nt,pe,st,at;(function(e){e[e.NONE=0]="NONE",e[e.BASISLZ=1]="BASISLZ",e[e.ZSTD=2]="ZSTD",e[e.ZLIB=3]="ZLIB"})(ue||(ue={})),function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(Ee||(Ee={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(me||(me={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(j||(j={})),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"}(nt||(nt={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(pe||(pe={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(st||(st={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(at||(at={}));var de=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=ue.NONE,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:Ee.BASICFORMAT,versionNumber:2,descriptorBlockSize:40,colorModel:me.UNSPECIFIED,colorPrimaries:j.SRGB,transferFunction:j.SRGB,flags:pe.ALPHA_STRAIGHT,texelBlockDimension:{x:4,y:4,z:1,w:1},bytesPlane:[],samples:[]}],this.keyValue={},this.globalData=null}},P=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 it(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function ct(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 de,o=17*Uint32Array.BYTES_PER_ELEMENT,s=new P(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(),c=s._nextUint32(),_=s._nextUint32(),f=s._nextUint32(),u=s._nextUint64(),h=s._nextUint64(),re=new P(e,S.length+o,3*a*8,!0);for(let E=0;E<a;E++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+re._nextUint64(),re._nextUint64()),uncompressedByteLength:re._nextUint64()});let l=new P(e,i,c,!0),oe={vendorId:l._skip(4)._nextUint16(),descriptorType:l._nextUint16(),versionNumber:l._nextUint16(),descriptorBlockSize:l._nextUint16(),colorModel:l._nextUint8(),colorPrimaries:l._nextUint8(),transferFunction:l._nextUint8(),flags:l._nextUint8(),texelBlockDimension:{x:l._nextUint8()+1,y:l._nextUint8()+1,z:l._nextUint8()+1,w:l._nextUint8()+1},bytesPlane:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],samples:[]},Wt=(oe.descriptorBlockSize/4-6)/4;for(let E=0;E<Wt;E++)oe.samples[E]={bitOffset:l._nextUint16(),bitLength:l._nextUint8(),channelID:l._nextUint8(),samplePosition:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],sampleLower:l._nextUint32(),sampleUpper:l._nextUint32()};r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(oe);let I=new P(e,_,f,!0);for(;I._offset<f;){let E=I._nextUint32(),Fe=I._scan(E),Ke=it(Fe),ve=I._scan(E-Fe.byteLength);r.keyValue[Ke]=Ke.match(/^ktx/i)?it(ve):ve,E%4&&I._skip(4-E%4)}if(h<=0)return r;let R=new P(e,u,h,!0),zt=R._nextUint16(),$t=R._nextUint16(),Ie=R._nextUint32(),be=R._nextUint32(),Ue=R._nextUint32(),jt=R._nextUint32(),Le=[];for(let E=0;E<a;E++)Le.push({imageFlags:R._nextUint32(),rgbSliceByteOffset:R._nextUint32(),rgbSliceByteLength:R._nextUint32(),alphaSliceByteOffset:R._nextUint32(),alphaSliceByteLength:R._nextUint32()});let He=u+R._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),Qt=new Uint8Array(e.buffer,e.byteOffset+Jt,jt);return r.globalData={endpointCount:zt,selectorCount:$t,imageDescs:Le,endpointsData:Zt,selectorsData:Yt,tablesData:qt,extendedData:Qt},r}function O(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 c=Dr(t,o,s,e,i),_=hr(e,i,a,c);r[i]={compressed:!0,format:t.internalFormat,data:_,width:o,height:s,levelSize:c},o=Math.max(1,o>>1),s=Math.max(1,s>>1),a+=c}return r}function hr(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function Dr(e,t,r,o,s){return Array.isArray(o)?e.sizeFunction(o[s]):e.sizeFunction(t,r)}var Pr={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 _t(e){return Pr[e]}var p=[171,75,84,88,32,50,48,187,13,10,26,10];function J(e){let t=new Uint8Array(e);return!(t.byteLength<p.length||t[0]!==p[0]||t[1]!==p[1]||t[2]!==p[2]||t[3]!==p[3]||t[4]!==p[4]||t[5]!==p[5]||t[6]!==p[6]||t[7]!==p[7]||t[8]!==p[8]||t[9]!==p[9]||t[10]!==p[10]||t[11]!==p[11])}function lt(e){let t=new Uint8Array(e),r=ct(t),o=Math.max(1,r.levels.length),s=r.pixelWidth,a=r.pixelHeight,i=_t(r.vkFormat);return O(r.levels,{mipMapLevels:o,width:s,height:a,sizeFunction:c=>c.uncompressedByteLength,internalFormat:i})}var Br={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 U(e,t){if(t.basis.containerFormat==="auto"){if(J(e)){let o=await b(t);return ft(o.KTX2File,e,t)}let{BasisFile:r}=await Se(t);return Re(r,e,t)}switch(t.basis.module){case"encoder":let r=await b(t);switch(t.basis.containerFormat){case"ktx2":return ft(r.KTX2File,e,t);case"basis":default:return Re(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await Se(t);return Re(o,e,t)}}function Re(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 c=o.getNumLevels(i),_=[];for(let f=0;f<c;f++)_.push(Mr(o,i,f,r));a.push(_)}return a}finally{o.close(),o.delete()}}function Mr(e,t,r,o){let s=e.getImageWidth(t,r),a=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:c,format:_,basisFormat:f}=St(o,i),u=e.getImageTranscodedSizeInBytes(t,r,f),h=new Uint8Array(u);if(!e.transcodeImage(h,t,r,f,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:a,data:h,compressed:c,format:_,hasAlpha:i}}function ft(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(wr(o,i,r));break}return[a]}finally{o.close(),o.delete()}}function wr(e,t,r){let{alphaFlag:o,height:s,width:a}=e.getImageLevelInfo(t,0,0),{compressed:i,format:c,basisFormat:_}=St(r,o),f=e.getImageTranscodedSizeInBytes(t,0,0,_),u=new Uint8Array(f);if(!e.transcodeImage(u,t,0,0,_,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:s,data:u,compressed:i,levelSize:f,hasAlpha:o,format:c}}function St(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=Ae()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Br[r]}function Ae(){let e=$();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 xe={dataType:null,batchType:null,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"}}},ut={...xe,parse:U};var d={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},yr={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=pt,Gr=Z,Ir=Z,br={DXT1:pt,DXT3:Z,DXT5:Z,"ATC ":Or,ATCA:Gr,ATCI:Ir};function Et(e){return new Uint32Array(e,0,d.HEADER_LENGTH)[d.MAGIC_NUMBER_INDEX]===d.MAGIC_NUMBER}function mt(e){let t=new Int32Array(e,0,d.HEADER_LENGTH),r=t[d.HEADER_PF_FOURCC_INDEX];x(Boolean(t[d.HEADER_PF_FLAGS_INDEX]&d.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=Ur(r),s=yr[o],a=br[o];x(s&&a,`DDS: Unknown pixel format ${r}`);let i=1;t[d.HEADER_FLAGS_INDEX]&d.DDSD_MIPMAPCOUNT&&(i=Math.max(1,t[d.MIPMAPCOUNT_INDEX]));let c=t[d.HEADER_WIDTH_INDEX],_=t[d.HEADER_HEIGHT_INDEX],f=t[d.HEADER_SIZE_INDEX]+4,u=new Uint8Array(e,f);return O(u,{mipMapLevels:i,width:c,height:_,sizeFunction:a,internalFormat:s})}function pt(e,t){return(e+3>>2)*(t+3>>2)*8}function Z(e,t){return(e+3>>2)*(t+3>>2)*16}function Ur(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var A={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},Lr={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]},Hr={0:dt,1:dt,2:Rt,3:Rt,6:L,7:L,9:H,11:H,22:L,23:H,24:L,25:L,26:H,27:H,28:Xr,29:Nr,30:Fr,31:Kr,32:vr,33:Vr,34:kr,35:Wr,36:zr,37:$r,38:jr,39:Jr,40:Zr};function At(e){let r=new Uint32Array(e,0,A.HEADER_LENGTH)[A.MAGIC_NUMBER_INDEX];return r===A.MAGIC_NUMBER||r===A.MAGIC_NUMBER_EXTRA}function xt(e){let t=new Uint32Array(e,0,A.HEADER_LENGTH),r=t[A.PIXEL_FORMAT_INDEX],o=t[A.COLOUR_SPACE_INDEX],s=Lr[r]||[],a=s.length>1&&o?s[1]:s[0],i=Hr[r],c=t[A.MIPMAPCOUNT_INDEX],_=t[A.WIDTH_INDEX],f=t[A.HEIGHT_INDEX],u=A.HEADER_SIZE+t[A.METADATA_SIZE_INDEX],h=new Uint8Array(e,u);return O(h,{mipMapLevels:c,width:_,height:f,sizeFunction:i,internalFormat:a})}function dt(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Rt(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function L(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function H(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Xr(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Nr(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Fr(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Kr(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function vr(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 kr(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Wr(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function zr(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function $r(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function jr(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 Tt(e){if(J(e))return lt(e);if(Et(e))return mt(e);if(At(e))return xt(e);throw new Error("Texture container format not recognized")}var Te={dataType:null,batchType:null,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}}},Ct={...Te,parse:async(e,t)=>t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await U(e,t))[0]):Tt(e)};var Ce={dataType:null,batchType:null,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,gt=qr,Qr={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function he(e,t){let r=new DataView(e),{header:o,headerEndOffset:s}=eo(r),a=o.descr,i=Qr[a.slice(1,3)];if(!i)throw new Error(`Unimplemented type ${a}`);let _=o.shape?.reduce((u,h)=>u*h)*i.BYTES_PER_ELEMENT;if(e.byteLength<s+_)throw new Error("Buffer overflow");let f=new i(e.slice(s,s+_));if(a[0]===">"&>||a[0]==="<"&&!gt)throw new Error("Incorrect endianness");return{data:f,header:o}}function eo(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),c=a.decode(i);return r+=o,{header:JSON.parse(c.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var to=new Uint8Array([147,78,85,77,80,89]),De={dataType:null,batchType:null,name:"NPY",id:"npy",module:"textures",version:m,worker:!0,extensions:["npy"],mimeTypes:[],tests:[to.buffer],options:{npy:{}}},ht={...De,parseSync:he,parse:async(e,t)=>he(e,t)};var Dt={DECODER:"crunch.js"};async function Pt(e,t,r){let o=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new w().start({command:"npx",arguments:o,spawn:r}),t}var Bt={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:Pt,encode(){throw new Error("Not implemented")}};async function Mt(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:s=!1,mipmaps:a=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:i}=await b(t),c=new i;try{let _=new Uint8Array(e.width*e.height*4);c.setCreateKTX2File(!0),c.setKTX2UASTCSupercompression(!0),c.setKTX2SRGBTransferFunc(!0),c.setSliceSourceImage(0,e.data,e.width,e.height,!1),c.setPerceptual(r),c.setMipSRGB(r),c.setQualityLevel(o),c.setUASTC(s),c.setMipGen(a);let f=c.encode(_);return _.subarray(0,f).buffer}catch(_){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",_),_}finally{c.delete()}}var wt={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:Mt};var yt="4.3.0-alpha.1";var ro=globalThis.loaders?.parseImageNode,Pe=typeof Image<"u",Be=typeof ImageBitmap<"u",oo=Boolean(ro),Me=se?!0:oo;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 It(e){let t=no(e);if(!t)throw new Error("Not an image");return t}function we(e){return Y(e)}function Y(e){switch(It(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 no(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 so=/^data:image\/svg\+xml/,ao=/\.svg((\?|#).*)?$/;function q(e){return e&&(so.test(e)||ao.test(e))}function bt(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 ye(e,t)}function ye(e,t){if(q(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function Q(e,t,r){let o=bt(e,r),s=self.URL||self.webkitURL,a=typeof o!="string"&&s.createObjectURL(o);try{return await io(a||o,t)}finally{a&&s.revokeObjectURL(a)}}async function io(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 co={},Ut=!0;async function Lt(e,t,r){let o;q(r)?o=await Q(e,t,r):o=ye(e,r);let s=t&&t.imagebitmap;return await _o(o,s)}async function _o(e,t=null){if((lo(t)||!Ut)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Ut=!1}return await createImageBitmap(e)}function lo(e){for(let t in e||co)return!1;return!0}function Ht(e){return!Eo(e,"ftyp",4)||!(e[8]&96)?null:fo(e)}function fo(e){switch(So(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function So(e,t,r){return String.fromCharCode(...e.slice(t,r))}function uo(e){return[...e].map(t=>t.charCodeAt(0))}function Eo(e,t,r=0){let o=uo(t);for(let s=0;s<o.length;++s)if(o[s]!==e[s+r])return!1;return!0}var g=!1,X=!0;function ee(e){let t=N(e);return po(t)||xo(t)||Ro(t)||Ao(t)||mo(t)}function mo(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Ht(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function po(e){let t=N(e);return t.byteLength>=24&&t.getUint32(0,g)===2303741511?{mimeType:"image/png",width:t.getUint32(16,g),height:t.getUint32(20,g)}:null}function Ro(e){let t=N(e);return t.byteLength>=10&&t.getUint32(0,g)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,X),height:t.getUint16(8,X)}:null}function Ao(e){let t=N(e);return t.byteLength>=14&&t.getUint16(0,g)===16973&&t.getUint32(2,X)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,X),height:t.getUint32(22,X)}:null}function xo(e){let t=N(e);if(!(t.byteLength>=3&&t.getUint16(0,g)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:s}=To(),a=2;for(;a+9<t.byteLength;){let i=t.getUint16(a,g);if(s.has(i))return{mimeType:"image/jpeg",height:t.getUint16(a+5,g),width:t.getUint16(a+7,g)};if(!o.has(i))return null;a+=2,a+=t.getUint16(a,g)}return null}function To(){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 N(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 Xt(e,t){let{mimeType:r}=ee(e)||{},o=globalThis.loaders?.parseImageNode;return x(o),await o(e,r)}async function Nt(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:a}=r||{},i=Co(s),c;switch(i){case"imagebitmap":c=await Lt(e,t,a);break;case"image":c=await Q(e,t,a);break;case"data":c=await Xt(e,t);break;default:x(!1)}return s==="data"&&(c=Y(c)),c}function Co(e){switch(e){case"auto":case"data":return Gt();default:return Ot(e),e}}var go=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],ho=["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}},D={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:yt,mimeTypes:ho,extensions:go,parse:Nt,tests:[e=>Boolean(ee(new DataView(e)))],options:Do};function te(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}`),le(o)}var Po=e=>e&&typeof e=="object";async function Ft(e,t,r={}){return await Oe(e,t,r)}async function Oe(e,t,r){return Array.isArray(e)?await Mo(e,t,r):Po(e)?await Bo(e,t,r):await t(e,r)}async function Bo(e,t,r){let o=[],s={};for(let a in e){let i=e[a],c=Oe(i,t,r).then(_=>{s[a]=_});o.push(c)}return await Promise.all(o),s}async function Mo(e,t,r={}){let o=e.map(s=>Oe(s,t,r));return await Promise.all(o)}async function G(e,t,r){return await Ft(e,o=>Ge(o,t,r))}async function Ge(e,t,r){let s=await(await fetch(e,r.fetch)).arrayBuffer();return await t(s,r)}async function Kt(e,t={}){let r=await F(e,t);return await G(r,D.parse,t)}async function F(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await wo(e,o,t,r):te(e,t,r)}async function wo(e,t,r,o){let s=[];if(t==="auto"){let a=te(e,r,{...o,lod:0}),i=await Ge(a,D.parse,r),{width:c,height:_}=we(i);t=yo({width:c,height:_}),s.push(a)}x(t>0);for(let a=s.length;a<t;++a){let i=te(e,r,{...o,lod:a});s.push(i)}return s}function yo(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function vt(e,t,r={}){let o=await Oo(e,t,r);return await G(o,D.parse,r)}async function Oo(e,t,r={}){let o=[];for(let s=0;s<e;s++){let a=F(t,r,{index:s});o.push(a)}return await Promise.all(o)}var Go=34069,Io=34070,bo=34071,Uo=34072,Lo=34073,Ho=34074,Vt=[{face:Go,direction:"right",axis:"x",sign:"positive"},{face:Io,direction:"left",axis:"x",sign:"negative"},{face:bo,direction:"top",axis:"y",sign:"positive"},{face:Uo,direction:"bottom",axis:"y",sign:"negative"},{face:Lo,direction:"front",axis:"z",sign:"positive"},{face:Ho,direction:"back",axis:"z",sign:"negative"}];async function Xo(e,t){let r={},o=[],s=0;for(let a=0;a<Vt.length;++a){let i=Vt[s],c=F(e,t,{...i,index:s++}).then(_=>{r[i.face]=_});o.push(c)}return await Promise.all(o),r}async function kt(e,t={}){let r=await Xo(e,t);return await G(r,D.parse,t)}var No={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 ar(K);})();
|
|
7
|
+
"use strict";var __exports__=(()=>{var Jt=Object.create;var W=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var Qt=Object.getPrototypeOf,er=Object.prototype.hasOwnProperty;var we=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),tr=(e,t)=>{for(var r in t)W(e,r,{get:t[r],enumerable:!0})},k=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of qt(t))!er.call(e,s)&&s!==r&&W(e,s,{get:()=>t[s],enumerable:!(o=Zt(t,s))||o.enumerable});return e},z=(e,t,r)=>(k(e,t,"default"),r&&k(r,t,"default")),se=(e,t,r)=>(r=e!=null?Jt(Qt(e)):{},k(t||!e||!e.__esModule?W(r,"default",{value:e,enumerable:!0}):r,e)),rr=e=>k(W({},"__esModule",{value:!0}),e);var He=we((yo,be)=>{be.exports=globalThis.loaders});var Re=we(()=>{});var X={};tr(X,{BASIS_EXTERNAL_LIBRARIES:()=>F,BasisLoader:()=>st,BasisWorkerLoader:()=>ue,CRUNCH_EXTERNAL_LIBRARIES:()=>ut,CompressedTextureLoader:()=>Tt,CompressedTextureWorkerLoader:()=>me,CompressedTextureWriter:()=>pt,CrunchLoader:()=>pe,CrunchWorkerLoader:()=>pe,GL_EXTENSIONS_CONSTANTS:()=>n,KTX2BasisWriter:()=>dt,KTX2BasisWriterWorker:()=>Uo,NPYLoader:()=>Et,NPYWorkerLoader:()=>Ce,getSupportedGPUTextureFormats:()=>j,loadImageTexture:()=>Lt,loadImageTextureArray:()=>It,loadImageTextureCube:()=>Nt,selectSupportedBasisFormat:()=>Ee});z(X,se(He(),1));var f="4.3.0-alpha.3";function O(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var d={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},or=d.self||d.window||d.global||{},nr=d.window||d.self||d.global||{},sr=d.global||d.self||d.window||{},_r=d.document||{};var _e=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Ve=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),ar=Ve&&parseFloat(Ve[1])||0;function ae(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}function ie(e){return globalThis.loaders?.modules?.[e]||null}function ir(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.3.0-alpha.3"),globalThis._loadersgl_.version}var Xe=ir();function ve(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var C={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ko=C.self||C.window||C.global||{},Wo=C.window||C.self||C.global||{},zo=C.global||C.self||C.window||{},$o=C.document||{};var P=typeof process!="object"||String(process)!=="[object process]"||process.browser,$=typeof importScripts=="function",Yo=typeof window<"u"&&typeof window.orientation<"u",ke=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),jo=ke&&parseFloat(ke[1])||0;var ce={};async function h(e,t=null,r={},o=null){return t&&(e=We(e,t,r,o)),ce[e]=ce[e]||cr(e),await ce[e]}function We(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]:P?r.CDN?(ve(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Xe}/dist/libs/${o}`):$?`../src/libs/${o}`:`modules/${t}/src/libs/${o}`:`modules/${t}/dist/libs/${o}`}async function cr(e){if(e.endsWith("wasm"))return await Sr(e);if(!P)try{let{requireFromFile:r}=globalThis.loaders||{};return await r?.(e)}catch(r){return console.error(r),null}if($)return importScripts(e);let t=await lr(e);return Rr(t,e)}function Rr(e,t){if(!P){let{requireFromString:o}=globalThis.loaders||{};return o?.(e,t)}if($)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 Sr(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return P||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function lr(e){let{readFileAsText:t}=globalThis.loaders||{};return P||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var je=se(Re(),1);var ze=se(Re(),1);function $e(e=3e3){return new Promise(t=>{ze.default.exec("lsof -i -P -n | grep LISTEN",(r,o)=>{if(r){t(e);return}let s=[],_=/:(\d+) \(LISTEN\)/;o.split(`
|
|
8
|
+
`).forEach(i=>{let c=_.exec(i);c&&s.push(Number(c[1]))});let a=e;for(;s.includes(a);)a++;t(a)})})}var Ye={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},K=class{id;props={...Ye};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Ye,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await $e(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 _=(void 0)(t.command,r,t.spawn);this.childProcess=_,_.stdout.on("data",a=>{console.log(a.toString())}),_.stderr.on("data",a=>{console.log(`Child process wrote to stderr: "${a}".`),t.ignoreStderr||(this._clearTimeout(),s(new Error(a)))}),_.on("error",a=>{console.log(`Child process errored with ${a}`),this._clearTimeout(),s(a)}),_.on("close",a=>{console.log(`Child process exited with ${a}`),this.childProcess=null,this._clearTimeout(),o({})})}catch(_){s(_)}})}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 Ar="",Je={};function Se(e){for(let t in Je)if(e.startsWith(t)){let r=Je[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Ar}${e}`),e}var F={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Ze;async function Ae(e){ae(e.modules);let t=ie("basis");return t||(Ze||=Tr(e),await Ze)}async function Tr(e){let t=null,r=null;return[t,r]=await Promise.all([await h(F.TRANSCODER,"textures",e),await h(F.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await fr(t,r)}function fr(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:_,initializeBasis:a}=s;a(),o({BasisFile:_})})})}var le;async function U(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(le=le||Er(e),await le)}async function Er(e){let t=null,r=null;return[t,r]=await Promise.all([await h(F.ENCODER,"textures",e),await h(F.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:_,KTX2File:a,initializeBasis:i,BasisEncoder:c}=s;i(),o({BasisFile:_,KTX2File:a,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_"],qe={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"},Y=null;function j(e){if(!Y){e=e||pr()||void 0,Y=new Set;for(let t of mr)for(let r in qe)if(e&&e.getExtension(`${t}${r}`)){let o=qe[r];Y.add(o)}}return Y}function pr(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Te=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=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},g=class{constructor(t,r,o,s){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,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),r=this._dataView.getUint32(this._offset+4,this._littleEndian),o=t+2**32*r;return this._offset+=8,o}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,r}_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)}};var gn=new Uint8Array([0]),l=[171,75,84,88,32,50,48,187,13,10,26,10];function Qe(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function et(e){let t=new Uint8Array(e.buffer,e.byteOffset,l.length);if(t[0]!==l[0]||t[1]!==l[1]||t[2]!==l[2]||t[3]!==l[3]||t[4]!==l[4]||t[5]!==l[5]||t[6]!==l[6]||t[7]!==l[7]||t[8]!==l[8]||t[9]!==l[9]||t[10]!==l[10]||t[11]!==l[11])throw new Error("Missing KTX 2.0 identifier.");let r=new Te,o=17*Uint32Array.BYTES_PER_ELEMENT,s=new g(e,l.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 _=s._nextUint32();r.supercompressionScheme=s._nextUint32();let a=s._nextUint32(),i=s._nextUint32(),c=s._nextUint32(),S=s._nextUint32(),A=s._nextUint64(),x=s._nextUint64(),yt=_*3*8,oe=new g(e,l.length+o,yt,!0);for(let T=0;T<_;T++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+oe._nextUint64(),oe._nextUint64()),uncompressedByteLength:oe._nextUint64()});let R=new g(e,a,i,!0),ne={vendorId:R._skip(4)._nextUint16(),descriptorType:R._nextUint16(),versionNumber:R._nextUint16(),descriptorBlockSize:R._nextUint16(),colorModel:R._nextUint8(),colorPrimaries:R._nextUint8(),transferFunction:R._nextUint8(),flags:R._nextUint8(),texelBlockDimension:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],bytesPlane:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],samples:[]},wt=6,bt=4,Ht=(ne.descriptorBlockSize/4-wt)/bt;for(let T=0;T<Ht;T++){let B={bitOffset:R._nextUint16(),bitLength:R._nextUint8(),channelType:R._nextUint8(),samplePosition:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};B.channelType&64?(B.sampleLower=R._nextInt32(),B.sampleUpper=R._nextInt32()):(B.sampleLower=R._nextUint32(),B.sampleUpper=R._nextUint32()),ne.samples[T]=B}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(ne);let I=new g(e,c,S,!0);for(;I._offset<S;){let T=I._nextUint32(),B=I._scan(T),v=Qe(B);if(r.keyValue[v]=I._nextUint8Array(T-B.byteLength-1),v.match(/^ktx/i)){let ye=Qe(r.keyValue[v]);r.keyValue[v]=ye.substring(0,ye.lastIndexOf("\0"))}let jt=T%4?4-T%4:0;I._skip(jt)}if(x<=0)return r;let m=new g(e,A,x,!0),Vt=m._nextUint16(),Xt=m._nextUint16(),Ke=m._nextUint32(),Fe=m._nextUint32(),Ge=m._nextUint32(),vt=m._nextUint32(),Le=[];for(let T=0;T<_;T++)Le.push({imageFlags:m._nextUint32(),rgbSliceByteOffset:m._nextUint32(),rgbSliceByteLength:m._nextUint32(),alphaSliceByteOffset:m._nextUint32(),alphaSliceByteLength:m._nextUint32()});let Ie=A+m._offset,Ue=Ie+Ke,Ne=Ue+Fe,kt=Ne+Ge,Wt=new Uint8Array(e.buffer,e.byteOffset+Ie,Ke),zt=new Uint8Array(e.buffer,e.byteOffset+Ue,Fe),$t=new Uint8Array(e.buffer,e.byteOffset+Ne,Ge),Yt=new Uint8Array(e.buffer,e.byteOffset+kt,vt);return r.globalData={endpointCount:Vt,selectorCount:Xt,imageDescs:Le,endpointsData:Wt,selectorsData:zt,tablesData:$t,extendedData:Yt},r}function G(e,t){let r=new Array(t.mipMapLevels),o=t.width,s=t.height,_=0;for(let a=0;a<t.mipMapLevels;++a){let i=dr(t,o,s,e,a),c=Or(e,a,_,i);r[a]={compressed:!0,format:t.internalFormat,data:c,width:o,height:s,levelSize:i},o=Math.max(1,o>>1),s=Math.max(1,s>>1),_+=i}return r}function Or(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function dr(e,t,r,o,s){return Array.isArray(o)?e.sizeFunction(o[s]):e.sizeFunction(t,r)}var Cr={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 tt(e){return Cr[e]}var E=[171,75,84,88,32,50,48,187,13,10,26,10];function J(e){let t=new Uint8Array(e);return!(t.byteLength<E.length||t[0]!==E[0]||t[1]!==E[1]||t[2]!==E[2]||t[3]!==E[3]||t[4]!==E[4]||t[5]!==E[5]||t[6]!==E[6]||t[7]!==E[7]||t[8]!==E[8]||t[9]!==E[9]||t[10]!==E[10]||t[11]!==E[11])}function rt(e){let t=new Uint8Array(e),r=et(t),o=Math.max(1,r.levels.length),s=r.pixelWidth,_=r.pixelHeight,a=tt(r.vkFormat);return G(r.levels,{mipMapLevels:o,width:s,height:_,sizeFunction:i=>i.uncompressedByteLength,internalFormat:a})}var Mr={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 N(e,t){if(t.basis.containerFormat==="auto"){if(J(e)){let o=await U(t);return ot(o.KTX2File,e,t)}let{BasisFile:r}=await Ae(t);return fe(r,e,t)}switch(t.basis.module){case"encoder":let r=await U(t);switch(t.basis.containerFormat){case"ktx2":return ot(r.KTX2File,e,t);case"basis":default:return fe(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await Ae(t);return fe(o,e,t)}}function fe(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(),_=[];for(let a=0;a<s;a++){let i=o.getNumLevels(a),c=[];for(let S=0;S<i;S++)c.push(xr(o,a,S,r));_.push(c)}return _}finally{o.close(),o.delete()}}function xr(e,t,r,o){let s=e.getImageWidth(t,r),_=e.getImageHeight(t,r),a=e.getHasAlpha(),{compressed:i,format:c,basisFormat:S}=nt(o,a),A=e.getImageTranscodedSizeInBytes(t,r,S),x=new Uint8Array(A);if(!e.transcodeImage(x,t,r,S,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:_,data:x,compressed:i,format:c,hasAlpha:a}}function ot(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(),_=[];for(let a=0;a<s;a++)_.push(Br(o,a,r));return[_]}finally{o.close(),o.delete()}}function Br(e,t,r){let{alphaFlag:o,height:s,width:_}=e.getImageLevelInfo(t,0,0),{compressed:a,format:i,basisFormat:c}=nt(r,o),S=e.getImageTranscodedSizeInBytes(t,0,0,c),A=new Uint8Array(S);if(!e.transcodeImage(A,t,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:_,height:s,data:A,compressed:a,levelSize:S,hasAlpha:o,format:i}}function nt(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=Ee()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Mr[r]}function Ee(){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 ue={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:f,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"}}},st={...ue,parse:N};var u={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},Dr={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},gr=it,Pr=Z,hr=Z,Kr={DXT1:it,DXT3:Z,DXT5:Z,"ATC ":gr,ATCA:Pr,ATCI:hr};function _t(e){return new Uint32Array(e,0,u.HEADER_LENGTH)[u.MAGIC_NUMBER_INDEX]===u.MAGIC_NUMBER}function at(e){let t=new Int32Array(e,0,u.HEADER_LENGTH),r=t[u.HEADER_PF_FOURCC_INDEX];O(Boolean(t[u.HEADER_PF_FLAGS_INDEX]&u.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=Fr(r),s=Dr[o],_=Kr[o];O(s&&_,`DDS: Unknown pixel format ${r}`);let a=1;t[u.HEADER_FLAGS_INDEX]&u.DDSD_MIPMAPCOUNT&&(a=Math.max(1,t[u.MIPMAPCOUNT_INDEX]));let i=t[u.HEADER_WIDTH_INDEX],c=t[u.HEADER_HEIGHT_INDEX],S=t[u.HEADER_SIZE_INDEX]+4,A=new Uint8Array(e,S);return G(A,{mipMapLevels:a,width:i,height:c,sizeFunction:_,internalFormat:s})}function it(e,t){return(e+3>>2)*(t+3>>2)*8}function Z(e,t){return(e+3>>2)*(t+3>>2)*16}function Fr(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var p={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},Gr={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:ct,1:ct,2:Rt,3:Rt,6:y,7:y,9:w,11:w,22:y,23:w,24:y,25:y,26:w,27:w,28:Ir,29:Ur,30:Nr,31:yr,32:wr,33:br,34:Hr,35:Vr,36:Xr,37:vr,38:kr,39:Wr,40:zr};function St(e){let r=new Uint32Array(e,0,p.HEADER_LENGTH)[p.MAGIC_NUMBER_INDEX];return r===p.MAGIC_NUMBER||r===p.MAGIC_NUMBER_EXTRA}function lt(e){let t=new Uint32Array(e,0,p.HEADER_LENGTH),r=t[p.PIXEL_FORMAT_INDEX],o=t[p.COLOUR_SPACE_INDEX],s=Gr[r]||[],_=s.length>1&&o?s[1]:s[0],a=Lr[r],i=t[p.MIPMAPCOUNT_INDEX],c=t[p.WIDTH_INDEX],S=t[p.HEIGHT_INDEX],A=p.HEADER_SIZE+t[p.METADATA_SIZE_INDEX],x=new Uint8Array(e,A);return G(x,{mipMapLevels:i,width:c,height:S,sizeFunction:a,internalFormat:_})}function ct(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Rt(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function y(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function w(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Ir(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Ur(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 yr(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function wr(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function br(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Hr(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Vr(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Xr(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function vr(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function kr(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function Wr(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 At(e){if(J(e))return rt(e);if(_t(e))return at(e);if(St(e))return lt(e);throw new Error("Texture container format not recognized")}var me={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:f,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={...me,parse:async(e,t)=>t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await N(e,t))[0]):At(e)};var pe={dataType:null,batchType:null,id:"crunch",name:"Crunch",module:"textures",version:f,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{libraryPath:"libs/"}}};var Oe=new Uint32Array([305419896]),$r=new Uint8Array(Oe.buffer,Oe.byteOffset,Oe.byteLength),Yr=$r[0]!==18,ft=Yr,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}=Jr(r),_=o.descr,a=jr[_.slice(1,3)];if(!a)throw new Error(`Unimplemented type ${_}`);let c=o.shape?.reduce((A,x)=>A*x)*a.BYTES_PER_ELEMENT;if(e.byteLength<s+c)throw new Error("Buffer overflow");let S=new a(e.slice(s,s+c));if(_[0]===">"&&ft||_[0]==="<"&&!ft)throw new Error("Incorrect endianness");return{data:S,header:o}}function Jr(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",_=new TextDecoder(s),a=new Uint8Array(e.buffer,r,o),i=_.decode(a);return r+=o,{header:JSON.parse(i.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var Zr=new Uint8Array([147,78,85,77,80,89]),Ce={dataType:null,batchType:null,name:"NPY",id:"npy",module:"textures",version:f,worker:!0,extensions:["npy"],mimeTypes:[],tests:[Zr.buffer],options:{npy:{}}},Et={...Ce,parseSync:de,parse:async(e,t)=>de(e,t)};var ut={DECODER:"crunch.js"};async function mt(e,t,r){let o=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new K().start({command:"npx",arguments:o,spawn:r}),t}var pt={name:"DDS Texture Container",id:"dds",module:"textures",version:f,extensions:["dds"],options:{texture:{format:"auto",compression:"auto",quality:"auto",mipmap:!1,flipY:!1,toolFlags:""}},encodeURLtoURL:mt,encode(){throw new Error("Not implemented")}};async function Ot(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:s=!1,mipmaps:_=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:a}=await U(t),i=new a;try{let c=new Uint8Array(e.width*e.height*4);i.setCreateKTX2File(!0),i.setKTX2UASTCSupercompression(!0),i.setKTX2SRGBTransferFunc(!0),i.setSliceSourceImage(0,e.data,e.width,e.height,!1),i.setPerceptual(r),i.setMipSRGB(r),i.setQualityLevel(o),i.setUASTC(s),i.setMipGen(_);let S=i.encode(c);return c.subarray(0,S).buffer}catch(c){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",c),c}finally{i.delete()}}var dt={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:f,extensions:["ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:Ot};var Ct="4.3.0-alpha.3";var qr=globalThis.loaders?.parseImageNode,Me=typeof Image<"u",xe=typeof ImageBitmap<"u",Qr=Boolean(qr),Be=_e?!0:Qr;function Mt(e){switch(e){case"auto":return xe||Me||Be;case"imagebitmap":return xe;case"image":return Me;case"data":return Be;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function xt(){if(xe)return"imagebitmap";if(Me)return"image";if(Be)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Bt(e){let t=eo(e);if(!t)throw new Error("Not an image");return t}function De(e){return q(e)}function q(e){switch(Bt(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 eo(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 to=/^data:image\/svg\+xml/,ro=/\.svg((\?|#).*)?$/;function Q(e){return e&&(to.test(e)||ro.test(e))}function Dt(e,t){if(Q(t)){let o=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(o=unescape(encodeURIComponent(o)))}catch(_){throw new Error(_.message)}return`data:image/svg+xml;base64,${btoa(o)}`}return ge(e,t)}function ge(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=Dt(e,r),s=self.URL||self.webkitURL,_=typeof o!="string"&&s.createObjectURL(o);try{return await oo(_||o,t)}finally{_&&s.revokeObjectURL(_)}}async function oo(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=_=>{let a=_ instanceof Error?_.message:"error";s(new Error(a))}}catch(_){s(_)}})}var no={},gt=!0;async function Pt(e,t,r){let o;Q(r)?o=await ee(e,t,r):o=ge(e,r);let s=t&&t.imagebitmap;return await so(o,s)}async function so(e,t=null){if((_o(t)||!gt)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),gt=!1}return await createImageBitmap(e)}function _o(e){for(let t in e||no)return!1;return!0}function ht(e){return!Ro(e,"ftyp",4)||!(e[8]&96)?null:ao(e)}function ao(e){switch(io(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function io(e,t,r){return String.fromCharCode(...e.slice(t,r))}function co(e){return[...e].map(t=>t.charCodeAt(0))}function Ro(e,t,r=0){let o=co(t);for(let s=0;s<o.length;++s)if(o[s]!==e[s+r])return!1;return!0}var M=!1,b=!0;function te(e){let t=H(e);return lo(t)||fo(t)||Ao(t)||To(t)||So(t)}function So(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=ht(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function lo(e){let t=H(e);return t.byteLength>=24&&t.getUint32(0,M)===2303741511?{mimeType:"image/png",width:t.getUint32(16,M),height:t.getUint32(20,M)}:null}function Ao(e){let t=H(e);return t.byteLength>=10&&t.getUint32(0,M)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,b),height:t.getUint16(8,b)}:null}function To(e){let t=H(e);return t.byteLength>=14&&t.getUint16(0,M)===16973&&t.getUint32(2,b)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,b),height:t.getUint32(22,b)}:null}function fo(e){let t=H(e);if(!(t.byteLength>=3&&t.getUint16(0,M)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:s}=Eo(),_=2;for(;_+9<t.byteLength;){let a=t.getUint16(_,M);if(s.has(a))return{mimeType:"image/jpeg",height:t.getUint16(_+5,M),width:t.getUint16(_+7,M)};if(!o.has(a))return null;_+=2,_+=t.getUint16(_,M)}return null}function Eo(){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 H(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 Kt(e,t){let{mimeType:r}=te(e)||{},o=globalThis.loaders?.parseImageNode;return O(o),await o(e,r)}async function Ft(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:_}=r||{},a=uo(s),i;switch(a){case"imagebitmap":i=await Pt(e,t,_);break;case"image":i=await ee(e,t,_);break;case"data":i=await Kt(e,t);break;default:O(!1)}return s==="data"&&(i=q(i)),i}function uo(e){switch(e){case"auto":case"data":return xt();default:return Mt(e),e}}var mo=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],po=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Oo={image:{type:"auto",decode:!0}},D={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:Ct,mimeTypes:po,extensions:mo,parse:Ft,tests:[e=>Boolean(te(new DataView(e)))],options:Oo};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}`),Se(o)}var Co=e=>e&&typeof e=="object";async function Gt(e,t,r={}){return await Pe(e,t,r)}async function Pe(e,t,r){return Array.isArray(e)?await xo(e,t,r):Co(e)?await Mo(e,t,r):await t(e,r)}async function Mo(e,t,r){let o=[],s={};for(let _ in e){let a=e[_],i=Pe(a,t,r).then(c=>{s[_]=c});o.push(i)}return await Promise.all(o),s}async function xo(e,t,r={}){let o=e.map(s=>Pe(s,t,r));return await Promise.all(o)}async function L(e,t,r){return await Gt(e,o=>he(o,t,r))}async function he(e,t,r){let s=await(await fetch(e,r.fetch)).arrayBuffer();return await t(s,r)}async function Lt(e,t={}){let r=await V(e,t);return await L(r,D.parse,t)}async function V(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await Bo(e,o,t,r):re(e,t,r)}async function Bo(e,t,r,o){let s=[];if(t==="auto"){let _=re(e,r,{...o,lod:0}),a=await he(_,D.parse,r),{width:i,height:c}=De(a);t=Do({width:i,height:c}),s.push(_)}O(t>0);for(let _=s.length;_<t;++_){let a=re(e,r,{...o,lod:_});s.push(a)}return s}function Do(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function It(e,t,r={}){let o=await go(e,t,r);return await L(o,D.parse,r)}async function go(e,t,r={}){let o=[];for(let s=0;s<e;s++){let _=V(t,r,{index:s});o.push(_)}return await Promise.all(o)}var Po=34069,ho=34070,Ko=34071,Fo=34072,Go=34073,Lo=34074,Ut=[{face:Po,direction:"right",axis:"x",sign:"positive"},{face:ho,direction:"left",axis:"x",sign:"negative"},{face:Ko,direction:"top",axis:"y",sign:"positive"},{face:Fo,direction:"bottom",axis:"y",sign:"negative"},{face:Go,direction:"front",axis:"z",sign:"positive"},{face:Lo,direction:"back",axis:"z",sign:"negative"}];async function Io(e,t){let r={},o=[],s=0;for(let _=0;_<Ut.length;++_){let a=Ut[s],i=V(e,t,{...a,index:s++}).then(c=>{r[a.face]=c});o.push(i)}return await Promise.all(o),r}async function Nt(e,t={}){let r=await Io(e,t);return await L(r,D.parse,t)}var Uo={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:f,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};return rr(X);})();
|
|
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.3.0-alpha.
|
|
46
|
+
var VERSION = true ? "4.3.0-alpha.3" : "latest";
|
|
47
47
|
|
|
48
48
|
// dist/lib/parsers/basis-module-loader.js
|
|
49
49
|
var import_loader_utils = require("@loaders.gl/loader-utils");
|
|
@@ -560,7 +560,6 @@ function parseKTX2File(KTX2File, data, options) {
|
|
|
560
560
|
const levels = [];
|
|
561
561
|
for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
|
|
562
562
|
levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
|
|
563
|
-
break;
|
|
564
563
|
}
|
|
565
564
|
return [levels];
|
|
566
565
|
} finally {
|