@loaders.gl/textures 4.2.0-alpha.3 → 4.2.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/basis-loader.js +27 -19
- package/dist/basis-worker-node.js +2 -2
- package/dist/basis-worker.js +2 -2
- package/dist/compressed-texture-loader.js +51 -31
- package/dist/compressed-texture-worker.js +2 -2
- package/dist/compressed-texture-writer.js +32 -19
- package/dist/crunch-loader.js +19 -13
- package/dist/crunch-worker.js +2 -2
- package/dist/dist.dev.js +326 -212
- package/dist/dist.min.js +10 -0
- package/dist/index.cjs +41 -60
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +16 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -13
- package/dist/ktx2-basis-writer-worker-node.js +2 -2
- package/dist/ktx2-basis-writer-worker.js +2 -2
- package/dist/ktx2-basis-writer.js +21 -15
- package/dist/lib/encoders/encode-ktx.js +6 -3
- package/dist/lib/encoders/encode-ktx2-basis-texture.js +38 -33
- package/dist/lib/encoders/encode-texture.d.ts +1 -1
- package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
- package/dist/lib/encoders/encode-texture.js +23 -9
- package/dist/lib/gl-extensions.js +70 -59
- package/dist/lib/parsers/basis-module-loader.js +97 -61
- package/dist/lib/parsers/crunch-module-loader.js +29 -13
- package/dist/lib/parsers/parse-basis.js +217 -205
- package/dist/lib/parsers/parse-compressed-texture.js +20 -11
- package/dist/lib/parsers/parse-crunch.js +89 -59
- package/dist/lib/parsers/parse-dds.js +82 -53
- package/dist/lib/parsers/parse-ktx.js +37 -18
- package/dist/lib/parsers/parse-npy.js +70 -53
- package/dist/lib/parsers/parse-pvr.js +203 -112
- package/dist/lib/texture-api/async-deep-map.js +33 -28
- package/dist/lib/texture-api/deep-load.js +7 -5
- package/dist/lib/texture-api/generate-url.d.ts +1 -1
- package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
- package/dist/lib/texture-api/generate-url.js +12 -10
- package/dist/lib/texture-api/load-image-array.d.ts +1 -1
- package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-array.js +13 -15
- package/dist/lib/texture-api/load-image-cube.d.ts +1 -1
- package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image-cube.js +32 -51
- package/dist/lib/texture-api/load-image.d.ts +1 -1
- package/dist/lib/texture-api/load-image.d.ts.map +1 -1
- package/dist/lib/texture-api/load-image.js +30 -36
- package/dist/lib/texture-api/texture-api-types.js +3 -1
- package/dist/lib/utils/extract-mipmap-images.js +43 -29
- package/dist/lib/utils/ktx-format-helper.js +119 -68
- package/dist/lib/utils/texture-formats.js +40 -26
- package/dist/lib/utils/version.js +7 -2
- package/dist/npy-loader.d.ts +1 -1
- package/dist/npy-loader.d.ts.map +1 -1
- package/dist/npy-loader.js +24 -15
- package/dist/npy-worker.js +1 -1
- package/dist/workers/basis-worker-node.js +4 -1
- package/dist/workers/basis-worker.js +3 -1
- package/dist/workers/compressed-texture-worker.js +4 -1
- package/dist/workers/crunch-worker.d.ts +1 -1
- package/dist/workers/crunch-worker.d.ts.map +1 -1
- package/dist/workers/crunch-worker.js +8 -3
- package/dist/workers/ktx2-basis-writer-worker-node.js +23 -26
- package/dist/workers/ktx2-basis-writer-worker.js +22 -26
- package/dist/workers/npy-worker.js +3 -1
- package/package.json +13 -9
- package/dist/basis-loader.js.map +0 -1
- package/dist/compressed-texture-loader.js.map +0 -1
- package/dist/compressed-texture-writer.js.map +0 -1
- package/dist/crunch-loader.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/ktx2-basis-writer.js.map +0 -1
- package/dist/lib/encoders/encode-ktx.js.map +0 -1
- package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
- package/dist/lib/encoders/encode-texture.js.map +0 -1
- package/dist/lib/gl-extensions.js.map +0 -1
- package/dist/lib/parsers/basis-module-loader.js.map +0 -1
- package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
- package/dist/lib/parsers/parse-basis.js.map +0 -1
- package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
- package/dist/lib/parsers/parse-crunch.js.map +0 -1
- package/dist/lib/parsers/parse-dds.js.map +0 -1
- package/dist/lib/parsers/parse-ktx.js.map +0 -1
- package/dist/lib/parsers/parse-npy.js.map +0 -1
- package/dist/lib/parsers/parse-pvr.js.map +0 -1
- package/dist/lib/texture-api/async-deep-map.js.map +0 -1
- package/dist/lib/texture-api/deep-load.js.map +0 -1
- package/dist/lib/texture-api/generate-url.js.map +0 -1
- package/dist/lib/texture-api/load-image-array.js.map +0 -1
- package/dist/lib/texture-api/load-image-cube.js.map +0 -1
- package/dist/lib/texture-api/load-image.js.map +0 -1
- package/dist/lib/texture-api/texture-api-types.js.map +0 -1
- package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
- package/dist/lib/utils/ktx-format-helper.js.map +0 -1
- package/dist/lib/utils/texture-formats.js.map +0 -1
- package/dist/lib/utils/version.js.map +0 -1
- package/dist/libs/libs/README.md +0 -9
- package/dist/libs/libs/basis_encoder.js +0 -21
- package/dist/libs/libs/basis_encoder.wasm +0 -0
- package/dist/libs/libs/basis_transcoder.js +0 -22
- package/dist/libs/libs/basis_transcoder.wasm +0 -0
- package/dist/libs/libs/crunch.js +0 -136
- package/dist/npy-loader.js.map +0 -1
- package/dist/workers/basis-worker-node.js.map +0 -1
- package/dist/workers/basis-worker.js.map +0 -1
- package/dist/workers/compressed-texture-worker.js.map +0 -1
- package/dist/workers/crunch-worker.js.map +0 -1
- package/dist/workers/ktx2-basis-writer-worker-node.js.map +0 -1
- package/dist/workers/ktx2-basis-writer-worker.js.map +0 -1
- package/dist/workers/npy-worker.js.map +0 -1
package/dist/dist.min.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if (typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory();
|
|
4
|
+
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
|
+
else if (typeof exports === 'object') exports['loaders'] = factory();
|
|
6
|
+
else root['loaders'] = factory();})(globalThis, function () {
|
|
7
|
+
"use strict";var __exports__=(()=>{var Qt=Object.create;var k=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,or=Object.prototype.hasOwnProperty;var Ve=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nr=(e,t)=>{for(var r in t)k(e,r,{get:t[r],enumerable:!0})},V=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of tr(t))!or.call(e,s)&&s!==r&&k(e,s,{get:()=>t[s],enumerable:!(o=er(t,s))||o.enumerable});return e},W=(e,t,r)=>(V(e,t,"default"),r&&V(r,t,"default")),se=(e,t,r)=>(r=e!=null?Qt(rr(e)):{},V(t||!e||!e.__esModule?k(r,"default",{value:e,enumerable:!0}):r,e)),sr=e=>V(k({},"__esModule",{value:!0}),e);var We=Ve((Fo,ke)=>{ke.exports=globalThis.loaders});var ie=Ve(()=>{});var v={};nr(v,{BASIS_EXTERNAL_LIBRARIES:()=>G,BasisLoader:()=>ft,BasisWorkerLoader:()=>Re,CRUNCH_EXTERNAL_LIBRARIES:()=>Dt,CompressedTextureLoader:()=>Tt,CompressedTextureWorkerLoader:()=>Te,CompressedTextureWriter:()=>Pt,CrunchLoader:()=>Ce,CrunchWorkerLoader:()=>Ce,GL_EXTENSIONS_CONSTANTS:()=>n,KTX2BasisWriter:()=>Mt,KTX2BasisWriterWorker:()=>Xo,NPYLoader:()=>gt,NPYWorkerLoader:()=>he,getSupportedGPUTextureFormats:()=>j,loadImageTexture:()=>Ft,loadImageTextureArray:()=>Kt,loadImageTextureCube:()=>Vt,selectSupportedBasisFormat:()=>de});W(v,se(We(),1));var m="4.2.0-alpha.4";function ar(){return globalThis._loadersgl_?.version||(globalThis._loadersgl_=globalThis._loadersgl_||{},globalThis._loadersgl_.version="4.2.0-alpha.4"),globalThis._loadersgl_.version}var ze=ar();function $e(e,t){if(!e)throw new Error(t||"loaders.gl assertion failed.")}var T={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ko=T.self||T.window||T.global||{},Wo=T.window||T.self||T.global||{},zo=T.global||T.self||T.window||{},$o=T.document||{};var M=typeof process!="object"||String(process)!=="[object process]"||process.browser,z=typeof importScripts=="function",jo=typeof window<"u"&&typeof window.orientation<"u",je=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Zo=je&&parseFloat(je[1])||0;var p={};var ae={};async function w(e,t=null,r={},o=null){return t&&(e=Ze(e,t,r,o)),ae[e]=ae[e]||ir(e),await ae[e]}function Ze(e,t,r={},o=null){if(!r.useLocalLibraries&&e.startsWith("http"))return e;o=o||e;let s=r.modules||{};return s[o]?s[o]:M?r.CDN?($e(r.CDN.startsWith("http")),`${r.CDN}/${t}@${ze}/dist/libs/${o}`):z?`../src/libs/${o}`:`modules/${t}/src/libs/${o}`:`modules/${t}/dist/libs/${o}`}async function ir(e){if(e.endsWith("wasm"))return await cr(e);if(!M)try{return p&&void 0&&await(void 0)(e)}catch(r){return console.error(r),null}if(z)return importScripts(e);let t=await fr(e);return _r(t,e)}function _r(e,t){if(!M)return void 0&&(void 0)(e,t);if(z)return eval.call(globalThis,e),null;let r=document.createElement("script");r.id=t;try{r.appendChild(document.createTextNode(e))}catch{r.text=e}return document.body.appendChild(r),null}async function cr(e){return M||!void 0||e.startsWith("http")?await(await fetch(e)).arrayBuffer():await(void 0)(e)}async function fr(e){return M||!void 0||e.startsWith("http")?await(await fetch(e)).text():await(void 0)(e)}var Qe=se(ie(),1);var Ye=se(ie(),1);function qe(e=3e3){return new Promise(t=>{Ye.default.exec("lsof -i -P -n | grep LISTEN",(r,o)=>{if(r){t(e);return}let s=[],a=/:(\d+) \(LISTEN\)/;o.split(`
|
|
8
|
+
`).forEach(_=>{let c=a.exec(_);c&&s.push(Number(c[1]))});let i=e;for(;s.includes(i);)i++;t(i)})})}var Je={command:"",arguments:[],port:5e3,autoPort:!0,wait:2e3,onSuccess:e=>{console.log(`Started ${e.props.command}`)}},O=class{constructor({id:t="browser-driver"}={}){this.props={...Je},this.childProcess=null,this.port=0,this.id=t}async start(t){t={...Je,...t},this.props=t;let r=[...t.arguments];return this.port=Number(t.port),t.portArg&&(t.autoPort&&(this.port=await qe(t.port)),r.push(t.portArg,String(this.port))),await new Promise((o,s)=>{try{this._setTimeout(()=>{t.onSuccess&&t.onSuccess(this),o({})}),console.log(`Spawning ${t.command} ${t.arguments.join(" ")}`);let a=(void 0)(t.command,r,t.spawn);this.childProcess=a,a.stdout.on("data",i=>{console.log(i.toString())}),a.stderr.on("data",i=>{console.log(`Child process wrote to stderr: "${i}".`),t.ignoreStderr||(this._clearTimeout(),s(new Error(i)))}),a.on("error",i=>{console.log(`Child process errored with ${i}`),this._clearTimeout(),s(i)}),a.on("close",i=>{console.log(`Child process exited with ${i}`),this.childProcess=null,this._clearTimeout(),o({})})}catch(a){s(a)}})}async stop(){this.childProcess&&(this.childProcess.kill(),this.childProcess=null)}async exit(t=0){try{await this.stop(),process.exit(t)}catch(r){console.error(r.message||r),process.exit(1)}}_setTimeout(t){Number(this.props.wait)>0&&(this.successTimer=setTimeout(t,this.props.wait))}_clearTimeout(){this.successTimer&&clearTimeout(this.successTimer)}};var G={TRANSCODER:"basis_transcoder.js",TRANSCODER_WASM:"basis_transcoder.wasm",ENCODER:"basis_encoder.js",ENCODER_WASM:"basis_encoder.wasm"},_e;async function fe(e){let t=e.modules||{};return t.basis?t.basis:(_e=_e||lr(e),await _e)}async function lr(e){let t=null,r=null;return[t,r]=await Promise.all([await w(G.TRANSCODER,"textures",e),await w(G.TRANSCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await Sr(t,r)}function Sr(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,initializeBasis:i}=s;i(),o({BasisFile:a})})})}var ce;async function U(e){let t=e.modules||{};return t.basisEncoder?t.basisEncoder:(ce=ce||Er(e),await ce)}async function Er(e){let t=null,r=null;return[t,r]=await Promise.all([await w(G.ENCODER,"textures",e),await w(G.ENCODER_WASM,"textures",e)]),t=t||globalThis.BASIS,await ur(t,r)}function ur(e,t){let r={};return t&&(r.wasmBinary=t),new Promise(o=>{e(r).then(s=>{let{BasisFile:a,KTX2File:i,initializeBasis:_,BasisEncoder:c}=s;_(),o({BasisFile:a,KTX2File:i,BasisEncoder:c})})})}var n={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};var mr=["","WEBKIT_","MOZ_"],et={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},$=null;function j(e){if(!$){e=e||pr()||void 0,$=new Set;for(let t of mr)for(let r in et)if(e&&e.getExtension(`${t}${r}`)){let o=et[r];$.add(o)}}return $}function pr(){try{return document.createElement("canvas").getContext("webgl")}catch{return null}}var un=new Uint8Array([0]),S=[171,75,84,88,32,50,48,187,13,10,26,10],le,Se,Ee,Z,tt,ue,rt,ot;(function(e){e[e.NONE=0]="NONE",e[e.BASISLZ=1]="BASISLZ",e[e.ZSTD=2]="ZSTD",e[e.ZLIB=3]="ZLIB"})(le||(le={})),function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(Se||(Se={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(Ee||(Ee={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(Z||(Z={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(tt||(tt={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(ue||(ue={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(rt||(rt={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(ot||(ot={}));var me=class{constructor(){this.vkFormat=0,this.typeSize=1,this.pixelWidth=0,this.pixelHeight=0,this.pixelDepth=0,this.layerCount=0,this.faceCount=1,this.supercompressionScheme=le.NONE,this.levels=[],this.dataFormatDescriptor=[{vendorId:0,descriptorType:Se.BASICFORMAT,versionNumber:2,descriptorBlockSize:40,colorModel:Ee.UNSPECIFIED,colorPrimaries:Z.SRGB,transferFunction:Z.SRGB,flags:ue.ALPHA_STRAIGHT,texelBlockDimension:{x:4,y:4,z:1,w:1},bytesPlane:[],samples:[]}],this.keyValue={},this.globalData=null}},B=class{constructor(t,r,o,s){this._dataView=new DataView(t.buffer,t.byteOffset+r,o),this._littleEndian=s,this._offset=0}_nextUint8(){let t=this._dataView.getUint8(this._offset);return this._offset+=1,t}_nextUint16(){let t=this._dataView.getUint16(this._offset,this._littleEndian);return this._offset+=2,t}_nextUint32(){let t=this._dataView.getUint32(this._offset,this._littleEndian);return this._offset+=4,t}_nextUint64(){let t=this._dataView.getUint32(this._offset,this._littleEndian)+4294967296*this._dataView.getUint32(this._offset+4,this._littleEndian);return this._offset+=8,t}_skip(t){return this._offset+=t,this}_scan(t,r=0){let o=this._offset,s=0;for(;this._dataView.getUint8(this._offset)!==r&&s<t;)s++,this._offset++;return s<t&&this._offset++,new Uint8Array(this._dataView.buffer,this._dataView.byteOffset+o,s)}};function nt(e){return typeof TextDecoder<"u"?new TextDecoder().decode(e):Buffer.from(e).toString("utf8")}function st(e){let t=new Uint8Array(e.buffer,e.byteOffset,S.length);if(t[0]!==S[0]||t[1]!==S[1]||t[2]!==S[2]||t[3]!==S[3]||t[4]!==S[4]||t[5]!==S[5]||t[6]!==S[6]||t[7]!==S[7]||t[8]!==S[8]||t[9]!==S[9]||t[10]!==S[10]||t[11]!==S[11])throw new Error("Missing KTX 2.0 identifier.");let r=new me,o=17*Uint32Array.BYTES_PER_ELEMENT,s=new B(e,S.length,o,!0);r.vkFormat=s._nextUint32(),r.typeSize=s._nextUint32(),r.pixelWidth=s._nextUint32(),r.pixelHeight=s._nextUint32(),r.pixelDepth=s._nextUint32(),r.layerCount=s._nextUint32(),r.faceCount=s._nextUint32();let a=s._nextUint32();r.supercompressionScheme=s._nextUint32();let i=s._nextUint32(),_=s._nextUint32(),c=s._nextUint32(),l=s._nextUint32(),E=s._nextUint64(),h=s._nextUint64(),oe=new B(e,S.length+o,3*a*8,!0);for(let u=0;u<a;u++)r.levels.push({levelData:new Uint8Array(e.buffer,e.byteOffset+oe._nextUint64(),oe._nextUint64()),uncompressedByteLength:oe._nextUint64()});let f=new B(e,i,_,!0),ne={vendorId:f._skip(4)._nextUint16(),descriptorType:f._nextUint16(),versionNumber:f._nextUint16(),descriptorBlockSize:f._nextUint16(),colorModel:f._nextUint8(),colorPrimaries:f._nextUint8(),transferFunction:f._nextUint8(),flags:f._nextUint8(),texelBlockDimension:{x:f._nextUint8()+1,y:f._nextUint8()+1,z:f._nextUint8()+1,w:f._nextUint8()+1},bytesPlane:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],samples:[]},kt=(ne.descriptorBlockSize/4-6)/4;for(let u=0;u<kt;u++)ne.samples[u]={bitOffset:f._nextUint16(),bitLength:f._nextUint8(),channelID:f._nextUint8(),samplePosition:[f._nextUint8(),f._nextUint8(),f._nextUint8(),f._nextUint8()],sampleLower:f._nextUint32(),sampleUpper:f._nextUint32()};r.dataFormatDescriptor.length=0,r.dataFormatDescriptor.push(ne);let b=new B(e,c,l,!0);for(;b._offset<l;){let u=b._nextUint32(),Fe=b._scan(u),Ke=nt(Fe),ve=b._scan(u-Fe.byteLength);r.keyValue[Ke]=Ke.match(/^ktx/i)?nt(ve):ve,u%4&&b._skip(4-u%4)}if(h<=0)return r;let A=new B(e,E,h,!0),Wt=A._nextUint16(),zt=A._nextUint16(),Ie=A._nextUint32(),be=A._nextUint32(),Ue=A._nextUint32(),$t=A._nextUint32(),Le=[];for(let u=0;u<a;u++)Le.push({imageFlags:A._nextUint32(),rgbSliceByteOffset:A._nextUint32(),rgbSliceByteLength:A._nextUint32(),alphaSliceByteOffset:A._nextUint32(),alphaSliceByteLength:A._nextUint32()});let He=E+A._offset,Xe=He+Ie,Ne=Xe+be,jt=Ne+Ue,Zt=new Uint8Array(e.buffer,e.byteOffset+He,Ie),Yt=new Uint8Array(e.buffer,e.byteOffset+Xe,be),qt=new Uint8Array(e.buffer,e.byteOffset+Ne,Ue),Jt=new Uint8Array(e.buffer,e.byteOffset+jt,$t);return r.globalData={endpointCount:Wt,selectorCount:zt,imageDescs:Le,endpointsData:Zt,selectorsData:Yt,tablesData:qt,extendedData:Jt},r}function y(e,t){let r=new Array(t.mipMapLevels),o=t.width,s=t.height,a=0;for(let i=0;i<t.mipMapLevels;++i){let _=Rr(t,o,s,e,i),c=dr(e,i,a,_);r[i]={compressed:!0,format:t.internalFormat,data:c,width:o,height:s,levelSize:_},o=Math.max(1,o>>1),s=Math.max(1,s>>1),a+=_}return r}function dr(e,t,r,o){return Array.isArray(e)?e[t].levelData:new Uint8Array(e.buffer,e.byteOffset+r,o)}function Rr(e,t,r,o,s){return Array.isArray(o)?e.sizeFunction(o[s]):e.sizeFunction(t,r)}var Ar={131:n.COMPRESSED_RGB_S3TC_DXT1_EXT,132:n.COMPRESSED_SRGB_S3TC_DXT1_EXT,133:n.COMPRESSED_RGBA_S3TC_DXT1_EXT,134:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,135:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,136:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,137:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,138:n.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,139:n.COMPRESSED_RED_RGTC1_EXT,140:n.COMPRESSED_SIGNED_RED_RGTC1_EXT,141:n.COMPRESSED_RED_GREEN_RGTC2_EXT,142:n.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,147:n.COMPRESSED_RGB8_ETC2,148:n.COMPRESSED_SRGB8_ETC2,149:n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,150:n.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,151:n.COMPRESSED_RGBA8_ETC2_EAC,152:n.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,153:n.COMPRESSED_R11_EAC,154:n.COMPRESSED_SIGNED_R11_EAC,155:n.COMPRESSED_RG11_EAC,156:n.COMPRESSED_SIGNED_RG11_EAC,157:n.COMPRESSED_RGBA_ASTC_4x4_KHR,158:n.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,159:n.COMPRESSED_RGBA_ASTC_5x4_KHR,160:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,161:n.COMPRESSED_RGBA_ASTC_5x5_KHR,162:n.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,163:n.COMPRESSED_RGBA_ASTC_6x5_KHR,164:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,165:n.COMPRESSED_RGBA_ASTC_6x6_KHR,166:n.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,167:n.COMPRESSED_RGBA_ASTC_8x5_KHR,168:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,169:n.COMPRESSED_RGBA_ASTC_8x6_KHR,170:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,171:n.COMPRESSED_RGBA_ASTC_8x8_KHR,172:n.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,173:n.COMPRESSED_RGBA_ASTC_10x5_KHR,174:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,175:n.COMPRESSED_RGBA_ASTC_10x6_KHR,176:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,177:n.COMPRESSED_RGBA_ASTC_10x8_KHR,178:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,179:n.COMPRESSED_RGBA_ASTC_10x10_KHR,180:n.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,181:n.COMPRESSED_RGBA_ASTC_12x10_KHR,182:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,183:n.COMPRESSED_RGBA_ASTC_12x12_KHR,184:n.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,1000054e3:n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,1000054001:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,1000066e3:n.COMPRESSED_RGBA_ASTC_4x4_KHR,1000066001:n.COMPRESSED_RGBA_ASTC_5x4_KHR,1000066002:n.COMPRESSED_RGBA_ASTC_5x5_KHR,1000066003:n.COMPRESSED_RGBA_ASTC_6x5_KHR,1000066004:n.COMPRESSED_RGBA_ASTC_6x6_KHR,1000066005:n.COMPRESSED_RGBA_ASTC_8x5_KHR,1000066006:n.COMPRESSED_RGBA_ASTC_8x6_KHR,1000066007:n.COMPRESSED_RGBA_ASTC_8x8_KHR,1000066008:n.COMPRESSED_RGBA_ASTC_10x5_KHR,1000066009:n.COMPRESSED_RGBA_ASTC_10x6_KHR,1000066010:n.COMPRESSED_RGBA_ASTC_10x8_KHR,1000066011:n.COMPRESSED_RGBA_ASTC_10x10_KHR,1000066012:n.COMPRESSED_RGBA_ASTC_12x10_KHR,1000066013:n.COMPRESSED_RGBA_ASTC_12x12_KHR};function at(e){return Ar[e]}var d=[171,75,84,88,32,50,48,187,13,10,26,10];function Y(e){let t=new Uint8Array(e);return!(t.byteLength<d.length||t[0]!==d[0]||t[1]!==d[1]||t[2]!==d[2]||t[3]!==d[3]||t[4]!==d[4]||t[5]!==d[5]||t[6]!==d[6]||t[7]!==d[7]||t[8]!==d[8]||t[9]!==d[9]||t[10]!==d[10]||t[11]!==d[11])}function it(e){let t=new Uint8Array(e),r=st(t),o=Math.max(1,r.levels.length),s=r.pixelWidth,a=r.pixelHeight,i=at(r.vkFormat);return y(r.levels,{mipMapLevels:o,width:s,height:a,sizeFunction:_=>_.uncompressedByteLength,internalFormat:i})}var xr={etc1:{basisFormat:0,compressed:!0,format:n.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:n.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:n.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:n.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};async function L(e,t){if(t.basis.containerFormat==="auto"){if(Y(e)){let o=await U(t);return _t(o.KTX2File,e,t)}let{BasisFile:r}=await fe(t);return pe(r,e,t)}switch(t.basis.module){case"encoder":let r=await U(t);switch(t.basis.containerFormat){case"ktx2":return _t(r.KTX2File,e,t);case"basis":default:return pe(r.BasisFile,e,t)}case"transcoder":default:let{BasisFile:o}=await fe(t);return pe(o,e,t)}}function pe(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("Failed to start basis transcoding");let s=o.getNumImages(),a=[];for(let i=0;i<s;i++){let _=o.getNumLevels(i),c=[];for(let l=0;l<_;l++)c.push(Tr(o,i,l,r));a.push(c)}return a}finally{o.close(),o.delete()}}function Tr(e,t,r,o){let s=e.getImageWidth(t,r),a=e.getImageHeight(t,r),i=e.getHasAlpha(),{compressed:_,format:c,basisFormat:l}=ct(o,i),E=e.getImageTranscodedSizeInBytes(t,r,l),h=new Uint8Array(E);if(!e.transcodeImage(h,t,r,l,0,0))throw new Error("failed to start Basis transcoding");return{width:s,height:a,data:h,compressed:_,format:c,hasAlpha:i}}function _t(e,t,r){let o=new e(new Uint8Array(t));try{if(!o.startTranscoding())throw new Error("failed to start KTX2 transcoding");let s=o.getLevels(),a=[];for(let i=0;i<s;i++){a.push(Cr(o,i,r));break}return[a]}finally{o.close(),o.delete()}}function Cr(e,t,r){let{alphaFlag:o,height:s,width:a}=e.getImageLevelInfo(t,0,0),{compressed:i,format:_,basisFormat:c}=ct(r,o),l=e.getImageTranscodedSizeInBytes(t,0,0,c),E=new Uint8Array(l);if(!e.transcodeImage(E,t,0,0,c,0,-1,-1))throw new Error("Failed to transcode KTX2 image");return{width:a,height:s,data:E,compressed:i,levelSize:l,hasAlpha:o,format:_}}function ct(e,t){let r=e&&e.basis&&e.basis.format;return r==="auto"&&(r=de()),typeof r=="object"&&(r=t?r.alpha:r.noAlpha),r=r.toLowerCase(),xr[r]}function de(){let e=j();return e.has("astc")?"astc-4x4":e.has("dxt")?{alpha:"bc3",noAlpha:"bc1"}:e.has("pvrtc")?{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"}:e.has("etc1")?"etc1":e.has("etc2")?"etc2":"rgb565"}var Re={name:"Basis",id:"basis",module:"textures",version:m,worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},ft={...Re,parse:L};function C(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var g={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},gr=g.self||g.window||g.global||{},Dr=g.window||g.self||g.global||{},hr=g.global||g.self||g.window||{},Pr=g.document||{};var Ae=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var lt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),Br=lt&&parseFloat(lt[1])||0;var Mr="",St={};function xe(e){for(let t in St)if(e.startsWith(t)){let r=St[t];e=e.replace(t,r)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Mr}${e}`),e}var R={MAGIC_NUMBER:542327876,HEADER_LENGTH:31,MAGIC_NUMBER_INDEX:0,HEADER_SIZE_INDEX:1,HEADER_FLAGS_INDEX:2,HEADER_HEIGHT_INDEX:3,HEADER_WIDTH_INDEX:4,MIPMAPCOUNT_INDEX:7,HEADER_PF_FLAGS_INDEX:20,HEADER_PF_FOURCC_INDEX:21,DDSD_MIPMAPCOUNT:131072,DDPF_FOURCC:4},wr={DXT1:n.COMPRESSED_RGB_S3TC_DXT1_EXT,DXT3:n.COMPRESSED_RGBA_S3TC_DXT3_EXT,DXT5:n.COMPRESSED_RGBA_S3TC_DXT5_EXT,"ATC ":n.COMPRESSED_RGB_ATC_WEBGL,ATCA:n.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,ATCI:n.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL},Or=mt,Gr=q,yr=q,Ir={DXT1:mt,DXT3:q,DXT5:q,"ATC ":Or,ATCA:Gr,ATCI:yr};function Et(e){return new Uint32Array(e,0,R.HEADER_LENGTH)[R.MAGIC_NUMBER_INDEX]===R.MAGIC_NUMBER}function ut(e){let t=new Int32Array(e,0,R.HEADER_LENGTH),r=t[R.HEADER_PF_FOURCC_INDEX];C(Boolean(t[R.HEADER_PF_FLAGS_INDEX]&R.DDPF_FOURCC),"DDS: Unsupported format, must contain a FourCC code");let o=br(r),s=wr[o],a=Ir[o];C(s&&a,`DDS: Unknown pixel format ${r}`);let i=1;t[R.HEADER_FLAGS_INDEX]&R.DDSD_MIPMAPCOUNT&&(i=Math.max(1,t[R.MIPMAPCOUNT_INDEX]));let _=t[R.HEADER_WIDTH_INDEX],c=t[R.HEADER_HEIGHT_INDEX],l=t[R.HEADER_SIZE_INDEX]+4,E=new Uint8Array(e,l);return y(E,{mipMapLevels:i,width:_,height:c,sizeFunction:a,internalFormat:s})}function mt(e,t){return(e+3>>2)*(t+3>>2)*8}function q(e,t){return(e+3>>2)*(t+3>>2)*16}function br(e){return String.fromCharCode(e&255,e>>8&255,e>>16&255,e>>24&255)}var x={MAGIC_NUMBER:55727696,MAGIC_NUMBER_EXTRA:1347834371,HEADER_LENGTH:13,HEADER_SIZE:52,MAGIC_NUMBER_INDEX:0,PIXEL_FORMAT_INDEX:2,COLOUR_SPACE_INDEX:4,HEIGHT_INDEX:6,WIDTH_INDEX:7,MIPMAPCOUNT_INDEX:11,METADATA_SIZE_INDEX:12},Ur={0:[n.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],1:[n.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],2:[n.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],3:[n.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],6:[n.COMPRESSED_RGB_ETC1_WEBGL],7:[n.COMPRESSED_RGB_S3TC_DXT1_EXT],9:[n.COMPRESSED_RGBA_S3TC_DXT3_EXT],11:[n.COMPRESSED_RGBA_S3TC_DXT5_EXT],22:[n.COMPRESSED_RGB8_ETC2],23:[n.COMPRESSED_RGBA8_ETC2_EAC],24:[n.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],25:[n.COMPRESSED_R11_EAC],26:[n.COMPRESSED_RG11_EAC],27:[n.COMPRESSED_RGBA_ASTC_4X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],28:[n.COMPRESSED_RGBA_ASTC_5X4_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],29:[n.COMPRESSED_RGBA_ASTC_5X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],30:[n.COMPRESSED_RGBA_ASTC_6X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],31:[n.COMPRESSED_RGBA_ASTC_6X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],32:[n.COMPRESSED_RGBA_ASTC_8X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],33:[n.COMPRESSED_RGBA_ASTC_8X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],34:[n.COMPRESSED_RGBA_ASTC_8X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],35:[n.COMPRESSED_RGBA_ASTC_10X5_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],36:[n.COMPRESSED_RGBA_ASTC_10X6_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],37:[n.COMPRESSED_RGBA_ASTC_10X8_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],38:[n.COMPRESSED_RGBA_ASTC_10X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],39:[n.COMPRESSED_RGBA_ASTC_12X10_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],40:[n.COMPRESSED_RGBA_ASTC_12X12_KHR,n.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]},Lr={0:pt,1:pt,2:dt,3:dt,6:H,7:H,9:X,11:X,22:H,23:X,24:H,25:H,26:X,27:X,28:Hr,29:Xr,30:Nr,31:Fr,32:Kr,33:vr,34:Vr,35:kr,36:Wr,37:zr,38:$r,39:jr,40:Zr};function Rt(e){let r=new Uint32Array(e,0,x.HEADER_LENGTH)[x.MAGIC_NUMBER_INDEX];return r===x.MAGIC_NUMBER||r===x.MAGIC_NUMBER_EXTRA}function At(e){let t=new Uint32Array(e,0,x.HEADER_LENGTH),r=t[x.PIXEL_FORMAT_INDEX],o=t[x.COLOUR_SPACE_INDEX],s=Ur[r]||[],a=s.length>1&&o?s[1]:s[0],i=Lr[r],_=t[x.MIPMAPCOUNT_INDEX],c=t[x.WIDTH_INDEX],l=t[x.HEIGHT_INDEX],E=x.HEADER_SIZE+t[x.METADATA_SIZE_INDEX],h=new Uint8Array(e,E);return y(h,{mipMapLevels:_,width:c,height:l,sizeFunction:i,internalFormat:a})}function pt(e,t){return e=Math.max(e,16),t=Math.max(t,8),e*t/4}function dt(e,t){return e=Math.max(e,8),t=Math.max(t,8),e*t/2}function H(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*8}function X(e,t){return Math.floor((e+3)/4)*Math.floor((t+3)/4)*16}function Hr(e,t){return Math.floor((e+4)/5)*Math.floor((t+3)/4)*16}function Xr(e,t){return Math.floor((e+4)/5)*Math.floor((t+4)/5)*16}function Nr(e,t){return Math.floor((e+5)/6)*Math.floor((t+4)/5)*16}function Fr(e,t){return Math.floor((e+5)/6)*Math.floor((t+5)/6)*16}function Kr(e,t){return Math.floor((e+7)/8)*Math.floor((t+4)/5)*16}function vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+5)/6)*16}function Vr(e,t){return Math.floor((e+7)/8)*Math.floor((t+7)/8)*16}function kr(e,t){return Math.floor((e+9)/10)*Math.floor((t+4)/5)*16}function Wr(e,t){return Math.floor((e+9)/10)*Math.floor((t+5)/6)*16}function zr(e,t){return Math.floor((e+9)/10)*Math.floor((t+7)/8)*16}function $r(e,t){return Math.floor((e+9)/10)*Math.floor((t+9)/10)*16}function jr(e,t){return Math.floor((e+11)/12)*Math.floor((t+9)/10)*16}function Zr(e,t){return Math.floor((e+11)/12)*Math.floor((t+11)/12)*16}function xt(e){if(Y(e))return it(e);if(Et(e))return ut(e);if(Rt(e))return At(e);throw new Error("Texture container format not recognized")}var Te={name:"Texture Containers",id:"compressed-texture",module:"textures",version:m,worker:!0,extensions:["ktx","ktx2","dds","pvr"],mimeTypes:["image/ktx2","image/ktx","image/vnd-ms.dds","image/x-dds","application/octet-stream"],binary:!0,options:{"compressed-texture":{libraryPath:"libs/",useBasis:!1}}},Tt={...Te,parse:async(e,t)=>t?.["compressed-texture"]?.useBasis?(t.basis={format:{alpha:"BC3",noAlpha:"BC1"},...t.basis,containerFormat:"ktx2",module:"encoder"},(await L(e,t))[0]):xt(e)};var Ce={id:"crunch",name:"Crunch",module:"textures",version:m,worker:!0,extensions:["crn"],mimeTypes:["image/crn","image/x-crn","application/octet-stream"],binary:!0,options:{crunch:{libraryPath:"libs/"}}};var ge=new Uint32Array([305419896]),Yr=new Uint8Array(ge.buffer,ge.byteOffset,ge.byteLength),qr=Yr[0]!==18,Ct=qr,Jr={u1:Uint8Array,i1:Int8Array,u2:Uint16Array,i2:Int16Array,u4:Uint32Array,i4:Int32Array,f4:Float32Array,f8:Float64Array};function De(e,t){let r=new DataView(e),{header:o,headerEndOffset:s}=Qr(r),a=o.descr,i=Jr[a.slice(1,3)];if(!i)throw new Error(`Unimplemented type ${a}`);let c=o.shape?.reduce((E,h)=>E*h)*i.BYTES_PER_ELEMENT;if(e.byteLength<s+c)throw new Error("Buffer overflow");let l=new i(e.slice(s,s+c));if(a[0]===">"&&Ct||a[0]==="<"&&!Ct)throw new Error("Incorrect endianness");return{data:l,header:o}}function Qr(e){let t=e.getUint8(6),r=8,o;t>=2?(o=e.getUint32(r,!0),r+=4):(o=e.getUint16(r,!0),r+=2);let s=t<=2?"latin1":"utf-8",a=new TextDecoder(s),i=new Uint8Array(e.buffer,r,o),_=a.decode(i);return r+=o,{header:JSON.parse(_.replace(/'/g,'"').replace("False","false").replace("(","[").replace(/,*\),*/g,"]")),headerEndOffset:r}}var eo=new Uint8Array([147,78,85,77,80,89]),he={name:"NPY",id:"npy",module:"textures",version:m,worker:!0,extensions:["npy"],mimeTypes:[],tests:[eo.buffer],options:{npy:{}}},gt={...he,parseSync:De,parse:async(e,t)=>De(e,t)};var Dt={DECODER:"crunch.js"};async function ht(e,t,r){let o=["texture-compressor","--type","s3tc","--compression","DXT1","--quality","normal","--input",e,"--output",t];return await new O().start({command:"npx",arguments:o,spawn:r}),t}var Pt={name:"DDS Texture Container",id:"dds",module:"textures",version:m,extensions:["dds"],options:{texture:{format:"auto",compression:"auto",quality:"auto",mipmap:!1,flipY:!1,toolFlags:""}},encodeURLtoURL:ht,encode(){throw new Error("Not implemented")}};async function Bt(e,t={}){let{useSRGB:r=!1,qualityLevel:o=10,encodeUASTC:s=!1,mipmaps:a=!1}=t?.["ktx2-basis-writer"]||{},{BasisEncoder:i}=await U(t),_=new i;try{let c=new Uint8Array(e.width*e.height*4);_.setCreateKTX2File(!0),_.setKTX2UASTCSupercompression(!0),_.setKTX2SRGBTransferFunc(!0),_.setSliceSourceImage(0,e.data,e.width,e.height,!1),_.setPerceptual(r),_.setMipSRGB(r),_.setQualityLevel(o),_.setUASTC(s),_.setMipGen(a);let l=_.encode(c);return c.subarray(0,l).buffer}catch(c){throw console.error("Basis Universal Supercompressed GPU Texture encoder Error: ",c),c}finally{_.delete()}}var Mt={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],options:{["ktx2-basis-writer"]:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}},encode:Bt};var wt="4.2.0-alpha.4";var to=globalThis.loaders?.parseImageNode,Pe=typeof Image<"u",Be=typeof ImageBitmap<"u",ro=Boolean(to),Me=Ae?!0:ro;function Ot(e){switch(e){case"auto":return Be||Pe||Me;case"imagebitmap":return Be;case"image":return Pe;case"data":return Me;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function Gt(){if(Be)return"imagebitmap";if(Pe)return"image";if(Me)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function yt(e){let t=oo(e);if(!t)throw new Error("Not an image");return t}function we(e){return J(e)}function J(e){switch(yt(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),r=t.getContext("2d");if(!r)throw new Error("getImageData");return t.width=e.width,t.height=e.height,r.drawImage(e,0,0),r.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function oo(e){return typeof ImageBitmap<"u"&&e instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&e instanceof Image?"image":e&&typeof e=="object"&&e.data&&e.width&&e.height?"data":null}var no=/^data:image\/svg\+xml/,so=/\.svg((\?|#).*)?$/;function Q(e){return e&&(no.test(e)||so.test(e))}function It(e,t){if(Q(t)){let o=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(o=unescape(encodeURIComponent(o)))}catch(a){throw new Error(a.message)}return`data:image/svg+xml;base64,${btoa(o)}`}return Oe(e,t)}function Oe(e,t){if(Q(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function ee(e,t,r){let o=It(e,r),s=self.URL||self.webkitURL,a=typeof o!="string"&&s.createObjectURL(o);try{return await ao(a||o,t)}finally{a&&s.revokeObjectURL(a)}}async function ao(e,t){let r=new Image;return r.src=e,t.image&&t.image.decode&&r.decode?(await r.decode(),r):await new Promise((o,s)=>{try{r.onload=()=>o(r),r.onerror=a=>{let i=a instanceof Error?a.message:"error";s(new Error(i))}}catch(a){s(a)}})}var io={},bt=!0;async function Ut(e,t,r){let o;Q(r)?o=await ee(e,t,r):o=Oe(e,r);let s=t&&t.imagebitmap;return await _o(o,s)}async function _o(e,t=null){if((co(t)||!bt)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(r){console.warn(r),bt=!1}return await createImageBitmap(e)}function co(e){for(let t in e||io)return!1;return!0}function Lt(e){return!Eo(e,"ftyp",4)||!(e[8]&96)?null:fo(e)}function fo(e){switch(lo(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function lo(e,t,r){return String.fromCharCode(...e.slice(t,r))}function So(e){return[...e].map(t=>t.charCodeAt(0))}function Eo(e,t,r=0){let o=So(t);for(let s=0;s<o.length;++s)if(o[s]!==e[s+r])return!1;return!0}var D=!1,N=!0;function te(e){let t=F(e);return mo(t)||Ao(t)||po(t)||Ro(t)||uo(t)}function uo(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),r=Lt(t);return r?{mimeType:r.mimeType,width:0,height:0}:null}function mo(e){let t=F(e);return t.byteLength>=24&&t.getUint32(0,D)===2303741511?{mimeType:"image/png",width:t.getUint32(16,D),height:t.getUint32(20,D)}:null}function po(e){let t=F(e);return t.byteLength>=10&&t.getUint32(0,D)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,N),height:t.getUint16(8,N)}:null}function Ro(e){let t=F(e);return t.byteLength>=14&&t.getUint16(0,D)===16973&&t.getUint32(2,N)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,N),height:t.getUint32(22,N)}:null}function Ao(e){let t=F(e);if(!(t.byteLength>=3&&t.getUint16(0,D)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:o,sofMarkers:s}=xo(),a=2;for(;a+9<t.byteLength;){let i=t.getUint16(a,D);if(s.has(i))return{mimeType:"image/jpeg",height:t.getUint16(a+5,D),width:t.getUint16(a+7,D)};if(!o.has(i))return null;a+=2,a+=t.getUint16(a,D)}return null}function xo(){let e=new Set([65499,65476,65484,65501,65534]);for(let r=65504;r<65520;++r)e.add(r);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function F(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}async function Ht(e,t){let{mimeType:r}=te(e)||{},o=globalThis.loaders?.parseImageNode;return C(o),await o(e,r)}async function Xt(e,t,r){t=t||{};let s=(t.image||{}).type||"auto",{url:a}=r||{},i=To(s),_;switch(i){case"imagebitmap":_=await Ut(e,t,a);break;case"image":_=await ee(e,t,a);break;case"data":_=await Ht(e,t);break;default:C(!1)}return s==="data"&&(_=J(_)),_}function To(e){switch(e){case"auto":case"data":return Gt();default:return Ot(e),e}}var Co=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],go=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],Do={image:{type:"auto",decode:!0}},P={id:"image",module:"images",name:"Images",version:wt,mimeTypes:go,extensions:Co,parse:Xt,tests:[e=>Boolean(te(new DataView(e)))],options:Do};function re(e,t,r){let o=typeof e=="function"?e({...t,...r}):e,s=t.baseUrl;return s&&(o=s[s.length-1]==="/"?`${s}${o}`:`${s}/${o}`),xe(o)}var ho=e=>e&&typeof e=="object";async function Nt(e,t,r={}){return await Ge(e,t,r)}async function Ge(e,t,r){return Array.isArray(e)?await Bo(e,t,r):ho(e)?await Po(e,t,r):await t(e,r)}async function Po(e,t,r){let o=[],s={};for(let a in e){let i=e[a],_=Ge(i,t,r).then(c=>{s[a]=c});o.push(_)}return await Promise.all(o),s}async function Bo(e,t,r={}){let o=e.map(s=>Ge(s,t,r));return await Promise.all(o)}async function I(e,t,r){return await Nt(e,o=>ye(o,t,r))}async function ye(e,t,r){let s=await(await fetch(e,r.fetch)).arrayBuffer();return await t(s,r)}async function Ft(e,t={}){let r=await K(e,t);return await I(r,P.parse,t)}async function K(e,t,r={}){let o=t&&t.image&&t.image.mipLevels||0;return o!==0?await Mo(e,o,t,r):re(e,t,r)}async function Mo(e,t,r,o){let s=[];if(t==="auto"){let a=re(e,r,{...o,lod:0}),i=await ye(a,P.parse,r),{width:_,height:c}=we(i);t=wo({width:_,height:c}),s.push(a)}C(t>0);for(let a=s.length;a<t;++a){let i=re(e,r,{...o,lod:a});s.push(i)}return s}function wo(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}async function Kt(e,t,r={}){let o=await Oo(e,t,r);return await I(o,P.parse,r)}async function Oo(e,t,r={}){let o=[];for(let s=0;s<e;s++){let a=K(t,r,{index:s});o.push(a)}return await Promise.all(o)}var Go=34069,yo=34070,Io=34071,bo=34072,Uo=34073,Lo=34074,vt=[{face:Go,direction:"right",axis:"x",sign:"positive"},{face:yo,direction:"left",axis:"x",sign:"negative"},{face:Io,direction:"top",axis:"y",sign:"positive"},{face:bo,direction:"bottom",axis:"y",sign:"negative"},{face:Uo,direction:"front",axis:"z",sign:"positive"},{face:Lo,direction:"back",axis:"z",sign:"negative"}];async function Ho(e,t){let r={},o=[],s=0;for(let a=0;a<vt.length;++a){let i=vt[s],_=K(e,t,{...i,index:s++}).then(c=>{r[i.face]=c});o.push(_)}return await Promise.all(o),r}async function Vt(e,t={}){let r=await Ho(e,t);return await I(r,P.parse,t)}var Xo={name:"Basis Universal Supercompressed GPU Texture",id:"ktx2-basis-writer",module:"textures",version:m,extensions:["ktx2"],worker:!0,options:{useSRGB:!1,qualityLevel:10,encodeUASTC:!1,mipmaps:!1}};return sr(v);})();
|
|
9
|
+
return __exports__;
|
|
10
|
+
});
|
package/dist/index.cjs
CHANGED
|
@@ -17,9 +17,9 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
|
-
//
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
20
|
+
// dist/index.js
|
|
21
|
+
var dist_exports = {};
|
|
22
|
+
__export(dist_exports, {
|
|
23
23
|
BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
|
|
24
24
|
BasisLoader: () => BasisLoader,
|
|
25
25
|
BasisWorkerLoader: () => BasisWorkerLoader,
|
|
@@ -40,12 +40,12 @@ __export(src_exports, {
|
|
|
40
40
|
loadImageTextureCube: () => loadImageTextureCube,
|
|
41
41
|
selectSupportedBasisFormat: () => selectSupportedBasisFormat
|
|
42
42
|
});
|
|
43
|
-
module.exports = __toCommonJS(
|
|
43
|
+
module.exports = __toCommonJS(dist_exports);
|
|
44
44
|
|
|
45
|
-
//
|
|
46
|
-
var VERSION =
|
|
45
|
+
// dist/lib/utils/version.js
|
|
46
|
+
var VERSION = true ? "4.2.0-alpha.4" : "latest";
|
|
47
47
|
|
|
48
|
-
//
|
|
48
|
+
// dist/lib/parsers/basis-module-loader.js
|
|
49
49
|
var import_worker_utils = require("@loaders.gl/worker-utils");
|
|
50
50
|
var BASIS_EXTERNAL_LIBRARIES = {
|
|
51
51
|
/** Basis transcoder, javascript wrapper part */
|
|
@@ -122,7 +122,7 @@ function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
|
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
//
|
|
125
|
+
// dist/lib/gl-extensions.js
|
|
126
126
|
var GL_EXTENSIONS_CONSTANTS = {
|
|
127
127
|
// WEBGL_compressed_texture_s3tc
|
|
128
128
|
COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
|
|
@@ -192,7 +192,7 @@ var GL_EXTENSIONS_CONSTANTS = {
|
|
|
192
192
|
COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
|
|
193
193
|
};
|
|
194
194
|
|
|
195
|
-
//
|
|
195
|
+
// dist/lib/utils/texture-formats.js
|
|
196
196
|
var BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
|
|
197
197
|
var WEBGL_EXTENSIONS = {
|
|
198
198
|
/* eslint-disable camelcase */
|
|
@@ -231,10 +231,10 @@ function getWebGLContext() {
|
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
233
|
|
|
234
|
-
//
|
|
234
|
+
// dist/lib/parsers/parse-ktx.js
|
|
235
235
|
var import_ktx_parse = require("ktx-parse");
|
|
236
236
|
|
|
237
|
-
//
|
|
237
|
+
// dist/lib/utils/extract-mipmap-images.js
|
|
238
238
|
function extractMipmapImages(data, options) {
|
|
239
239
|
const images = new Array(options.mipMapLevels);
|
|
240
240
|
let levelWidth = options.width;
|
|
@@ -270,7 +270,7 @@ function getLevelSize(options, levelWidth, levelHeight, data, index) {
|
|
|
270
270
|
return options.sizeFunction(data[index]);
|
|
271
271
|
}
|
|
272
272
|
|
|
273
|
-
//
|
|
273
|
+
// dist/lib/utils/ktx-format-helper.js
|
|
274
274
|
var VULKAN_TO_WEBGL_FORMAT_MAP = {
|
|
275
275
|
131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
|
|
276
276
|
132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
|
|
@@ -385,7 +385,7 @@ function mapVkFormatToWebGL(vkFormat) {
|
|
|
385
385
|
return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
-
//
|
|
388
|
+
// dist/lib/parsers/parse-ktx.js
|
|
389
389
|
var KTX2_ID = [
|
|
390
390
|
// '´', 'K', 'T', 'X', '2', '0', 'ª', '\r', '\n', '\x1A', '\n'
|
|
391
391
|
171,
|
|
@@ -433,7 +433,7 @@ function parseKTX(arrayBuffer) {
|
|
|
433
433
|
});
|
|
434
434
|
}
|
|
435
435
|
|
|
436
|
-
//
|
|
436
|
+
// dist/lib/parsers/parse-basis.js
|
|
437
437
|
var OutputFormat = {
|
|
438
438
|
etc1: {
|
|
439
439
|
basisFormat: 0,
|
|
@@ -569,12 +569,7 @@ function parseKTX2File(KTX2File, data, options) {
|
|
|
569
569
|
function transcodeKTX2Image(ktx2File, levelIndex, options) {
|
|
570
570
|
const { alphaFlag, height, width } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
|
|
571
571
|
const { compressed, format, basisFormat } = getBasisOptions(options, alphaFlag);
|
|
572
|
-
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(
|
|
573
|
-
levelIndex,
|
|
574
|
-
0,
|
|
575
|
-
0,
|
|
576
|
-
basisFormat
|
|
577
|
-
);
|
|
572
|
+
const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
|
|
578
573
|
const decodedData = new Uint8Array(decodedSize);
|
|
579
574
|
if (!ktx2File.transcodeImage(
|
|
580
575
|
decodedData,
|
|
@@ -634,7 +629,7 @@ function selectSupportedBasisFormat() {
|
|
|
634
629
|
return "rgb565";
|
|
635
630
|
}
|
|
636
631
|
|
|
637
|
-
//
|
|
632
|
+
// dist/basis-loader.js
|
|
638
633
|
var BasisWorkerLoader = {
|
|
639
634
|
name: "Basis",
|
|
640
635
|
id: "basis",
|
|
@@ -662,7 +657,7 @@ var BasisLoader = {
|
|
|
662
657
|
parse: parseBasis
|
|
663
658
|
};
|
|
664
659
|
|
|
665
|
-
//
|
|
660
|
+
// dist/lib/parsers/parse-dds.js
|
|
666
661
|
var import_loader_utils = require("@loaders.gl/loader-utils");
|
|
667
662
|
var DDS_CONSTANTS = {
|
|
668
663
|
MAGIC_NUMBER: 542327876,
|
|
@@ -705,10 +700,7 @@ function isDDS(data) {
|
|
|
705
700
|
function parseDDS(data) {
|
|
706
701
|
const header = new Int32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);
|
|
707
702
|
const pixelFormatNumber = header[DDS_CONSTANTS.HEADER_PF_FOURCC_INDEX];
|
|
708
|
-
(0, import_loader_utils.assert)(
|
|
709
|
-
Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC),
|
|
710
|
-
"DDS: Unsupported format, must contain a FourCC code"
|
|
711
|
-
);
|
|
703
|
+
(0, import_loader_utils.assert)(Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC), "DDS: Unsupported format, must contain a FourCC code");
|
|
712
704
|
const fourCC = int32ToFourCC(pixelFormatNumber);
|
|
713
705
|
const internalFormat = DDS_PIXEL_FORMATS[fourCC];
|
|
714
706
|
const sizeFunction = DDS_SIZE_FUNCTIONS[fourCC];
|
|
@@ -736,15 +728,10 @@ function getDxtXLevelSize(width, height) {
|
|
|
736
728
|
return (width + 3 >> 2) * (height + 3 >> 2) * 16;
|
|
737
729
|
}
|
|
738
730
|
function int32ToFourCC(value) {
|
|
739
|
-
return String.fromCharCode(
|
|
740
|
-
value & 255,
|
|
741
|
-
value >> 8 & 255,
|
|
742
|
-
value >> 16 & 255,
|
|
743
|
-
value >> 24 & 255
|
|
744
|
-
);
|
|
731
|
+
return String.fromCharCode(value & 255, value >> 8 & 255, value >> 16 & 255, value >> 24 & 255);
|
|
745
732
|
}
|
|
746
733
|
|
|
747
|
-
//
|
|
734
|
+
// dist/lib/parsers/parse-pvr.js
|
|
748
735
|
var PVR_CONSTANTS = {
|
|
749
736
|
MAGIC_NUMBER: 55727696,
|
|
750
737
|
MAGIC_NUMBER_EXTRA: 1347834371,
|
|
@@ -939,7 +926,7 @@ function atc12x12Size(width, height) {
|
|
|
939
926
|
return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;
|
|
940
927
|
}
|
|
941
928
|
|
|
942
|
-
//
|
|
929
|
+
// dist/lib/parsers/parse-compressed-texture.js
|
|
943
930
|
function parseCompressedTexture(data) {
|
|
944
931
|
if (isKTX(data)) {
|
|
945
932
|
return parseKTX(data);
|
|
@@ -953,7 +940,7 @@ function parseCompressedTexture(data) {
|
|
|
953
940
|
throw new Error("Texture container format not recognized");
|
|
954
941
|
}
|
|
955
942
|
|
|
956
|
-
//
|
|
943
|
+
// dist/compressed-texture-loader.js
|
|
957
944
|
var CompressedTextureWorkerLoader = {
|
|
958
945
|
name: "Texture Containers",
|
|
959
946
|
id: "compressed-texture",
|
|
@@ -1005,7 +992,7 @@ var CompressedTextureLoader = {
|
|
|
1005
992
|
}
|
|
1006
993
|
};
|
|
1007
994
|
|
|
1008
|
-
//
|
|
995
|
+
// dist/crunch-loader.js
|
|
1009
996
|
var CrunchLoader = {
|
|
1010
997
|
id: "crunch",
|
|
1011
998
|
name: "Crunch",
|
|
@@ -1022,7 +1009,7 @@ var CrunchLoader = {
|
|
|
1022
1009
|
}
|
|
1023
1010
|
};
|
|
1024
1011
|
|
|
1025
|
-
//
|
|
1012
|
+
// dist/lib/parsers/parse-npy.js
|
|
1026
1013
|
var a = new Uint32Array([305419896]);
|
|
1027
1014
|
var b = new Uint8Array(a.buffer, a.byteOffset, a.byteLength);
|
|
1028
1015
|
var isLittleEndian = !(b[0] === 18);
|
|
@@ -1076,13 +1063,11 @@ function parseHeader(view) {
|
|
|
1076
1063
|
const headerArray = new Uint8Array(view.buffer, offset, headerLength);
|
|
1077
1064
|
const headerText = decoder.decode(headerArray);
|
|
1078
1065
|
offset += headerLength;
|
|
1079
|
-
const header = JSON.parse(
|
|
1080
|
-
headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]")
|
|
1081
|
-
);
|
|
1066
|
+
const header = JSON.parse(headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]"));
|
|
1082
1067
|
return { header, headerEndOffset: offset };
|
|
1083
1068
|
}
|
|
1084
1069
|
|
|
1085
|
-
//
|
|
1070
|
+
// dist/npy-loader.js
|
|
1086
1071
|
var NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);
|
|
1087
1072
|
var NPYWorkerLoader = {
|
|
1088
1073
|
name: "NPY",
|
|
@@ -1103,14 +1088,14 @@ var NPYLoader = {
|
|
|
1103
1088
|
parse: async (arrayBuffer, options) => parseNPY(arrayBuffer, options)
|
|
1104
1089
|
};
|
|
1105
1090
|
|
|
1106
|
-
//
|
|
1091
|
+
// dist/lib/parsers/crunch-module-loader.js
|
|
1107
1092
|
var import_worker_utils2 = require("@loaders.gl/worker-utils");
|
|
1108
1093
|
var CRUNCH_EXTERNAL_LIBRARIES = {
|
|
1109
1094
|
/** Crunch decoder library. It is used as dynamically imported script */
|
|
1110
1095
|
DECODER: "crunch.js"
|
|
1111
1096
|
};
|
|
1112
1097
|
|
|
1113
|
-
//
|
|
1098
|
+
// dist/lib/encoders/encode-texture.js
|
|
1114
1099
|
var import_worker_utils3 = require("@loaders.gl/worker-utils");
|
|
1115
1100
|
async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
|
|
1116
1101
|
const args = [
|
|
@@ -1136,7 +1121,7 @@ async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options
|
|
|
1136
1121
|
return outputUrl;
|
|
1137
1122
|
}
|
|
1138
1123
|
|
|
1139
|
-
//
|
|
1124
|
+
// dist/compressed-texture-writer.js
|
|
1140
1125
|
var CompressedTextureWriter = {
|
|
1141
1126
|
name: "DDS Texture Container",
|
|
1142
1127
|
id: "dds",
|
|
@@ -1159,14 +1144,9 @@ var CompressedTextureWriter = {
|
|
|
1159
1144
|
}
|
|
1160
1145
|
};
|
|
1161
1146
|
|
|
1162
|
-
//
|
|
1147
|
+
// dist/lib/encoders/encode-ktx2-basis-texture.js
|
|
1163
1148
|
async function encodeKTX2BasisTexture(image, options = {}) {
|
|
1164
|
-
const {
|
|
1165
|
-
useSRGB = false,
|
|
1166
|
-
qualityLevel = 10,
|
|
1167
|
-
encodeUASTC = false,
|
|
1168
|
-
mipmaps = false
|
|
1169
|
-
} = (options == null ? void 0 : options["ktx2-basis-writer"]) || {};
|
|
1149
|
+
const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = (options == null ? void 0 : options["ktx2-basis-writer"]) || {};
|
|
1170
1150
|
const { BasisEncoder } = await loadBasisEncoderModule(options);
|
|
1171
1151
|
const basisEncoder = new BasisEncoder();
|
|
1172
1152
|
try {
|
|
@@ -1191,7 +1171,7 @@ async function encodeKTX2BasisTexture(image, options = {}) {
|
|
|
1191
1171
|
}
|
|
1192
1172
|
}
|
|
1193
1173
|
|
|
1194
|
-
//
|
|
1174
|
+
// dist/ktx2-basis-writer.js
|
|
1195
1175
|
var KTX2BasisWriter = {
|
|
1196
1176
|
name: "Basis Universal Supercompressed GPU Texture",
|
|
1197
1177
|
id: "ktx2-basis-writer",
|
|
@@ -1209,11 +1189,11 @@ var KTX2BasisWriter = {
|
|
|
1209
1189
|
encode: encodeKTX2BasisTexture
|
|
1210
1190
|
};
|
|
1211
1191
|
|
|
1212
|
-
//
|
|
1192
|
+
// dist/lib/texture-api/load-image.js
|
|
1213
1193
|
var import_loader_utils3 = require("@loaders.gl/loader-utils");
|
|
1214
1194
|
var import_images = require("@loaders.gl/images");
|
|
1215
1195
|
|
|
1216
|
-
//
|
|
1196
|
+
// dist/lib/texture-api/generate-url.js
|
|
1217
1197
|
var import_loader_utils2 = require("@loaders.gl/loader-utils");
|
|
1218
1198
|
function generateUrl(getUrl, options, urlOptions) {
|
|
1219
1199
|
let url = typeof getUrl === "function" ? getUrl({ ...options, ...urlOptions }) : getUrl;
|
|
@@ -1224,7 +1204,7 @@ function generateUrl(getUrl, options, urlOptions) {
|
|
|
1224
1204
|
return (0, import_loader_utils2.resolvePath)(url);
|
|
1225
1205
|
}
|
|
1226
1206
|
|
|
1227
|
-
//
|
|
1207
|
+
// dist/lib/texture-api/async-deep-map.js
|
|
1228
1208
|
var isObject = (value) => value && typeof value === "object";
|
|
1229
1209
|
async function asyncDeepMap(tree, func, options = {}) {
|
|
1230
1210
|
return await mapSubtree(tree, func, options);
|
|
@@ -1257,7 +1237,7 @@ async function mapArray(urlArray, func, options = {}) {
|
|
|
1257
1237
|
return await Promise.all(promises);
|
|
1258
1238
|
}
|
|
1259
1239
|
|
|
1260
|
-
//
|
|
1240
|
+
// dist/lib/texture-api/deep-load.js
|
|
1261
1241
|
async function deepLoad(urlTree, load, options) {
|
|
1262
1242
|
return await asyncDeepMap(urlTree, (url) => shallowLoad(url, load, options));
|
|
1263
1243
|
}
|
|
@@ -1267,7 +1247,7 @@ async function shallowLoad(url, load, options) {
|
|
|
1267
1247
|
return await load(arrayBuffer, options);
|
|
1268
1248
|
}
|
|
1269
1249
|
|
|
1270
|
-
//
|
|
1250
|
+
// dist/lib/texture-api/load-image.js
|
|
1271
1251
|
async function loadImageTexture(getUrl, options = {}) {
|
|
1272
1252
|
const imageUrls = await getImageUrls(getUrl, options);
|
|
1273
1253
|
return await deepLoad(imageUrls, import_images.ImageLoader.parse, options);
|
|
@@ -1296,7 +1276,7 @@ function getMipLevels(size) {
|
|
|
1296
1276
|
return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
|
|
1297
1277
|
}
|
|
1298
1278
|
|
|
1299
|
-
//
|
|
1279
|
+
// dist/lib/texture-api/load-image-array.js
|
|
1300
1280
|
var import_images2 = require("@loaders.gl/images");
|
|
1301
1281
|
async function loadImageTextureArray(count, getUrl, options = {}) {
|
|
1302
1282
|
const imageUrls = await getImageArrayUrls(count, getUrl, options);
|
|
@@ -1311,7 +1291,7 @@ async function getImageArrayUrls(count, getUrl, options = {}) {
|
|
|
1311
1291
|
return await Promise.all(promises);
|
|
1312
1292
|
}
|
|
1313
1293
|
|
|
1314
|
-
//
|
|
1294
|
+
// dist/lib/texture-api/load-image-cube.js
|
|
1315
1295
|
var import_images3 = require("@loaders.gl/images");
|
|
1316
1296
|
var GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069;
|
|
1317
1297
|
var GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070;
|
|
@@ -1346,7 +1326,7 @@ async function loadImageTextureCube(getUrl, options = {}) {
|
|
|
1346
1326
|
return await deepLoad(urls, import_images3.ImageLoader.parse, options);
|
|
1347
1327
|
}
|
|
1348
1328
|
|
|
1349
|
-
//
|
|
1329
|
+
// dist/index.js
|
|
1350
1330
|
var KTX2BasisWriterWorker = {
|
|
1351
1331
|
name: "Basis Universal Supercompressed GPU Texture",
|
|
1352
1332
|
id: "ktx2-basis-writer",
|
|
@@ -1361,3 +1341,4 @@ var KTX2BasisWriterWorker = {
|
|
|
1361
1341
|
mipmaps: false
|
|
1362
1342
|
}
|
|
1363
1343
|
};
|
|
1344
|
+
//# sourceMappingURL=index.cjs.map
|