@loaders.gl/textures
Advanced tools
Comparing version 4.2.0 to 4.2.1
@@ -24,3 +24,3 @@ "use strict"; | ||
} else { | ||
globalThis._loadersgl_.version = "4.2.0-beta.2"; | ||
globalThis._loadersgl_.version = "4.2.0"; | ||
} | ||
@@ -345,3 +345,3 @@ } | ||
// src/lib/utils/version.ts | ||
var VERSION2 = true ? "4.2.0-beta.2" : "latest"; | ||
var VERSION2 = true ? "4.2.0" : "latest"; | ||
@@ -348,0 +348,0 @@ // src/lib/parsers/basis-module-loader.ts |
@@ -31,3 +31,3 @@ "use strict"; | ||
} else { | ||
globalThis._loadersgl_.version = "4.2.0-beta.2"; | ||
globalThis._loadersgl_.version = "4.2.0"; | ||
} | ||
@@ -352,3 +352,3 @@ } | ||
// src/lib/utils/version.ts | ||
var VERSION2 = true ? "4.2.0-beta.2" : "latest"; | ||
var VERSION2 = true ? "4.2.0" : "latest"; | ||
@@ -355,0 +355,0 @@ // ../../node_modules/ktx-parse/dist/ktx-parse.modern.js |
@@ -31,3 +31,3 @@ "use strict"; | ||
} else { | ||
globalThis._loadersgl_.version = "4.2.0-beta.2"; | ||
globalThis._loadersgl_.version = "4.2.0"; | ||
} | ||
@@ -352,3 +352,3 @@ } | ||
// src/lib/utils/version.ts | ||
var VERSION2 = true ? "4.2.0-beta.2" : "latest"; | ||
var VERSION2 = true ? "4.2.0" : "latest"; | ||
@@ -355,0 +355,0 @@ // src/crunch-loader.ts |
@@ -7,5 +7,5 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
else root['loaders'] = factory();})(globalThis, function () { | ||
"use strict";var __exports__=(()=>{var er=Object.create;var V=Object.defineProperty;var tr=Object.getOwnPropertyDescriptor;var rr=Object.getOwnPropertyNames;var or=Object.getPrototypeOf,nr=Object.prototype.hasOwnProperty;var Ve=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),sr=(e,t)=>{for(var r in t)V(e,r,{get:t[r],enumerable:!0})},v=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of rr(t))!nr.call(e,s)&&s!==r&&V(e,s,{get:()=>t[s],enumerable:!(o=tr(t,s))||o.enumerable});return e},k=(e,t,r)=>(v(e,t,"default"),r&&v(r,t,"default")),ne=(e,t,r)=>(r=e!=null?er(or(e)):{},v(t||!e||!e.__esModule?V(r,"default",{value:e,enumerable:!0}):r,e)),ar=e=>v(V({},"__esModule",{value:!0}),e);var We=Ve((Ko,ke)=>{ke.exports=globalThis.loaders});var _e=Ve(()=>{});var K={};sr(K,{BASIS_EXTERNAL_LIBRARIES:()=>y,BasisLoader:()=>ut,BasisWorkerLoader:()=>xe,CRUNCH_EXTERNAL_LIBRARIES:()=>ht,CompressedTextureLoader:()=>Ct,CompressedTextureWorkerLoader:()=>Te,CompressedTextureWriter:()=>Bt,CrunchLoader:()=>Ce,CrunchWorkerLoader:()=>Ce,GL_EXTENSIONS_CONSTANTS:()=>n,KTX2BasisWriter:()=>wt,KTX2BasisWriterWorker:()=>No,NPYLoader:()=>Dt,NPYWorkerLoader:()=>he,getSupportedGPUTextureFormats:()=>$,loadImageTexture:()=>Kt,loadImageTextureArray:()=>vt,loadImageTextureCube:()=>kt,selectSupportedBasisFormat:()=>Ae});k(K,ne(We(),1));var m="4.2.0-beta.2";function x(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ir=T.self||T.window||T.global||{},cr=T.window||T.self||T.global||{},_r=T.global||T.self||T.window||{},lr=T.document||{};var se=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var ze=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),fr=ze&&parseFloat(ze[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 Sr(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-beta.2"),globalThis._loadersgl_.version}var $e=Sr();function je(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var C={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},jo=C.self||C.window||C.global||{},Jo=C.window||C.self||C.global||{},Zo=C.global||C.self||C.window||{},Yo=C.document||{};var B=typeof process!="object"||String(process)!=="[object process]"||process.browser,W=typeof importScripts=="function",qo=typeof window<"u"&&typeof window.orientation<"u",Je=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Qo=Je&&parseFloat(Je[1])||0;var ce={};async function M(e,t=null,r={},o=null){return t&&(e=Ze(e,t,r,o)),ce[e]=ce[e]||ur(e),await ce[e]}function Ze(e,t,r={},o=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;o=o||e;let s=r.modules||{};return s[o]?s[o]:B?r.CDN?(je(r.CDN.startsWith("http")),`${r.CDN}/${t}@${$e}/dist/libs/${o}`):W?`../src/libs/${o}`:`modules/${t}/src/libs/${o}`:`modules/${t}/dist/libs/${o}`}async function ur(e){if(e.endsWith("wasm"))return await mr(e);if(!B)try{let{requireFromFile:r}=globalThis.loaders||{};return await r?.(e)}catch(r){return console.error(r),null}if(W)return importScripts(e);let t=await pr(e);return Er(t,e)}function Er(e,t){if(!B){let{requireFromString:o}=globalThis.loaders||{};return o?.(e,t)}if(W)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 mr(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return B||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function pr(e){let{readFileAsText:t}=globalThis.loaders||{};return B||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var et=ne(_e(),1);var Ye=ne(_e(),1);function qe(e=3e3){return new Promise(t=>{Ye.default.exec("lsof -i -P -n | grep LISTEN",(r,o)=>{if(r){t(e);return}let s=[],a=/:(\d+) \(LISTEN\)/;o.split(` | ||
`).forEach(c=>{let _=a.exec(c);_&&s.push(Number(_[1]))});let i=e;for(;s.includes(i);)i++;t(i)})})}var Qe={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},w=class{id;props={...Qe};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Qe,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await qe(t.port)),r.push(t.portArg,String(this.port))),await new Promise((o,s)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),o({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=(void 0)(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",i=>{console.log(i.toString())}),a.stderr.on("data",i=>{console.log(`Child process wrote to stderr: "${i}".`),t.ignoreStderr||(this._clearTimeout(),s(new Error(i)))}),a.on("error",i=>{console.log(`Child process errored with ${i}`),this._clearTimeout(),s(i)}),a.on("close",i=>{console.log(`Child process exited with ${i}`),this.childProcess=null,this._clearTimeout(),o({})})}catch(a){s(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};var dr="",tt={};function le(e){for(let t in tt)if(e.startsWith(t)){let r=tt[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${dr}${e}`),e}var y={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},rt;async function Se(e){ae(e.modules);let t=ie("basis");return t||(rt||=Rr(e),await rt)}async function Rr(e){let t=null,r=null;return[t,r]=await Promise.all([await M(y.TRANSCODER,"textures",e),await M(y.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Ar(t,r)}function Ar(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,initializeBasis:i}=s;i(),o({BasisFile:a})})})}var fe;async function I(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(fe=fe||xr(e),await fe)}async function xr(e){let t=null,r=null;return[t,r]=await Promise.all([await M(y.ENCODER,"textures",e),await M(y.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Tr(t,r)}function Tr(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,KTX2File:i,initializeBasis:c,BasisEncoder:_}=s;c(),o({BasisFile:a,KTX2File:i,BasisEncoder:_})})})}var n={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var Cr=["","WEBKIT_","MOZ_"],ot={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},z=null;function $(e){if(!z){e=e||gr()||void 0,z=new Set;for(let t of Cr)for(let r in ot)if(e&&e.getExtension(`${t}${r}`)){let o=ot[r];z.add(o)}}return z}function gr(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var On=new Uint8Array([0]),S=[171,75,84,88,32,50,48,187,13,10,26,10],ue,Ee,me,j,nt,pe,st,at;(function(e){e[e.NONE=0]="NONE",e[e.BASISLZ=1]="BASISLZ",e[e.ZSTD=2]="ZSTD",e[e.ZLIB=3]="ZLIB"})(ue||(ue={})),function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(Ee||(Ee={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(me||(me={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(j||(j={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(nt||(nt={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(pe||(pe={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(st||(st={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(at||(at={}));var de=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=ue.NONE,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:Ee.BASICFORMAT,versionNumber:2,descriptorBlockSize:40,colorModel:me.UNSPECIFIED,colorPrimaries:j.SRGB,transferFunction:j.SRGB,flags:pe.ALPHA_STRAIGHT,texelBlockDimension:{x:4,y:4,z:1,w:1},bytesPlane:[],samples:[]}],this.keyValue={},this.globalData=null}},P=class{constructor(t,r,o,s){this._dataView=new DataView(t.buffer,t.byteOffset+r,o),this._littleEndian=s,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_skip(t){return this._offset+=t,this}_scan(t,r=0){let o=this._offset,s=0;for(;this._dataView.getUint8(this._offset)!==r&&s<t;)s++,this._offset++;return s<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+o,s)}};function it(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function ct(e){let t=new Uint8Array(e.buffer,e.byteOffset,S.length);if(t[0]!==S[0]||t[1]!==S[1]||t[2]!==S[2]||t[3]!==S[3]||t[4]!==S[4]||t[5]!==S[5]||t[6]!==S[6]||t[7]!==S[7]||t[8]!==S[8]||t[9]!==S[9]||t[10]!==S[10]||t[11]!==S[11])throw new Error("Missing KTX 2.0 identifier.");let r=new de,o=17*Uint32Array.BYTES_PER_ELEMENT,s=new P(e,S.length,o,!0);r.vkFormat=s._nextUint32(),r.typeSize=s._nextUint32(),r.pixelWidth=s._nextUint32(),r.pixelHeight=s._nextUint32(),r.pixelDepth=s._nextUint32(),r.layerCount=s._nextUint32(),r.faceCount=s._nextUint32();let a=s._nextUint32();r.supercompressionScheme=s._nextUint32();let i=s._nextUint32(),c=s._nextUint32(),_=s._nextUint32(),f=s._nextUint32(),u=s._nextUint64(),D=s._nextUint64(),re=new P(e,S.length+o,3*a*8,!0);for(let E=0;E<a;E++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+re._nextUint64(),re._nextUint64()),uncompressedByteLength:re._nextUint64()});let l=new P(e,i,c,!0),oe={vendorId:l._skip(4)._nextUint16(),descriptorType:l._nextUint16(),versionNumber:l._nextUint16(),descriptorBlockSize:l._nextUint16(),colorModel:l._nextUint8(),colorPrimaries:l._nextUint8(),transferFunction:l._nextUint8(),flags:l._nextUint8(),texelBlockDimension:{x:l._nextUint8()+1,y:l._nextUint8()+1,z:l._nextUint8()+1,w:l._nextUint8()+1},bytesPlane:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],samples:[]},Wt=(oe.descriptorBlockSize/4-6)/4;for(let E=0;E<Wt;E++)oe.samples[E]={bitOffset:l._nextUint16(),bitLength:l._nextUint8(),channelID:l._nextUint8(),samplePosition:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],sampleLower:l._nextUint32(),sampleUpper:l._nextUint32()};r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(oe);let b=new P(e,_,f,!0);for(;b._offset<f;){let E=b._nextUint32(),Fe=b._scan(E),Ke=it(Fe),ve=b._scan(E-Fe.byteLength);r.keyValue[Ke]=Ke.match(/^ktx/i)?it(ve):ve,E%4&&b._skip(4-E%4)}if(D<=0)return r;let R=new P(e,u,D,!0),zt=R._nextUint16(),$t=R._nextUint16(),be=R._nextUint32(),Ie=R._nextUint32(),Ue=R._nextUint32(),jt=R._nextUint32(),Le=[];for(let E=0;E<a;E++)Le.push({imageFlags:R._nextUint32(),rgbSliceByteOffset:R._nextUint32(),rgbSliceByteLength:R._nextUint32(),alphaSliceByteOffset:R._nextUint32(),alphaSliceByteLength:R._nextUint32()});let He=u+R._offset,Xe=He+be,Ne=Xe+Ie,Jt=Ne+Ue,Zt=new Uint8Array(e.buffer,e.byteOffset+He,be),Yt=new Uint8Array(e.buffer,e.byteOffset+Xe,Ie),qt=new Uint8Array(e.buffer,e.byteOffset+Ne,Ue),Qt=new Uint8Array(e.buffer,e.byteOffset+Jt,jt);return r.globalData={endpointCount:zt,selectorCount:$t,imageDescs:Le,endpointsData:Zt,selectorsData:Yt,tablesData:qt,extendedData:Qt},r}function O(e,t){let r=new Array(t.mipMapLevels),o=t.width,s=t.height,a=0;for(let i=0;i<t.mipMapLevels;++i){let c=hr(t,o,s,e,i),_=Dr(e,i,a,c);r[i]={compressed:!0,format:t.internalFormat,data:_,width:o,height:s,levelSize:c},o=Math.max(1,o>>1),s=Math.max(1,s>>1),a+=c}return r}function Dr(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function hr(e,t,r,o,s){return Array.isArray(o)?e.sizeFunction(o[s]):e.sizeFunction(t,r)}var Pr={131:n.COMPRESSED_RGB_S3TC_DXT1_EXT,132:n.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:n.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:n.COMPRESSED_RED_RGTC1_EXT,140:n.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:n.COMPRESSED_RED_GREEN_RGTC2_EXT,142:n.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:n.COMPRESSED_RGB8_ETC2,148:n.COMPRESSED_SRGB8_ETC2,149:n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:n.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:n.COMPRESSED_RGBA8_ETC2_EAC,152:n.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:n.COMPRESSED_R11_EAC,154:n.COMPRESSED_SIGNED_R11_EAC,155:n.COMPRESSED_RG11_EAC,156:n.COMPRESSED_SIGNED_RG11_EAC,157:n.COMPRESSED_RGBA_ASTC_4x4_KHR,158:n.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:n.COMPRESSED_RGBA_ASTC_5x4_KHR,160:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:n.COMPRESSED_RGBA_ASTC_5x5_KHR,162:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:n.COMPRESSED_RGBA_ASTC_6x5_KHR,164:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:n.COMPRESSED_RGBA_ASTC_6x6_KHR,166:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:n.COMPRESSED_RGBA_ASTC_8x5_KHR,168:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:n.COMPRESSED_RGBA_ASTC_8x6_KHR,170:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:n.COMPRESSED_RGBA_ASTC_8x8_KHR,172:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:n.COMPRESSED_RGBA_ASTC_10x5_KHR,174:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:n.COMPRESSED_RGBA_ASTC_10x6_KHR,176:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:n.COMPRESSED_RGBA_ASTC_10x8_KHR,178:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:n.COMPRESSED_RGBA_ASTC_10x10_KHR,180:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:n.COMPRESSED_RGBA_ASTC_12x10_KHR,182:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:n.COMPRESSED_RGBA_ASTC_12x12_KHR,184:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:n.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:n.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:n.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:n.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:n.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:n.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:n.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:n.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:n.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:n.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:n.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:n.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:n.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:n.COMPRESSED_RGBA_ASTC_12x12_KHR};function _t(e){return Pr[e]}var p=[171,75,84,88,32,50,48,187,13,10,26,10];function J(e){let t=new Uint8Array(e);return!(t.byteLength<p.length||t[0]!==p[0]||t[1]!==p[1]||t[2]!==p[2]||t[3]!==p[3]||t[4]!==p[4]||t[5]!==p[5]||t[6]!==p[6]||t[7]!==p[7]||t[8]!==p[8]||t[9]!==p[9]||t[10]!==p[10]||t[11]!==p[11])}function lt(e){let t=new Uint8Array(e),r=ct(t),o=Math.max(1,r.levels.length),s=r.pixelWidth,a=r.pixelHeight,i=_t(r.vkFormat);return O(r.levels,{mipMapLevels:o,width:s,height:a,sizeFunction:c=>c.uncompressedByteLength,internalFormat:i})}var Br={etc1:{basisFormat:0,compressed:!0,format:n.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:n.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:n.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:n.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function U(e,t){if(t.basis.containerFormat==="auto"){if(J(e)){let o=await I(t);return ft(o.KTX2File,e,t)}let{BasisFile:r}=await Se(t);return Re(r,e,t)}switch(t.basis.module){case"encoder":let r=await I(t);switch(t.basis.containerFormat){case"ktx2":return ft(r.KTX2File,e,t);case"basis":default:return Re(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await Se(t);return Re(o,e,t)}}function Re(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("Failed to start basis transcoding");let s=o.getNumImages(),a=[];for(let i=0;i<s;i++){let c=o.getNumLevels(i),_=[];for(let f=0;f<c;f++)_.push(Mr(o,i,f,r));a.push(_)}return a}finally{o.close(),o.delete()}}function Mr(e,t,r,o){let s=e.getImageWidth(t,r),a=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:c,format:_,basisFormat:f}=St(o,i),u=e.getImageTranscodedSizeInBytes(t,r,f),D=new Uint8Array(u);if(!e.transcodeImage(D,t,r,f,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:a,data:D,compressed:c,format:_,hasAlpha:i}}function ft(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=o.getLevels(),a=[];for(let i=0;i<s;i++){a.push(wr(o,i,r));break}return[a]}finally{o.close(),o.delete()}}function wr(e,t,r){let{alphaFlag:o,height:s,width:a}=e.getImageLevelInfo(t,0,0),{compressed:i,format:c,basisFormat:_}=St(r,o),f=e.getImageTranscodedSizeInBytes(t,0,0,_),u=new Uint8Array(f);if(!e.transcodeImage(u,t,0,0,_,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:s,data:u,compressed:i,levelSize:f,hasAlpha:o,format:c}}function St(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=Ae()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Br[r]}function Ae(){let e=$();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var xe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:m,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ut={...xe,parse:U};var d={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},yr={DXT1:n.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":n.COMPRESSED_RGB_ATC_WEBGL,ATCA:n.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:n.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Or=pt,Gr=Z,br=Z,Ir={DXT1:pt,DXT3:Z,DXT5:Z,"ATC ":Or,ATCA:Gr,ATCI:br};function Et(e){return new Uint32Array(e,0,d.HEADER_LENGTH)[d.MAGIC_NUMBER_INDEX]===d.MAGIC_NUMBER}function mt(e){let t=new Int32Array(e,0,d.HEADER_LENGTH),r=t[d.HEADER_PF_FOURCC_INDEX];x(Boolean(t[d.HEADER_PF_FLAGS_INDEX]&d.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=Ur(r),s=yr[o],a=Ir[o];x(s&&a,`DDS: Unknown pixel format ${r}`);let i=1;t[d.HEADER_FLAGS_INDEX]&d.DDSD_MIPMAPCOUNT&&(i=Math.max(1,t[d.MIPMAPCOUNT_INDEX]));let c=t[d.HEADER_WIDTH_INDEX],_=t[d.HEADER_HEIGHT_INDEX],f=t[d.HEADER_SIZE_INDEX]+4,u=new Uint8Array(e,f);return O(u,{mipMapLevels:i,width:c,height:_,sizeFunction:a,internalFormat:s})}function pt(e,t){return(e+3>>2)*(t+3>>2)*8}function Z(e,t){return(e+3>>2)*(t+3>>2)*16}function Ur(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var A={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Lr={0:[n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[n.COMPRESSED_RGB_ETC1_WEBGL],7:[n.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[n.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[n.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[n.COMPRESSED_RGB8_ETC2],23:[n.COMPRESSED_RGBA8_ETC2_EAC],24:[n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[n.COMPRESSED_R11_EAC],26:[n.COMPRESSED_RG11_EAC],27:[n.COMPRESSED_RGBA_ASTC_4X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[n.COMPRESSED_RGBA_ASTC_5X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[n.COMPRESSED_RGBA_ASTC_5X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[n.COMPRESSED_RGBA_ASTC_6X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[n.COMPRESSED_RGBA_ASTC_6X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[n.COMPRESSED_RGBA_ASTC_8X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[n.COMPRESSED_RGBA_ASTC_8X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[n.COMPRESSED_RGBA_ASTC_8X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[n.COMPRESSED_RGBA_ASTC_10X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[n.COMPRESSED_RGBA_ASTC_10X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[n.COMPRESSED_RGBA_ASTC_10X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[n.COMPRESSED_RGBA_ASTC_10X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[n.COMPRESSED_RGBA_ASTC_12X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[n.COMPRESSED_RGBA_ASTC_12X12_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Hr={0:dt,1:dt,2:Rt,3:Rt,6:L,7:L,9:H,11:H,22:L,23:H,24:L,25:L,26:H,27:H,28:Xr,29:Nr,30:Fr,31:Kr,32:vr,33:Vr,34:kr,35:Wr,36:zr,37:$r,38:jr,39:Jr,40:Zr};function At(e){let r=new Uint32Array(e,0,A.HEADER_LENGTH)[A.MAGIC_NUMBER_INDEX];return r===A.MAGIC_NUMBER||r===A.MAGIC_NUMBER_EXTRA}function xt(e){let t=new Uint32Array(e,0,A.HEADER_LENGTH),r=t[A.PIXEL_FORMAT_INDEX],o=t[A.COLOUR_SPACE_INDEX],s=Lr[r]||[],a=s.length>1&&o?s[1]:s[0],i=Hr[r],c=t[A.MIPMAPCOUNT_INDEX],_=t[A.WIDTH_INDEX],f=t[A.HEIGHT_INDEX],u=A.HEADER_SIZE+t[A.METADATA_SIZE_INDEX],D=new Uint8Array(e,u);return O(D,{mipMapLevels:c,width:_,height:f,sizeFunction:i,internalFormat:a})}function dt(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Rt(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function L(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function H(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Xr(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Nr(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Fr(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Kr(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function kr(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Wr(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function zr(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function $r(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function jr(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function Jr(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function Zr(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Tt(e){if(J(e))return lt(e);if(Et(e))return mt(e);if(At(e))return xt(e);throw new Error("Texture container format not recognized")}var Te={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:m,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},Ct={...Te,parse:async(e,t)=>t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await U(e,t))[0]):Tt(e)};var Ce={dataType:null,batchType:null,id:"crunch",name:"Crunch",module:"textures",version:m,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{libraryPath:"libs/"}}};var ge=new Uint32Array([305419896]),Yr=new Uint8Array(ge.buffer,ge.byteOffset,ge.byteLength),qr=Yr[0]!==18,gt=qr,Qr={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function De(e,t){let r=new DataView(e),{header:o,headerEndOffset:s}=eo(r),a=o.descr,i=Qr[a.slice(1,3)];if(!i)throw new Error(`Unimplemented type ${a}`);let _=o.shape?.reduce((u,D)=>u*D)*i.BYTES_PER_ELEMENT;if(e.byteLength<s+_)throw new Error("Buffer overflow");let f=new i(e.slice(s,s+_));if(a[0]===">"&>||a[0]==="<"&&!gt)throw new Error("Incorrect endianness");return{data:f,header:o}}function eo(e){let t=e.getUint8(6),r=8,o;t>=2?(o=e.getUint32(r,!0),r+=4):(o=e.getUint16(r,!0),r+=2);let s=t<=2?"latin1":"utf-8",a=new TextDecoder(s),i=new Uint8Array(e.buffer,r,o),c=a.decode(i);return r+=o,{header:JSON.parse(c.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var to=new Uint8Array([147,78,85,77,80,89]),he={dataType:null,batchType:null,name:"NPY",id:"npy",module:"textures",version:m,worker:!0,extensions:["npy"],mimeTypes:[],tests:[to.buffer],options:{npy:{}}},Dt={...he,parseSync:De,parse:async(e,t)=>De(e,t)};var ht={DECODER:"crunch.js"};async function Pt(e,t,r){let o=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new w().start({command:"npx",arguments:o,spawn:r}),t}var Bt={name:"DDS Texture Container",id:"dds",module:"textures",version:m,extensions:["dds"],options:{texture:{format:"auto",compression:"auto",quality:"auto",mipmap:!1,flipY:!1,toolFlags:""}},encodeURLtoURL:Pt,encode(){throw new Error("Not implemented")}};async function Mt(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:s=!1,mipmaps:a=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:i}=await I(t),c=new i;try{let _=new Uint8Array(e.width*e.height*4);c.setCreateKTX2File(!0),c.setKTX2UASTCSupercompression(!0),c.setKTX2SRGBTransferFunc(!0),c.setSliceSourceImage(0,e.data,e.width,e.height,!1),c.setPerceptual(r),c.setMipSRGB(r),c.setQualityLevel(o),c.setUASTC(s),c.setMipGen(a);let f=c.encode(_);return _.subarray(0,f).buffer}catch(_){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",_),_}finally{c.delete()}}var wt={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:Mt};var yt="4.2.0-beta.2";var ro=globalThis.loaders?.parseImageNode,Pe=typeof Image<"u",Be=typeof ImageBitmap<"u",oo=Boolean(ro),Me=se?!0:oo;function Ot(e){switch(e){case"auto":return Be||Pe||Me;case"imagebitmap":return Be;case"image":return Pe;case"data":return Me;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Gt(){if(Be)return"imagebitmap";if(Pe)return"image";if(Me)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function bt(e){let t=no(e);if(!t)throw new Error("Not an image");return t}function we(e){return Y(e)}function Y(e){switch(bt(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function no(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var so=/^data:image\/svg\+xml/,ao=/\.svg((\?|#).*)?$/;function q(e){return e&&(so.test(e)||ao.test(e))}function It(e,t){if(q(t)){let o=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(o=unescape(encodeURIComponent(o)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(o)}`}return ye(e,t)}function ye(e,t){if(q(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function Q(e,t,r){let o=It(e,r),s=self.URL||self.webkitURL,a=typeof o!="string"&&s.createObjectURL(o);try{return await io(a||o,t)}finally{a&&s.revokeObjectURL(a)}}async function io(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((o,s)=>{try{r.onload=()=>o(r),r.onerror=a=>{let i=a instanceof Error?a.message:"error";s(new Error(i))}}catch(a){s(a)}})}var co={},Ut=!0;async function Lt(e,t,r){let o;q(r)?o=await Q(e,t,r):o=ye(e,r);let s=t&&t.imagebitmap;return await _o(o,s)}async function _o(e,t=null){if((lo(t)||!Ut)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Ut=!1}return await createImageBitmap(e)}function lo(e){for(let t in e||co)return!1;return!0}function Ht(e){return!Eo(e,"ftyp",4)||!(e[8]&96)?null:fo(e)}function fo(e){switch(So(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function So(e,t,r){return String.fromCharCode(...e.slice(t,r))}function uo(e){return[...e].map(t=>t.charCodeAt(0))}function Eo(e,t,r=0){let o=uo(t);for(let s=0;s<o.length;++s)if(o[s]!==e[s+r])return!1;return!0}var g=!1,X=!0;function ee(e){let t=N(e);return po(t)||xo(t)||Ro(t)||Ao(t)||mo(t)}function mo(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Ht(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function po(e){let t=N(e);return t.byteLength>=24&&t.getUint32(0,g)===2303741511?{mimeType:"image/png",width:t.getUint32(16,g),height:t.getUint32(20,g)}:null}function Ro(e){let t=N(e);return t.byteLength>=10&&t.getUint32(0,g)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,X),height:t.getUint16(8,X)}:null}function Ao(e){let t=N(e);return t.byteLength>=14&&t.getUint16(0,g)===16973&&t.getUint32(2,X)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,X),height:t.getUint32(22,X)}:null}function xo(e){let t=N(e);if(!(t.byteLength>=3&&t.getUint16(0,g)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:s}=To(),a=2;for(;a+9<t.byteLength;){let i=t.getUint16(a,g);if(s.has(i))return{mimeType:"image/jpeg",height:t.getUint16(a+5,g),width:t.getUint16(a+7,g)};if(!o.has(i))return null;a+=2,a+=t.getUint16(a,g)}return null}function To(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function N(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Xt(e,t){let{mimeType:r}=ee(e)||{},o=globalThis.loaders?.parseImageNode;return x(o),await o(e,r)}async function Nt(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:a}=r||{},i=Co(s),c;switch(i){case"imagebitmap":c=await Lt(e,t,a);break;case"image":c=await Q(e,t,a);break;case"data":c=await Xt(e,t);break;default:x(!1)}return s==="data"&&(c=Y(c)),c}function Co(e){switch(e){case"auto":case"data":return Gt();default:return Ot(e),e}}var go=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Do=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],ho={image:{type:"auto",decode:!0}},h={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:yt,mimeTypes:Do,extensions:go,parse:Nt,tests:[e=>Boolean(ee(new DataView(e)))],options:ho};function te(e,t,r){let o=typeof e=="function"?e({...t,...r}):e,s=t.baseUrl;return s&&(o=s[s.length-1]==="/"?`${s}${o}`:`${s}/${o}`),le(o)}var Po=e=>e&&typeof e=="object";async function Ft(e,t,r={}){return await Oe(e,t,r)}async function Oe(e,t,r){return Array.isArray(e)?await Mo(e,t,r):Po(e)?await Bo(e,t,r):await t(e,r)}async function Bo(e,t,r){let o=[],s={};for(let a in e){let i=e[a],c=Oe(i,t,r).then(_=>{s[a]=_});o.push(c)}return await Promise.all(o),s}async function Mo(e,t,r={}){let o=e.map(s=>Oe(s,t,r));return await Promise.all(o)}async function G(e,t,r){return await Ft(e,o=>Ge(o,t,r))}async function Ge(e,t,r){let s=await(await fetch(e,r.fetch)).arrayBuffer();return await t(s,r)}async function Kt(e,t={}){let r=await F(e,t);return await G(r,h.parse,t)}async function F(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await wo(e,o,t,r):te(e,t,r)}async function wo(e,t,r,o){let s=[];if(t==="auto"){let a=te(e,r,{...o,lod:0}),i=await Ge(a,h.parse,r),{width:c,height:_}=we(i);t=yo({width:c,height:_}),s.push(a)}x(t>0);for(let a=s.length;a<t;++a){let i=te(e,r,{...o,lod:a});s.push(i)}return s}function yo(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function vt(e,t,r={}){let o=await Oo(e,t,r);return await G(o,h.parse,r)}async function Oo(e,t,r={}){let o=[];for(let s=0;s<e;s++){let a=F(t,r,{index:s});o.push(a)}return await Promise.all(o)}var Go=34069,bo=34070,Io=34071,Uo=34072,Lo=34073,Ho=34074,Vt=[{face:Go,direction:"right",axis:"x",sign:"positive"},{face:bo,direction:"left",axis:"x",sign:"negative"},{face:Io,direction:"top",axis:"y",sign:"positive"},{face:Uo,direction:"bottom",axis:"y",sign:"negative"},{face:Lo,direction:"front",axis:"z",sign:"positive"},{face:Ho,direction:"back",axis:"z",sign:"negative"}];async function Xo(e,t){let r={},o=[],s=0;for(let a=0;a<Vt.length;++a){let i=Vt[s],c=F(e,t,{...i,index:s++}).then(_=>{r[i.face]=_});o.push(c)}return await Promise.all(o),r}async function kt(e,t={}){let r=await Xo(e,t);return await G(r,h.parse,t)}var No={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};return ar(K);})(); | ||
"use strict";var __exports__=(()=>{var er=Object.create;var V=Object.defineProperty;var tr=Object.getOwnPropertyDescriptor;var rr=Object.getOwnPropertyNames;var or=Object.getPrototypeOf,nr=Object.prototype.hasOwnProperty;var Ve=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),sr=(e,t)=>{for(var r in t)V(e,r,{get:t[r],enumerable:!0})},v=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of rr(t))!nr.call(e,s)&&s!==r&&V(e,s,{get:()=>t[s],enumerable:!(o=tr(t,s))||o.enumerable});return e},k=(e,t,r)=>(v(e,t,"default"),r&&v(r,t,"default")),ne=(e,t,r)=>(r=e!=null?er(or(e)):{},v(t||!e||!e.__esModule?V(r,"default",{value:e,enumerable:!0}):r,e)),ar=e=>v(V({},"__esModule",{value:!0}),e);var We=Ve((Ko,ke)=>{ke.exports=globalThis.loaders});var _e=Ve(()=>{});var K={};sr(K,{BASIS_EXTERNAL_LIBRARIES:()=>y,BasisLoader:()=>ut,BasisWorkerLoader:()=>xe,CRUNCH_EXTERNAL_LIBRARIES:()=>ht,CompressedTextureLoader:()=>Ct,CompressedTextureWorkerLoader:()=>Te,CompressedTextureWriter:()=>Bt,CrunchLoader:()=>Ce,CrunchWorkerLoader:()=>Ce,GL_EXTENSIONS_CONSTANTS:()=>n,KTX2BasisWriter:()=>wt,KTX2BasisWriterWorker:()=>No,NPYLoader:()=>Dt,NPYWorkerLoader:()=>he,getSupportedGPUTextureFormats:()=>$,loadImageTexture:()=>Kt,loadImageTextureArray:()=>vt,loadImageTextureCube:()=>kt,selectSupportedBasisFormat:()=>Ae});k(K,ne(We(),1));var m="4.2.0";function x(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ir=T.self||T.window||T.global||{},cr=T.window||T.self||T.global||{},_r=T.global||T.self||T.window||{},lr=T.document||{};var se=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var ze=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),fr=ze&&parseFloat(ze[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 Sr(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0"),globalThis._loadersgl_.version}var $e=Sr();function je(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var C={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},jo=C.self||C.window||C.global||{},Jo=C.window||C.self||C.global||{},Zo=C.global||C.self||C.window||{},Yo=C.document||{};var B=typeof process!="object"||String(process)!=="[object process]"||process.browser,W=typeof importScripts=="function",qo=typeof window<"u"&&typeof window.orientation<"u",Je=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Qo=Je&&parseFloat(Je[1])||0;var ce={};async function M(e,t=null,r={},o=null){return t&&(e=Ze(e,t,r,o)),ce[e]=ce[e]||ur(e),await ce[e]}function Ze(e,t,r={},o=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;o=o||e;let s=r.modules||{};return s[o]?s[o]:B?r.CDN?(je(r.CDN.startsWith("http")),`${r.CDN}/${t}@${$e}/dist/libs/${o}`):W?`../src/libs/${o}`:`modules/${t}/src/libs/${o}`:`modules/${t}/dist/libs/${o}`}async function ur(e){if(e.endsWith("wasm"))return await mr(e);if(!B)try{let{requireFromFile:r}=globalThis.loaders||{};return await r?.(e)}catch(r){return console.error(r),null}if(W)return importScripts(e);let t=await pr(e);return Er(t,e)}function Er(e,t){if(!B){let{requireFromString:o}=globalThis.loaders||{};return o?.(e,t)}if(W)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 mr(e){let{readFileAsArrayBuffer:t}=globalThis.loaders||{};return B||!t||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await t(e)}async function pr(e){let{readFileAsText:t}=globalThis.loaders||{};return B||!t||e.startsWith("http")?await(await fetch(e)).text():await t(e)}var et=ne(_e(),1);var Ye=ne(_e(),1);function qe(e=3e3){return new Promise(t=>{Ye.default.exec("lsof -i -P -n | grep LISTEN",(r,o)=>{if(r){t(e);return}let s=[],a=/:(\d+) \(LISTEN\)/;o.split(` | ||
`).forEach(c=>{let _=a.exec(c);_&&s.push(Number(_[1]))});let i=e;for(;s.includes(i);)i++;t(i)})})}var Qe={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},w=class{id;props={...Qe};childProcess=null;port=0;successTimer;constructor({id:t="browser-driver"}={}){this.id=t}async start(t){t={...Qe,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await qe(t.port)),r.push(t.portArg,String(this.port))),await new Promise((o,s)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),o({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=(void 0)(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",i=>{console.log(i.toString())}),a.stderr.on("data",i=>{console.log(`Child process wrote to stderr: "${i}".`),t.ignoreStderr||(this._clearTimeout(),s(new Error(i)))}),a.on("error",i=>{console.log(`Child process errored with ${i}`),this._clearTimeout(),s(i)}),a.on("close",i=>{console.log(`Child process exited with ${i}`),this.childProcess=null,this._clearTimeout(),o({})})}catch(a){s(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};var dr="",tt={};function le(e){for(let t in tt)if(e.startsWith(t)){let r=tt[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${dr}${e}`),e}var y={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},rt;async function Se(e){ae(e.modules);let t=ie("basis");return t||(rt||=Rr(e),await rt)}async function Rr(e){let t=null,r=null;return[t,r]=await Promise.all([await M(y.TRANSCODER,"textures",e),await M(y.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Ar(t,r)}function Ar(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,initializeBasis:i}=s;i(),o({BasisFile:a})})})}var fe;async function b(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(fe=fe||xr(e),await fe)}async function xr(e){let t=null,r=null;return[t,r]=await Promise.all([await M(y.ENCODER,"textures",e),await M(y.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Tr(t,r)}function Tr(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,KTX2File:i,initializeBasis:c,BasisEncoder:_}=s;c(),o({BasisFile:a,KTX2File:i,BasisEncoder:_})})})}var n={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var Cr=["","WEBKIT_","MOZ_"],ot={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},z=null;function $(e){if(!z){e=e||gr()||void 0,z=new Set;for(let t of Cr)for(let r in ot)if(e&&e.getExtension(`${t}${r}`)){let o=ot[r];z.add(o)}}return z}function gr(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var On=new Uint8Array([0]),S=[171,75,84,88,32,50,48,187,13,10,26,10],ue,Ee,me,j,nt,pe,st,at;(function(e){e[e.NONE=0]="NONE",e[e.BASISLZ=1]="BASISLZ",e[e.ZSTD=2]="ZSTD",e[e.ZLIB=3]="ZLIB"})(ue||(ue={})),function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(Ee||(Ee={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(me||(me={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(j||(j={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(nt||(nt={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(pe||(pe={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(st||(st={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(at||(at={}));var de=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=ue.NONE,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:Ee.BASICFORMAT,versionNumber:2,descriptorBlockSize:40,colorModel:me.UNSPECIFIED,colorPrimaries:j.SRGB,transferFunction:j.SRGB,flags:pe.ALPHA_STRAIGHT,texelBlockDimension:{x:4,y:4,z:1,w:1},bytesPlane:[],samples:[]}],this.keyValue={},this.globalData=null}},P=class{constructor(t,r,o,s){this._dataView=new DataView(t.buffer,t.byteOffset+r,o),this._littleEndian=s,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_skip(t){return this._offset+=t,this}_scan(t,r=0){let o=this._offset,s=0;for(;this._dataView.getUint8(this._offset)!==r&&s<t;)s++,this._offset++;return s<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+o,s)}};function it(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function ct(e){let t=new Uint8Array(e.buffer,e.byteOffset,S.length);if(t[0]!==S[0]||t[1]!==S[1]||t[2]!==S[2]||t[3]!==S[3]||t[4]!==S[4]||t[5]!==S[5]||t[6]!==S[6]||t[7]!==S[7]||t[8]!==S[8]||t[9]!==S[9]||t[10]!==S[10]||t[11]!==S[11])throw new Error("Missing KTX 2.0 identifier.");let r=new de,o=17*Uint32Array.BYTES_PER_ELEMENT,s=new P(e,S.length,o,!0);r.vkFormat=s._nextUint32(),r.typeSize=s._nextUint32(),r.pixelWidth=s._nextUint32(),r.pixelHeight=s._nextUint32(),r.pixelDepth=s._nextUint32(),r.layerCount=s._nextUint32(),r.faceCount=s._nextUint32();let a=s._nextUint32();r.supercompressionScheme=s._nextUint32();let i=s._nextUint32(),c=s._nextUint32(),_=s._nextUint32(),f=s._nextUint32(),u=s._nextUint64(),D=s._nextUint64(),re=new P(e,S.length+o,3*a*8,!0);for(let E=0;E<a;E++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+re._nextUint64(),re._nextUint64()),uncompressedByteLength:re._nextUint64()});let l=new P(e,i,c,!0),oe={vendorId:l._skip(4)._nextUint16(),descriptorType:l._nextUint16(),versionNumber:l._nextUint16(),descriptorBlockSize:l._nextUint16(),colorModel:l._nextUint8(),colorPrimaries:l._nextUint8(),transferFunction:l._nextUint8(),flags:l._nextUint8(),texelBlockDimension:{x:l._nextUint8()+1,y:l._nextUint8()+1,z:l._nextUint8()+1,w:l._nextUint8()+1},bytesPlane:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],samples:[]},Wt=(oe.descriptorBlockSize/4-6)/4;for(let E=0;E<Wt;E++)oe.samples[E]={bitOffset:l._nextUint16(),bitLength:l._nextUint8(),channelID:l._nextUint8(),samplePosition:[l._nextUint8(),l._nextUint8(),l._nextUint8(),l._nextUint8()],sampleLower:l._nextUint32(),sampleUpper:l._nextUint32()};r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(oe);let I=new P(e,_,f,!0);for(;I._offset<f;){let E=I._nextUint32(),Fe=I._scan(E),Ke=it(Fe),ve=I._scan(E-Fe.byteLength);r.keyValue[Ke]=Ke.match(/^ktx/i)?it(ve):ve,E%4&&I._skip(4-E%4)}if(D<=0)return r;let R=new P(e,u,D,!0),zt=R._nextUint16(),$t=R._nextUint16(),Ie=R._nextUint32(),be=R._nextUint32(),Ue=R._nextUint32(),jt=R._nextUint32(),Le=[];for(let E=0;E<a;E++)Le.push({imageFlags:R._nextUint32(),rgbSliceByteOffset:R._nextUint32(),rgbSliceByteLength:R._nextUint32(),alphaSliceByteOffset:R._nextUint32(),alphaSliceByteLength:R._nextUint32()});let He=u+R._offset,Xe=He+Ie,Ne=Xe+be,Jt=Ne+Ue,Zt=new Uint8Array(e.buffer,e.byteOffset+He,Ie),Yt=new Uint8Array(e.buffer,e.byteOffset+Xe,be),qt=new Uint8Array(e.buffer,e.byteOffset+Ne,Ue),Qt=new Uint8Array(e.buffer,e.byteOffset+Jt,jt);return r.globalData={endpointCount:zt,selectorCount:$t,imageDescs:Le,endpointsData:Zt,selectorsData:Yt,tablesData:qt,extendedData:Qt},r}function O(e,t){let r=new Array(t.mipMapLevels),o=t.width,s=t.height,a=0;for(let i=0;i<t.mipMapLevels;++i){let c=hr(t,o,s,e,i),_=Dr(e,i,a,c);r[i]={compressed:!0,format:t.internalFormat,data:_,width:o,height:s,levelSize:c},o=Math.max(1,o>>1),s=Math.max(1,s>>1),a+=c}return r}function Dr(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function hr(e,t,r,o,s){return Array.isArray(o)?e.sizeFunction(o[s]):e.sizeFunction(t,r)}var Pr={131:n.COMPRESSED_RGB_S3TC_DXT1_EXT,132:n.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:n.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:n.COMPRESSED_RED_RGTC1_EXT,140:n.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:n.COMPRESSED_RED_GREEN_RGTC2_EXT,142:n.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:n.COMPRESSED_RGB8_ETC2,148:n.COMPRESSED_SRGB8_ETC2,149:n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:n.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:n.COMPRESSED_RGBA8_ETC2_EAC,152:n.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:n.COMPRESSED_R11_EAC,154:n.COMPRESSED_SIGNED_R11_EAC,155:n.COMPRESSED_RG11_EAC,156:n.COMPRESSED_SIGNED_RG11_EAC,157:n.COMPRESSED_RGBA_ASTC_4x4_KHR,158:n.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:n.COMPRESSED_RGBA_ASTC_5x4_KHR,160:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:n.COMPRESSED_RGBA_ASTC_5x5_KHR,162:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:n.COMPRESSED_RGBA_ASTC_6x5_KHR,164:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:n.COMPRESSED_RGBA_ASTC_6x6_KHR,166:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:n.COMPRESSED_RGBA_ASTC_8x5_KHR,168:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:n.COMPRESSED_RGBA_ASTC_8x6_KHR,170:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:n.COMPRESSED_RGBA_ASTC_8x8_KHR,172:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:n.COMPRESSED_RGBA_ASTC_10x5_KHR,174:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:n.COMPRESSED_RGBA_ASTC_10x6_KHR,176:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:n.COMPRESSED_RGBA_ASTC_10x8_KHR,178:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:n.COMPRESSED_RGBA_ASTC_10x10_KHR,180:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:n.COMPRESSED_RGBA_ASTC_12x10_KHR,182:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:n.COMPRESSED_RGBA_ASTC_12x12_KHR,184:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:n.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:n.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:n.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:n.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:n.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:n.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:n.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:n.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:n.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:n.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:n.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:n.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:n.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:n.COMPRESSED_RGBA_ASTC_12x12_KHR};function _t(e){return Pr[e]}var p=[171,75,84,88,32,50,48,187,13,10,26,10];function J(e){let t=new Uint8Array(e);return!(t.byteLength<p.length||t[0]!==p[0]||t[1]!==p[1]||t[2]!==p[2]||t[3]!==p[3]||t[4]!==p[4]||t[5]!==p[5]||t[6]!==p[6]||t[7]!==p[7]||t[8]!==p[8]||t[9]!==p[9]||t[10]!==p[10]||t[11]!==p[11])}function lt(e){let t=new Uint8Array(e),r=ct(t),o=Math.max(1,r.levels.length),s=r.pixelWidth,a=r.pixelHeight,i=_t(r.vkFormat);return O(r.levels,{mipMapLevels:o,width:s,height:a,sizeFunction:c=>c.uncompressedByteLength,internalFormat:i})}var Br={etc1:{basisFormat:0,compressed:!0,format:n.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:n.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:n.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:n.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function U(e,t){if(t.basis.containerFormat==="auto"){if(J(e)){let o=await b(t);return ft(o.KTX2File,e,t)}let{BasisFile:r}=await Se(t);return Re(r,e,t)}switch(t.basis.module){case"encoder":let r=await b(t);switch(t.basis.containerFormat){case"ktx2":return ft(r.KTX2File,e,t);case"basis":default:return Re(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await Se(t);return Re(o,e,t)}}function Re(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("Failed to start basis transcoding");let s=o.getNumImages(),a=[];for(let i=0;i<s;i++){let c=o.getNumLevels(i),_=[];for(let f=0;f<c;f++)_.push(Mr(o,i,f,r));a.push(_)}return a}finally{o.close(),o.delete()}}function Mr(e,t,r,o){let s=e.getImageWidth(t,r),a=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:c,format:_,basisFormat:f}=St(o,i),u=e.getImageTranscodedSizeInBytes(t,r,f),D=new Uint8Array(u);if(!e.transcodeImage(D,t,r,f,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:a,data:D,compressed:c,format:_,hasAlpha:i}}function ft(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=o.getLevels(),a=[];for(let i=0;i<s;i++){a.push(wr(o,i,r));break}return[a]}finally{o.close(),o.delete()}}function wr(e,t,r){let{alphaFlag:o,height:s,width:a}=e.getImageLevelInfo(t,0,0),{compressed:i,format:c,basisFormat:_}=St(r,o),f=e.getImageTranscodedSizeInBytes(t,0,0,_),u=new Uint8Array(f);if(!e.transcodeImage(u,t,0,0,_,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:s,data:u,compressed:i,levelSize:f,hasAlpha:o,format:c}}function St(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=Ae()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),Br[r]}function Ae(){let e=$();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var xe={dataType:null,batchType:null,name:"Basis",id:"basis",module:"textures",version:m,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ut={...xe,parse:U};var d={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},yr={DXT1:n.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":n.COMPRESSED_RGB_ATC_WEBGL,ATCA:n.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:n.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Or=pt,Gr=Z,Ir=Z,br={DXT1:pt,DXT3:Z,DXT5:Z,"ATC ":Or,ATCA:Gr,ATCI:Ir};function Et(e){return new Uint32Array(e,0,d.HEADER_LENGTH)[d.MAGIC_NUMBER_INDEX]===d.MAGIC_NUMBER}function mt(e){let t=new Int32Array(e,0,d.HEADER_LENGTH),r=t[d.HEADER_PF_FOURCC_INDEX];x(Boolean(t[d.HEADER_PF_FLAGS_INDEX]&d.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=Ur(r),s=yr[o],a=br[o];x(s&&a,`DDS: Unknown pixel format ${r}`);let i=1;t[d.HEADER_FLAGS_INDEX]&d.DDSD_MIPMAPCOUNT&&(i=Math.max(1,t[d.MIPMAPCOUNT_INDEX]));let c=t[d.HEADER_WIDTH_INDEX],_=t[d.HEADER_HEIGHT_INDEX],f=t[d.HEADER_SIZE_INDEX]+4,u=new Uint8Array(e,f);return O(u,{mipMapLevels:i,width:c,height:_,sizeFunction:a,internalFormat:s})}function pt(e,t){return(e+3>>2)*(t+3>>2)*8}function Z(e,t){return(e+3>>2)*(t+3>>2)*16}function Ur(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var A={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Lr={0:[n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[n.COMPRESSED_RGB_ETC1_WEBGL],7:[n.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[n.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[n.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[n.COMPRESSED_RGB8_ETC2],23:[n.COMPRESSED_RGBA8_ETC2_EAC],24:[n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[n.COMPRESSED_R11_EAC],26:[n.COMPRESSED_RG11_EAC],27:[n.COMPRESSED_RGBA_ASTC_4X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[n.COMPRESSED_RGBA_ASTC_5X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[n.COMPRESSED_RGBA_ASTC_5X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[n.COMPRESSED_RGBA_ASTC_6X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[n.COMPRESSED_RGBA_ASTC_6X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[n.COMPRESSED_RGBA_ASTC_8X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[n.COMPRESSED_RGBA_ASTC_8X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[n.COMPRESSED_RGBA_ASTC_8X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[n.COMPRESSED_RGBA_ASTC_10X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[n.COMPRESSED_RGBA_ASTC_10X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[n.COMPRESSED_RGBA_ASTC_10X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[n.COMPRESSED_RGBA_ASTC_10X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[n.COMPRESSED_RGBA_ASTC_12X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[n.COMPRESSED_RGBA_ASTC_12X12_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Hr={0:dt,1:dt,2:Rt,3:Rt,6:L,7:L,9:H,11:H,22:L,23:H,24:L,25:L,26:H,27:H,28:Xr,29:Nr,30:Fr,31:Kr,32:vr,33:Vr,34:kr,35:Wr,36:zr,37:$r,38:jr,39:Jr,40:Zr};function At(e){let r=new Uint32Array(e,0,A.HEADER_LENGTH)[A.MAGIC_NUMBER_INDEX];return r===A.MAGIC_NUMBER||r===A.MAGIC_NUMBER_EXTRA}function xt(e){let t=new Uint32Array(e,0,A.HEADER_LENGTH),r=t[A.PIXEL_FORMAT_INDEX],o=t[A.COLOUR_SPACE_INDEX],s=Lr[r]||[],a=s.length>1&&o?s[1]:s[0],i=Hr[r],c=t[A.MIPMAPCOUNT_INDEX],_=t[A.WIDTH_INDEX],f=t[A.HEIGHT_INDEX],u=A.HEADER_SIZE+t[A.METADATA_SIZE_INDEX],D=new Uint8Array(e,u);return O(D,{mipMapLevels:c,width:_,height:f,sizeFunction:i,internalFormat:a})}function dt(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function Rt(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function L(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function H(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Xr(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Nr(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Fr(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Kr(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function Vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function kr(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function Wr(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function zr(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function $r(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function jr(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function Jr(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function Zr(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function Tt(e){if(J(e))return lt(e);if(Et(e))return mt(e);if(At(e))return xt(e);throw new Error("Texture container format not recognized")}var Te={dataType:null,batchType:null,name:"Texture Containers",id:"compressed-texture",module:"textures",version:m,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},Ct={...Te,parse:async(e,t)=>t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await U(e,t))[0]):Tt(e)};var Ce={dataType:null,batchType:null,id:"crunch",name:"Crunch",module:"textures",version:m,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{libraryPath:"libs/"}}};var ge=new Uint32Array([305419896]),Yr=new Uint8Array(ge.buffer,ge.byteOffset,ge.byteLength),qr=Yr[0]!==18,gt=qr,Qr={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function De(e,t){let r=new DataView(e),{header:o,headerEndOffset:s}=eo(r),a=o.descr,i=Qr[a.slice(1,3)];if(!i)throw new Error(`Unimplemented type ${a}`);let _=o.shape?.reduce((u,D)=>u*D)*i.BYTES_PER_ELEMENT;if(e.byteLength<s+_)throw new Error("Buffer overflow");let f=new i(e.slice(s,s+_));if(a[0]===">"&>||a[0]==="<"&&!gt)throw new Error("Incorrect endianness");return{data:f,header:o}}function eo(e){let t=e.getUint8(6),r=8,o;t>=2?(o=e.getUint32(r,!0),r+=4):(o=e.getUint16(r,!0),r+=2);let s=t<=2?"latin1":"utf-8",a=new TextDecoder(s),i=new Uint8Array(e.buffer,r,o),c=a.decode(i);return r+=o,{header:JSON.parse(c.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var to=new Uint8Array([147,78,85,77,80,89]),he={dataType:null,batchType:null,name:"NPY",id:"npy",module:"textures",version:m,worker:!0,extensions:["npy"],mimeTypes:[],tests:[to.buffer],options:{npy:{}}},Dt={...he,parseSync:De,parse:async(e,t)=>De(e,t)};var ht={DECODER:"crunch.js"};async function Pt(e,t,r){let o=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new w().start({command:"npx",arguments:o,spawn:r}),t}var Bt={name:"DDS Texture Container",id:"dds",module:"textures",version:m,extensions:["dds"],options:{texture:{format:"auto",compression:"auto",quality:"auto",mipmap:!1,flipY:!1,toolFlags:""}},encodeURLtoURL:Pt,encode(){throw new Error("Not implemented")}};async function Mt(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:s=!1,mipmaps:a=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:i}=await b(t),c=new i;try{let _=new Uint8Array(e.width*e.height*4);c.setCreateKTX2File(!0),c.setKTX2UASTCSupercompression(!0),c.setKTX2SRGBTransferFunc(!0),c.setSliceSourceImage(0,e.data,e.width,e.height,!1),c.setPerceptual(r),c.setMipSRGB(r),c.setQualityLevel(o),c.setUASTC(s),c.setMipGen(a);let f=c.encode(_);return _.subarray(0,f).buffer}catch(_){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",_),_}finally{c.delete()}}var wt={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:Mt};var yt="4.2.0";var ro=globalThis.loaders?.parseImageNode,Pe=typeof Image<"u",Be=typeof ImageBitmap<"u",oo=Boolean(ro),Me=se?!0:oo;function Ot(e){switch(e){case"auto":return Be||Pe||Me;case"imagebitmap":return Be;case"image":return Pe;case"data":return Me;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Gt(){if(Be)return"imagebitmap";if(Pe)return"image";if(Me)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function It(e){let t=no(e);if(!t)throw new Error("Not an image");return t}function we(e){return Y(e)}function Y(e){switch(It(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function no(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var so=/^data:image\/svg\+xml/,ao=/\.svg((\?|#).*)?$/;function q(e){return e&&(so.test(e)||ao.test(e))}function bt(e,t){if(q(t)){let o=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(o=unescape(encodeURIComponent(o)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(o)}`}return ye(e,t)}function ye(e,t){if(q(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function Q(e,t,r){let o=bt(e,r),s=self.URL||self.webkitURL,a=typeof o!="string"&&s.createObjectURL(o);try{return await io(a||o,t)}finally{a&&s.revokeObjectURL(a)}}async function io(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((o,s)=>{try{r.onload=()=>o(r),r.onerror=a=>{let i=a instanceof Error?a.message:"error";s(new Error(i))}}catch(a){s(a)}})}var co={},Ut=!0;async function Lt(e,t,r){let o;q(r)?o=await Q(e,t,r):o=ye(e,r);let s=t&&t.imagebitmap;return await _o(o,s)}async function _o(e,t=null){if((lo(t)||!Ut)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),Ut=!1}return await createImageBitmap(e)}function lo(e){for(let t in e||co)return!1;return!0}function Ht(e){return!Eo(e,"ftyp",4)||!(e[8]&96)?null:fo(e)}function fo(e){switch(So(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function So(e,t,r){return String.fromCharCode(...e.slice(t,r))}function uo(e){return[...e].map(t=>t.charCodeAt(0))}function Eo(e,t,r=0){let o=uo(t);for(let s=0;s<o.length;++s)if(o[s]!==e[s+r])return!1;return!0}var g=!1,X=!0;function ee(e){let t=N(e);return po(t)||xo(t)||Ro(t)||Ao(t)||mo(t)}function mo(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Ht(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function po(e){let t=N(e);return t.byteLength>=24&&t.getUint32(0,g)===2303741511?{mimeType:"image/png",width:t.getUint32(16,g),height:t.getUint32(20,g)}:null}function Ro(e){let t=N(e);return t.byteLength>=10&&t.getUint32(0,g)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,X),height:t.getUint16(8,X)}:null}function Ao(e){let t=N(e);return t.byteLength>=14&&t.getUint16(0,g)===16973&&t.getUint32(2,X)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,X),height:t.getUint32(22,X)}:null}function xo(e){let t=N(e);if(!(t.byteLength>=3&&t.getUint16(0,g)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:s}=To(),a=2;for(;a+9<t.byteLength;){let i=t.getUint16(a,g);if(s.has(i))return{mimeType:"image/jpeg",height:t.getUint16(a+5,g),width:t.getUint16(a+7,g)};if(!o.has(i))return null;a+=2,a+=t.getUint16(a,g)}return null}function To(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function N(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Xt(e,t){let{mimeType:r}=ee(e)||{},o=globalThis.loaders?.parseImageNode;return x(o),await o(e,r)}async function Nt(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:a}=r||{},i=Co(s),c;switch(i){case"imagebitmap":c=await Lt(e,t,a);break;case"image":c=await Q(e,t,a);break;case"data":c=await Xt(e,t);break;default:x(!1)}return s==="data"&&(c=Y(c)),c}function Co(e){switch(e){case"auto":case"data":return Gt();default:return Ot(e),e}}var go=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],Do=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],ho={image:{type:"auto",decode:!0}},h={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:yt,mimeTypes:Do,extensions:go,parse:Nt,tests:[e=>Boolean(ee(new DataView(e)))],options:ho};function te(e,t,r){let o=typeof e=="function"?e({...t,...r}):e,s=t.baseUrl;return s&&(o=s[s.length-1]==="/"?`${s}${o}`:`${s}/${o}`),le(o)}var Po=e=>e&&typeof e=="object";async function Ft(e,t,r={}){return await Oe(e,t,r)}async function Oe(e,t,r){return Array.isArray(e)?await Mo(e,t,r):Po(e)?await Bo(e,t,r):await t(e,r)}async function Bo(e,t,r){let o=[],s={};for(let a in e){let i=e[a],c=Oe(i,t,r).then(_=>{s[a]=_});o.push(c)}return await Promise.all(o),s}async function Mo(e,t,r={}){let o=e.map(s=>Oe(s,t,r));return await Promise.all(o)}async function G(e,t,r){return await Ft(e,o=>Ge(o,t,r))}async function Ge(e,t,r){let s=await(await fetch(e,r.fetch)).arrayBuffer();return await t(s,r)}async function Kt(e,t={}){let r=await F(e,t);return await G(r,h.parse,t)}async function F(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await wo(e,o,t,r):te(e,t,r)}async function wo(e,t,r,o){let s=[];if(t==="auto"){let a=te(e,r,{...o,lod:0}),i=await Ge(a,h.parse,r),{width:c,height:_}=we(i);t=yo({width:c,height:_}),s.push(a)}x(t>0);for(let a=s.length;a<t;++a){let i=te(e,r,{...o,lod:a});s.push(i)}return s}function yo(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function vt(e,t,r={}){let o=await Oo(e,t,r);return await G(o,h.parse,r)}async function Oo(e,t,r={}){let o=[];for(let s=0;s<e;s++){let a=F(t,r,{index:s});o.push(a)}return await Promise.all(o)}var Go=34069,Io=34070,bo=34071,Uo=34072,Lo=34073,Ho=34074,Vt=[{face:Go,direction:"right",axis:"x",sign:"positive"},{face:Io,direction:"left",axis:"x",sign:"negative"},{face:bo,direction:"top",axis:"y",sign:"positive"},{face:Uo,direction:"bottom",axis:"y",sign:"negative"},{face:Lo,direction:"front",axis:"z",sign:"positive"},{face:Ho,direction:"back",axis:"z",sign:"negative"}];async function Xo(e,t){let r={},o=[],s=0;for(let a=0;a<Vt.length;++a){let i=Vt[s],c=F(e,t,{...i,index:s++}).then(_=>{r[i.face]=_});o.push(c)}return await Promise.all(o),r}async function kt(e,t={}){let r=await Xo(e,t);return await G(r,h.parse,t)}var No={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};return ar(K);})(); | ||
return __exports__; | ||
}); |
@@ -13,3 +13,3 @@ "use strict"; | ||
} else { | ||
globalThis._loadersgl_.version = "4.2.0-beta.2"; | ||
globalThis._loadersgl_.version = "4.2.0"; | ||
} | ||
@@ -253,3 +253,3 @@ } | ||
// src/lib/utils/version.ts | ||
var VERSION2 = true ? "4.2.0-beta.2" : "latest"; | ||
var VERSION2 = true ? "4.2.0" : "latest"; | ||
@@ -256,0 +256,0 @@ // src/lib/parsers/basis-module-loader.ts |
@@ -7,2 +7,2 @@ // loaders.gl | ||
// @ts-ignore TS2304: Cannot find name '__VERSION__'. | ||
export const VERSION = typeof "4.2.0-beta.2" !== 'undefined' ? "4.2.0-beta.2" : 'latest'; | ||
export const VERSION = typeof "4.2.0" !== 'undefined' ? "4.2.0" : 'latest'; |
"use strict"; | ||
(() => { | ||
// src/lib/utils/version.ts | ||
var VERSION = true ? "4.2.0-beta.2" : "latest"; | ||
var VERSION = true ? "4.2.0" : "latest"; | ||
@@ -6,0 +6,0 @@ // src/lib/parsers/parse-npy.ts |
{ | ||
"name": "@loaders.gl/textures", | ||
"version": "4.2.0", | ||
"version": "4.2.1", | ||
"description": "Framework-independent loaders for compressed and super compressed (basis) textures ", | ||
@@ -57,6 +57,6 @@ "license": "MIT", | ||
"dependencies": { | ||
"@loaders.gl/images": "4.2.0", | ||
"@loaders.gl/loader-utils": "4.2.0", | ||
"@loaders.gl/schema": "4.2.0", | ||
"@loaders.gl/worker-utils": "4.2.0", | ||
"@loaders.gl/images": "4.2.1", | ||
"@loaders.gl/loader-utils": "4.2.1", | ||
"@loaders.gl/schema": "4.2.1", | ||
"@loaders.gl/worker-utils": "4.2.1", | ||
"@math.gl/types": "^4.0.1", | ||
@@ -69,3 +69,3 @@ "ktx-parse": "^0.0.4", | ||
}, | ||
"gitHead": "0d9f54fca98dd1fae8998ef5829004af01feaaff" | ||
"gitHead": "b2ea799ff9f233ab8af0a6c3696e28ddf6e3c5a3" | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
9282940
+ Added@loaders.gl/images@4.2.1(transitive)
+ Added@loaders.gl/loader-utils@4.2.1(transitive)
+ Added@loaders.gl/schema@4.2.1(transitive)
+ Added@loaders.gl/worker-utils@4.2.1(transitive)
- Removed@loaders.gl/images@4.2.0(transitive)
- Removed@loaders.gl/loader-utils@4.2.0(transitive)
- Removed@loaders.gl/schema@4.2.0(transitive)
- Removed@loaders.gl/worker-utils@4.2.0(transitive)
Updated@loaders.gl/images@4.2.1
Updated@loaders.gl/schema@4.2.1