@loaders.gl/textures 4.4.0-alpha.2 → 4.4.0
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 +197 -1
- package/dist/basis-loader.d.ts +15 -10
- package/dist/basis-loader.d.ts.map +1 -1
- package/dist/basis-loader.js +1 -1
- package/dist/basis-loader.js.map +1 -0
- package/dist/basis-worker-node.js +932 -10040
- package/dist/basis-worker.d.ts +2 -0
- package/dist/basis-worker.d.ts.map +1 -0
- package/dist/basis-worker.js +337 -151
- package/dist/basis-worker.js.map +1 -0
- package/dist/compressed-texture-loader.d.ts +2 -5
- package/dist/compressed-texture-loader.d.ts.map +1 -1
- package/dist/compressed-texture-loader.js +2 -3
- package/dist/compressed-texture-loader.js.map +1 -0
- package/dist/compressed-texture-worker.d.ts +2 -0
- package/dist/compressed-texture-worker.d.ts.map +1 -0
- package/dist/compressed-texture-worker.js +1148 -365
- package/dist/compressed-texture-worker.js.map +1 -0
- package/dist/compressed-texture-writer.js +1 -0
- package/dist/compressed-texture-writer.js.map +1 -0
- package/dist/crunch-loader.d.ts +1 -5
- package/dist/crunch-loader.d.ts.map +1 -1
- package/dist/crunch-loader.js +2 -3
- package/dist/crunch-loader.js.map +1 -0
- package/dist/crunch-worker.d.ts +2 -0
- package/dist/crunch-worker.d.ts.map +1 -0
- package/dist/crunch-worker.js +204 -92
- package/dist/crunch-worker.js.map +1 -0
- package/dist/dist.dev.js +2687 -677
- package/dist/dist.min.js +1 -2
- package/dist/index.cjs +1644 -428
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +13 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -0
- package/dist/ktx2-basis-writer-worker-node.js +574 -9832
- package/dist/ktx2-basis-writer-worker.d.ts +2 -0
- package/dist/ktx2-basis-writer-worker.d.ts.map +1 -0
- package/dist/ktx2-basis-writer-worker.js +45 -7
- package/dist/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/ktx2-basis-writer.js +1 -0
- package/dist/ktx2-basis-writer.js.map +1 -0
- package/dist/lib/composite-image/image-texture-cube.d.ts +47 -0
- package/dist/lib/composite-image/image-texture-cube.d.ts.map +1 -0
- package/dist/lib/composite-image/image-texture-cube.js +42 -0
- package/dist/lib/composite-image/image-texture-cube.js.map +1 -0
- package/dist/lib/composite-image/parse-composite-image.d.ts +43 -0
- package/dist/lib/composite-image/parse-composite-image.d.ts.map +1 -0
- package/dist/lib/composite-image/parse-composite-image.js +437 -0
- package/dist/lib/composite-image/parse-composite-image.js.map +1 -0
- package/dist/lib/encoders/encode-ktx.d.ts +1 -1
- package/dist/lib/encoders/encode-ktx.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx.js +1 -0
- package/dist/lib/encoders/encode-ktx.js.map +1 -0
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +2 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +3 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
- package/dist/lib/encoders/encode-texture.js +1 -0
- package/dist/lib/encoders/encode-texture.js.map +1 -0
- package/dist/lib/gl-extensions.d.ts +166 -58
- package/dist/lib/gl-extensions.d.ts.map +1 -1
- package/dist/lib/gl-extensions.js +178 -66
- package/dist/lib/gl-extensions.js.map +1 -0
- package/dist/lib/gl-types.d.ts +4 -0
- package/dist/lib/gl-types.d.ts.map +1 -0
- package/dist/lib/gl-types.js +5 -0
- package/dist/lib/gl-types.js.map +1 -0
- package/dist/lib/parsers/basis-module-loader.d.ts +3 -2
- package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
- package/dist/lib/parsers/basis-module-loader.js +1 -0
- package/dist/lib/parsers/basis-module-loader.js.map +1 -0
- 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 +1 -0
- package/dist/lib/parsers/crunch-module-loader.js.map +1 -0
- package/dist/lib/parsers/parse-basis.d.ts +34 -2
- package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
- package/dist/lib/parsers/parse-basis.js +265 -64
- package/dist/lib/parsers/parse-basis.js.map +1 -0
- package/dist/lib/parsers/parse-compressed-texture.js +1 -0
- package/dist/lib/parsers/parse-compressed-texture.js.map +1 -0
- package/dist/lib/parsers/parse-crunch.d.ts.map +1 -1
- package/dist/lib/parsers/parse-crunch.js +7 -6
- package/dist/lib/parsers/parse-crunch.js.map +1 -0
- package/dist/lib/parsers/parse-dds.d.ts.map +1 -1
- package/dist/lib/parsers/parse-dds.js +11 -11
- package/dist/lib/parsers/parse-dds.js.map +1 -0
- package/dist/lib/parsers/parse-hdr.d.ts +21 -0
- package/dist/lib/parsers/parse-hdr.d.ts.map +1 -0
- package/dist/lib/parsers/parse-hdr.js +305 -0
- package/dist/lib/parsers/parse-hdr.js.map +1 -0
- package/dist/lib/parsers/parse-ktx.d.ts.map +1 -1
- package/dist/lib/parsers/parse-ktx.js +11 -3
- package/dist/lib/parsers/parse-ktx.js.map +1 -0
- package/dist/lib/parsers/parse-npy.js +1 -0
- package/dist/lib/parsers/parse-npy.js.map +1 -0
- package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
- package/dist/lib/parsers/parse-pvr.js +32 -74
- package/dist/lib/parsers/parse-pvr.js.map +1 -0
- package/dist/lib/texture-api/async-deep-map.js +1 -0
- package/dist/lib/texture-api/async-deep-map.js.map +1 -0
- package/dist/lib/texture-api/deep-load.js +1 -0
- package/dist/lib/texture-api/deep-load.js.map +1 -0
- package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
- package/dist/lib/texture-api/generate-url.js +3 -10
- package/dist/lib/texture-api/generate-url.js.map +1 -0
- package/dist/lib/texture-api/load-image-array.d.ts +6 -3
- package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-array.js +6 -3
- package/dist/lib/texture-api/load-image-array.js.map +1 -0
- package/dist/lib/texture-api/load-image-cube.d.ts +7 -11
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-cube.js +9 -20
- package/dist/lib/texture-api/load-image-cube.js.map +1 -0
- package/dist/lib/texture-api/load-image.d.ts +6 -3
- package/dist/lib/texture-api/load-image.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image.js +9 -4
- package/dist/lib/texture-api/load-image.js.map +1 -0
- package/dist/lib/texture-api/texture-api-types.d.ts +13 -0
- package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -1
- package/dist/lib/texture-api/texture-api-types.js +1 -0
- package/dist/lib/texture-api/texture-api-types.js.map +1 -0
- 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 +6 -2
- package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
- package/dist/lib/utils/extract-mipmap-images.js +14 -2
- package/dist/lib/utils/extract-mipmap-images.js.map +1 -0
- package/dist/lib/utils/ktx-format-helper.d.ts +9 -1
- package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -1
- package/dist/lib/utils/ktx-format-helper.js +77 -109
- package/dist/lib/utils/ktx-format-helper.js.map +1 -0
- package/dist/lib/utils/texture-format-map.d.ts +10 -0
- package/dist/lib/utils/texture-format-map.d.ts.map +1 -0
- package/dist/lib/utils/texture-format-map.js +87 -0
- package/dist/lib/utils/texture-format-map.js.map +1 -0
- package/dist/lib/utils/version.js +2 -1
- package/dist/lib/utils/version.js.map +1 -0
- package/dist/libs/libs/README.md +9 -0
- package/dist/libs/libs/basis_encoder.js +21 -0
- package/dist/libs/libs/basis_encoder.wasm +0 -0
- package/dist/libs/libs/basis_transcoder.js +22 -0
- package/dist/libs/libs/basis_transcoder.wasm +0 -0
- package/dist/libs/libs/crunch.js +136 -0
- package/dist/npy-loader.d.ts +2 -2
- package/dist/npy-loader.js +1 -0
- package/dist/npy-loader.js.map +1 -0
- package/dist/npy-worker.d.ts +2 -0
- package/dist/npy-worker.d.ts.map +1 -0
- package/dist/npy-worker.js +5 -2
- package/dist/npy-worker.js.map +1 -0
- package/dist/radiance-hdr-loader.d.ts +25 -0
- package/dist/radiance-hdr-loader.d.ts.map +1 -0
- package/dist/radiance-hdr-loader.js +23 -0
- package/dist/radiance-hdr-loader.js.map +1 -0
- package/dist/texture-array-loader.d.ts +25 -0
- package/dist/texture-array-loader.d.ts.map +1 -0
- package/dist/texture-array-loader.js +24 -0
- package/dist/texture-array-loader.js.map +1 -0
- package/dist/texture-cube-array-loader.d.ts +25 -0
- package/dist/texture-cube-array-loader.d.ts.map +1 -0
- package/dist/texture-cube-array-loader.js +24 -0
- package/dist/texture-cube-array-loader.js.map +1 -0
- package/dist/texture-cube-loader.d.ts +25 -0
- package/dist/texture-cube-loader.d.ts.map +1 -0
- package/dist/texture-cube-loader.js +24 -0
- package/dist/texture-cube-loader.js.map +1 -0
- package/dist/texture-loader.d.ts +25 -0
- package/dist/texture-loader.d.ts.map +1 -0
- package/dist/texture-loader.js +24 -0
- package/dist/texture-loader.js.map +1 -0
- package/dist/workers/basis-worker-node.js +1 -0
- package/dist/workers/basis-worker-node.js.map +1 -0
- package/dist/workers/basis-worker.js +1 -0
- package/dist/workers/basis-worker.js.map +1 -0
- package/dist/workers/compressed-texture-worker.js +1 -1
- package/dist/workers/compressed-texture-worker.js.map +1 -0
- package/dist/workers/crunch-worker.d.ts +1 -3
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/dist/workers/crunch-worker.js +1 -0
- package/dist/workers/crunch-worker.js.map +1 -0
- package/dist/workers/ktx2-basis-writer-worker-node.js +1 -0
- package/dist/workers/ktx2-basis-writer-worker-node.js.map +1 -0
- package/dist/workers/ktx2-basis-writer-worker.js +1 -0
- package/dist/workers/ktx2-basis-writer-worker.js.map +1 -0
- package/dist/workers/npy-worker.js +1 -0
- package/dist/workers/npy-worker.js.map +1 -0
- package/package.json +27 -6
- package/src/basis-loader.ts +19 -9
- package/src/basis-worker.ts +7 -0
- package/src/compressed-texture-loader.ts +3 -7
- package/src/compressed-texture-worker.ts +6 -0
- package/src/crunch-loader.ts +1 -5
- package/src/crunch-worker.ts +6 -0
- package/src/index.ts +21 -4
- package/src/ktx2-basis-writer-worker.ts +6 -0
- package/src/lib/composite-image/image-texture-cube.ts +49 -0
- package/src/lib/composite-image/parse-composite-image.ts +699 -0
- package/src/lib/encoders/encode-ktx.ts +1 -1
- package/src/lib/encoders/encode-ktx2-basis-texture.ts +4 -2
- package/src/lib/gl-extensions.ts +188 -81
- package/src/lib/gl-types.ts +136 -0
- package/src/lib/parsers/basis-module-loader.ts +5 -5
- package/src/lib/parsers/crunch-module-loader.ts +4 -4
- package/src/lib/parsers/parse-basis.ts +358 -66
- package/src/lib/parsers/parse-crunch.ts +11 -8
- package/src/lib/parsers/parse-dds.ts +11 -12
- package/src/lib/parsers/parse-hdr.ts +426 -0
- package/src/lib/parsers/parse-ktx.ts +13 -3
- package/src/lib/parsers/parse-pvr.ts +33 -75
- package/src/lib/texture-api/generate-url.ts +2 -12
- package/src/lib/texture-api/load-image-array.ts +15 -6
- package/src/lib/texture-api/load-image-cube.ts +20 -34
- package/src/lib/texture-api/load-image.ts +19 -8
- package/src/lib/texture-api/texture-api-types.ts +15 -0
- package/src/lib/utils/detect-supported-texture-formats.ts +210 -0
- package/src/lib/utils/extract-mipmap-images.ts +23 -4
- package/src/lib/utils/ktx-format-helper.ts +135 -111
- package/src/lib/utils/texture-format-map.ts +162 -0
- package/src/npy-worker.ts +6 -0
- package/src/radiance-hdr-loader.ts +36 -0
- package/src/texture-array-loader.ts +46 -0
- package/src/texture-cube-array-loader.ts +49 -0
- package/src/texture-cube-loader.ts +46 -0
- package/src/texture-loader.ts +49 -0
- package/src/workers/compressed-texture-worker.ts +0 -1
- 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 -50
- 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 Zt=Object.getOwnPropertyDescriptor;var qt=Object.getOwnPropertyNames;var Qt=Object.getPrototypeOf,eo=Object.prototype.hasOwnProperty;var we=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),to=(e,t)=>{for(var o in t)k(e,o,{get:t[o],enumerable:!0})},v=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of qt(t))!eo.call(e,s)&&s!==o&&k(e,s,{get:()=>t[s],enumerable:!(r=Zt(t,s))||r.enumerable});return e},W=(e,t,o)=>(v(e,t,"default"),o&&v(o,t,"default")),se=(e,t,o)=>(o=e!=null?Jt(Qt(e)):{},v(t||!e||!e.__esModule?k(o,"default",{value:e,enumerable:!0}):o,e)),oo=e=>v(k({},"__esModule",{value:!0}),e);var He=we((yr,be)=>{be.exports=globalThis.loaders});var Re=we(()=>{});var V={};to(V,{BASIS_EXTERNAL_LIBRARIES:()=>F,BasisLoader:()=>st,BasisWorkerLoader:()=>ue,CRUNCH_EXTERNAL_LIBRARIES:()=>ut,CompressedTextureLoader:()=>Tt,CompressedTextureWorkerLoader:()=>me,CompressedTextureWriter:()=>pt,CrunchLoader:()=>pe,CrunchWorkerLoader:()=>pe,GL_EXTENSIONS_CONSTANTS:()=>n,KTX2BasisWriter:()=>Ct,KTX2BasisWriterWorker:()=>Ur,NPYLoader:()=>Et,NPYWorkerLoader:()=>de,getSupportedGPUTextureFormats:()=>Y,loadImageTexture:()=>Lt,loadImageTextureArray:()=>It,loadImageTextureCube:()=>Nt,selectSupportedBasisFormat:()=>Ee});W(V,se(He(),1));var f="4.4.0-alpha.1";function O(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var C={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ro=C.self||C.window||C.global||{},no=C.window||C.self||C.global||{},so=C.global||C.self||C.window||{},_o=C.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),ao=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 io(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0-alpha.1"),globalThis._loadersgl_.version}var Xe=io();function ve(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var d={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},kr=d.self||d.window||d.global||{},Wr=d.window||d.self||d.global||{},zr=d.global||d.self||d.window||{},$r=d.document||{};var P=typeof process!="object"||String(process)!=="[object process]"||process.browser,z=typeof importScripts=="function",Yr=typeof window<"u"&&typeof window.orientation<"u",ke=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),jr=ke&&parseFloat(ke[1])||0;var ce={};async function h(e,t=null,o={},r=null){return t&&(e=We(e,t,o,r)),ce[e]=ce[e]||co(e),await ce[e]}function We(e,t,o={},r=null){if(!o.useLocalLibraries&&e.startsWith("http"))return e;r=r||e;let s=o.modules||{};return s[r]?s[r]:P?o.CDN?(ve(o.CDN.startsWith("http")),`${o.CDN}/${t}@${Xe}/dist/libs/${r}`):z?`../src/libs/${r}`:`modules/${t}/src/libs/${r}`:`modules/${t}/dist/libs/${r}`}async function co(e){if(e.endsWith("wasm"))return await So(e);if(!P)try{let{requireFromFile:o}=globalThis.loaders||{};return await o?.(e)}catch(o){return console.error(o),null}if(z)return importScripts(e);let t=await lo(e);return Ro(t,e)}function Ro(e,t){if(!P){let{requireFromString:r}=globalThis.loaders||{};return r?.(e,t)}if(z)return eval.call(globalThis,e),null;let o=document.createElement("script");o.id=t;try{o.appendChild(document.createTextNode(e))}catch{o.text=e}return document.body.appendChild(o),null}async function So(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return P||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function lo(e){let{readFileAsText:t}=globalThis.loaders||{};return P||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var je=se(Re(),1);var ze=se(Re(),1);function $e(e=3e3){return new Promise(t=>{ze.default.exec("lsof -i -P -n | grep LISTEN",(o,r)=>{if(o){t(e);return}let s=[],_=/:(\d+) \(LISTEN\)/;r.split(`
|
|
8
|
-
`).forEach(i=>{let c=_.exec(i);c&&s.push(Number(c[1]))});let a=e;for(;s.includes(a);)a++;t(a)})})}var Ye={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},K=class{id;props={...Ye};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Ye,...t},this.props=t;let 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((r,s)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),r({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let _=(void 0)(t.command,o,t.spawn);this.childProcess=_,_.stdout.on("data",a=>{console.log(a.toString())}),_.stderr.on("data",a=>{console.log(`Child process wrote to stderr: "${a}".`),t.ignoreStderr||(this._clearTimeout(),s(new Error(a)))}),_.on("error",a=>{console.log(`Child process errored with ${a}`),this._clearTimeout(),s(a)}),_.on("close",a=>{console.log(`Child process exited with ${a}`),this.childProcess=null,this._clearTimeout(),r({})})}catch(_){s(_)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(o){console.error(o.message||o),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};var Ao="",Je={};function Se(e){for(let t in Je)if(e.startsWith(t)){let o=Je[t];e=e.replace(t,o)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Ao}${e}`),e}var F={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},Ze;async function Ae(e){ae(e.modules);let t=ie("basis");return t||(Ze||=To(e),await Ze)}async function To(e){let t=null,o=null;return[t,o]=await Promise.all([await h(F.TRANSCODER,"textures",e),await h(F.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await fo(t,o)}function fo(e,t){let o={};return t&&(o.wasmBinary=t),new Promise(r=>{e(o).then(s=>{let{BasisFile:_,initializeBasis:a}=s;a(),r({BasisFile:_})})})}var le;async function U(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(le=le||Eo(e),await le)}async function Eo(e){let t=null,o=null;return[t,o]=await Promise.all([await h(F.ENCODER,"textures",e),await h(F.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await uo(t,o)}function uo(e,t){let o={};return t&&(o.wasmBinary=t),new Promise(r=>{e(o).then(s=>{let{BasisFile:_,KTX2File:a,initializeBasis:i,BasisEncoder:c}=s;i(),r({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 mo=["","WEBKIT_","MOZ_"],qe={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},$=null;function Y(e){if(!$){e=e||po()||void 0,$=new Set;for(let t of mo)for(let o in qe)if(e&&e.getExtension(`${t}${o}`)){let r=qe[o];$.add(r)}}return $}function po(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var Te=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=0,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:0,descriptorBlockSize:0,versionNumber:2,colorModel:0,colorPrimaries:1,transferFunction:2,flags:0,texelBlockDimension:[0,0,0,0],bytesPlane:[0,0,0,0,0,0,0,0],samples:[]}],this.keyValue={},this.globalData=null}},g=class{constructor(t,o,r,s){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+o,r),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),o=this._dataView.getUint32(this._offset+4,this._littleEndian),r=t+2**32*o;return this._offset+=8,r}_nextInt32(){let t=this._dataView.getInt32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint8Array(t){let o=new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+this._offset,t);return this._offset+=t,o}_skip(t){return this._offset+=t,this}_scan(t,o=0){let r=this._offset,s=0;for(;this._dataView.getUint8(this._offset)!==o&&s<t;)s++,this._offset++;return s<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+r,s)}};var gn=new Uint8Array([0]),l=[171,75,84,88,32,50,48,187,13,10,26,10];function Qe(e){return new TextDecoder().decode(e)}function et(e){let t=new Uint8Array(e.buffer,e.byteOffset,l.length);if(t[0]!==l[0]||t[1]!==l[1]||t[2]!==l[2]||t[3]!==l[3]||t[4]!==l[4]||t[5]!==l[5]||t[6]!==l[6]||t[7]!==l[7]||t[8]!==l[8]||t[9]!==l[9]||t[10]!==l[10]||t[11]!==l[11])throw new Error("Missing KTX 2.0 identifier.");let o=new Te,r=17*Uint32Array.BYTES_PER_ELEMENT,s=new g(e,l.length,r,!0);o.vkFormat=s._nextUint32(),o.typeSize=s._nextUint32(),o.pixelWidth=s._nextUint32(),o.pixelHeight=s._nextUint32(),o.pixelDepth=s._nextUint32(),o.layerCount=s._nextUint32(),o.faceCount=s._nextUint32();let _=s._nextUint32();o.supercompressionScheme=s._nextUint32();let a=s._nextUint32(),i=s._nextUint32(),c=s._nextUint32(),S=s._nextUint32(),A=s._nextUint64(),x=s._nextUint64(),yt=_*3*8,re=new g(e,l.length+r,yt,!0);for(let T=0;T<_;T++)o.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+re._nextUint64(),re._nextUint64()),uncompressedByteLength:re._nextUint64()});let R=new g(e,a,i,!0),ne={vendorId:R._skip(4)._nextUint16(),descriptorType:R._nextUint16(),versionNumber:R._nextUint16(),descriptorBlockSize:R._nextUint16(),colorModel:R._nextUint8(),colorPrimaries:R._nextUint8(),transferFunction:R._nextUint8(),flags:R._nextUint8(),texelBlockDimension:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],bytesPlane:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],samples:[]},wt=6,bt=4,Ht=(ne.descriptorBlockSize/4-wt)/bt;for(let T=0;T<Ht;T++){let B={bitOffset:R._nextUint16(),bitLength:R._nextUint8(),channelType:R._nextUint8(),samplePosition:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};B.channelType&64?(B.sampleLower=R._nextInt32(),B.sampleUpper=R._nextInt32()):(B.sampleLower=R._nextUint32(),B.sampleUpper=R._nextUint32()),ne.samples[T]=B}o.dataFormatDescriptor.length=0,o.dataFormatDescriptor.push(ne);let I=new g(e,c,S,!0);for(;I._offset<S;){let T=I._nextUint32(),B=I._scan(T),X=Qe(B);if(o.keyValue[X]=I._nextUint8Array(T-B.byteLength-1),X.match(/^ktx/i)){let ye=Qe(o.keyValue[X]);o.keyValue[X]=ye.substring(0,ye.lastIndexOf("\0"))}let jt=T%4?4-T%4:0;I._skip(jt)}if(x<=0)return o;let m=new g(e,A,x,!0),Vt=m._nextUint16(),Xt=m._nextUint16(),Ke=m._nextUint32(),Fe=m._nextUint32(),Ge=m._nextUint32(),vt=m._nextUint32(),Le=[];for(let T=0;T<_;T++)Le.push({imageFlags:m._nextUint32(),rgbSliceByteOffset:m._nextUint32(),rgbSliceByteLength:m._nextUint32(),alphaSliceByteOffset:m._nextUint32(),alphaSliceByteLength:m._nextUint32()});let Ie=A+m._offset,Ue=Ie+Ke,Ne=Ue+Fe,kt=Ne+Ge,Wt=new Uint8Array(e.buffer,e.byteOffset+Ie,Ke),zt=new Uint8Array(e.buffer,e.byteOffset+Ue,Fe),$t=new Uint8Array(e.buffer,e.byteOffset+Ne,Ge),Yt=new Uint8Array(e.buffer,e.byteOffset+kt,vt);return o.globalData={endpointCount:Vt,selectorCount:Xt,imageDescs:Le,endpointsData:Wt,selectorsData:zt,tablesData:$t,extendedData:Yt},o}function G(e,t){let o=new Array(t.mipMapLevels),r=t.width,s=t.height,_=0;for(let a=0;a<t.mipMapLevels;++a){let i=Co(t,r,s,e,a),c=Oo(e,a,_,i);o[a]={compressed:!0,format:t.internalFormat,data:c,width:r,height:s,levelSize:i},r=Math.max(1,r>>1),s=Math.max(1,s>>1),_+=i}return o}function Oo(e,t,o,r){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+o,r)}function Co(e,t,o,r,s){return Array.isArray(r)?e.sizeFunction(r[s]):e.sizeFunction(t,o)}var Mo={131:n.COMPRESSED_RGB_S3TC_DXT1_EXT,132:n.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:n.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:n.COMPRESSED_RED_RGTC1_EXT,140:n.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:n.COMPRESSED_RED_GREEN_RGTC2_EXT,142:n.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:n.COMPRESSED_RGB8_ETC2,148:n.COMPRESSED_SRGB8_ETC2,149:n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:n.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:n.COMPRESSED_RGBA8_ETC2_EAC,152:n.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:n.COMPRESSED_R11_EAC,154:n.COMPRESSED_SIGNED_R11_EAC,155:n.COMPRESSED_RG11_EAC,156:n.COMPRESSED_SIGNED_RG11_EAC,157:n.COMPRESSED_RGBA_ASTC_4x4_KHR,158:n.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:n.COMPRESSED_RGBA_ASTC_5x4_KHR,160:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:n.COMPRESSED_RGBA_ASTC_5x5_KHR,162:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:n.COMPRESSED_RGBA_ASTC_6x5_KHR,164:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:n.COMPRESSED_RGBA_ASTC_6x6_KHR,166:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:n.COMPRESSED_RGBA_ASTC_8x5_KHR,168:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:n.COMPRESSED_RGBA_ASTC_8x6_KHR,170:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:n.COMPRESSED_RGBA_ASTC_8x8_KHR,172:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:n.COMPRESSED_RGBA_ASTC_10x5_KHR,174:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:n.COMPRESSED_RGBA_ASTC_10x6_KHR,176:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:n.COMPRESSED_RGBA_ASTC_10x8_KHR,178:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:n.COMPRESSED_RGBA_ASTC_10x10_KHR,180:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:n.COMPRESSED_RGBA_ASTC_12x10_KHR,182:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:n.COMPRESSED_RGBA_ASTC_12x12_KHR,184:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:n.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:n.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:n.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:n.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:n.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:n.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:n.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:n.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:n.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:n.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:n.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:n.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:n.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:n.COMPRESSED_RGBA_ASTC_12x12_KHR};function tt(e){return Mo[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 ot(e){let t=new Uint8Array(e),o=et(t),r=Math.max(1,o.levels.length),s=o.pixelWidth,_=o.pixelHeight,a=tt(o.vkFormat);return G(o.levels,{mipMapLevels:r,width:s,height:_,sizeFunction:i=>i.uncompressedByteLength,internalFormat:a})}var xo={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==="auto"){if(j(e)){let r=await U(t);return rt(r.KTX2File,e,t)}let{BasisFile:o}=await Ae(t);return fe(o,e,t)}switch(t.basis.module){case"encoder":let o=await U(t);switch(t.basis.containerFormat){case"ktx2":return rt(o.KTX2File,e,t);case"basis":default:return fe(o.BasisFile,e,t)}case"transcoder":default:let{BasisFile:r}=await Ae(t);return fe(r,e,t)}}function fe(e,t,o){let r=new e(new Uint8Array(t));try{if(!r.startTranscoding())throw new Error("Failed to start basis transcoding");let s=r.getNumImages(),_=[];for(let a=0;a<s;a++){let i=r.getNumLevels(a),c=[];for(let S=0;S<i;S++)c.push(Bo(r,a,S,o));_.push(c)}return _}finally{r.close(),r.delete()}}function Bo(e,t,o,r){let s=e.getImageWidth(t,o),_=e.getImageHeight(t,o),a=e.getHasAlpha(),{compressed:i,format:c,basisFormat:S}=nt(r,a),A=e.getImageTranscodedSizeInBytes(t,o,S),x=new Uint8Array(A);if(!e.transcodeImage(x,t,o,S,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,o){let r=new e(new Uint8Array(t));try{if(!r.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=r.getLevels(),_=[];for(let a=0;a<s;a++)_.push(Do(r,a,o));return[_]}finally{r.close(),r.delete()}}function Do(e,t,o){let{alphaFlag:r,height:s,width:_}=e.getImageLevelInfo(t,0,0),{compressed:a,format:i,basisFormat:c}=nt(o,r),S=e.getImageTranscodedSizeInBytes(t,0,0,c),A=new Uint8Array(S);if(!e.transcodeImage(A,t,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:_,height:s,data:A,compressed:a,levelSize:S,hasAlpha:r,format:i}}function nt(e,t){let o=e&&e.basis&&e.basis.format;return o==="auto"&&(o=Ee()),typeof o=="object"&&(o=t?o.alpha:o.noAlpha),o=o.toLowerCase(),xo[o]}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"}}},st={...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},go={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},Po=it,ho=Z,Ko=Z,Fo={DXT1:it,DXT3:Z,DXT5:Z,"ATC ":Po,ATCA:ho,ATCI:Ko};function _t(e){return new Uint32Array(e,0,u.HEADER_LENGTH)[u.MAGIC_NUMBER_INDEX]===u.MAGIC_NUMBER}function at(e){let t=new Int32Array(e,0,u.HEADER_LENGTH),o=t[u.HEADER_PF_FOURCC_INDEX];O(Boolean(t[u.HEADER_PF_FLAGS_INDEX]&u.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let r=Go(o),s=go[r],_=Fo[r];O(s&&_,`DDS: Unknown pixel format ${o}`);let a=1;t[u.HEADER_FLAGS_INDEX]&u.DDSD_MIPMAPCOUNT&&(a=Math.max(1,t[u.MIPMAPCOUNT_INDEX]));let i=t[u.HEADER_WIDTH_INDEX],c=t[u.HEADER_HEIGHT_INDEX],S=t[u.HEADER_SIZE_INDEX]+4,A=new Uint8Array(e,S);return G(A,{mipMapLevels:a,width:i,height:c,sizeFunction:_,internalFormat:s})}function it(e,t){return(e+3>>2)*(t+3>>2)*8}function Z(e,t){return(e+3>>2)*(t+3>>2)*16}function Go(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var p={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Lo={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]},Io={0:ct,1:ct,2:Rt,3:Rt,6:N,7:N,9:y,11:y,22:N,23:y,24:N,25:N,26:y,27:y,28:Uo,29:No,30:yo,31:wo,32:bo,33:Ho,34:Vo,35:Xo,36:vo,37:ko,38:Wo,39:zo,40:$o};function St(e){let o=new Uint32Array(e,0,p.HEADER_LENGTH)[p.MAGIC_NUMBER_INDEX];return o===p.MAGIC_NUMBER||o===p.MAGIC_NUMBER_EXTRA}function lt(e){let t=new Uint32Array(e,0,p.HEADER_LENGTH),o=t[p.PIXEL_FORMAT_INDEX],r=t[p.COLOUR_SPACE_INDEX],s=Lo[o]||[],_=s.length>1&&r?s[1]:s[0],a=Io[o],i=t[p.MIPMAPCOUNT_INDEX],c=t[p.WIDTH_INDEX],S=t[p.HEIGHT_INDEX],A=p.HEADER_SIZE+t[p.METADATA_SIZE_INDEX],x=new Uint8Array(e,A);return G(x,{mipMapLevels:i,width:c,height:S,sizeFunction:a,internalFormat:_})}function ct(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Rt(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function N(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function y(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Uo(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function No(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function yo(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function wo(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function bo(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Ho(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Vo(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Xo(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function vo(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function ko(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function Wo(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function zo(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function $o(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function At(e){if(j(e))return ot(e);if(_t(e))return at(e);if(St(e))return lt(e);throw new Error("Texture container format not recognized")}var me={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:f,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},Tt={...me,parse:async(e,t)=>t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await J(e,t))[0]):At(e)};var pe={dataType:null,batchType:null,id:"crunch",name:"Crunch",module:"textures",version:f,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{libraryPath:"libs/"}}};var Oe=new Uint32Array([305419896]),Yo=new Uint8Array(Oe.buffer,Oe.byteOffset,Oe.byteLength),jo=Yo[0]!==18,ft=jo,Jo={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function Ce(e,t){let o=new DataView(e),{header:r,headerEndOffset:s}=Zo(o),_=r.descr,a=Jo[_.slice(1,3)];if(!a)throw new Error(`Unimplemented type ${_}`);let c=r.shape?.reduce((A,x)=>A*x)*a.BYTES_PER_ELEMENT;if(e.byteLength<s+c)throw new Error("Buffer overflow");let S=new a(e.slice(s,s+c));if(_[0]===">"&&ft||_[0]==="<"&&!ft)throw new Error("Incorrect endianness");return{data:S,header:r}}function Zo(e){let t=e.getUint8(6),o=8,r;t>=2?(r=e.getUint32(o,!0),o+=4):(r=e.getUint16(o,!0),o+=2);let s=t<=2?"latin1":"utf-8",_=new TextDecoder(s),a=new Uint8Array(e.buffer,o,r),i=_.decode(a);return o+=r,{header:JSON.parse(i.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:o}}var qo=new Uint8Array([147,78,85,77,80,89]),de={dataType:null,batchType:null,name:"NPY",id:"npy",module:"textures",version:f,worker:!0,extensions:["npy"],mimeTypes:[],tests:[qo.buffer],options:{npy:{}}},Et={...de,parseSync:Ce,parse:async(e,t)=>Ce(e,t)};var ut={DECODER:"crunch.js"};async function mt(e,t,o){let r=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new K().start({command:"npx",arguments:r,spawn:o}),t}var pt={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:mt,encode(){throw new Error("Not implemented")}};async function Ot(e,t={}){let{useSRGB:o=!1,qualityLevel:r=10,encodeUASTC:s=!1,mipmaps:_=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:a}=await U(t),i=new a;try{let c=new Uint8Array(e.width*e.height*4);i.setCreateKTX2File(!0),i.setKTX2UASTCSupercompression(!0),i.setKTX2SRGBTransferFunc(!0),i.setSliceSourceImage(0,e.data,e.width,e.height,!1),i.setPerceptual(o),i.setMipSRGB(o),i.setQualityLevel(r),i.setUASTC(s),i.setMipGen(_);let S=i.encode(c);return c.subarray(0,S).buffer}catch(c){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",c),c}finally{i.delete()}}var Ct={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:Ot};var dt="4.4.0-alpha.1";var Qo=globalThis.loaders?.parseImageNode,Me=typeof Image<"u",xe=typeof ImageBitmap<"u",er=Boolean(Qo),Be=_e?!0:er;function Mt(e){switch(e){case"auto":return xe||Me||Be;case"imagebitmap":return xe;case"image":return Me;case"data":return Be;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function xt(){if(xe)return"imagebitmap";if(Me)return"image";if(Be)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function Bt(e){let t=tr(e);if(!t)throw new Error("Not an image");return t}function De(e){return q(e)}function q(e){switch(Bt(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),o=t.getContext("2d");if(!o)throw new Error("getImageData");return t.width=e.width,t.height=e.height,o.drawImage(e,0,0),o.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function tr(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 or=/^data:image\/svg\+xml/,rr=/\.svg((\?|#).*)?$/;function Q(e){return e&&(or.test(e)||rr.test(e))}function Dt(e,t){if(Q(t)){let r=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(r=unescape(encodeURIComponent(r)))}catch(_){throw new Error(_.message)}return`data:image/svg+xml;base64,${btoa(r)}`}return ge(e,t)}function ge(e,t){if(Q(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function ee(e,t,o){let r=Dt(e,o),s=self.URL||self.webkitURL,_=typeof r!="string"&&s.createObjectURL(r);try{return await nr(_||r,t)}finally{_&&s.revokeObjectURL(_)}}async function nr(e,t){let o=new Image;return o.src=e,t.image&&t.image.decode&&o.decode?(await o.decode(),o):await new Promise((r,s)=>{try{o.onload=()=>r(o),o.onerror=_=>{let a=_ instanceof Error?_.message:"error";s(new Error(a))}}catch(_){s(_)}})}var sr={},gt=!0;async function Pt(e,t,o){let r;Q(o)?r=await ee(e,t,o):r=ge(e,o);let s=t&&t.imagebitmap;return await _r(r,s)}async function _r(e,t=null){if((ar(t)||!gt)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(o){console.warn(o),gt=!1}return await createImageBitmap(e)}function ar(e){for(let t in e||sr)return!1;return!0}function ht(e){return!Sr(e,"ftyp",4)||!(e[8]&96)?null:ir(e)}function ir(e){switch(cr(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function cr(e,t,o){return String.fromCharCode(...e.slice(t,o))}function Rr(e){return[...e].map(t=>t.charCodeAt(0))}function Sr(e,t,o=0){let r=Rr(t);for(let s=0;s<r.length;++s)if(r[s]!==e[s+o])return!1;return!0}var M=!1,w=!0;function te(e){let t=b(e);return Ar(t)||Er(t)||Tr(t)||fr(t)||lr(t)}function lr(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),o=ht(t);return o?{mimeType:o.mimeType,width:0,height:0}:null}function Ar(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 Tr(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 fr(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 Er(e){let t=b(e);if(!(t.byteLength>=3&&t.getUint16(0,M)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:r,sofMarkers:s}=ur(),_=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(!r.has(a))return null;_+=2,_+=t.getUint16(_,M)}return null}function ur(){let e=new Set([65499,65476,65484,65501,65534]);for(let o=65504;o<65520;++o)e.add(o);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 Kt(e,t){let{mimeType:o}=te(e)||{},r=globalThis.loaders?.parseImageNode;return O(r),await r(e,o)}async function Ft(e,t,o){t=t||{};let s=(t.image||{}).type||"auto",{url:_}=o||{},a=mr(s),i;switch(a){case"imagebitmap":i=await Pt(e,t,_);break;case"image":i=await ee(e,t,_);break;case"data":i=await Kt(e,t);break;default:O(!1)}return s==="data"&&(i=q(i)),i}function mr(e){switch(e){case"auto":case"data":return xt();default:return Mt(e),e}}var pr=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Or=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Cr={image:{type:"auto",decode:!0}},D={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:dt,mimeTypes:Or,extensions:pr,parse:Ft,tests:[e=>Boolean(te(new DataView(e)))],options:Cr};function oe(e,t,o){let r=typeof e=="function"?e({...t,...o}):e,s=t.baseUrl;return s&&(r=s[s.length-1]==="/"?`${s}${r}`:`${s}/${r}`),Se(r)}var dr=e=>e&&typeof e=="object";async function Gt(e,t,o={}){return await Pe(e,t,o)}async function Pe(e,t,o){return Array.isArray(e)?await xr(e,t,o):dr(e)?await Mr(e,t,o):await t(e,o)}async function Mr(e,t,o){let r=[],s={};for(let _ in e){let a=e[_],i=Pe(a,t,o).then(c=>{s[_]=c});r.push(i)}return await Promise.all(r),s}async function xr(e,t,o={}){let r=e.map(s=>Pe(s,t,o));return await Promise.all(r)}async function L(e,t,o){return await Gt(e,r=>he(r,t,o))}async function he(e,t,o){let s=await(await fetch(e,o.fetch)).arrayBuffer();return await t(s,o)}async function Lt(e,t={}){let o=await H(e,t);return await L(o,D.parse,t)}async function H(e,t,o={}){let r=t&&t.image&&t.image.mipLevels||0;return r!==0?await Br(e,r,t,o):oe(e,t,o)}async function Br(e,t,o,r){let s=[];if(t==="auto"){let _=oe(e,o,{...r,lod:0}),a=await he(_,D.parse,o),{width:i,height:c}=De(a);t=Dr({width:i,height:c}),s.push(_)}O(t>0);for(let _=s.length;_<t;++_){let a=oe(e,o,{...r,lod:_});s.push(a)}return s}function Dr(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function It(e,t,o={}){let r=await gr(e,t,o);return await L(r,D.parse,o)}async function gr(e,t,o={}){let r=[];for(let s=0;s<e;s++){let _=H(t,o,{index:s});r.push(_)}return await Promise.all(r)}var Pr=34069,hr=34070,Kr=34071,Fr=34072,Gr=34073,Lr=34074,Ut=[{face:Pr,direction:"right",axis:"x",sign:"positive"},{face:hr,direction:"left",axis:"x",sign:"negative"},{face:Kr,direction:"top",axis:"y",sign:"positive"},{face:Fr,direction:"bottom",axis:"y",sign:"negative"},{face:Gr,direction:"front",axis:"z",sign:"positive"},{face:Lr,direction:"back",axis:"z",sign:"negative"}];async function Ir(e,t){let o={},r=[],s=0;for(let _=0;_<Ut.length;++_){let a=Ut[s],i=H(e,t,{...a,index:s++}).then(c=>{o[a.face]=c});r.push(i)}return await Promise.all(r),o}async function Nt(e,t={}){let o=await Ir(e,t);return await L(o,D.parse,t)}var Ur={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 oo(V);})();
|
|
7
|
+
"use strict";var __exports__=(()=>{var Sn=Object.create;var ue=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var mn=Object.getOwnPropertyNames;var En=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var An=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Br=(e,t)=>{for(var r in t)ue(e,r,{get:t[r],enumerable:!0})},Re=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of mn(t))!fn.call(e,n)&&n!==r&&ue(e,n,{get:()=>t[n],enumerable:!(o=ln(t,n))||o.enumerable});return e},Se=(e,t,r)=>(Re(e,t,"default"),r&&Re(r,t,"default")),Tn=(e,t,r)=>(r=e!=null?Sn(En(e)):{},Re(t||!e||!e.__esModule?ue(r,"default",{value:e,enumerable:!0}):r,e)),gn=e=>Re(ue({},"__esModule",{value:!0}),e);var Lr=An((N_,br)=>{br.exports=globalThis.loaders});var ae={};Br(ae,{BASIS_EXTERNAL_LIBRARIES:()=>z,BasisLoader:()=>io,BasisWorkerLoader:()=>rr,CRUNCH_EXTERNAL_LIBRARIES:()=>Jo,CompressedTextureLoader:()=>Ao,CompressedTextureWorkerLoader:()=>or,CompressedTextureWriter:()=>qo,CrunchLoader:()=>nr,CrunchWorkerLoader:()=>nr,GL_COMPRESSED_R11_EAC:()=>gt,GL_COMPRESSED_RED_GREEN_RGTC2_EXT:()=>He,GL_COMPRESSED_RED_RGTC1_EXT:()=>Ie,GL_COMPRESSED_RG11_EAC:()=>xt,GL_COMPRESSED_RGB8_ETC2:()=>dt,GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:()=>Mt,GL_COMPRESSED_RGBA8_ETC2_EAC:()=>Ce,GL_COMPRESSED_RGBA_ASTC_10x10_KHR:()=>Ke,GL_COMPRESSED_RGBA_ASTC_10x5_KHR:()=>he,GL_COMPRESSED_RGBA_ASTC_10x6_KHR:()=>De,GL_COMPRESSED_RGBA_ASTC_10x8_KHR:()=>we,GL_COMPRESSED_RGBA_ASTC_12x10_KHR:()=>Fe,GL_COMPRESSED_RGBA_ASTC_12x12_KHR:()=>ye,GL_COMPRESSED_RGBA_ASTC_4x4_KHR:()=>te,GL_COMPRESSED_RGBA_ASTC_5x4_KHR:()=>Ge,GL_COMPRESSED_RGBA_ASTC_5x5_KHR:()=>Oe,GL_COMPRESSED_RGBA_ASTC_6x5_KHR:()=>Me,GL_COMPRESSED_RGBA_ASTC_6x6_KHR:()=>Be,GL_COMPRESSED_RGBA_ASTC_8x5_KHR:()=>be,GL_COMPRESSED_RGBA_ASTC_8x6_KHR:()=>Le,GL_COMPRESSED_RGBA_ASTC_8x8_KHR:()=>Pe,GL_COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:()=>jr,GL_COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:()=>Dt,GL_COMPRESSED_RGBA_BPTC_UNORM_EXT:()=>Yt,GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:()=>Lt,GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:()=>de,GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:()=>At,GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:()=>Tt,GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:()=>xe,GL_COMPRESSED_RGB_ATC_WEBGL:()=>ht,GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT:()=>Qn,GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT:()=>es,GL_COMPRESSED_RGB_ETC1_WEBGL:()=>Pt,GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG:()=>zr,GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG:()=>bt,GL_COMPRESSED_RGB_S3TC_DXT1_EXT:()=>pe,GL_COMPRESSED_SIGNED_R11_EAC:()=>pt,GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:()=>jt,GL_COMPRESSED_SIGNED_RED_RGTC1_EXT:()=>zt,GL_COMPRESSED_SIGNED_RG11_EAC:()=>Ct,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:()=>kt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:()=>Vt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:()=>Xt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:()=>vt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:()=>Wt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:()=>$t,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:()=>wt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:()=>Kt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:()=>Ft,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:()=>yt,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:()=>It,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:()=>Ht,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:()=>Ut,GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:()=>Nt,GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:()=>Ot,GL_COMPRESSED_SRGB8_ETC2:()=>Gt,GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:()=>Bt,GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:()=>qn,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:()=>Zt,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:()=>qt,GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:()=>Qt,GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:()=>Jt,GL_EXTENSIONS_CONSTANTS:()=>ts,GL_RGB:()=>Yn,GL_RGB565:()=>Et,GL_RGB5_A1:()=>Zn,GL_RGBA:()=>Jn,GL_RGBA32F:()=>ft,GL_RGBA4:()=>Wr,GL_RGBA8:()=>$r,KTX2BasisWriter:()=>en,KTX2BasisWriterWorker:()=>H_,NPYLoader:()=>Bo,NPYWorkerLoader:()=>Sr,RadianceHDRLoader:()=>Oo,TextureArrayLoader:()=>zo,TextureCubeArrayLoader:()=>Yo,TextureCubeLoader:()=>jo,TextureLoader:()=>$o,loadImageTexture:()=>tn,loadImageTextureArray:()=>rn,loadImageTextureCube:()=>on});Se(ae,Tn(Lr(),1));var u="4.4.0";function pn(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.4.0"),globalThis._loadersgl_.version}var Pr=pn();function hr(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var M={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},k_=M.self||M.window||M.global||{},W_=M.window||M.self||M.global||{},$_=M.global||M.self||M.window||{},z_=M.document||{};var V=typeof process!="object"||String(process)!=="[object process]"||process.browser,le=typeof importScripts=="function",j_=typeof window<"u"&&typeof window.orientation<"u",Dr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Y_=Dr&&parseFloat(Dr[1])||0;var rt={};function q(e={}){let t=e.useLocalLibraries??e.core?.useLocalLibraries,r=e.CDN??e.core?.CDN,o=e.modules;return{...t!==void 0?{useLocalLibraries:t}:{},...r!==void 0?{CDN:r}:{},...o!==void 0?{modules:o}:{}}}async function X(e,t=null,r={},o=null){return t&&(e=wr(e,t,r,o)),rt[e]=rt[e]||xn(e),await rt[e]}function wr(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 n=r.modules||{};return n[o]?n[o]:V?r.CDN?(hr(r.CDN.startsWith("http")),`${r.CDN}/${t}@${Pr}/dist/libs/${o}`):le?`../src/libs/${o}`:`modules/${t}/src/libs/${o}`:`modules/${t}/dist/libs/${o}`}async function xn(e){if(e.endsWith("wasm"))return await dn(e);if(!V){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(le)return importScripts(e);let t=await Gn(e);return Cn(t,e)}function Cn(e,t){if(!V){let{requireFromString:o}=globalThis.loaders||{};return o?.(e,t)}if(le)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 dn(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};if(V||!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 Gn(e){let{readFileAsText:t}=globalThis.loaders||{};if(V||!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 v=class{constructor(){throw new Error("ChildProcessProxy is not available in browser environments")}async start(t){return await Promise.resolve({})}async stop(){return await Promise.resolve()}async exit(){return await Promise.resolve()}};async function ot(e,t,r,o){return o._parse(e,t,r,o)}function B(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var b={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},On=b.self||b.window||b.global||{},Mn=b.window||b.self||b.global||{},Bn=b.global||b.self||b.window||{},bn=b.document||{};var nt=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Kr=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Ln=Kr&&parseFloat(Kr[1])||0;var me=globalThis,Pn=globalThis.document||{},Ee=globalThis.process||{},hn=globalThis.console,ia=globalThis.navigator||{};function Fr(e){if(typeof window<"u"&&window.process?.type==="renderer"||typeof process<"u"&&Boolean(process.versions?.electron))return!0;let t=typeof navigator<"u"&&navigator.userAgent,r=e||t;return Boolean(r&&r.indexOf("Electron")>=0)}function F(){return!(typeof process=="object"&&String(process)==="[object process]"&&!process?.browser)||Fr()}var st="4.1.1";function k(e,t){if(!e)throw new Error(t||"Assertion failed")}function _t(e){if(!e)return 0;let t;switch(typeof e){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return k(Number.isFinite(t)&&t>=0),t}function yr(e){let{logLevel:t,message:r}=e;e.logLevel=_t(t);let o=e.args?Array.from(e.args):[];for(;o.length&&o.shift()!==r;);switch(typeof t){case"string":case"function":r!==void 0&&o.unshift(r),e.message=t;break;case"object":Object.assign(e,t);break;default:}typeof e.message=="function"&&(e.message=e.message());let n=typeof e.message;return k(n==="string"||n==="object"),Object.assign(e,{args:o},e.opts)}var y=()=>{},fe=class{constructor({level:t=0}={}){this.userData={},this._onceCache=new Set,this._level=t}set level(t){this.setLevel(t)}get level(){return this.getLevel()}setLevel(t){return this._level=t,this}getLevel(){return this._level}warn(t,...r){return this._log("warn",0,t,r,{once:!0})}error(t,...r){return this._log("error",0,t,r)}log(t,r,...o){return this._log("log",t,r,o)}info(t,r,...o){return this._log("info",t,r,o)}once(t,r,...o){return this._log("once",t,r,o,{once:!0})}_log(t,r,o,n,s={}){let _=yr({logLevel:r,message:o,args:this._buildArgs(r,o,n),opts:s});return this._createLogFunction(t,_,s)}_buildArgs(t,r,o){return[t,r,...o]}_createLogFunction(t,r,o){if(!this._shouldLog(r.logLevel))return y;let n=this._getOnceTag(o.tag??r.tag??r.message);if((o.once||r.once)&&n!==void 0){if(this._onceCache.has(n))return y;this._onceCache.add(n)}return this._emit(t,r)}_shouldLog(t){return this.getLevel()>=_t(t)}_getOnceTag(t){if(t!==void 0)try{return typeof t=="string"?t:String(t)}catch{return}}};function wn(e){try{let t=window[e],r="__storage_test__";return t.setItem(r,r),t.removeItem(r),t}catch{return null}}var Ae=class{constructor(t,r,o="sessionStorage"){this.storage=wn(o),this.id=t,this.config=r,this._loadConfiguration()}getConfiguration(){return this.config}setConfiguration(t){if(Object.assign(this.config,t),this.storage){let r=JSON.stringify(this.config);this.storage.setItem(this.id,r)}}_loadConfiguration(){let t={};if(this.storage){let r=this.storage.getItem(this.id);t=r?JSON.parse(r):{}}return Object.assign(this.config,t),this}};function Ir(e){let t;return e<10?t=`${e.toFixed(2)}ms`:e<100?t=`${e.toFixed(1)}ms`:e<1e3?t=`${e.toFixed(0)}ms`:t=`${(e/1e3).toFixed(2)}s`,t}function Hr(e,t=8){let r=Math.max(t-e.length,0);return`${" ".repeat(r)}${e}`}var Te;(function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"})(Te||(Te={}));var Kn=10;function Ur(e){return typeof e!="string"?e:(e=e.toUpperCase(),Te[e]||Te.WHITE)}function Nr(e,t,r){return!F&&typeof e=="string"&&(t&&(e=`\x1B[${Ur(t)}m${e}\x1B[39m`),r&&(e=`\x1B[${Ur(r)+Kn}m${e}\x1B[49m`)),e}function Vr(e,t=["constructor"]){let r=Object.getPrototypeOf(e),o=Object.getOwnPropertyNames(r),n=e;for(let s of o){let _=n[s];typeof _=="function"&&(t.find(a=>s===a)||(n[s]=_.bind(e)))}}function W(){let e;if(F()&&me.performance)e=me?.performance?.now?.();else if("hrtime"in Ee){let t=Ee?.hrtime?.();e=t[0]*1e3+t[1]/1e6}else e=Date.now();return e}var $={debug:F()&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},at={enabled:!0,level:0},h=class extends fe{constructor({id:t}={id:""}){super({level:0}),this.VERSION=st,this._startTs=W(),this._deltaTs=W(),this.userData={},this.LOG_THROTTLE_TIMEOUT=0,this.id=t,this.userData={},this._storage=new Ae(`__probe-${this.id}__`,{[this.id]:at}),this.timeStamp(`${this.id} started`),Vr(this),Object.seal(this)}isEnabled(){return this._getConfiguration().enabled}getLevel(){return this._getConfiguration().level}getTotal(){return Number((W()-this._startTs).toPrecision(10))}getDelta(){return Number((W()-this._deltaTs).toPrecision(10))}set priority(t){this.level=t}get priority(){return this.level}getPriority(){return this.level}enable(t=!0){return this._updateConfiguration({enabled:t}),this}setLevel(t){return this._updateConfiguration({level:t}),this}get(t){return this._getConfiguration()[t]}set(t,r){this._updateConfiguration({[t]:r})}settings(){console.table?console.table(this._storage.config):console.log(this._storage.config)}assert(t,r){if(!t)throw new Error(r||"Assertion failed")}warn(t,...r){return this._log("warn",0,t,r,{method:$.warn,once:!0})}error(t,...r){return this._log("error",0,t,r,{method:$.error})}deprecated(t,r){return this.warn(`\`${t}\` is deprecated and will be removed in a later version. Use \`${r}\` instead`)}removed(t,r){return this.error(`\`${t}\` has been removed. Use \`${r}\` instead`)}probe(t,r,...o){return this._log("log",t,r,o,{method:$.log,time:!0,once:!0})}log(t,r,...o){return this._log("log",t,r,o,{method:$.debug})}info(t,r,...o){return this._log("info",t,r,o,{method:console.info})}once(t,r,...o){return this._log("once",t,r,o,{method:$.debug||$.info,once:!0})}table(t,r,o){return r?this._log("table",t,r,o&&[o]||[],{method:console.table||y,tag:yn(r)}):y}time(t,r){return this._log("time",t,r,[],{method:console.time?console.time:console.info})}timeEnd(t,r){return this._log("time",t,r,[],{method:console.timeEnd?console.timeEnd:console.info})}timeStamp(t,r){return this._log("time",t,r,[],{method:console.timeStamp||y})}group(t,r,o={collapsed:!1}){let n=(o.collapsed?console.groupCollapsed:console.group)||console.info;return this._log("group",t,r,[],{method:n})}groupCollapsed(t,r,o={}){return this.group(t,r,Object.assign({},o,{collapsed:!0}))}groupEnd(t){return this._log("groupEnd",t,"",[],{method:console.groupEnd||y})}withGroup(t,r,o){this.group(t,r)();try{o()}finally{this.groupEnd(t)()}}trace(){console.trace&&console.trace()}_shouldLog(t){return this.isEnabled()&&super._shouldLog(t)}_emit(t,r){let o=r.method;k(o),r.total=this.getTotal(),r.delta=this.getDelta(),this._deltaTs=W();let n=Fn(this.id,r.message,r);return o.bind(console,n,...r.args)}_getConfiguration(){return this._storage.config[this.id]||this._updateConfiguration(at),this._storage.config[this.id]}_updateConfiguration(t){let r=this._storage.config[this.id]||{...at};this._storage.setConfiguration({[this.id]:{...r,...t}})}};h.VERSION=st;function Fn(e,t,r){if(typeof t=="string"){let o=r.time?Hr(Ir(r.total)):"";t=r.time?`${e}: ${o} ${t}`:`${e}: ${t}`,t=Nr(t,r.color,r.background)}return t}function yn(e){for(let t in e)for(let r in e[t])return r||"untitled";return"empty"}globalThis.probe={};var Ha=new h({id:"@probe.gl/log"});var it="4.4.0",In=it[0]>="0"&&it[0]<="9"?`v${it}`:"";function Hn(){let e=new h({id:"loaders.gl"});return globalThis.loaders||={},globalThis.loaders.log=e,globalThis.loaders.version=In,globalThis.probe||={},globalThis.probe.loaders=e,e}var ct=Hn();function Rt(e){globalThis.loaders||={},globalThis.loaders.modules||={},Object.assign(globalThis.loaders.modules,e)}function ut(e){return globalThis.loaders?.modules?.[e]||null}var Un="",Xr={};function ge(e){for(let t in Xr)if(e.startsWith(t)){let r=Xr[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Un}${e}`),e}var I={};Br(I,{dirname:()=>Vn,filename:()=>Nn,join:()=>Xn,resolve:()=>vn});function vr(){if(typeof process<"u"&&typeof process.cwd<"u")return process.cwd();let e=window.location?.pathname;return e?.slice(0,e.lastIndexOf("/")+1)||""}function Nn(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(t+1):e}function Vn(e){let t=e?e.lastIndexOf("/"):-1;return t>=0?e.substr(0,t):""}function Xn(...e){let t="/";return e=e.map((r,o)=>(o&&(r=r.replace(new RegExp(`^${t}`),"")),o!==e.length-1&&(r=r.replace(new RegExp(`${t}$`),"")),r)),e.join(t)}function vn(...e){let t=[];for(let s=0;s<e.length;s++)t[s]=e[s];let r="",o=!1,n;for(let s=t.length-1;s>=-1&&!o;s--){let _;s>=0?_=t[s]:(n===void 0&&(n=vr()),_=n),_.length!==0&&(r=`${_}/${r}`,o=_.charCodeAt(0)===Q)}return r=kn(r,!o),o?`/${r}`:r.length>0?r:"."}var Q=47,St=46;function kn(e,t){let r="",o=-1,n=0,s,_=!1;for(let a=0;a<=e.length;++a){if(a<e.length)s=e.charCodeAt(a);else{if(s===Q)break;s=Q}if(s===Q){if(!(o===a-1||n===1))if(o!==a-1&&n===2){if(r.length<2||!_||r.charCodeAt(r.length-1)!==St||r.charCodeAt(r.length-2)!==St){if(r.length>2){let i=r.length-1,c=i;for(;c>=0&&r.charCodeAt(c)!==Q;--c);if(c!==i){r=c===-1?"":r.slice(0,c),o=a,n=0,_=!1;continue}}else if(r.length===2||r.length===1){r="",o=a,n=0,_=!1;continue}}t&&(r.length>0?r+="/..":r="..",_=!0)}else{let i=e.slice(o+1,a);r.length>0?r+=`/${i}`:r=i,_=!1}o=a,n=0}else s===St&&n!==-1?++n:n=-1}return r}var z={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},kr;async function mt(e){Rt(e.modules);let t=ut("basis");return t||(kr||=Wn(e),await kr)}async function Wn(e){let t=null,r=null;return[t,r]=await Promise.all([await X(z.TRANSCODER,"textures",e),await X(z.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await $n(t,r)}function $n(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(n=>{let{BasisFile:s,initializeBasis:_}=n;_(),o({BasisFile:s})})})}var lt;async function ee(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(lt=lt||zn(e),await lt)}async function zn(e){let t=null,r=null;return[t,r]=await Promise.all([await X(z.ENCODER,"textures",e),await X(z.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await jn(t,r)}function jn(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(n=>{let{BasisFile:s,KTX2File:_,initializeBasis:a,BasisEncoder:i}=n;a(),o({BasisFile:s,KTX2File:_,BasisEncoder:i})})})}var Yn=6407,Jn=6408,Wr=32854,Zn=32855,$r=32856,Et=36194,ft=34836,pe=33776,At=33777,Tt=33778,xe=33779,gt=37488,pt=37489,xt=37490,Ct=37491,dt=37492,Ce=37493,Gt=37494,Ot=37495,Mt=37496,Bt=37497,bt=35840,zr=35841,de=35842,Lt=35843,Pt=36196,ht=35986,jr=35987,Dt=34798,te=37808,Ge=37809,Oe=37810,Me=37811,Be=37812,be=37813,Le=37814,Pe=37815,he=37816,De=37817,we=37818,Ke=37819,Fe=37820,ye=37821,wt=37840,Kt=37841,Ft=37842,yt=37843,It=37844,Ht=37845,Ut=37846,Nt=37847,Vt=37848,Xt=37849,vt=37850,kt=37851,Wt=37852,$t=37853,Ie=36283,zt=36284,He=36285,jt=36286,Yt=36492,qn=36493,Qn=36494,es=36495,Jt=35916,Zt=35917,qt=35918,Qt=35919,ts={RGB:6407,RGBA:6408,RGBA4:32854,RGB5_A1:32855,RGBA8:32856,RGB565:36194,RGBA32F:34836,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 rs=["","WEBKIT_","MOZ_"],Yr={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-rgb-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-rgb2unorm-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 Ue=null;function Jr(e){if(!Ue){e=e||os()||void 0,Ue=new Set;for(let t of rs)for(let r in Yr)if(e&&e.getExtension(`${t}${r}`))for(let o of Yr[r])Ue.add(o)}return Ue}function os(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var er=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}},H=class{constructor(t,r,o,n){this._dataView=void 0,this._littleEndian=void 0,this._offset=void 0,this._dataView=new DataView(t.buffer,t.byteOffset+r,o),this._littleEndian=n,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,n=0;for(;this._dataView.getUint8(this._offset)!==r&&n<t;)n++,this._offset++;return n<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+o,n)}};var mi=new Uint8Array([0]),E=[171,75,84,88,32,50,48,187,13,10,26,10];function Zr(e){return new TextDecoder().decode(e)}function qr(e){let t=new Uint8Array(e.buffer,e.byteOffset,E.length);if(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])throw new Error("Missing KTX 2.0 identifier.");let r=new er,o=17*Uint32Array.BYTES_PER_ELEMENT,n=new H(e,E.length,o,!0);r.vkFormat=n._nextUint32(),r.typeSize=n._nextUint32(),r.pixelWidth=n._nextUint32(),r.pixelHeight=n._nextUint32(),r.pixelDepth=n._nextUint32(),r.layerCount=n._nextUint32(),r.faceCount=n._nextUint32();let s=n._nextUint32();r.supercompressionScheme=n._nextUint32();let _=n._nextUint32(),a=n._nextUint32(),i=n._nextUint32(),c=n._nextUint32(),l=n._nextUint64(),S=n._nextUint64(),G=s*3*8,K=new H(e,E.length+o,G,!0);for(let A=0;A<s;A++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+K._nextUint64(),K._nextUint64()),uncompressedByteLength:K._nextUint64()});let R=new H(e,_,a,!0),Z={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:[]},et=6,tt=4,T=(Z.descriptorBlockSize/4-et)/tt;for(let A=0;A<T;A++){let P={bitOffset:R._nextUint16(),bitLength:R._nextUint8(),channelType:R._nextUint8(),samplePosition:[R._nextUint8(),R._nextUint8(),R._nextUint8(),R._nextUint8()],sampleLower:-1/0,sampleUpper:1/0};P.channelType&64?(P.sampleLower=R._nextInt32(),P.sampleUpper=R._nextInt32()):(P.sampleLower=R._nextUint32(),P.sampleUpper=R._nextUint32()),Z.samples[A]=P}r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(Z);let g=new H(e,i,c,!0);for(;g._offset<c;){let A=g._nextUint32(),P=g._scan(A),ce=Zr(P);if(r.keyValue[ce]=g._nextUint8Array(A-P.byteLength-1),ce.match(/^ktx/i)){let Mr=Zr(r.keyValue[ce]);r.keyValue[ce]=Mr.substring(0,Mr.lastIndexOf("\0"))}let un=A%4?4-A%4:0;g._skip(un)}if(S<=0)return r;let m=new H(e,l,S,!0),O=m._nextUint16(),f=m._nextUint16(),ie=m._nextUint32(),pr=m._nextUint32(),xr=m._nextUint32(),nn=m._nextUint32(),Cr=[];for(let A=0;A<s;A++)Cr.push({imageFlags:m._nextUint32(),rgbSliceByteOffset:m._nextUint32(),rgbSliceByteLength:m._nextUint32(),alphaSliceByteOffset:m._nextUint32(),alphaSliceByteLength:m._nextUint32()});let dr=l+m._offset,Gr=dr+ie,Or=Gr+pr,sn=Or+xr,_n=new Uint8Array(e.buffer,e.byteOffset+dr,ie),an=new Uint8Array(e.buffer,e.byteOffset+Gr,pr),cn=new Uint8Array(e.buffer,e.byteOffset+Or,xr),Rn=new Uint8Array(e.buffer,e.byteOffset+sn,nn);return r.globalData={endpointCount:O,selectorCount:f,imageDescs:Cr,endpointsData:_n,selectorsData:an,tablesData:cn,extendedData:Rn},r}var Qr={[34836]:"rgba32float",[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-rgb2unorm-webgl",[35843]:"pvrtc-rgba2unorm-webgl",[36196]:"etc1-rgb-unorm-webgl",[35986]:"atc-rgb-unorm-webgl",[35987]:"atc-rgba-unorm-webgl",[34798]:"atc-rgbai-unorm-webgl"},ns=Object.fromEntries(Object.entries(Qr).map(([e,t])=>[t,Number(e)]));function Ne(e){if(e!==void 0)return Qr[e]}function eo(e){if(e!==void 0)return ns[e]}function j(e,t){let r=new Array(t.mipMapLevels),o=t.textureFormat||Ne(t.internalFormat),n=t.internalFormat||eo(t.textureFormat),s=t.width,_=t.height,a=0;for(let i=0;i<t.mipMapLevels;++i){let c=_s(t,s,_,e,i),S={shape:"texture-level",compressed:!0,data:ss(e,i,a,c),width:s,height:_,levelSize:c};n!==void 0&&(S.format=n),o&&(S.textureFormat=o),r[i]=S,s=Math.max(1,s>>1),_=Math.max(1,_>>1),a+=c}return r}function ss(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function _s(e,t,r,o,n){return Array.isArray(o)?e.sizeFunction(o[n]):e.sizeFunction(t,r)}var as={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 is(e){return as[e]}function to(e){return Ne(is(e))}var p=[171,75,84,88,32,50,48,187,13,10,26,10];function Ve(e){let t=new Uint8Array(e);return!(t.byteLength<p.length||t[0]!==p[0]||t[1]!==p[1]||t[2]!==p[2]||t[3]!==p[3]||t[4]!==p[4]||t[5]!==p[5]||t[6]!==p[6]||t[7]!==p[7]||t[8]!==p[8]||t[9]!==p[9]||t[10]!==p[10]||t[11]!==p[11])}function ro(e){let t=new Uint8Array(e),r=qr(t),o=Math.max(1,r.levels.length),n=r.pixelWidth,s=r.pixelHeight,_=to(r.vkFormat);return _===void 0&&ct.warn(`KTX2 container vkFormat ${r.vkFormat} does not map to a known texture format; returning texture levels without format metadata.`)(),j(r.levels,{mipMapLevels:o,width:n,height:s,sizeFunction:a=>a.uncompressedByteLength,textureFormat:_})}var oo=Promise.resolve(),_o={etc1:{basisFormat:0,compressed:!0,format:36196,textureFormat:"etc1-rgb-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"}},Pi=Object.freeze(Object.keys(_o));async function cs(e){let t=oo,r;oo=new Promise(o=>{r=o}),await t;try{return await e()}finally{r()}}async function Xe(e,t={}){let r=q(t);return await cs(async()=>{if(!t.basis?.containerFormat||t.basis.containerFormat==="auto"){if(Ve(e)){let n=await ee(r);return no(n.KTX2File,e,t)}let{BasisFile:o}=await mt(r);return tr(o,e,t)}switch(t.basis.module){case"encoder":let o=await ee(r);switch(t.basis.containerFormat){case"ktx2":return no(o.KTX2File,e,t);case"basis":default:return tr(o.BasisFile,e,t)}case"transcoder":default:let{BasisFile:n}=await mt(r);return tr(n,e,t)}})}function tr(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("Failed to start basis transcoding");let n=o.getNumImages(),s=[];for(let _=0;_<n;_++){let a=o.getNumLevels(_),i=[];for(let c=0;c<a;c++)i.push(Rs(o,_,c,r));s.push(i)}return s}finally{o.close(),o.delete()}}function Rs(e,t,r,o){let n=e.getImageWidth(t,r),s=e.getImageHeight(t,r),_=e.getHasAlpha(),{compressed:a,format:i,basisFormat:c,textureFormat:l}=ao(o,_),S=e.getImageTranscodedSizeInBytes(t,r,c),G=new Uint8Array(S);if(!e.transcodeImage(G,t,r,c,0,0))throw new Error("failed to start Basis transcoding");return{shape:"texture-level",width:n,height:s,data:G,compressed:a,...i!==void 0?{format:i}:{},...l!==void 0?{textureFormat:l}:{},hasAlpha:_}}function no(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("failed to start KTX2 transcoding");let n=o.getLevels(),s=[];for(let _=0;_<n;_++)s.push(us(o,_,r));return[s]}finally{o.close(),o.delete()}}function us(e,t,r){let{alphaFlag:o,height:n,width:s}=e.getImageLevelInfo(t,0,0),{compressed:_,format:a,basisFormat:i,textureFormat:c}=ao(r,o),l=e.getImageTranscodedSizeInBytes(t,0,0,i),S=new Uint8Array(l);if(!e.transcodeImage(S,t,0,0,i,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{shape:"texture-level",width:s,height:n,data:S,compressed:_,...a!==void 0?{format:a}:{},...c!==void 0?{textureFormat:c}:{},levelSize:l,hasAlpha:o}}function ao(e,t){let r=e.basis?.format||"auto";r==="auto"&&(r=e.basis?.supportedTextureFormats?so(e.basis.supportedTextureFormats):so()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha);let o=r.toLowerCase(),n=_o[o];if(!n)throw new Error(`Unknown Basis format ${r}`);return n}function so(e=Jr()){let t=new Set(e);return Y(t,["astc-4x4-unorm","astc-4x4-unorm-srgb"])?"astc-4x4":Y(t,["bc7-rgba-unorm","bc7-rgba-unorm-srgb"])?{alpha:"bc7-m5",noAlpha:"bc7-m6-opaque-only"}:Y(t,["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"}:Y(t,["pvrtc-rgb4unorm-webgl","pvrtc-rgba4unorm-webgl","pvrtc-rgb2unorm-webgl","pvrtc-rgba2unorm-webgl"])?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:Y(t,["etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm"])?"etc2":t.has("etc1-rgb-unorm-webgl")?"etc1":Y(t,["atc-rgb-unorm-webgl","atc-rgba-unorm-webgl","atc-rgbai-unorm-webgl"])?{alpha:"atc-rgba-interpolated-alpha",noAlpha:"atc-rgb"}:"rgb565"}function Y(e,t){return t.some(r=>e.has(r))}var rr={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:u,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",containerFormat:"auto",module:"transcoder"}}},io={...rr,parse:Xe};var x={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},Ss={DXT1:"bc1-rgb-unorm-webgl",DXT3:"bc2-rgba-unorm",DXT5:"bc3-rgba-unorm","ATC ":"atc-rgb-unorm-webgl",ATCA:"atc-rgba-unorm-webgl",ATCI:"atc-rgbai-unorm-webgl"},ls=uo,ms=ve,Es=ve,fs={DXT1:uo,DXT3:ve,DXT5:ve,"ATC ":ls,ATCA:ms,ATCI:Es};function co(e){return new Uint32Array(e,0,x.HEADER_LENGTH)[x.MAGIC_NUMBER_INDEX]===x.MAGIC_NUMBER}function Ro(e){let t=new Int32Array(e,0,x.HEADER_LENGTH),r=t[x.HEADER_PF_FOURCC_INDEX];B(Boolean(t[x.HEADER_PF_FLAGS_INDEX]&x.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=As(r),n=Ss[o],s=fs[o];B(n&&s,`DDS: Unknown pixel format ${r}`);let _=1;t[x.HEADER_FLAGS_INDEX]&x.DDSD_MIPMAPCOUNT&&(_=Math.max(1,t[x.MIPMAPCOUNT_INDEX]));let a=t[x.HEADER_WIDTH_INDEX],i=t[x.HEADER_HEIGHT_INDEX],c=t[x.HEADER_SIZE_INDEX]+4,l=new Uint8Array(e,c);return j(l,{mipMapLevels:_,width:a,height:i,sizeFunction:s,textureFormat:n})}function uo(e,t){return(e+3>>2)*(t+3>>2)*8}function ve(e,t){return(e+3>>2)*(t+3>>2)*16}function As(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var C={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},Ts={0:["pvrtc-rgb2unorm-webgl"],1:["pvrtc-rgba2unorm-webgl"],2:["pvrtc-rgb4unorm-webgl"],3:["pvrtc-rgba4unorm-webgl"],6:["etc1-rgb-unorm-webgl"],7:["bc1-rgb-unorm-webgl"],9:["bc2-rgba-unorm"],11:["bc3-rgba-unorm"],22:["etc2-rgb8unorm"],23:["etc2-rgba8unorm"],24:["etc2-rgb8a1unorm"],25:["eac-r11unorm"],26:["eac-rg11unorm"],27:["astc-4x4-unorm","astc-4x4-unorm-srgb"],28:["astc-5x4-unorm","astc-5x4-unorm-srgb"],29:["astc-5x5-unorm","astc-5x5-unorm-srgb"],30:["astc-6x5-unorm","astc-6x5-unorm-srgb"],31:["astc-6x6-unorm","astc-6x6-unorm-srgb"],32:["astc-8x5-unorm","astc-8x5-unorm-srgb"],33:["astc-8x6-unorm","astc-8x6-unorm-srgb"],34:["astc-8x8-unorm","astc-8x8-unorm-srgb"],35:["astc-10x5-unorm","astc-10x5-unorm-srgb"],36:["astc-10x6-unorm","astc-10x6-unorm-srgb"],37:["astc-10x8-unorm","astc-10x8-unorm-srgb"],38:["astc-10x10-unorm","astc-10x10-unorm-srgb"],39:["astc-12x10-unorm","astc-12x10-unorm-srgb"],40:["astc-12x12-unorm","astc-12x12-unorm-srgb"]},gs={0:So,1:So,2:lo,3:lo,6:re,7:re,9:oe,11:oe,22:re,23:oe,24:re,25:re,26:oe,27:oe,28:ps,29:xs,30:Cs,31:ds,32:Gs,33:Os,34:Ms,35:Bs,36:bs,37:Ls,38:Ps,39:hs,40:Ds};function mo(e){let r=new Uint32Array(e,0,C.HEADER_LENGTH)[C.MAGIC_NUMBER_INDEX];return r===C.MAGIC_NUMBER||r===C.MAGIC_NUMBER_EXTRA}function Eo(e){let t=new Uint32Array(e,0,C.HEADER_LENGTH),r=t[C.PIXEL_FORMAT_INDEX],o=t[C.COLOUR_SPACE_INDEX],n=Ts[r]||[],s=n.length>1&&o?n[1]:n[0],_=gs[r],a=t[C.MIPMAPCOUNT_INDEX],i=t[C.WIDTH_INDEX],c=t[C.HEIGHT_INDEX],l=C.HEADER_SIZE+t[C.METADATA_SIZE_INDEX],S=new Uint8Array(e,l);return j(S,{mipMapLevels:a,width:i,height:c,sizeFunction:_,textureFormat:s})}function So(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function lo(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function re(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function oe(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function ps(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function xs(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Cs(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function ds(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Gs(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Os(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Ms(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Bs(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function bs(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function Ls(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function Ps(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function hs(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function Ds(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function fo(e){if(Ve(e))return ro(e);if(co(e))return Ro(e);if(mo(e))return Eo(e);throw new Error("Texture container format not recognized")}var or={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:u,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}}},Ao={...or,parse:async(e,t)=>(t={...t},t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await Xe(e,t))[0]):fo(e))};var nr={dataType:null,batchType:null,id:"crunch",name:"Crunch",module:"textures",version:u,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{}}};var xo=["#?RADIANCE","#?RGBE"],ws="32-bit_rle_rgbe";function Co(e){let t={data:new Uint8Array(e),offset:0},r=ir(t);return r?xo.includes(r):!1}function cr(e){let t={data:new Uint8Array(e),offset:0},r=Ks(t),{width:o,height:n}=r,s=ys(t,r),_=Is(s),a={shape:"texture-level",compressed:!1,width:o,height:n,data:_,levelSize:_.byteLength,format:34836,textureFormat:"rgba32float"};return{shape:"texture",type:"2d",format:"rgba32float",...r.metadata?{metadata:r.metadata}:{},data:[a]}}function Ks(e){let t=ir(e);if(!t||!xo.includes(t))throw new Error("RadianceHDRLoader: bad initial token");let r=!1,o={};for(;e.offset<e.data.length;){let n=ir(e);if(n===null)break;if(!n||n.startsWith("#"))continue;if(n.startsWith("FORMAT=")){if(r=n.slice(7)===ws,!r)throw new Error("RadianceHDRLoader: unsupported format specifier");continue}Hs(o,n);let s=Fs(n);if(s){if(!r)throw new Error("RadianceHDRLoader: missing format specifier");return{...s,...Us(o)?{metadata:o}:{}}}}throw r?new Error("RadianceHDRLoader: missing image size specifier"):new Error("RadianceHDRLoader: missing format specifier")}function Fs(e){let t=e.match(/^([+-])([YX])\s+(\d+)\s+([+-])([YX])\s+(\d+)$/);if(!t)return null;let r=t[1]==="+"?1:-1,o=t[2],n=Number(t[3]),s=t[4]==="+"?1:-1,_=t[5],a=Number(t[6]);if(o===_)throw new Error("RadianceHDRLoader: invalid image dimensions");let i=o==="X"?n:a,c=o==="Y"?n:a;if(!Number.isFinite(i)||!Number.isFinite(c)||i<=0||c<=0)throw new Error("RadianceHDRLoader: invalid image dimensions");return{width:i,height:c,majorAxis:o,majorSign:r,minorAxis:_,minorSign:s}}function ys(e,t){let{width:r,height:o}=t,s=r*o*4,_=t.minorAxis==="X"?r:o,a=t.majorAxis==="Y"?o:r;if(_<8||_>32767)return sr(_r(e,s),t);if(e.offset+4>e.data.length)throw new Error("RadianceHDRLoader: unexpected end of file");let i=e.data;if(!(i[e.offset]===2&&i[e.offset+1]===2&&!(i[e.offset+2]&128))||(i[e.offset+2]<<8|i[e.offset+3])!==_)return sr(_r(e,s),t);let S=new Uint8Array(s),G=new Uint8Array(_*4);for(let K=0;K<a;K++){if(e.offset+4>i.length)throw new Error("RadianceHDRLoader: unexpected end of file");let R=i[e.offset++],Z=i[e.offset++],et=i[e.offset++],tt=i[e.offset++];if(R!==2||Z!==2||(et<<8|tt)!==_)throw new Error("RadianceHDRLoader: bad rgbe scanline format");for(let T=0;T<4;T++){let g=T*_,m=g+_,O=g;for(;O<m;){if(e.offset>=i.length)throw new Error("RadianceHDRLoader: unexpected end of file");let f=i[e.offset++];if(f>128){if(f-=128,f===0||O+f>m||e.offset>=i.length)throw new Error("RadianceHDRLoader: bad scanline data");let ie=i[e.offset++];G.fill(ie,O,O+f),O+=f;continue}if(f===0||O+f>m||e.offset+f>i.length)throw new Error("RadianceHDRLoader: bad scanline data");G.set(i.subarray(e.offset,e.offset+f),O),O+=f,e.offset+=f}}for(let T=0;T<_;T++){let g=Go(t,K,T);S[g]=G[T],S[g+1]=G[T+_],S[g+2]=G[T+_*2],S[g+3]=G[T+_*3]}}return S}function sr(e,t){let r=new Uint8Array(e.length),o=t.minorAxis==="X"?t.width:t.height,n=t.majorAxis==="Y"?t.height:t.width;for(let s=0;s<n;s++)for(let _=0;_<o;_++){let a=(s*o+_)*4,i=Go(t,s,_);r[i]=e[a],r[i+1]=e[a+1],r[i+2]=e[a+2],r[i+3]=e[a+3]}return r}function Go(e,t,r){let o=To(e.majorAxis==="X"?e.width:e.height,e.majorSign,t),n=To(e.minorAxis==="X"?e.width:e.height,e.minorSign,r),s=e.majorAxis==="X"?o:n,_=e.majorAxis==="Y"?o:n;return((e.height-1-_)*e.width+s)*4}function To(e,t,r){return t===1?r:e-1-r}function _r(e,t){if(e.offset+t>e.data.length)throw new Error("RadianceHDRLoader: unexpected end of file");let r=e.data.slice(e.offset,e.offset+t);return e.offset+=t,r}function Is(e){let t=new Float32Array(e.length);for(let r=0;r<e.length;r+=4){let o=e[r+3],n=r;if(o>0){let s=Math.pow(2,o-128)/255;t[n]=e[r]*s,t[n+1]=e[r+1]*s,t[n+2]=e[r+2]*s}t[n+3]=1}return t}function ir(e){if(e.offset>=e.data.length)return null;let t=e.offset;for(;e.offset<e.data.length;)if(e.data[e.offset++]===10){let n=go(e.data.subarray(t,e.offset-1));return n.endsWith("\r")?n.slice(0,-1):n}let r=go(e.data.subarray(t,e.offset));return r.endsWith("\r")?r.slice(0,-1):r}function go(e){let t="";for(let r of e)t+=String.fromCharCode(r);return t}function Hs(e,t){if(t.startsWith("COLORCORR=")){let r=po(t.slice(10),3);r&&(e.colorCorrection=r);return}if(t.startsWith("EXPOSURE=")){let r=ar(t.slice(9));r!==null&&(e.exposure=r);return}if(t.startsWith("GAMMA=")){let r=ar(t.slice(6));r!==null&&(e.gamma=r);return}if(t.startsWith("PIXASPECT=")){let r=ar(t.slice(10));r!==null&&(e.pixelAspectRatio=r);return}if(t.startsWith("PRIMARIES=")){let r=po(t.slice(10),8);r&&(e.primaries=r);return}if(t.startsWith("SOFTWARE=")){e.software=t.slice(9).trim();return}t.startsWith("VIEW=")&&(e.view=t.slice(5).trim())}function ar(e){let t=Number(e.trim());return Number.isFinite(t)?t:null}function po(e,t){let r=e.trim().split(/\s+/).map(o=>Number(o));return r.length!==t||r.some(o=>!Number.isFinite(o))?null:r}function Us(e){return Object.keys(e).length>0}var Oo={dataType:null,batchType:null,name:"Radiance HDR",id:"hdr",module:"textures",version:u,extensions:["hdr"],mimeTypes:["image/vnd.radiance","image/x-hdr","application/octet-stream"],binary:!0,tests:[Co],options:{hdr:{}},parseSync:cr,parse:async e=>cr(e)};var Rr=new Uint32Array([305419896]),Ns=new Uint8Array(Rr.buffer,Rr.byteOffset,Rr.byteLength),Vs=Ns[0]!==18,Mo=Vs,Xs={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function ur(e,t){let r=new DataView(e),{header:o,headerEndOffset:n}=vs(r),s=o.descr,_=Xs[s.slice(1,3)];if(!_)throw new Error(`Unimplemented type ${s}`);let i=o.shape?.reduce((l,S)=>l*S)*_.BYTES_PER_ELEMENT;if(e.byteLength<n+i)throw new Error("Buffer overflow");let c=new _(e.slice(n,n+i));if(s[0]===">"&&Mo||s[0]==="<"&&!Mo)throw new Error("Incorrect endianness");return{data:c,header:o}}function vs(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 n=t<=2?"latin1":"utf-8",s=new TextDecoder(n),_=new Uint8Array(e.buffer,r,o),a=s.decode(_);return r+=o,{header:JSON.parse(a.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var ks=new Uint8Array([147,78,85,77,80,89]),Sr={dataType:null,batchType:null,name:"NPY",id:"npy",module:"textures",version:u,worker:!0,extensions:["npy"],mimeTypes:[],tests:[ks.buffer],options:{npy:{}}},Bo={...Sr,parseSync:ur,parse:async(e,t)=>ur(e,t)};var bo="4.4.0";var Ws=globalThis.loaders?.parseImageNode,lr=typeof Image<"u",mr=typeof ImageBitmap<"u",$s=Boolean(Ws),Er=nt?!0:$s;function Lo(e){switch(e){case"auto":return mr||lr||Er;case"imagebitmap":return mr;case"image":return lr;case"data":return Er;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Po(){if(mr)return"imagebitmap";if(lr)return"image";if(Er)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function ke(e){return Boolean(Do(e))}function ho(e){let t=Do(e);if(!t)throw new Error("Not an image");return t}function J(e){return We(e)}function We(e){switch(ho(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 Do(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 zs=/^data:image\/svg\+xml/,js=/\.svg((\?|#).*)?$/;function $e(e){return e&&(zs.test(e)||js.test(e))}function wo(e,t){if($e(t)){let o=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(o=unescape(encodeURIComponent(o)))}catch(s){throw new Error(s.message)}return`data:image/svg+xml;base64,${btoa(o)}`}return fr(e,t)}function fr(e,t){if($e(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function ze(e,t,r){let o=wo(e,r),n=self.URL||self.webkitURL,s=typeof o!="string"&&n.createObjectURL(o);try{return await Ys(s||o,t)}finally{s&&n.revokeObjectURL(s)}}async function Ys(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,n)=>{try{r.onload=()=>o(r),r.onerror=s=>{let _=s instanceof Error?s.message:"error";n(new Error(_))}}catch(s){n(s)}})}var Ko=!0;async function Fo(e,t,r){let o;$e(r)?o=await ze(e,t,r):o=fr(e,r);let n=t&&t.imagebitmap;return await Js(o,n)}async function Js(e,t=null){if((Zs(t)||!Ko)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Ko=!1}return await createImageBitmap(e)}function Zs(e){if(!e)return!0;for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function yo(e){return!t_(e,"ftyp",4)||!(e[8]&96)?null:qs(e)}function qs(e){switch(Qs(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Qs(e,t,r){return String.fromCharCode(...e.slice(t,r))}function e_(e){return[...e].map(t=>t.charCodeAt(0))}function t_(e,t,r=0){let o=e_(t);for(let n=0;n<o.length;++n)if(o[n]!==e[n+r])return!1;return!0}var L=!1,ne=!0;function je(e){let t=se(e);return o_(t)||__(t)||n_(t)||s_(t)||r_(t)}function r_(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=yo(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function o_(e){let t=se(e);return t.byteLength>=24&&t.getUint32(0,L)===2303741511?{mimeType:"image/png",width:t.getUint32(16,L),height:t.getUint32(20,L)}:null}function n_(e){let t=se(e);return t.byteLength>=10&&t.getUint32(0,L)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,ne),height:t.getUint16(8,ne)}:null}function s_(e){let t=se(e);return t.byteLength>=14&&t.getUint16(0,L)===16973&&t.getUint32(2,ne)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,ne),height:t.getUint32(22,ne)}:null}function __(e){let t=se(e);if(!(t.byteLength>=3&&t.getUint16(0,L)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:n}=a_(),s=2;for(;s+9<t.byteLength;){let _=t.getUint16(s,L);if(n.has(_))return{mimeType:"image/jpeg",height:t.getUint16(s+5,L),width:t.getUint16(s+7,L)};if(!o.has(_))return null;s+=2,s+=t.getUint16(s,L)}return null}function a_(){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 se(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 Io(e,t){let{mimeType:r}=je(e)||{},o=globalThis.loaders?.parseImageNode;return B(o),await o(e,r)}async function Ho(e,t,r){t=t||{};let n=(t.image||{}).type||"auto",{url:s}=r||{},_=i_(n),a;switch(_){case"imagebitmap":a=await Fo(e,t,s);break;case"image":a=await ze(e,t,s);break;case"data":a=await Io(e,t);break;default:B(!1)}return n==="data"&&(a=We(a)),a}function i_(e){switch(e){case"auto":case"data":return Po();default:return Lo(e),e}}var c_=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],R_=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],u_={image:{type:"auto",decode:!0}},Ye={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:bo,mimeTypes:R_,extensions:c_,parse:Ho,tests:[e=>Boolean(je(new DataView(e)))],options:u_};var S_=e=>e&&typeof e=="object";async function Uo(e,t,r={}){return await Ar(e,t,r)}async function Ar(e,t,r){return Array.isArray(e)?await m_(e,t,r):S_(e)?await l_(e,t,r):await t(e,r)}async function l_(e,t,r){let o=[],n={};for(let s in e){let _=e[s],a=Ar(_,t,r).then(i=>{n[s]=i});o.push(a)}return await Promise.all(o),n}async function m_(e,t,r={}){let o=e.map(n=>Ar(n,t,r));return await Promise.all(o)}var U=[{face:34069,name:"+X",direction:"right",axis:"x",sign:"positive"},{face:34070,name:"-X",direction:"left",axis:"x",sign:"negative"},{face:34071,name:"+Y",direction:"top",axis:"y",sign:"positive"},{face:34072,name:"-Y",direction:"bottom",axis:"y",sign:"negative"},{face:34073,name:"+Z",direction:"front",axis:"z",sign:"positive"},{face:34074,name:"-Z",direction:"back",axis:"z",sign:"negative"}];async function d(e,t,r={},o){let n=Xo(e);if(n.shape!==t)throw new Error(`Expected ${t} manifest, got ${n.shape}`);return await E_(n,r,o)}function w(e,t){try{return Xo(e).shape===t}catch{return!1}}async function E_(e,t={},r){let o=L_(t),n=await f_(e,o,r),s=await N(n,o,r);return h_(e.shape,s)}async function N(e,t={},r){let o=D(t);return await Uo(e,async n=>await qe(n,o,r))}async function qe(e,t={},r){let o=A_(e,t,r),s=await B_(t,r)(o),_=b_(t);if(r){let i=P_(o,s,r);return await ot(s,[Ye],_,i)}let a=await s.arrayBuffer();return await Ye.parse(a,_)}async function f_(e,t={},r){switch(e.shape){case"image-texture":return await T_(e,t,r);case"image-texture-array":if(!Array.isArray(e.layers)||e.layers.length===0)throw new Error("image-texture-array manifest must define one or more layers");return await Promise.all(e.layers.map(async(o,n)=>await vo(o,t,r,{index:n})));case"image-texture-cube":return await No(e,t,r);case"image-texture-cube-array":if(!Array.isArray(e.layers)||e.layers.length===0)throw new Error("image-texture-cube-array manifest must define one or more layers");return await Promise.all(e.layers.map(async(o,n)=>await No(o,t,r,{index:n})));default:throw new Error("Unsupported composite image manifest")}}function D(e={}){if(e.core?.baseUrl)return e;let t=e.baseUrl;return t?{...e,core:{...e.core,baseUrl:t}}:e}function A_(e,t={},r){let o=ge(e);if(w_(e))return o;let n=d_(t,r);if(!n){if(o!==e||e.startsWith("@"))return o;throw new Error(`Unable to resolve relative image URL ${e} without a base URL`)}return ge(O_(n,e))}function Xo(e){let t=JSON.parse(e);if(!t?.shape)throw new Error("Composite image manifest must contain a shape field");return t}async function T_(e,t,r){if((e.image||e.mipmaps)&&e.template)throw new Error("image-texture manifest must define image, mipmaps, or template source");if(e.image&&e.mipmaps)throw new Error("image-texture manifest must define image, mipmaps, or template source");if(e.image)return e.image;if(e.mipmaps?.length)return e.mipmaps;if(e.template)return await ko({mipLevels:e.mipLevels??"auto",template:e.template},t,r,{});throw new Error("image-texture manifest must define image, mipmaps, or template source")}async function No(e,t,r,o={}){let n={};for(let{face:s,name:_,direction:a,axis:i,sign:c}of U){let l=e.faces?.[_]||e.faces?.[a];if(!l)throw new Error(`image-texture-cube manifest is missing ${_} face`);n[s]=await vo(l,t,r,{...o,face:_,direction:a,axis:i,sign:c})}return n}async function vo(e,t,r,o){if(typeof e=="string"||Array.isArray(e)&&e.length>0)return e;if(C_(e))return await ko(e,t,r,o);throw new Error("Composite image source entries must be strings or non-empty mip arrays")}async function ko(e,t,r,o){let n=e.mipLevels==="auto"?await g_(e.template,t,r,o):e.mipLevels;if(!Number.isFinite(n)||n<=0)throw new Error(`Invalid mipLevels value ${e.mipLevels}`);let s=[];for(let _=0;_<n;_++)s.push(Wo(e.template,{...o,lod:_}));return s}async function g_(e,t,r,o){if(!e.includes("{lod}"))throw new Error("Template sources with mipLevels: auto must include a {lod} placeholder");let n=Wo(e,{...o,lod:0}),s=await qe(n,D(t),r),{width:_,height:a}=J(s);return 1+Math.floor(Math.log2(Math.max(_,a)))}function Wo(e,t){let r="";for(let o=0;o<e.length;o++){let n=e[o];if(n==="\\"){let i=e[o+1];if(i==="{"||i==="}"||i==="\\"){r+=i,o++;continue}throw new Error(`Invalid escape sequence \\${i||""} in template ${e}`)}if(n==="}")throw new Error(`Unexpected } in template ${e}`);if(n!=="{"){r+=n;continue}let s=p_(e,o+1);if(s<0)throw new Error(`Unterminated placeholder in template ${e}`);let _=e.slice(o+1,s);if(!/^[a-z][a-zA-Z0-9]*$/.test(_))throw new Error(`Invalid placeholder {${_}} in template ${e}`);let a=x_(_,t);if(a===void 0)throw new Error(`Template ${e} uses unsupported placeholder {${_}} for this source`);r+=String(a),o=s}return r}function p_(e,t){for(let r=t;r<e.length;r++){let o=e[r];if(o==="\\"){r++;continue}if(o==="{")throw new Error(`Nested placeholders are not supported in template ${e}`);if(o==="}")return r}return-1}function x_(e,t){switch(e){case"lod":return t.lod;case"index":return t.index;case"face":return t.face;case"direction":return t.direction;case"axis":return t.axis;case"sign":return t.sign;default:return}}function C_(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function d_(e,t){return t?.baseUrl?t.baseUrl:e.baseUrl?gr(e.baseUrl):e.core?.baseUrl?G_(e.core.baseUrl):null}function gr(e){return e.endsWith("/")?e.slice(0,-1):e}function G_(e){return gr(I.dirname(e))}function O_(e,t){if(M_(e))return new URL(t,`${gr(e)}/`).toString();let r=e.startsWith("/")?e:`/${e}`,o=I.resolve(r,t);return e.startsWith("/")?o:o.slice(1)}function M_(e){return e.startsWith("http:")||e.startsWith("https:")||e.startsWith("file:")||e.startsWith("blob:")}function B_(e,t){let r=e.fetch??e.core?.fetch;return t?.fetch?t.fetch:typeof r=="function"?r:r&&typeof r=="object"?o=>fetch(o,r):fetch}function b_(e){let t=e.core,r={...e};if(delete r.baseUrl,!t?.baseUrl)return r;let o={...t};return delete o.baseUrl,{...r,core:o}}function L_(e){return e.image?.type||typeof ImageBitmap>"u"?e:{...e,image:{...e.image,type:"imagebitmap"}}}function P_(e,t,r){let o=t.url||e,[n,s=""]=o.split("?");return{...r,url:o,response:t,filename:I.filename(n),baseUrl:I.dirname(n),queryString:s}}function h_(e,t){switch(e){case"image-texture":{let r=Je(t);return{shape:"texture",type:"2d",format:Ze(r),data:r}}case"image-texture-array":{let r=t.map(o=>Je(o));return{shape:"texture",type:"2d-array",format:Ze(r[0]),data:r}}case"image-texture-cube":{let r=U.map(({face:o})=>Je(t[o]));return{shape:"texture",type:"cube",format:Ze(r[0]),data:r}}case"image-texture-cube-array":{let r=t.map(o=>U.map(({face:n})=>Je(o[n])));return{shape:"texture",type:"cube-array",format:Ze(r[0][0]),data:r}}default:throw new Error(`Unsupported composite image shape ${e}`)}}function Je(e){if(Array.isArray(e)){if(e.length===0)throw new Error("Composite image members must not be empty");if(e.every(Tr))return e;if(e.every(ke))return e.map(t=>Vo(t));if(e.every(t=>Array.isArray(t)&&t.every(Tr))){if(e.length!==1)throw new Error("Composite image members must resolve to a single image or mip chain");return e[0]}}if(D_(e)){if(e.type!=="2d")throw new Error(`Composite image members must resolve to 2d textures, got ${e.type}`);return e.data}if(Tr(e))return[e];if(ke(e))return[Vo(e)];throw new Error("Composite image members must resolve to an image, mip chain, or texture")}function Vo(e){let{width:t,height:r}=J(e);return{shape:"texture-level",compressed:!1,width:t,height:r,imageBitmap:typeof ImageBitmap<"u"&&e instanceof ImageBitmap?e:void 0,data:new Uint8Array(0),textureFormat:"rgba8unorm"}}function Ze(e){return e[0]?.textureFormat||"rgba8unorm"}function Tr(e){return Boolean(e&&typeof e=="object"&&"shape"in e&&e.shape==="texture-level")}function D_(e){return Boolean(e&&typeof e=="object"&&"shape"in e&&e.shape==="texture")}function w_(e){return e.startsWith("data:")||e.startsWith("blob:")||e.startsWith("file:")||e.startsWith("http:")||e.startsWith("https:")||e.startsWith("/")}var $o={dataType:null,batchType:null,id:"texture",name:"Texture",module:"textures",version:u,extensions:[],mimeTypes:[],text:!0,worker:!1,testText:e=>w(e,"image-texture"),options:{image:{}},parse:async(e,t,r)=>await d(new TextDecoder().decode(e),"image-texture",t,r),parseText:async(e,t,r)=>await d(e,"image-texture",t,r)};var zo={dataType:null,batchType:null,id:"texture-array",name:"Texture Array",module:"textures",version:u,extensions:[],mimeTypes:[],text:!0,worker:!1,testText:e=>w(e,"image-texture-array"),options:{image:{}},parse:async(e,t,r)=>await d(new TextDecoder().decode(e),"image-texture-array",t,r),parseText:async(e,t,r)=>await d(e,"image-texture-array",t,r)};var jo={dataType:null,batchType:null,id:"texture-cube",name:"Texture Cube",module:"textures",version:u,extensions:[],mimeTypes:[],text:!0,worker:!1,testText:e=>w(e,"image-texture-cube"),options:{image:{}},parse:async(e,t,r)=>await d(new TextDecoder().decode(e),"image-texture-cube",t,r),parseText:async(e,t,r)=>await d(e,"image-texture-cube",t,r)};var Yo={dataType:null,batchType:null,id:"texture-cube-array",name:"Texture Cube Array",module:"textures",version:u,extensions:[],mimeTypes:[],text:!0,worker:!1,testText:e=>w(e,"image-texture-cube-array"),options:{image:{}},parse:async(e,t,r)=>await d(new TextDecoder().decode(e),"image-texture-cube-array",t,r),parseText:async(e,t,r)=>await d(e,"image-texture-cube-array",t,r)};var Jo={DECODER:"crunch.js"};async function Zo(e,t,r){let o=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new v().start({command:"npx",arguments:o,spawn:r}),t}var qo={name:"DDS Texture Container",id:"dds",module:"textures",version:u,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:Zo,encode(){throw new Error("Not implemented")}};async function Qo(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:n=!1,mipmaps:s=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:_}=await ee(q(t)),a=new _;try{let i=new Uint8Array(e.width*e.height*4);a.setCreateKTX2File(!0),a.setKTX2UASTCSupercompression(!0),a.setKTX2SRGBTransferFunc(!0),a.setSliceSourceImage(0,e.data,e.width,e.height,!1),a.setPerceptual(r),a.setMipSRGB(r),a.setQualityLevel(o),a.setUASTC(n),a.setMipGen(s);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 en={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:u,extensions:["ktx2"],mimeTypes:["image/ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:Qo};function Qe(e,t,r){return typeof e=="function"?e({...t,...r}):e}async function tn(e,t={}){let r=await _e(e,t);return await N(r,D(t))}async function _e(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await K_(e,o,t,r):Qe(e,t,r)}async function K_(e,t,r,o){let n=[],s=D(r);if(t==="auto"){let _=Qe(e,r,{...o,lod:0}),a=await qe(_,s),{width:i,height:c}=J(a);t=F_({width:i,height:c}),n.push(_)}B(t>0);for(let _=n.length;_<t;++_){let a=Qe(e,r,{...o,lod:_});n.push(a)}return n}function F_(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function rn(e,t,r={}){let o=await y_(e,t,r);return await N(o,D(r))}async function y_(e,t,r={}){let o=[];for(let n=0;n<e;n++){let s=_e(t,r,{index:n});o.push(s)}return await Promise.all(o)}async function I_(e,t){let r={},o=[],n=0;for(let s=0;s<U.length;++s){let _=U[n],a=_e(e,t,{..._,index:n++}).then(i=>{r[_.face]=i});o.push(a)}return await Promise.all(o),r}async function on(e,t={}){let r=await I_(e,t);return await N(r,D(t))}var H_={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:u,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};return gn(ae);})();
|
|
9
8
|
return __exports__;
|
|
10
9
|
});
|