@loaders.gl/textures 4.4.0-alpha.16 → 4.4.0-alpha.18
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/README.md +44 -0
- package/dist/basis-loader.d.ts +15 -10
- package/dist/basis-loader.d.ts.map +1 -1
- package/dist/basis-loader.js +0 -1
- package/dist/basis-loader.js.map +1 -1
- package/dist/basis-worker-node.js +333 -193
- package/dist/basis-worker.js +267 -128
- package/dist/compressed-texture-loader.d.ts +0 -4
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-loader.js +0 -1
- package/dist/compressed-texture-loader.js.map +1 -1
- package/dist/compressed-texture-worker.js +1050 -331
- package/dist/crunch-loader.d.ts +1 -5
- package/dist/crunch-loader.d.ts.map +1 -1
- package/dist/crunch-loader.js +1 -3
- package/dist/crunch-loader.js.map +1 -1
- package/dist/crunch-worker.js +153 -86
- package/dist/dist.dev.js +1281 -388
- package/dist/dist.min.js +1 -2
- package/dist/index.cjs +671 -330
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/ktx2-basis-writer-worker-node.js +14 -3
- package/dist/ktx2-basis-writer-worker.js +13 -3
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +2 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
- package/dist/lib/gl-extensions.d.ts +164 -58
- package/dist/lib/gl-extensions.d.ts.map +1 -1
- package/dist/lib/gl-extensions.js +175 -66
- package/dist/lib/gl-extensions.js.map +1 -1
- package/dist/lib/parsers/crunch-module-loader.d.ts +2 -2
- package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/crunch-module-loader.js.map +1 -1
- package/dist/lib/parsers/parse-basis.d.ts +16 -2
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +222 -47
- package/dist/lib/parsers/parse-basis.js.map +1 -1
- package/dist/lib/parsers/parse-crunch.d.ts.map +1 -1
- package/dist/lib/parsers/parse-crunch.js +6 -5
- package/dist/lib/parsers/parse-crunch.js.map +1 -1
- package/dist/lib/parsers/parse-dds.d.ts.map +1 -1
- package/dist/lib/parsers/parse-dds.js +7 -7
- package/dist/lib/parsers/parse-dds.js.map +1 -1
- package/dist/lib/parsers/parse-ktx.d.ts.map +1 -1
- package/dist/lib/parsers/parse-ktx.js +7 -0
- package/dist/lib/parsers/parse-ktx.js.map +1 -1
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
- package/dist/lib/parsers/parse-pvr.js +28 -70
- package/dist/lib/parsers/parse-pvr.js.map +1 -1
- package/dist/lib/utils/detect-supported-texture-formats.d.ts +14 -0
- package/dist/lib/utils/detect-supported-texture-formats.d.ts.map +1 -0
- package/dist/lib/utils/detect-supported-texture-formats.js +197 -0
- package/dist/lib/utils/detect-supported-texture-formats.js.map +1 -0
- package/dist/lib/utils/extract-mipmap-images.d.ts +2 -2
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
- package/dist/lib/utils/extract-mipmap-images.js +12 -2
- package/dist/lib/utils/extract-mipmap-images.js.map +1 -1
- package/dist/lib/utils/ktx-format-helper.d.ts +2 -1
- package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -1
- package/dist/lib/utils/ktx-format-helper.js +67 -109
- package/dist/lib/utils/ktx-format-helper.js.map +1 -1
- package/dist/lib/utils/texture-format-map.d.ts +3 -0
- package/dist/lib/utils/texture-format-map.d.ts.map +1 -0
- package/dist/lib/utils/texture-format-map.js +71 -0
- package/dist/lib/utils/texture-format-map.js.map +1 -0
- package/dist/lib/utils/version.js +1 -1
- package/dist/npy-worker.js +1 -1
- package/dist/workers/crunch-worker.d.ts +1 -3
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/basis-loader.ts +19 -9
- package/src/compressed-texture-loader.ts +0 -3
- package/src/crunch-loader.ts +1 -5
- package/src/index.ts +2 -4
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +2 -1
- package/src/lib/gl-extensions.ts +186 -81
- package/src/lib/parsers/crunch-module-loader.ts +4 -4
- package/src/lib/parsers/parse-basis.ts +281 -45
- package/src/lib/parsers/parse-crunch.ts +15 -7
- package/src/lib/parsers/parse-dds.ts +16 -9
- package/src/lib/parsers/parse-ktx.ts +12 -2
- package/src/lib/parsers/parse-pvr.ts +72 -72
- package/src/lib/utils/detect-supported-texture-formats.ts +210 -0
- package/src/lib/utils/extract-mipmap-images.ts +15 -4
- package/src/lib/utils/ktx-format-helper.ts +124 -111
- package/src/lib/utils/texture-format-map.ts +135 -0
- package/dist/lib/utils/texture-formats.d.ts +0 -8
- package/dist/lib/utils/texture-formats.d.ts.map +0 -1
- package/dist/lib/utils/texture-formats.js +0 -51
- package/dist/lib/utils/texture-formats.js.map +0 -1
- package/src/lib/utils/texture-formats.ts +0 -59
package/dist/dist.min.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
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 jt=Object.create;var k=Object.defineProperty;var Jt=Object.getOwnPropertyDescriptor;var Zt=Object.getOwnPropertyNames;var qt=Object.getPrototypeOf,Qt=Object.prototype.hasOwnProperty;var we=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),er=(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 Zt(t))!Qt.call(e,s)&&s!==r&&k(e,s,{get:()=>t[s],enumerable:!(o=Jt(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?jt(qt(e)):{},v(t||!e||!e.__esModule?k(r,"default",{value:e,enumerable:!0}):r,e)),tr=e=>v(k({},"__esModule",{value:!0}),e);var He=we((No,be)=>{be.exports=globalThis.loaders});var Re=we(()=>{});var V={};er(V,{BASIS_EXTERNAL_LIBRARIES:()=>F,BasisLoader:()=>nt,BasisWorkerLoader:()=>ue,CRUNCH_EXTERNAL_LIBRARIES:()=>Et,CompressedTextureLoader:()=>At,CompressedTextureWorkerLoader:()=>me,CompressedTextureWriter:()=>mt,CrunchLoader:()=>de,CrunchWorkerLoader:()=>de,GL_EXTENSIONS_CONSTANTS:()=>n,KTX2BasisWriter:()=>pt,KTX2BasisWriterWorker:()=>Io,NPYLoader:()=>ft,NPYWorkerLoader:()=>Ce,getSupportedGPUTextureFormats:()=>Y,loadImageTexture:()=>Gt,loadImageTextureArray:()=>Lt,loadImageTextureCube:()=>yt,selectSupportedBasisFormat:()=>Ee});W(V,se(He(),1));var f="4.4.0-alpha.16";function p(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var O={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},rr=O.self||O.window||O.global||{},or=O.window||O.self||O.global||{},nr=O.global||O.self||O.window||{},sr=O.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),_r=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 ar(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.16"),globalThis._loadersgl_.version}var Xe=ar();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},vo=C.self||C.window||C.global||{},ko=C.window||C.self||C.global||{},Wo=C.global||C.self||C.window||{},zo=C.document||{};var P=typeof process!="object"||String(process)!=="[object process]"||process.browser,z=typeof importScripts=="function",$o=typeof window<"u"&&typeof window.orientation<"u",ke=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Yo=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]||ir(e),await ce[e]}function We(e,t,r={},o=null){if(r?.core)throw new Error("loadLibrary: options.core must be pre-normalized");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}`):z?`../src/libs/${o}`:`modules/${t}/src/libs/${o}`:`modules/${t}/dist/libs/${o}`}async function ir(e){if(e.endsWith("wasm"))return await Rr(e);if(!P){let{requireFromFile:r}=globalThis.loaders||{};try{let o=await r?.(e);return o||!e.includes("/dist/libs/")?o:await r?.(e.replace("/dist/libs/","/src/libs/"))}catch(o){if(e.includes("/dist/libs/"))try{return await r?.(e.replace("/dist/libs/","/src/libs/"))}catch{}return console.error(o),null}}if(z)return importScripts(e);let t=await lr(e);return cr(t,e)}function cr(e,t){if(!P){let{requireFromString:o}=globalThis.loaders||{};return o?.(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 Rr(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(P||!t||e.startsWith("http"))return await(await fetch(e)).arrayBuffer();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${e}`)}}async function lr(e){let{readFileAsText:t}=globalThis.loaders||{};if(P||!t||e.startsWith("http"))return await(await fetch(e)).text();try{return await t(e)}catch{if(e.includes("/dist/libs/"))return await t(e.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${e}`)}}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)})})}async function Sr(){if(typeof process>"u"||!process.versions?.node)throw new Error("ChildProcessProxy is only available in Node.js environments");return await Promise.resolve().then(()=>se(Re(),1))}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=await Sr(),o=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await $e(t.port)),o.push(t.portArg,String(this.port))),await new Promise((s,_)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),s({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=t.spawn||{},i=r.spawn(t.command,o,a);this.childProcess=i,i.stdout?.on("data",c=>{console.log(c.toString())}),i.stderr?.on("data",c=>{console.log(`Child process wrote to stderr: "${c}".`),t.ignoreStderr||(this._clearTimeout(),_(new Error(c)))}),i.on("error",c=>{console.log(`Child process errored with ${c}`),this._clearTimeout(),_(c)}),i.on("close",c=>{console.log(`Child process exited with ${c}`),this.childProcess=null,this._clearTimeout(),s({})})}catch(a){_(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 Ar="",je={};function le(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"},Je;async function Ae(e){ae(e.modules);let t=ie("basis");return t||(Je||=Tr(e),await Je)}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 Se;async function y(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(Se=Se||Er(e),await Se)}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_"],Ze={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 Y(e){if(!$){e=e||dr()||void 0,$=new Set;for(let t of mr)for(let r in Ze)if(e&&e.getExtension(`${t}${r}`)){let o=Ze[r];$.add(o)}}return $}function dr(){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}},D=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]),S=[171,75,84,88,32,50,48,187,13,10,26,10];function qe(e){return new TextDecoder().decode(e)}function Qe(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 Te,o=17*Uint32Array.BYTES_PER_ELEMENT,s=new D(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 _=s._nextUint32();r.supercompressionScheme=s._nextUint32();let a=s._nextUint32(),i=s._nextUint32(),c=s._nextUint32(),l=s._nextUint32(),A=s._nextUint64(),x=s._nextUint64(),Nt=_*3*8,oe=new D(e,S.length+o,Nt,!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 D(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:[]},Ut=6,wt=4,bt=(ne.descriptorBlockSize/4-Ut)/wt;for(let T=0;T<bt;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 D(e,c,l,!0);for(;I._offset<l;){let T=I._nextUint32(),B=I._scan(T),X=qe(B);if(r.keyValue[X]=I._nextUint8Array(T-B.byteLength-1),X.match(/^ktx/i)){let Ue=qe(r.keyValue[X]);r.keyValue[X]=Ue.substring(0,Ue.lastIndexOf("\0"))}let Yt=T%4?4-T%4:0;I._skip(Yt)}if(x<=0)return r;let m=new D(e,A,x,!0),Ht=m._nextUint16(),Vt=m._nextUint16(),Ke=m._nextUint32(),Fe=m._nextUint32(),Ge=m._nextUint32(),Xt=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,ye=Ie+Ke,Ne=ye+Fe,vt=Ne+Ge,kt=new Uint8Array(e.buffer,e.byteOffset+Ie,Ke),Wt=new Uint8Array(e.buffer,e.byteOffset+ye,Fe),zt=new Uint8Array(e.buffer,e.byteOffset+Ne,Ge),$t=new Uint8Array(e.buffer,e.byteOffset+vt,Xt);return r.globalData={endpointCount:Ht,selectorCount:Vt,imageDescs:Le,endpointsData:kt,selectorsData:Wt,tablesData:zt,extendedData:$t},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=Or(t,o,s,e,a),c=pr(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 pr(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function Or(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 et(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 tt(e){let t=new Uint8Array(e),r=Qe(t),o=Math.max(1,r.levels.length),s=r.pixelWidth,_=r.pixelHeight,a=et(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 J(e,t={}){if(!t.basis?.containerFormat||t.basis.containerFormat==="auto"){if(j(e)){let o=await y(t?.core||{});return rt(o.KTX2File,e,t)}let{BasisFile:r}=await Ae(t?.core||{});return fe(r,e,t)}switch(t.basis.module){case"encoder":let r=await y(t?.core||{});switch(t.basis.containerFormat){case"ktx2":return rt(r.KTX2File,e,t);case"basis":default:return fe(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await Ae(t.core||{});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 l=0;l<i;l++)c.push(xr(o,a,l,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:l}=ot(o,a),A=e.getImageTranscodedSizeInBytes(t,r,l),x=new Uint8Array(A);if(!e.transcodeImage(x,t,r,l,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:_,data:x,compressed:i,format:c,hasAlpha:a}}function rt(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}=ot(r,o),l=e.getImageTranscodedSizeInBytes(t,0,0,c),A=new Uint8Array(l);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:l,hasAlpha:o,format:i}}function ot(e,t){let r=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=Y();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"}}},nt={...ue,parse:J};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},gr={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},Dr=at,Pr=Z,hr=Z,Kr={DXT1:at,DXT3:Z,DXT5:Z,"ATC ":Dr,ATCA:Pr,ATCI:hr};function st(e){return new Uint32Array(e,0,u.HEADER_LENGTH)[u.MAGIC_NUMBER_INDEX]===u.MAGIC_NUMBER}function _t(e){let t=new Int32Array(e,0,u.HEADER_LENGTH),r=t[u.HEADER_PF_FOURCC_INDEX];p(Boolean(t[u.HEADER_PF_FLAGS_INDEX]&u.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=Fr(r),s=gr[o],_=Kr[o];p(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],l=t[u.HEADER_SIZE_INDEX]+4,A=new Uint8Array(e,l);return G(A,{mipMapLevels:a,width:i,height:c,sizeFunction:_,internalFormat:s})}function at(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 d={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:it,1:it,2:ct,3:ct,6:N,7:N,9:U,11:U,22:N,23:U,24:N,25:N,26:U,27:U,28:Ir,29:yr,30:Nr,31:Ur,32:wr,33:br,34:Hr,35:Vr,36:Xr,37:vr,38:kr,39:Wr,40:zr};function Rt(e){let r=new Uint32Array(e,0,d.HEADER_LENGTH)[d.MAGIC_NUMBER_INDEX];return r===d.MAGIC_NUMBER||r===d.MAGIC_NUMBER_EXTRA}function lt(e){let t=new Uint32Array(e,0,d.HEADER_LENGTH),r=t[d.PIXEL_FORMAT_INDEX],o=t[d.COLOUR_SPACE_INDEX],s=Gr[r]||[],_=s.length>1&&o?s[1]:s[0],a=Lr[r],i=t[d.MIPMAPCOUNT_INDEX],c=t[d.WIDTH_INDEX],l=t[d.HEIGHT_INDEX],A=d.HEADER_SIZE+t[d.METADATA_SIZE_INDEX],x=new Uint8Array(e,A);return G(x,{mipMapLevels:i,width:c,height:l,sizeFunction:a,internalFormat:_})}function it(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function ct(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function N(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function U(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 yr(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 Ur(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 St(e){if(j(e))return tt(e);if(st(e))return _t(e);if(Rt(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}}},At={...me,parse:async(e,t)=>(t={...t},t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await J(e,t))[0]):St(e))};var de={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 pe=new Uint32Array([305419896]),$r=new Uint8Array(pe.buffer,pe.byteOffset,pe.byteLength),Yr=$r[0]!==18,Tt=Yr,jr={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function Oe(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 l=new a(e.slice(s,s+c));if(_[0]===">"&&Tt||_[0]==="<"&&!Tt)throw new Error("Incorrect endianness");return{data:l,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:{}}},ft={...Ce,parseSync:Oe,parse:async(e,t)=>Oe(e,t)};var Et={DECODER:"crunch.js"};async function ut(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 mt={name:"DDS Texture Container",id:"dds",module:"textures",version:f,extensions:["dds"],mimeTypes:["image/vnd-ms.dds","image/x-dds","application/octet-stream"],options:{texture:{format:"auto",compression:"auto",quality:"auto",mipmap:!1,flipY:!1,toolFlags:""}},encodeURLtoURL:ut,encode(){throw new Error("Not implemented")}};async function dt(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:s=!1,mipmaps:_=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:a}=await y(t.core||{}),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 l=i.encode(c);return c.subarray(0,l).buffer}catch(c){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",c),c}finally{i.delete()}}var pt={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:f,extensions:["ktx2"],mimeTypes:["image/ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:dt};var Ot="4.4.0-alpha.16";var qr=globalThis.loaders?.parseImageNode,Me=typeof Image<"u",xe=typeof ImageBitmap<"u",Qr=Boolean(qr),Be=_e?!0:Qr;function Ct(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 Mt(){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 xt(e){let t=eo(e);if(!t)throw new Error("Not an image");return t}function ge(e){return q(e)}function q(e){switch(xt(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 Bt(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 De(e,t)}function De(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=Bt(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 gt=!0;async function Dt(e,t,r){let o;Q(r)?o=await ee(e,t,r):o=De(e,r);let s=t&&t.imagebitmap;return await no(o,s)}async function no(e,t=null){if((so(t)||!gt)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),gt=!1}return await createImageBitmap(e)}function so(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function Pt(e){return!co(e,"ftyp",4)||!(e[8]&96)?null:_o(e)}function _o(e){switch(ao(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function ao(e,t,r){return String.fromCharCode(...e.slice(t,r))}function io(e){return[...e].map(t=>t.charCodeAt(0))}function co(e,t,r=0){let o=io(t);for(let s=0;s<o.length;++s)if(o[s]!==e[s+r])return!1;return!0}var M=!1,w=!0;function te(e){let t=b(e);return lo(t)||To(t)||So(t)||Ao(t)||Ro(t)}function Ro(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Pt(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function lo(e){let t=b(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 So(e){let t=b(e);return t.byteLength>=10&&t.getUint32(0,M)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,w),height:t.getUint16(8,w)}:null}function Ao(e){let t=b(e);return t.byteLength>=14&&t.getUint16(0,M)===16973&&t.getUint32(2,w)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,w),height:t.getUint32(22,w)}:null}function To(e){let t=b(e);if(!(t.byteLength>=3&&t.getUint16(0,M)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:s}=fo(),_=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 fo(){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 b(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 p(o),await o(e,r)}async function Kt(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:_}=r||{},a=Eo(s),i;switch(a){case"imagebitmap":i=await Dt(e,t,_);break;case"image":i=await ee(e,t,_);break;case"data":i=await ht(e,t);break;default:p(!1)}return s==="data"&&(i=q(i)),i}function Eo(e){switch(e){case"auto":case"data":return Mt();default:return Ct(e),e}}var uo=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],mo=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],po={image:{type:"auto",decode:!0}},g={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:Ot,mimeTypes:mo,extensions:uo,parse:Kt,tests:[e=>Boolean(te(new DataView(e)))],options:po};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}`),le(o)}var Oo=e=>e&&typeof e=="object";async function Ft(e,t,r={}){return await Pe(e,t,r)}async function Pe(e,t,r){return Array.isArray(e)?await Mo(e,t,r):Oo(e)?await Co(e,t,r):await t(e,r)}async function Co(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 Mo(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 Ft(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 Gt(e,t={}){let r=await H(e,t);return await L(r,g.parse,t)}async function H(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await xo(e,o,t,r):re(e,t,r)}async function xo(e,t,r,o){let s=[];if(t==="auto"){let _=re(e,r,{...o,lod:0}),a=await he(_,g.parse,r),{width:i,height:c}=ge(a);t=Bo({width:i,height:c}),s.push(_)}p(t>0);for(let _=s.length;_<t;++_){let a=re(e,r,{...o,lod:_});s.push(a)}return s}function Bo(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function Lt(e,t,r={}){let o=await go(e,t,r);return await L(o,g.parse,r)}async function go(e,t,r={}){let o=[];for(let s=0;s<e;s++){let _=H(t,r,{index:s});o.push(_)}return await Promise.all(o)}var Do=34069,Po=34070,ho=34071,Ko=34072,Fo=34073,Go=34074,It=[{face:Do,direction:"right",axis:"x",sign:"positive"},{face:Po,direction:"left",axis:"x",sign:"negative"},{face:ho,direction:"top",axis:"y",sign:"positive"},{face:Ko,direction:"bottom",axis:"y",sign:"negative"},{face:Fo,direction:"front",axis:"z",sign:"positive"},{face:Go,direction:"back",axis:"z",sign:"negative"}];async function Lo(e,t){let r={},o=[],s=0;for(let _=0;_<It.length;++_){let a=It[s],i=H(e,t,{...a,index:s++}).then(c=>{r[a.face]=c});o.push(i)}return await Promise.all(o),r}async function yt(e,t={}){let r=await Lo(e,t);return await L(r,g.parse,t)}var Io={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 tr(V);})();
|
|
7
|
+
"use strict";var __exports__=(()=>{var p_=Object.create;var mt=Object.defineProperty;var O_=Object.getOwnPropertyDescriptor;var B_=Object.getOwnPropertyNames;var M_=Object.getPrototypeOf,d_=Object.prototype.hasOwnProperty;var P_=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),L_=(t,e)=>{for(var r in e)mt(t,r,{get:e[r],enumerable:!0})},lt=(t,e,r,_)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of B_(e))!d_.call(t,o)&&o!==r&&mt(t,o,{get:()=>e[o],enumerable:!(_=O_(e,o))||_.enumerable});return t},Ct=(t,e,r)=>(lt(t,e,"default"),r&<(r,e,"default")),D_=(t,e,r)=>(r=t!=null?p_(M_(t)):{},lt(e||!t||!t.__esModule?mt(r,"default",{value:t,enumerable:!0}):r,t)),b_=t=>lt(mt({},"__esModule",{value:!0}),t);var nr=P_((Pn,or)=>{or.exports=globalThis.loaders});var At={};L_(At,{BASIS_EXTERNAL_LIBRARIES:()=>I,BasisLoader:()=>Kr,BasisWorkerLoader:()=>we,CRUNCH_EXTERNAL_LIBRARIES:()=>Wr,CompressedTextureLoader:()=>Xr,CompressedTextureWorkerLoader:()=>Ne,CompressedTextureWriter:()=>zr,CrunchLoader:()=>ye,CrunchWorkerLoader:()=>ye,GL_COMPRESSED_R11_EAC:()=>Bt,GL_COMPRESSED_RED_GREEN_RGTC2_EXT:()=>Yt,GL_COMPRESSED_RED_RGTC1_EXT:()=>jt,GL_COMPRESSED_RG11_EAC:()=>Mt,GL_COMPRESSED_RGB8_ETC2:()=>dt,GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:()=>Pt,GL_COMPRESSED_RGBA8_ETC2_EAC:()=>z,GL_COMPRESSED_RGBA_ASTC_10x10_KHR:()=>nt,GL_COMPRESSED_RGBA_ASTC_10x5_KHR:()=>rt,GL_COMPRESSED_RGBA_ASTC_10x6_KHR:()=>_t,GL_COMPRESSED_RGBA_ASTC_10x8_KHR:()=>ot,GL_COMPRESSED_RGBA_ASTC_12x10_KHR:()=>st,GL_COMPRESSED_RGBA_ASTC_12x12_KHR:()=>at,GL_COMPRESSED_RGBA_ASTC_4x4_KHR:()=>y,GL_COMPRESSED_RGBA_ASTC_5x4_KHR:()=>Y,GL_COMPRESSED_RGBA_ASTC_5x5_KHR:()=>J,GL_COMPRESSED_RGBA_ASTC_6x5_KHR:()=>Z,GL_COMPRESSED_RGBA_ASTC_6x6_KHR:()=>q,GL_COMPRESSED_RGBA_ASTC_8x5_KHR:()=>Q,GL_COMPRESSED_RGBA_ASTC_8x6_KHR:()=>tt,GL_COMPRESSED_RGBA_ASTC_8x8_KHR:()=>et,GL_COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:()=>de,GL_COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:()=>Kt,GL_COMPRESSED_RGBA_BPTC_UNORM_EXT:()=>De,GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:()=>Dt,GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:()=>j,GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:()=>Ge,GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:()=>$,GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:()=>N,GL_COMPRESSED_RGB_ATC_WEBGL:()=>ht,GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT:()=>so,GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT:()=>ao,GL_COMPRESSED_RGB_ETC1_WEBGL:()=>bt,GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG:()=>Me,GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG:()=>Lt,GL_COMPRESSED_RGB_S3TC_DXT1_EXT:()=>w,GL_COMPRESSED_SIGNED_R11_EAC:()=>xe,GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:()=>Le,GL_COMPRESSED_SIGNED_RED_RGTC1_EXT:()=>Pe,GL_COMPRESSED_SIGNED_RG11_EAC:()=>ge,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:()=>Wt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:()=>Xt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:()=>vt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:()=>kt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:()=>$t,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:()=>zt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:()=>Ht,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:()=>Ft,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:()=>It,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:()=>wt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:()=>Nt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:()=>yt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:()=>Ut,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:()=>Vt,GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:()=>Oe,GL_COMPRESSED_SRGB8_ETC2:()=>pe,GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:()=>Be,GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:()=>no,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:()=>he,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:()=>Ke,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:()=>He,GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:()=>be,GL_EXTENSIONS_CONSTANTS:()=>io,GL_RGB:()=>ro,GL_RGB565:()=>fe,GL_RGB5_A1:()=>oo,GL_RGBA:()=>_o,GL_RGBA4:()=>Gr,GL_RGBA8:()=>xr,KTX2BasisWriter:()=>Yr,KTX2BasisWriterWorker:()=>Mn,NPYLoader:()=>kr,NPYWorkerLoader:()=>Xe,loadImageTexture:()=>a_,loadImageTextureArray:()=>i_,loadImageTextureCube:()=>c_});Ct(At,D_(nr(),1));var T="4.4.0-alpha.18";function h_(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.18"),globalThis._loadersgl_.version}var sr=h_();function ar(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}var G={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},hn=G.self||G.window||G.global||{},Kn=G.window||G.self||G.global||{},Hn=G.global||G.self||G.window||{},Fn=G.document||{};var D=typeof process!="object"||String(process)!=="[object process]"||process.browser,ft=typeof importScripts=="function",In=typeof window<"u"&&typeof window.orientation<"u",ir=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),wn=ir&&parseFloat(ir[1])||0;var ae={};function k(t={}){let e=t.useLocalLibraries??t.core?.useLocalLibraries,r=t.CDN??t.core?.CDN,_=t.modules;return{...e!==void 0?{useLocalLibraries:e}:{},...r!==void 0?{CDN:r}:{},..._!==void 0?{modules:_}:{}}}async function b(t,e=null,r={},_=null){return e&&(t=Rr(t,e,r,_)),ae[t]=ae[t]||K_(t),await ae[t]}function Rr(t,e,r={},_=null){if(r?.core)throw new Error("loadLibrary: options.core must be pre-normalized");if(!r.useLocalLibraries&&t.startsWith("http"))return t;_=_||t;let o=r.modules||{};return o[_]?o[_]:D?r.CDN?(ar(r.CDN.startsWith("http")),`${r.CDN}/${e}@${sr}/dist/libs/${_}`):ft?`../src/libs/${_}`:`modules/${e}/src/libs/${_}`:`modules/${e}/dist/libs/${_}`}async function K_(t){if(t.endsWith("wasm"))return await F_(t);if(!D){let{requireFromFile:r}=globalThis.loaders||{};try{let _=await r?.(t);return _||!t.includes("/dist/libs/")?_:await r?.(t.replace("/dist/libs/","/src/libs/"))}catch(_){if(t.includes("/dist/libs/"))try{return await r?.(t.replace("/dist/libs/","/src/libs/"))}catch{}return console.error(_),null}}if(ft)return importScripts(t);let e=await I_(t);return H_(e,t)}function H_(t,e){if(!D){let{requireFromString:_}=globalThis.loaders||{};return _?.(t,e)}if(ft)return eval.call(globalThis,t),null;let r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch{r.text=t}return document.body.appendChild(r),null}async function F_(t){let{readFileAsArrayBuffer:e}=globalThis.loaders||{};if(D||!e||t.startsWith("http"))return await(await fetch(t)).arrayBuffer();try{return await e(t)}catch{if(t.includes("/dist/libs/"))return await e(t.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load ArrayBuffer from ${t}`)}}async function I_(t){let{readFileAsText:e}=globalThis.loaders||{};if(D||!e||t.startsWith("http"))return await(await fetch(t)).text();try{return await e(t)}catch{if(t.includes("/dist/libs/"))return await e(t.replace("/dist/libs/","/src/libs/"));throw new Error(`Failed to load text from ${t}`)}}var h=class{constructor(){throw new Error("ChildProcessProxy is not available in browser environments")}async start(e){return await Promise.resolve({})}async stop(){return await Promise.resolve()}async exit(){return await Promise.resolve()}};function x(t,e){if(!t)throw new Error(e||"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},w_=g.self||g.window||g.global||{},N_=g.window||g.self||g.global||{},y_=g.global||g.self||g.window||{},U_=g.document||{};var ie=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var cr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),V_=cr&&parseFloat(cr[1])||0;var Gt=globalThis,X_=globalThis.document||{},xt=globalThis.process||{},v_=globalThis.console,Yn=globalThis.navigator||{};function Sr(t){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let e=typeof navigator<"u"&&navigator.userAgent,r=t||e;return Boolean(r&&r.indexOf("Electron")>=0)}function d(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Sr()}var Re="4.1.1";function K(t,e){if(!t)throw new Error(e||"Assertion failed")}function ce(t){if(!t)return 0;let e;switch(typeof t){case"number":e=t;break;case"object":e=t.logLevel||t.priority||0;break;default:return 0}return K(Number.isFinite(e)&&e>=0),e}function Er(t){let{logLevel:e,message:r}=t;t.logLevel=ce(e);let _=t.args?Array.from(t.args):[];for(;_.length&&_.shift()!==r;);switch(typeof e){case"string":case"function":r!==void 0&&_.unshift(r),t.message=e;break;case"object":Object.assign(t,e);break;default:}typeof t.message=="function"&&(t.message=t.message());let o=typeof t.message;return K(o==="string"||o==="object"),Object.assign(t,{args:_},t.opts)}var P=()=>{},gt=class{constructor({level:e=0}={}){this.userData={},this._onceCache=new Set,this._level=e}set level(e){this.setLevel(e)}get level(){return this.getLevel()}setLevel(e){return this._level=e,this}getLevel(){return this._level}warn(e,...r){return this._log("warn",0,e,r,{once:!0})}error(e,...r){return this._log("error",0,e,r)}log(e,r,..._){return this._log("log",e,r,_)}info(e,r,..._){return this._log("info",e,r,_)}once(e,r,..._){return this._log("once",e,r,_,{once:!0})}_log(e,r,_,o,n={}){let s=Er({logLevel:r,message:_,args:this._buildArgs(r,_,o),opts:n});return this._createLogFunction(e,s,n)}_buildArgs(e,r,_){return[e,r,..._]}_createLogFunction(e,r,_){if(!this._shouldLog(r.logLevel))return P;let o=this._getOnceTag(_.tag??r.tag??r.message);if((_.once||r.once)&&o!==void 0){if(this._onceCache.has(o))return P;this._onceCache.add(o)}return this._emit(e,r)}_shouldLog(e){return this.getLevel()>=ce(e)}_getOnceTag(e){if(e!==void 0)try{return typeof e=="string"?e:String(e)}catch{return}}};function W_(t){try{let e=window[t],r="__storage_test__";return e.setItem(r,r),e.removeItem(r),e}catch{return null}}var pt=class{constructor(e,r,_="sessionStorage"){this.storage=W_(_),this.id=e,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(e){if(Object.assign(this.config,e),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let e={};if(this.storage){let r=this.storage.getItem(this.id);e=r?JSON.parse(r):{}}return Object.assign(this.config,e),this}};function Ar(t){let e;return t<10?e=`${t.toFixed(2)}ms`:t<100?e=`${t.toFixed(1)}ms`:t<1e3?e=`${t.toFixed(0)}ms`:e=`${(t/1e3).toFixed(2)}s`,e}function ur(t,e=8){let r=Math.max(e-t.length,0);return`${" ".repeat(r)}${t}`}var Ot;(function(t){t[t.BLACK=30]="BLACK",t[t.RED=31]="RED",t[t.GREEN=32]="GREEN",t[t.YELLOW=33]="YELLOW",t[t.BLUE=34]="BLUE",t[t.MAGENTA=35]="MAGENTA",t[t.CYAN=36]="CYAN",t[t.WHITE=37]="WHITE",t[t.BRIGHT_BLACK=90]="BRIGHT_BLACK",t[t.BRIGHT_RED=91]="BRIGHT_RED",t[t.BRIGHT_GREEN=92]="BRIGHT_GREEN",t[t.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",t[t.BRIGHT_BLUE=94]="BRIGHT_BLUE",t[t.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",t[t.BRIGHT_CYAN=96]="BRIGHT_CYAN",t[t.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Ot||(Ot={}));var $_=10;function Tr(t){return typeof t!="string"?t:(t=t.toUpperCase(),Ot[t]||Ot.WHITE)}function lr(t,e,r){return!d&&typeof t=="string"&&(e&&(t=`\x1B[${Tr(e)}m${t}\x1B[39m`),r&&(t=`\x1B[${Tr(r)+$_}m${t}\x1B[49m`)),t}function mr(t,e=["constructor"]){let r=Object.getPrototypeOf(t),_=Object.getOwnPropertyNames(r),o=t;for(let n of _){let s=o[n];typeof s=="function"&&(e.find(a=>n===a)||(o[n]=s.bind(t)))}}function H(){let t;if(d()&&Gt.performance)t=Gt?.performance?.now?.();else if("hrtime"in xt){let e=xt?.hrtime?.();t=e[0]*1e3+e[1]/1e6}else t=Date.now();return t}var F={debug:d()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Se={enabled:!0,level:0},B=class extends gt{constructor({id:e}={id:""}){super({level:0}),this.VERSION=Re,this._startTs=H(),this._deltaTs=H(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=e,this.userData={},this._storage=new pt(`__probe-${this.id}__`,{[this.id]:Se}),this.timeStamp(`${this.id} started`),mr(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((H()-this._startTs).toPrecision(10))}getDelta(){return Number((H()-this._deltaTs).toPrecision(10))}set priority(e){this.level=e}get priority(){return this.level}getPriority(){return this.level}enable(e=!0){return this._updateConfiguration({enabled:e}),this}setLevel(e){return this._updateConfiguration({level:e}),this}get(e){return this._getConfiguration()[e]}set(e,r){this._updateConfiguration({[e]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(e,r){if(!e)throw new Error(r||"Assertion failed")}warn(e,...r){return this._log("warn",0,e,r,{method:F.warn,once:!0})}error(e,...r){return this._log("error",0,e,r,{method:F.error})}deprecated(e,r){return this.warn(`\`${e}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(e,r){return this.error(`\`${e}\` has been removed. Use \`${r}\` instead`)}probe(e,r,..._){return this._log("log",e,r,_,{method:F.log,time:!0,once:!0})}log(e,r,..._){return this._log("log",e,r,_,{method:F.debug})}info(e,r,..._){return this._log("info",e,r,_,{method:console.info})}once(e,r,..._){return this._log("once",e,r,_,{method:F.debug||F.info,once:!0})}table(e,r,_){return r?this._log("table",e,r,_&&[_]||[],{method:console.table||P,tag:j_(r)}):P}time(e,r){return this._log("time",e,r,[],{method:console.time?console.time:console.info})}timeEnd(e,r){return this._log("time",e,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(e,r){return this._log("time",e,r,[],{method:console.timeStamp||P})}group(e,r,_={collapsed:!1}){let o=(_.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",e,r,[],{method:o})}groupCollapsed(e,r,_={}){return this.group(e,r,Object.assign({},_,{collapsed:!0}))}groupEnd(e){return this._log("groupEnd",e,"",[],{method:console.groupEnd||P})}withGroup(e,r,_){this.group(e,r)();try{_()}finally{this.groupEnd(e)()}}trace(){console.trace&&console.trace()}_shouldLog(e){return this.isEnabled()&&super._shouldLog(e)}_emit(e,r){let _=r.method;K(_),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=H();let o=z_(this.id,r.message,r);return _.bind(console,o,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(Se),this._storage.config[this.id]}_updateConfiguration(e){let r=this._storage.config[this.id]||{...Se};this._storage.setConfiguration({[this.id]:{...r,...e}})}};B.VERSION=Re;function z_(t,e,r){if(typeof e=="string"){let _=r.time?ur(Ar(r.total)):"";e=r.time?`${t}: ${_} ${e}`:`${t}: ${e}`,e=lr(e,r.color,r.background)}return e}function j_(t){for(let e in t)for(let r in t[e])return r||"untitled";return"empty"}globalThis.probe={};var Bs=new B({id:"@probe.gl/log"});var Ee="4.4.0-alpha.18",Y_=Ee[0]>="0"&&Ee[0]<="9"?`v${Ee}`:"";function J_(){let t=new B({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=t,globalThis.loaders.version=Y_,globalThis.probe||={},globalThis.probe.loaders=t,t}var Ae=J_();function ue(t){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,t)}function Te(t){return globalThis.loaders?.modules?.[t]||null}var Z_="",Cr={};function le(t){for(let e in Cr)if(t.startsWith(e)){let r=Cr[e];t=t.replace(e,r)}return!t.startsWith("http://")&&!t.startsWith("https://")&&(t=`${Z_}${t}`),t}var I={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},fr;async function Ce(t){ue(t.modules);let e=Te("basis");return e||(fr||=q_(t),await fr)}async function q_(t){let e=null,r=null;return[e,r]=await Promise.all([await b(I.TRANSCODER,"textures",t),await b(I.TRANSCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await Q_(e,r)}function Q_(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(_=>{t(r).then(o=>{let{BasisFile:n,initializeBasis:s}=o;s(),_({BasisFile:n})})})}var me;async function W(t){let e=t.modules||{};return e.basisEncoder?e.basisEncoder:(me=me||to(t),await me)}async function to(t){let e=null,r=null;return[e,r]=await Promise.all([await b(I.ENCODER,"textures",t),await b(I.ENCODER_WASM,"textures",t)]),e=e||globalThis.BASIS,await eo(e,r)}function eo(t,e){let r={};return e&&(r.wasmBinary=e),new Promise(_=>{t(r).then(o=>{let{BasisFile:n,KTX2File:s,initializeBasis:a,BasisEncoder:i}=o;a(),_({BasisFile:n,KTX2File:s,BasisEncoder:i})})})}var ro=6407,_o=6408,Gr=32854,oo=32855,xr=32856,fe=36194,w=33776,Ge=33777,$=33778,N=33779,Bt=37488,xe=37489,Mt=37490,ge=37491,dt=37492,z=37493,pe=37494,Oe=37495,Pt=37496,Be=37497,Lt=35840,Me=35841,j=35842,Dt=35843,bt=36196,ht=35986,de=35987,Kt=34798,y=37808,Y=37809,J=37810,Z=37811,q=37812,Q=37813,tt=37814,et=37815,rt=37816,_t=37817,ot=37818,nt=37819,st=37820,at=37821,Ht=37840,Ft=37841,It=37842,wt=37843,Nt=37844,yt=37845,Ut=37846,Vt=37847,Xt=37848,vt=37849,kt=37850,Wt=37851,$t=37852,zt=37853,jt=36283,Pe=36284,Yt=36285,Le=36286,De=36492,no=36493,so=36494,ao=36495,be=35916,he=35917,Ke=35918,He=35919,io={RGB:6407,RGBA:6408,RGBA4:32854,RGB5_A1:32855,RGBA8:32856,RGB565:36194,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_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,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_RGBA_BPTC_UNORM_EXT:36492,COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:36493,COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT:36494,COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT:36495,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,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};var Ro=["","WEBKIT_","MOZ_"],gr={WEBGL_compressed_texture_s3tc:["bc1-rgb-unorm-webgl","bc1-rgba-unorm","bc2-rgba-unorm","bc3-rgba-unorm"],WEBGL_compressed_texture_s3tc_srgb:["bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm-srgb","bc2-rgba-unorm-srgb","bc3-rgba-unorm-srgb"],EXT_texture_compression_rgtc:["bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm"],EXT_texture_compression_bptc:["bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb"],WEBGL_compressed_texture_etc1:["etc1-rbg-unorm-webgl"],WEBGL_compressed_texture_etc:["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"],WEBGL_compressed_texture_pvrtc:["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rbg2unorm-webgl","pvrtc-rgba2unorm-webgl"],WEBGL_compressed_texture_atc:["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"],WEBGL_compressed_texture_astc:["astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"]};var Jt=null;function pr(t){if(!Jt){t=t||co()||void 0,Jt=new Set;for(let e of Ro)for(let r in gr)if(t&&t.getExtension(`${e}${r}`))for(let _ of gr[r])Jt.add(_)}return Jt}function co(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Fe=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}},L=class{constructor(e,r,_,o){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(e.buffer,e.byteOffset+r,_),this._littleEndian=o,this._offset=0}_nextUint8(){let e=this._dataView.getUint8(this._offset);return this._offset+=1,e}_nextUint16(){let e=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,e}_nextUint32(){let e=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint64(){let e=this._dataView.getUint32(this._offset,this._littleEndian),r=this._dataView.getUint32(this._offset+4,this._littleEndian),_=e+2**32*r;return this._offset+=8,_}_nextInt32(){let e=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,e}_nextUint8Array(e){let r=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,e);return this._offset+=e,r}_skip(e){return this._offset+=e,this}_scan(e,r=0){let _=this._offset,o=0;for(;this._dataView.getUint8(this._offset)!==r&&o<e;)o++,this._offset++;return o<e&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+_,o)}};var Js=new Uint8Array([0]),A=[171,75,84,88,32,50,48,187,13,10,26,10];function Or(t){return new TextDecoder().decode(t)}function Br(t){let e=new Uint8Array(t.buffer,t.byteOffset,A.length);if(e[0]!==A[0]||e[1]!==A[1]||e[2]!==A[2]||e[3]!==A[3]||e[4]!==A[4]||e[5]!==A[5]||e[6]!==A[6]||e[7]!==A[7]||e[8]!==A[8]||e[9]!==A[9]||e[10]!==A[10]||e[11]!==A[11])throw new Error("Missing KTX 2.0 identifier.");let r=new Fe,_=17*Uint32Array.BYTES_PER_ELEMENT,o=new L(t,A.length,_,!0);r.vkFormat=o._nextUint32(),r.typeSize=o._nextUint32(),r.pixelWidth=o._nextUint32(),r.pixelHeight=o._nextUint32(),r.pixelDepth=o._nextUint32(),r.layerCount=o._nextUint32(),r.faceCount=o._nextUint32();let n=o._nextUint32();r.supercompressionScheme=o._nextUint32();let s=o._nextUint32(),a=o._nextUint32(),i=o._nextUint32(),c=o._nextUint32(),S=o._nextUint64(),E=o._nextUint64(),ut=n*3*8,ne=new L(t,A.length+_,ut,!0);for(let u=0;u<n;u++)r.levels.push({levelData:new Uint8Array(t.buffer,t.byteOffset+ne._nextUint64(),ne._nextUint64()),uncompressedByteLength:ne._nextUint64()});let R=new L(t,s,a,!0),se={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:[]},S_=6,E_=4,A_=(se.descriptorBlockSize/4-S_)/E_;for(let u=0;u<A_;u++){let O={bitOffset:R._nextUint16(),bitLength:R._nextUint8(),channelType:R._nextUint8(),samplePosition:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};O.channelType&64?(O.sampleLower=R._nextInt32(),O.sampleUpper=R._nextInt32()):(O.sampleLower=R._nextUint32(),O.sampleUpper=R._nextUint32()),se.samples[u]=O}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(se);let v=new L(t,i,c,!0);for(;v._offset<c;){let u=v._nextUint32(),O=v._scan(u),Tt=Or(O);if(r.keyValue[Tt]=v._nextUint8Array(u-O.byteLength-1),Tt.match(/^ktx/i)){let _r=Or(r.keyValue[Tt]);r.keyValue[Tt]=_r.substring(0,_r.lastIndexOf("\0"))}let g_=u%4?4-u%4:0;v._skip(g_)}if(E<=0)return r;let C=new L(t,S,E,!0),u_=C._nextUint16(),T_=C._nextUint16(),Je=C._nextUint32(),Ze=C._nextUint32(),qe=C._nextUint32(),l_=C._nextUint32(),Qe=[];for(let u=0;u<n;u++)Qe.push({imageFlags:C._nextUint32(),rgbSliceByteOffset:C._nextUint32(),rgbSliceByteLength:C._nextUint32(),alphaSliceByteOffset:C._nextUint32(),alphaSliceByteLength:C._nextUint32()});let tr=S+C._offset,er=tr+Je,rr=er+Ze,m_=rr+qe,C_=new Uint8Array(t.buffer,t.byteOffset+tr,Je),f_=new Uint8Array(t.buffer,t.byteOffset+er,Ze),G_=new Uint8Array(t.buffer,t.byteOffset+rr,qe),x_=new Uint8Array(t.buffer,t.byteOffset+m_,l_);return r.globalData={endpointCount:u_,selectorCount:T_,imageDescs:Qe,endpointsData:C_,selectorsData:f_,tablesData:G_,extendedData:x_},r}var So={[33776]:"bc1-rgb-unorm-webgl",[35916]:"bc1-rgb-unorm-srgb-webgl",[33777]:"bc1-rgba-unorm",[35917]:"bc1-rgba-unorm-srgb",[33778]:"bc2-rgba-unorm",[35918]:"bc2-rgba-unorm-srgb",[33779]:"bc3-rgba-unorm",[35919]:"bc3-rgba-unorm-srgb",[36283]:"bc4-r-unorm",[36284]:"bc4-r-snorm",[36285]:"bc5-rg-unorm",[36286]:"bc5-rg-snorm",[37492]:"etc2-rgb8unorm",[37494]:"etc2-rgb8unorm-srgb",[37496]:"etc2-rgb8a1unorm",[37497]:"etc2-rgb8a1unorm-srgb",[37493]:"etc2-rgba8unorm",[37495]:"etc2-rgba8unorm-srgb",[37488]:"eac-r11unorm",[37489]:"eac-r11snorm",[37490]:"eac-rg11unorm",[37491]:"eac-rg11snorm",[37808]:"astc-4x4-unorm",[37840]:"astc-4x4-unorm-srgb",[37809]:"astc-5x4-unorm",[37841]:"astc-5x4-unorm-srgb",[37810]:"astc-5x5-unorm",[37842]:"astc-5x5-unorm-srgb",[37811]:"astc-6x5-unorm",[37843]:"astc-6x5-unorm-srgb",[37812]:"astc-6x6-unorm",[37844]:"astc-6x6-unorm-srgb",[37813]:"astc-8x5-unorm",[37845]:"astc-8x5-unorm-srgb",[37814]:"astc-8x6-unorm",[37846]:"astc-8x6-unorm-srgb",[37815]:"astc-8x8-unorm",[37847]:"astc-8x8-unorm-srgb",[37816]:"astc-10x5-unorm",[37848]:"astc-10x5-unorm-srgb",[37817]:"astc-10x6-unorm",[37849]:"astc-10x6-unorm-srgb",[37818]:"astc-10x8-unorm",[37850]:"astc-10x8-unorm-srgb",[37819]:"astc-10x10-unorm",[37851]:"astc-10x10-unorm-srgb",[37820]:"astc-12x10-unorm",[37852]:"astc-12x10-unorm-srgb",[37821]:"astc-12x12-unorm",[37853]:"astc-12x12-unorm-srgb",[35840]:"pvrtc-rgb4unorm-webgl",[35842]:"pvrtc-rgba4unorm-webgl",[35841]:"pvrtc-rbg2unorm-webgl",[35843]:"pvrtc-rgba2unorm-webgl",[36196]:"etc1-rbg-unorm-webgl",[35986]:"atc-rgb-unorm-webgl",[35987]:"atc-rgba-unorm-webgl",[34798]:"atc-rgbai-unorm-webgl"};function Mr(t){if(t!==void 0)return So[t]}function U(t,e){let r=new Array(e.mipMapLevels),_=e.internalFormat,o=_===void 0?void 0:Mr(_),n=e.width,s=e.height,a=0;for(let i=0;i<e.mipMapLevels;++i){let c=Ao(e,n,s,t,i),E={shape:"texture-level",compressed:!0,data:Eo(t,i,a,c),width:n,height:s,levelSize:c};_!==void 0&&(E.format=_),o&&(E.textureFormat=o),r[i]=E,n=Math.max(1,n>>1),s=Math.max(1,s>>1),a+=c}return r}function Eo(t,e,r,_){return Array.isArray(t)?t[e].levelData:new Uint8Array(t.buffer,t.byteOffset+r,_)}function Ao(t,e,r,_,o){return Array.isArray(_)?t.sizeFunction(_[o]):t.sizeFunction(e,r)}var uo={131:33776,132:35916,133:33777,134:35917,135:33778,136:35918,137:33779,138:35919,139:36283,140:36284,141:36285,142:36286,147:37492,148:37494,149:37496,150:37497,151:37493,152:37495,153:37488,154:37489,155:37490,156:37491,157:37808,158:37840,159:37809,160:37841,161:37810,162:37842,163:37811,164:37843,165:37812,166:37844,167:37813,168:37845,169:37814,170:37846,171:37815,172:37847,173:37816,174:37848,175:37817,176:37849,177:37818,178:37850,179:37819,180:37851,181:37820,182:37852,183:37821,184:37853,1000054e3:35843,1000054001:35842,1000066e3:37808,1000066001:37809,1000066002:37810,1000066003:37811,1000066004:37812,1000066005:37813,1000066006:37814,1000066007:37815,1000066008:37816,1000066009:37817,1000066010:37818,1000066011:37819,1000066012:37820,1000066013:37821};function dr(t){return uo[t]}var l=[171,75,84,88,32,50,48,187,13,10,26,10];function Zt(t){let e=new Uint8Array(t);return!(e.byteLength<l.length||e[0]!==l[0]||e[1]!==l[1]||e[2]!==l[2]||e[3]!==l[3]||e[4]!==l[4]||e[5]!==l[5]||e[6]!==l[6]||e[7]!==l[7]||e[8]!==l[8]||e[9]!==l[9]||e[10]!==l[10]||e[11]!==l[11])}function Pr(t){let e=new Uint8Array(t),r=Br(e),_=Math.max(1,r.levels.length),o=r.pixelWidth,n=r.pixelHeight,s=dr(r.vkFormat);return s===void 0&&Ae.warn(`KTX2 container vkFormat ${r.vkFormat} does not map to a known WebGL format; returning texture levels without format metadata.`)(),U(r.levels,{mipMapLevels:_,width:o,height:n,sizeFunction:a=>a.uncompressedByteLength,internalFormat:s})}var br={etc1:{basisFormat:0,compressed:!0,format:36196,textureFormat:"etc1-rbg-unorm-webgl"},etc2:{basisFormat:1,compressed:!0,format:37493,textureFormat:"etc2-rgba8unorm"},bc1:{basisFormat:2,compressed:!0,format:33776,textureFormat:"bc1-rgb-unorm-webgl"},bc3:{basisFormat:3,compressed:!0,format:33779,textureFormat:"bc3-rgba-unorm"},bc4:{basisFormat:4,compressed:!0,format:36283,textureFormat:"bc4-r-unorm"},bc5:{basisFormat:5,compressed:!0,format:36285,textureFormat:"bc5-rg-unorm"},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"bc7-m5":{basisFormat:7,compressed:!0,format:36492,textureFormat:"bc7-rgba-unorm"},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:35840,textureFormat:"pvrtc-rgb4unorm-webgl"},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:35842,textureFormat:"pvrtc-rgba4unorm-webgl"},"astc-4x4":{basisFormat:10,compressed:!0,format:37808,textureFormat:"astc-4x4-unorm"},"atc-rgb":{basisFormat:11,compressed:!0,format:35986,textureFormat:"atc-rgb-unorm-webgl"},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0,format:34798,textureFormat:"atc-rgbai-unorm-webgl"},rgba32:{basisFormat:13,compressed:!1,format:32856,textureFormat:"rgba8unorm"},rgb565:{basisFormat:14,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},bgr565:{basisFormat:15,compressed:!1,format:36194,textureFormat:"rgb565unorm-webgl"},rgba4444:{basisFormat:16,compressed:!1,format:32854,textureFormat:"rgba4unorm-webgl"}},Sa=Object.freeze(Object.keys(br));async function qt(t,e={}){let r=k(e);if(!e.basis?.containerFormat||e.basis.containerFormat==="auto"){if(Zt(t)){let o=await W(r);return Lr(o.KTX2File,t,e)}let{BasisFile:_}=await Ce(r);return Ie(_,t,e)}switch(e.basis.module){case"encoder":let _=await W(r);switch(e.basis.containerFormat){case"ktx2":return Lr(_.KTX2File,t,e);case"basis":default:return Ie(_.BasisFile,t,e)}case"transcoder":default:let{BasisFile:o}=await Ce(r);return Ie(o,t,e)}}function Ie(t,e,r){let _=new t(new Uint8Array(e));try{if(!_.startTranscoding())throw new Error("Failed to start basis transcoding");let o=_.getNumImages(),n=[];for(let s=0;s<o;s++){let a=_.getNumLevels(s),i=[];for(let c=0;c<a;c++)i.push(To(_,s,c,r));n.push(i)}return n}finally{_.close(),_.delete()}}function To(t,e,r,_){let o=t.getImageWidth(e,r),n=t.getImageHeight(e,r),s=t.getHasAlpha(),{compressed:a,format:i,basisFormat:c,textureFormat:S}=hr(_,s),E=t.getImageTranscodedSizeInBytes(e,r,c),ut=new Uint8Array(E);if(!t.transcodeImage(ut,e,r,c,0,0))throw new Error("failed to start Basis transcoding");return{shape:"texture-level",width:o,height:n,data:ut,compressed:a,...i!==void 0?{format:i}:{},...S!==void 0?{textureFormat:S}:{},hasAlpha:s}}function Lr(t,e,r){let _=new t(new Uint8Array(e));try{if(!_.startTranscoding())throw new Error("failed to start KTX2 transcoding");let o=_.getLevels(),n=[];for(let s=0;s<o;s++)n.push(lo(_,s,r));return[n]}finally{_.close(),_.delete()}}function lo(t,e,r){let{alphaFlag:_,height:o,width:n}=t.getImageLevelInfo(e,0,0),{compressed:s,format:a,basisFormat:i,textureFormat:c}=hr(r,_),S=t.getImageTranscodedSizeInBytes(e,0,0,i),E=new Uint8Array(S);if(!t.transcodeImage(E,e,0,0,i,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{shape:"texture-level",width:n,height:o,data:E,compressed:s,...a!==void 0?{format:a}:{},...c!==void 0?{textureFormat:c}:{},levelSize:S,hasAlpha:_}}function hr(t,e){let r=t.basis?.format||"auto";r==="auto"&&(r=t.basis?.supportedTextureFormats?Dr(t.basis.supportedTextureFormats):Dr()),typeof r=="object"&&(r=e?r.alpha:r.noAlpha);let _=r.toLowerCase(),o=br[_];if(!o)throw new Error(`Unknown Basis format ${r}`);return o}function Dr(t=pr()){let e=new Set(t);return V(e,["astc-4x4-unorm","astc-4x4-unorm-srgb"])?"astc-4x4":V(e,["bc7-rgba-unorm","bc7-rgba-unorm-srgb"])?{alpha:"bc7-m5",noAlpha:"bc7-m6-opaque-only"}:V(e,["bc1-rgb-unorm-webgl","bc1-rgb-unorm-srgb-webgl","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb"])?{alpha:"bc3",noAlpha:"bc1"}:V(e,["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rbg2unorm-webgl","pvrtc-rgba2unorm-webgl"])?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:V(e,["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"])?"etc2":e.has("etc1-rbg-unorm-webgl")?"etc1":V(e,["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"])?{alpha:"atc-rgba-interpolated-alpha",noAlpha:"atc-rgb"}:"rgb565"}function V(t,e){return e.some(r=>t.has(r))}var we={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:T,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",containerFormat:"auto",module:"transcoder"}}},Kr={...we,parse:qt};var m={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},mo={DXT1:33776,DXT3:33778,DXT5:33779,"ATC ":35986,ATCA:35987,ATCI:34798},Co=Ir,fo=Qt,Go=Qt,xo={DXT1:Ir,DXT3:Qt,DXT5:Qt,"ATC ":Co,ATCA:fo,ATCI:Go};function Hr(t){return new Uint32Array(t,0,m.HEADER_LENGTH)[m.MAGIC_NUMBER_INDEX]===m.MAGIC_NUMBER}function Fr(t){let e=new Int32Array(t,0,m.HEADER_LENGTH),r=e[m.HEADER_PF_FOURCC_INDEX];x(Boolean(e[m.HEADER_PF_FLAGS_INDEX]&m.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let _=go(r),o=mo[_],n=xo[_];x(o&&n,`DDS: Unknown pixel format ${r}`);let s=1;e[m.HEADER_FLAGS_INDEX]&m.DDSD_MIPMAPCOUNT&&(s=Math.max(1,e[m.MIPMAPCOUNT_INDEX]));let a=e[m.HEADER_WIDTH_INDEX],i=e[m.HEADER_HEIGHT_INDEX],c=e[m.HEADER_SIZE_INDEX]+4,S=new Uint8Array(t,c);return U(S,{mipMapLevels:s,width:a,height:i,sizeFunction:n,internalFormat:o})}function Ir(t,e){return(t+3>>2)*(e+3>>2)*8}function Qt(t,e){return(t+3>>2)*(e+3>>2)*16}function go(t){return String.fromCharCode(t&255,t>>8&255,t>>16&255,t>>24&255)}var f={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},po={0:[35841],1:[35843],2:[35840],3:[35842],6:[36196],7:[33776],9:[33778],11:[33779],22:[37492],23:[37493],24:[37496],25:[37488],26:[37490],27:[37808,37840],28:[37809,37841],29:[37810,37842],30:[37811,37843],31:[37812,37844],32:[37813,37845],33:[37814,37846],34:[37815,37847],35:[37816,37848],36:[37817,37849],37:[37818,37850],38:[37819,37851],39:[37820,37852],40:[37821,37853]},Oo={0:wr,1:wr,2:Nr,3:Nr,6:it,7:it,9:Rt,11:Rt,22:it,23:Rt,24:it,25:it,26:Rt,27:Rt,28:Bo,29:Mo,30:Po,31:Lo,32:Do,33:bo,34:ho,35:Ko,36:Ho,37:Fo,38:Io,39:wo,40:No};function yr(t){let r=new Uint32Array(t,0,f.HEADER_LENGTH)[f.MAGIC_NUMBER_INDEX];return r===f.MAGIC_NUMBER||r===f.MAGIC_NUMBER_EXTRA}function Ur(t){let e=new Uint32Array(t,0,f.HEADER_LENGTH),r=e[f.PIXEL_FORMAT_INDEX],_=e[f.COLOUR_SPACE_INDEX],o=po[r]||[],n=o.length>1&&_?o[1]:o[0],s=Oo[r],a=e[f.MIPMAPCOUNT_INDEX],i=e[f.WIDTH_INDEX],c=e[f.HEIGHT_INDEX],S=f.HEADER_SIZE+e[f.METADATA_SIZE_INDEX],E=new Uint8Array(t,S);return U(E,{mipMapLevels:a,width:i,height:c,sizeFunction:s,internalFormat:n})}function wr(t,e){return t=Math.max(t,16),e=Math.max(e,8),t*e/4}function Nr(t,e){return t=Math.max(t,8),e=Math.max(e,8),t*e/2}function it(t,e){return Math.floor((t+3)/4)*Math.floor((e+3)/4)*8}function Rt(t,e){return Math.floor((t+3)/4)*Math.floor((e+3)/4)*16}function Bo(t,e){return Math.floor((t+4)/5)*Math.floor((e+3)/4)*16}function Mo(t,e){return Math.floor((t+4)/5)*Math.floor((e+4)/5)*16}function Po(t,e){return Math.floor((t+5)/6)*Math.floor((e+4)/5)*16}function Lo(t,e){return Math.floor((t+5)/6)*Math.floor((e+5)/6)*16}function Do(t,e){return Math.floor((t+7)/8)*Math.floor((e+4)/5)*16}function bo(t,e){return Math.floor((t+7)/8)*Math.floor((e+5)/6)*16}function ho(t,e){return Math.floor((t+7)/8)*Math.floor((e+7)/8)*16}function Ko(t,e){return Math.floor((t+9)/10)*Math.floor((e+4)/5)*16}function Ho(t,e){return Math.floor((t+9)/10)*Math.floor((e+5)/6)*16}function Fo(t,e){return Math.floor((t+9)/10)*Math.floor((e+7)/8)*16}function Io(t,e){return Math.floor((t+9)/10)*Math.floor((e+9)/10)*16}function wo(t,e){return Math.floor((t+11)/12)*Math.floor((e+9)/10)*16}function No(t,e){return Math.floor((t+11)/12)*Math.floor((e+11)/12)*16}function Vr(t){if(Zt(t))return Pr(t);if(Hr(t))return Fr(t);if(yr(t))return Ur(t);throw new Error("Texture container format not recognized")}var Ne={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:T,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":{useBasis:!1}}},Xr={...Ne,parse:async(t,e)=>(e={...e},e?.["compressed-texture"]?.useBasis?(e.basis={format:{alpha:"BC3",noAlpha:"BC1"},...e.basis,containerFormat:"ktx2",module:"encoder"},(await qt(t,e))[0]):Vr(t))};var ye={dataType:null,batchType:null,id:"crunch",name:"Crunch",module:"textures",version:T,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{}}};var Ue=new Uint32Array([305419896]),yo=new Uint8Array(Ue.buffer,Ue.byteOffset,Ue.byteLength),Uo=yo[0]!==18,vr=Uo,Vo={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function Ve(t,e){let r=new DataView(t),{header:_,headerEndOffset:o}=Xo(r),n=_.descr,s=Vo[n.slice(1,3)];if(!s)throw new Error(`Unimplemented type ${n}`);let i=_.shape?.reduce((S,E)=>S*E)*s.BYTES_PER_ELEMENT;if(t.byteLength<o+i)throw new Error("Buffer overflow");let c=new s(t.slice(o,o+i));if(n[0]===">"&&vr||n[0]==="<"&&!vr)throw new Error("Incorrect endianness");return{data:c,header:_}}function Xo(t){let e=t.getUint8(6),r=8,_;e>=2?(_=t.getUint32(r,!0),r+=4):(_=t.getUint16(r,!0),r+=2);let o=e<=2?"latin1":"utf-8",n=new TextDecoder(o),s=new Uint8Array(t.buffer,r,_),a=n.decode(s);return r+=_,{header:JSON.parse(a.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var vo=new Uint8Array([147,78,85,77,80,89]),Xe={dataType:null,batchType:null,name:"NPY",id:"npy",module:"textures",version:T,worker:!0,extensions:["npy"],mimeTypes:[],tests:[vo.buffer],options:{npy:{}}},kr={...Xe,parseSync:Ve,parse:async(t,e)=>Ve(t,e)};var Wr={DECODER:"crunch.js"};async function $r(t,e,r){let _=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",t,"--output",e];return await new h().start({command:"npx",arguments:_,spawn:r}),e}var zr={name:"DDS Texture Container",id:"dds",module:"textures",version:T,extensions:["dds"],mimeTypes:["image/vnd-ms.dds","image/x-dds","application/octet-stream"],options:{texture:{format:"auto",compression:"auto",quality:"auto",mipmap:!1,flipY:!1,toolFlags:""}},encodeURLtoURL:$r,encode(){throw new Error("Not implemented")}};async function jr(t,e={}){let{useSRGB:r=!1,qualityLevel:_=10,encodeUASTC:o=!1,mipmaps:n=!1}=e?.["ktx2-basis-writer"]||{},{BasisEncoder:s}=await W(k(e)),a=new s;try{let i=new Uint8Array(t.width*t.height*4);a.setCreateKTX2File(!0),a.setKTX2UASTCSupercompression(!0),a.setKTX2SRGBTransferFunc(!0),a.setSliceSourceImage(0,t.data,t.width,t.height,!1),a.setPerceptual(r),a.setMipSRGB(r),a.setQualityLevel(_),a.setUASTC(o),a.setMipGen(n);let c=a.encode(i);return i.subarray(0,c).buffer}catch(i){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",i),i}finally{a.delete()}}var Yr={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:T,extensions:["ktx2"],mimeTypes:["image/ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:jr};var Jr="4.4.0-alpha.18";var ko=globalThis.loaders?.parseImageNode,ve=typeof Image<"u",ke=typeof ImageBitmap<"u",Wo=Boolean(ko),We=ie?!0:Wo;function Zr(t){switch(t){case"auto":return ke||ve||We;case"imagebitmap":return ke;case"image":return ve;case"data":return We;default:throw new Error(`@loaders.gl/images: image ${t} not supported in this environment`)}}function qr(){if(ke)return"imagebitmap";if(ve)return"image";if(We)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Qr(t){let e=$o(t);if(!e)throw new Error("Not an image");return e}function $e(t){return te(t)}function te(t){switch(Qr(t)){case"data":return t;case"image":case"imagebitmap":let e=document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("getImageData");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0),r.getImageData(0,0,t.width,t.height);default:throw new Error("getImageData")}}function $o(t){return typeof ImageBitmap<"u"&&t instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&t instanceof Image?"image":t&&typeof t=="object"&&t.data&&t.width&&t.height?"data":null}var zo=/^data:image\/svg\+xml/,jo=/\.svg((\?|#).*)?$/;function ee(t){return t&&(zo.test(t)||jo.test(t))}function t_(t,e){if(ee(e)){let _=new TextDecoder().decode(t);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(_=unescape(encodeURIComponent(_)))}catch(n){throw new Error(n.message)}return`data:image/svg+xml;base64,${btoa(_)}`}return ze(t,e)}function ze(t,e){if(ee(e))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(t)])}async function re(t,e,r){let _=t_(t,r),o=self.URL||self.webkitURL,n=typeof _!="string"&&o.createObjectURL(_);try{return await Yo(n||_,e)}finally{n&&o.revokeObjectURL(n)}}async function Yo(t,e){let r=new Image;return r.src=t,e.image&&e.image.decode&&r.decode?(await r.decode(),r):await new Promise((_,o)=>{try{r.onload=()=>_(r),r.onerror=n=>{let s=n instanceof Error?n.message:"error";o(new Error(s))}}catch(n){o(n)}})}var e_=!0;async function r_(t,e,r){let _;ee(r)?_=await re(t,e,r):_=ze(t,r);let o=e&&e.imagebitmap;return await Jo(_,o)}async function Jo(t,e=null){if((Zo(e)||!e_)&&(e=null),e)try{return await createImageBitmap(t,e)}catch(r){console.warn(r),e_=!1}return await createImageBitmap(t)}function Zo(t){if(!t)return!0;for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0}function __(t){return!en(t,"ftyp",4)||!(t[8]&96)?null:qo(t)}function qo(t){switch(Qo(t,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Qo(t,e,r){return String.fromCharCode(...t.slice(e,r))}function tn(t){return[...t].map(e=>e.charCodeAt(0))}function en(t,e,r=0){let _=tn(e);for(let o=0;o<_.length;++o)if(_[o]!==t[o+r])return!1;return!0}var p=!1,ct=!0;function _e(t){let e=St(t);return _n(e)||sn(e)||on(e)||nn(e)||rn(e)}function rn(t){let e=new Uint8Array(t instanceof DataView?t.buffer:t),r=__(e);return r?{mimeType:r.mimeType,width:0,height:0}:null}function _n(t){let e=St(t);return e.byteLength>=24&&e.getUint32(0,p)===2303741511?{mimeType:"image/png",width:e.getUint32(16,p),height:e.getUint32(20,p)}:null}function on(t){let e=St(t);return e.byteLength>=10&&e.getUint32(0,p)===1195984440?{mimeType:"image/gif",width:e.getUint16(6,ct),height:e.getUint16(8,ct)}:null}function nn(t){let e=St(t);return e.byteLength>=14&&e.getUint16(0,p)===16973&&e.getUint32(2,ct)===e.byteLength?{mimeType:"image/bmp",width:e.getUint32(18,ct),height:e.getUint32(22,ct)}:null}function sn(t){let e=St(t);if(!(e.byteLength>=3&&e.getUint16(0,p)===65496&&e.getUint8(2)===255))return null;let{tableMarkers:_,sofMarkers:o}=an(),n=2;for(;n+9<e.byteLength;){let s=e.getUint16(n,p);if(o.has(s))return{mimeType:"image/jpeg",height:e.getUint16(n+5,p),width:e.getUint16(n+7,p)};if(!_.has(s))return null;n+=2,n+=e.getUint16(n,p)}return null}function an(){let t=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)t.add(r);return{tableMarkers:t,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function St(t){if(t instanceof DataView)return t;if(ArrayBuffer.isView(t))return new DataView(t.buffer);if(t instanceof ArrayBuffer)return new DataView(t);throw new Error("toDataView")}async function o_(t,e){let{mimeType:r}=_e(t)||{},_=globalThis.loaders?.parseImageNode;return x(_),await _(t,r)}async function n_(t,e,r){e=e||{};let o=(e.image||{}).type||"auto",{url:n}=r||{},s=Rn(o),a;switch(s){case"imagebitmap":a=await r_(t,e,n);break;case"image":a=await re(t,e,n);break;case"data":a=await o_(t,e);break;default:x(!1)}return o==="data"&&(a=te(a)),a}function Rn(t){switch(t){case"auto":case"data":return qr();default:return Zr(t),t}}var cn=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Sn=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],En={image:{type:"auto",decode:!0}},M={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:Jr,mimeTypes:Sn,extensions:cn,parse:n_,tests:[t=>Boolean(_e(new DataView(t)))],options:En};function oe(t,e,r){let _=typeof t=="function"?t({...e,...r}):t,o=e.baseUrl;return o&&(_=o[o.length-1]==="/"?`${o}${_}`:`${o}/${_}`),le(_)}var An=t=>t&&typeof t=="object";async function s_(t,e,r={}){return await je(t,e,r)}async function je(t,e,r){return Array.isArray(t)?await Tn(t,e,r):An(t)?await un(t,e,r):await e(t,r)}async function un(t,e,r){let _=[],o={};for(let n in t){let s=t[n],a=je(s,e,r).then(i=>{o[n]=i});_.push(a)}return await Promise.all(_),o}async function Tn(t,e,r={}){let _=t.map(o=>je(o,e,r));return await Promise.all(_)}async function X(t,e,r){return await s_(t,_=>Ye(_,e,r))}async function Ye(t,e,r){let o=await(await fetch(t,r.fetch)).arrayBuffer();return await e(o,r)}async function a_(t,e={}){let r=await Et(t,e);return await X(r,M.parse,e)}async function Et(t,e,r={}){let _=e&&e.image&&e.image.mipLevels||0;return _!==0?await ln(t,_,e,r):oe(t,e,r)}async function ln(t,e,r,_){let o=[];if(e==="auto"){let n=oe(t,r,{..._,lod:0}),s=await Ye(n,M.parse,r),{width:a,height:i}=$e(s);e=mn({width:a,height:i}),o.push(n)}x(e>0);for(let n=o.length;n<e;++n){let s=oe(t,r,{..._,lod:n});o.push(s)}return o}function mn(t){return 1+Math.floor(Math.log2(Math.max(t.width,t.height)))}async function i_(t,e,r={}){let _=await Cn(t,e,r);return await X(_,M.parse,r)}async function Cn(t,e,r={}){let _=[];for(let o=0;o<t;o++){let n=Et(e,r,{index:o});_.push(n)}return await Promise.all(_)}var fn=34069,Gn=34070,xn=34071,gn=34072,pn=34073,On=34074,R_=[{face:fn,direction:"right",axis:"x",sign:"positive"},{face:Gn,direction:"left",axis:"x",sign:"negative"},{face:xn,direction:"top",axis:"y",sign:"positive"},{face:gn,direction:"bottom",axis:"y",sign:"negative"},{face:pn,direction:"front",axis:"z",sign:"positive"},{face:On,direction:"back",axis:"z",sign:"negative"}];async function Bn(t,e){let r={},_=[],o=0;for(let n=0;n<R_.length;++n){let s=R_[o],a=Et(t,e,{...s,index:o++}).then(i=>{r[s.face]=i});_.push(a)}return await Promise.all(_),r}async function c_(t,e={}){let r=await Bn(t,e);return await X(r,M.parse,e)}var Mn={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:T,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};return b_(At);})();
|
|
9
8
|
return __exports__;
|
|
10
9
|
});
|