@luma.gl/gltf 9.1.0-beta.8 → 9.2.0-alpha.1

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/dist.dev.js CHANGED
@@ -4,6 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['luma'] = factory();
6
6
  else root['luma'] = factory();})(globalThis, function () {
7
+ "use strict";
7
8
  var __exports__ = (() => {
8
9
  var __create = Object.create;
9
10
  var __defProp = Object.defineProperty;
@@ -74,8 +75,8 @@ var __exports__ = (() => {
74
75
  const parsedMaterial = {
75
76
  defines: {
76
77
  // TODO: Use EXT_sRGB if available (Standard in WebGL 2.0)
77
- MANUAL_SRGB: 1,
78
- SRGB_FAST_APPROXIMATION: 1
78
+ MANUAL_SRGB: true,
79
+ SRGB_FAST_APPROXIMATION: true
79
80
  },
80
81
  bindings: {},
81
82
  uniforms: {
@@ -89,7 +90,7 @@ var __exports__ = (() => {
89
90
  glParameters: {},
90
91
  generatedTextures: []
91
92
  };
92
- parsedMaterial.defines.USE_TEX_LOD = 1;
93
+ parsedMaterial.defines.USE_TEX_LOD = true;
93
94
  const { imageBasedLightingEnvironment } = options;
94
95
  if (imageBasedLightingEnvironment) {
95
96
  parsedMaterial.bindings.pbr_diffuseEnvSampler = imageBasedLightingEnvironment.diffuseEnvSampler.texture;
@@ -98,20 +99,20 @@ var __exports__ = (() => {
98
99
  parsedMaterial.uniforms.scaleIBLAmbient = [1, 1];
99
100
  }
100
101
  if (options?.pbrDebug) {
101
- parsedMaterial.defines.PBR_DEBUG = 1;
102
+ parsedMaterial.defines.PBR_DEBUG = true;
102
103
  parsedMaterial.uniforms.scaleDiffBaseMR = [0, 0, 0, 0];
103
104
  parsedMaterial.uniforms.scaleFGDSpec = [0, 0, 0, 0];
104
105
  }
105
106
  if (attributes.NORMAL)
106
- parsedMaterial.defines.HAS_NORMALS = 1;
107
+ parsedMaterial.defines.HAS_NORMALS = true;
107
108
  if (attributes.TANGENT && options?.useTangents)
108
- parsedMaterial.defines.HAS_TANGENTS = 1;
109
+ parsedMaterial.defines.HAS_TANGENTS = true;
109
110
  if (attributes.TEXCOORD_0)
110
- parsedMaterial.defines.HAS_UV = 1;
111
+ parsedMaterial.defines.HAS_UV = true;
111
112
  if (options?.imageBasedLightingEnvironment)
112
- parsedMaterial.defines.USE_IBL = 1;
113
+ parsedMaterial.defines.USE_IBL = true;
113
114
  if (options?.lights)
114
- parsedMaterial.defines.USE_LIGHTS = 1;
115
+ parsedMaterial.defines.USE_LIGHTS = true;
115
116
  if (material) {
116
117
  parseMaterial(device, material, parsedMaterial);
117
118
  }
@@ -157,7 +158,7 @@ var __exports__ = (() => {
157
158
  switch (material.alphaMode) {
158
159
  case "MASK":
159
160
  const { alphaCutoff = 0.5 } = material;
160
- parsedMaterial.defines.ALPHA_CUTOFF = 1;
161
+ parsedMaterial.defines.ALPHA_CUTOFF = true;
161
162
  parsedMaterial.uniforms.alphaCutoff = alphaCutoff;
162
163
  break;
163
164
  case "BLEND":
@@ -202,7 +203,7 @@ var __exports__ = (() => {
202
203
  const { metallicFactor = 1, roughnessFactor = 1 } = pbrMetallicRoughness;
203
204
  parsedMaterial.uniforms.metallicRoughnessValues = [metallicFactor, roughnessFactor];
204
205
  }
205
- function addTexture(device, gltfTexture, uniformName, define = null, parsedMaterial) {
206
+ function addTexture(device, gltfTexture, uniformName, define, parsedMaterial) {
206
207
  const parameters = gltfTexture?.texture?.sampler?.parameters || {};
207
208
  const image = gltfTexture.texture.source.image;
208
209
  let textureOptions;
@@ -228,7 +229,7 @@ var __exports__ = (() => {
228
229
  });
229
230
  parsedMaterial.bindings[uniformName] = texture;
230
231
  if (define)
231
- parsedMaterial.defines[define] = 1;
232
+ parsedMaterial.defines[define] = true;
232
233
  parsedMaterial.generatedTextures.push(texture);
233
234
  }
234
235
 
@@ -277,7 +278,7 @@ var __exports__ = (() => {
277
278
  }
278
279
 
279
280
  // ../../node_modules/@loaders.gl/images/dist/lib/utils/version.js
280
- var VERSION = true ? "4.2.1" : "latest";
281
+ var VERSION = true ? "4.2.3" : "latest";
281
282
 
282
283
  // ../../node_modules/@loaders.gl/images/dist/lib/category-api/image-type.js
283
284
  var parseImageNode = globalThis.loaders?.parseImageNode;
@@ -774,10 +775,10 @@ var __exports__ = (() => {
774
775
  const brdfLutTexture = new import_engine.AsyncTexture(device, {
775
776
  id: "brdfLUT",
776
777
  sampler: {
777
- wrapS: "clamp-to-edge",
778
- wrapT: "clamp-to-edge",
778
+ addressModeU: "clamp-to-edge",
779
+ addressModeV: "clamp-to-edge",
779
780
  minFilter: "linear",
780
- maxFilter: "linear"
781
+ magFilter: "linear"
781
782
  },
782
783
  // Texture accepts a promise that returns an image as data (Async Textures)
783
784
  data: loadImageTexture(props.brdfLutUrl)
@@ -786,10 +787,10 @@ var __exports__ = (() => {
786
787
  id: "DiffuseEnvSampler",
787
788
  getTextureForFace: (dir) => loadImageTexture(props.getTexUrl("diffuse", dir, 0)),
788
789
  sampler: {
789
- wrapS: "clamp-to-edge",
790
- wrapT: "clamp-to-edge",
790
+ addressModeU: "clamp-to-edge",
791
+ addressModeV: "clamp-to-edge",
791
792
  minFilter: "linear",
792
- maxFilter: "linear"
793
+ magFilter: "linear"
793
794
  }
794
795
  });
795
796
  const specularEnvSampler = makeCube(device, {
@@ -802,11 +803,11 @@ var __exports__ = (() => {
802
803
  return imageArray;
803
804
  },
804
805
  sampler: {
805
- wrapS: "clamp-to-edge",
806
- wrapT: "clamp-to-edge",
806
+ addressModeU: "clamp-to-edge",
807
+ addressModeV: "clamp-to-edge",
807
808
  minFilter: "linear",
808
809
  // [GL.TEXTURE_MIN_FILTER]: GL.LINEAR_MIPMAP_LINEAR,
809
- maxFilter: "linear"
810
+ magFilter: "linear"
810
811
  }
811
812
  });
812
813
  return {
@@ -3429,7 +3430,7 @@ var __exports__ = (() => {
3429
3430
  5126: Float32Array
3430
3431
  };
3431
3432
  var GLTFAnimation = class {
3432
- name;
3433
+ name = "unnamed";
3433
3434
  startTime = 0;
3434
3435
  playing = true;
3435
3436
  speed = 1;
@@ -3484,7 +3485,11 @@ var __exports__ = (() => {
3484
3485
  const components = ATTRIBUTE_TYPE_TO_COMPONENTS[accessor.type];
3485
3486
  const length4 = components * accessor.count;
3486
3487
  const { buffer, byteOffset } = accessor.bufferView.data;
3487
- const array = new ArrayType(buffer, byteOffset + (accessor.byteOffset || 0), length4);
3488
+ const array = new ArrayType(
3489
+ buffer,
3490
+ byteOffset + (accessor.byteOffset || 0),
3491
+ length4
3492
+ );
3488
3493
  if (components === 1) {
3489
3494
  accessor._animation = Array.from(array);
3490
3495
  } else {
@@ -3693,7 +3698,7 @@ layout(0) positions: vec4; // in vec4 POSITION;
3693
3698
  `
3694
3699
  );
3695
3700
  function createGLTFModel(device, options) {
3696
- const { id, geometry, material, vertexCount, materialOptions, modelOptions } = options;
3701
+ const { id, geometry, material, vertexCount, materialOptions, modelOptions = {} } = options;
3697
3702
  const parsedMaterial = parsePBRMaterial(device, material, geometry.attributes, materialOptions);
3698
3703
  import_core4.log.info(4, "createGLTFModel defines: ", parsedMaterial.defines)();
3699
3704
  const managedResources = [];
@@ -3749,7 +3754,7 @@ layout(0) positions: vec4; // in vec4 POSITION;
3749
3754
  var DEFAULT_OPTIONS = {
3750
3755
  modelOptions: {},
3751
3756
  pbrDebug: false,
3752
- imageBasedLightingEnvironment: null,
3757
+ imageBasedLightingEnvironment: void 0,
3753
3758
  lights: true,
3754
3759
  useTangents: false
3755
3760
  };
package/dist/dist.min.js CHANGED
@@ -4,7 +4,7 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['luma'] = factory();
6
6
  else root['luma'] = factory();})(globalThis, function () {
7
- var __exports__=(()=>{var we=Object.create;var it=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var Re=Object.getOwnPropertyNames;var Le=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var Ot=(n,t)=>()=>(t||n((t={exports:{}}).exports,t),t.exports),_e=(n,t)=>{for(var e in t)it(n,e,{get:t[e],enumerable:!0})},st=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Re(t))!Ne.call(n,s)&&s!==e&&it(n,s,{get:()=>t[s],enumerable:!(r=Oe(t,s))||r.enumerable});return n},ct=(n,t,e)=>(st(n,t,"default"),e&&st(e,t,"default")),C=(n,t,e)=>(e=n!=null?we(Le(n)):{},st(t||!n||!n.__esModule?it(e,"default",{value:n,enumerable:!0}):e,n)),Ie=n=>st(it({},"__esModule",{value:!0}),n);var j=Ot((Gr,Kt)=>{Kt.exports=globalThis.luma});var at=Ot((Xr,Zt)=>{Zt.exports=globalThis.luma});var ge=Ot((Zi,de)=>{de.exports=globalThis.luma});var rt={};_e(rt,{GLTFAnimator:()=>G,createScenegraphsFromGLTF:()=>Se,loadPBREnvironment:()=>Mn,parsePBRMaterial:()=>ot});ct(rt,C(j(),1));var Qt=C(j(),1),z;(function(n){n[n.FUNC_ADD=32774]="FUNC_ADD",n[n.ONE=1]="ONE",n[n.SRC_ALPHA=770]="SRC_ALPHA",n[n.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",n[n.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",n[n.LINEAR=9729]="LINEAR",n[n.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",n[n.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL"})(z||(z={}));function ot(n,t,e,r){let s={defines:{MANUAL_SRGB:1,SRGB_FAST_APPROXIMATION:1},bindings:{},uniforms:{camera:[0,0,0],metallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};s.defines.USE_TEX_LOD=1;let{imageBasedLightingEnvironment:i}=r;return i&&(s.bindings.pbr_diffuseEnvSampler=i.diffuseEnvSampler.texture,s.bindings.pbr_specularEnvSampler=i.specularEnvSampler.texture,s.bindings.pbr_BrdfLUT=i.brdfLutTexture.texture,s.uniforms.scaleIBLAmbient=[1,1]),r?.pbrDebug&&(s.defines.PBR_DEBUG=1,s.uniforms.scaleDiffBaseMR=[0,0,0,0],s.uniforms.scaleFGDSpec=[0,0,0,0]),e.NORMAL&&(s.defines.HAS_NORMALS=1),e.TANGENT&&r?.useTangents&&(s.defines.HAS_TANGENTS=1),e.TEXCOORD_0&&(s.defines.HAS_UV=1),r?.imageBasedLightingEnvironment&&(s.defines.USE_IBL=1),r?.lights&&(s.defines.USE_LIGHTS=1),t&&Pe(n,t,s),s}function Pe(n,t,e){if(e.uniforms.unlit=Boolean(t.unlit),t.pbrMetallicRoughness&&ve(n,t.pbrMetallicRoughness,e),t.normalTexture){K(n,t.normalTexture,"pbr_normalSampler","HAS_NORMALMAP",e);let{scale:r=1}=t.normalTexture;e.uniforms.normalScale=r}if(t.occlusionTexture){K(n,t.occlusionTexture,"pbr_occlusionSampler","HAS_OCCLUSIONMAP",e);let{strength:r=1}=t.occlusionTexture;e.uniforms.occlusionStrength=r}switch(t.emissiveTexture&&(K(n,t.emissiveTexture,"pbr_emissiveSampler","HAS_EMISSIVEMAP",e),e.uniforms.emissiveFactor=t.emissiveFactor||[0,0,0]),t.alphaMode){case"MASK":let{alphaCutoff:r=.5}=t;e.defines.ALPHA_CUTOFF=1,e.uniforms.alphaCutoff=r;break;case"BLEND":Qt.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),e.parameters.blendColorOperation="add",e.parameters.blendColorSrcFactor="src-alpha",e.parameters.blendColorDstFactor="one-minus-src-alpha",e.parameters.blendAlphaOperation="add",e.parameters.blendAlphaSrcFactor="one",e.parameters.blendAlphaDstFactor="one-minus-src-alpha",e.glParameters.blend=!0,e.glParameters.blendEquation=z.FUNC_ADD,e.glParameters.blendFunc=[z.SRC_ALPHA,z.ONE_MINUS_SRC_ALPHA,z.ONE,z.ONE_MINUS_SRC_ALPHA];break}}function ve(n,t,e){t.baseColorTexture&&K(n,t.baseColorTexture,"pbr_baseColorSampler","HAS_BASECOLORMAP",e),e.uniforms.baseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&K(n,t.metallicRoughnessTexture,"pbr_metallicRoughnessSampler","HAS_METALROUGHNESSMAP",e);let{metallicFactor:r=1,roughnessFactor:s=1}=t;e.uniforms.metallicRoughnessValues=[r,s]}function K(n,t,e,r=null,s){let i=t?.texture?.sampler?.parameters||{},c=t.texture.source.image,o,a={};c.compressed?(o=c,a={[z.TEXTURE_MIN_FILTER]:c.data.length>1?z.LINEAR_MIPMAP_NEAREST:z.LINEAR}):o={data:c};let f=n.createTexture({id:t.uniformName||t.id,parameters:{...i,...a},pixelStore:{[z.UNPACK_FLIP_Y_WEBGL]:!1},...o});s.bindings[e]=f,r&&(s.defines[r]=1),s.generatedTextures.push(f)}var zt=C(at(),1);function V(n,t){if(!n)throw new Error(t||"loader assertion failed.")}var b={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},ue=b.self||b.window||b.global||{},ke=b.window||b.self||b.global||{},ze=b.global||b.self||b.window||{},be=b.document||{};var Rt=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Jt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),qe=Jt&&parseFloat(Jt[1])||0;var Fe="",tn={};function Lt(n){for(let t in tn)if(n.startsWith(t)){let e=tn[t];n=n.replace(t,e)}return!n.startsWith("http://")&&!n.startsWith("https://")&&(n=`${Fe}${n}`),n}var nn="4.2.1";var Be=globalThis.loaders?.parseImageNode,Nt=typeof Image<"u",_t=typeof ImageBitmap<"u",Ce=Boolean(Be),It=Rt?!0:Ce;function en(n){switch(n){case"auto":return _t||Nt||It;case"imagebitmap":return _t;case"image":return Nt;case"data":return It;default:throw new Error(`@loaders.gl/images: image ${n} not supported in this environment`)}}function rn(){if(_t)return"imagebitmap";if(Nt)return"image";if(It)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function sn(n){let t=Ue(n);if(!t)throw new Error("Not an image");return t}function Pt(n){return ft(n)}function ft(n){switch(sn(n)){case"data":return n;case"image":case"imagebitmap":let t=document.createElement("canvas"),e=t.getContext("2d");if(!e)throw new Error("getImageData");return t.width=n.width,t.height=n.height,e.drawImage(n,0,0),e.getImageData(0,0,n.width,n.height);default:throw new Error("getImageData")}}function Ue(n){return typeof ImageBitmap<"u"&&n instanceof ImageBitmap?"imagebitmap":typeof Image<"u"&&n instanceof Image?"image":n&&typeof n=="object"&&n.data&&n.width&&n.height?"data":null}var Ve=/^data:image\/svg\+xml/,De=/\.svg((\?|#).*)?$/;function ht(n){return n&&(Ve.test(n)||De.test(n))}function cn(n,t){if(ht(t)){let r=new TextDecoder().decode(n);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(r=unescape(encodeURIComponent(r)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(r)}`}return vt(n,t)}function vt(n,t){if(ht(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(n)])}async function lt(n,t,e){let r=cn(n,e),s=self.URL||self.webkitURL,i=typeof r!="string"&&s.createObjectURL(r);try{return await Ye(i||r,t)}finally{i&&s.revokeObjectURL(i)}}async function Ye(n,t){let e=new Image;return e.src=n,t.image&&t.image.decode&&e.decode?(await e.decode(),e):await new Promise((r,s)=>{try{e.onload=()=>r(e),e.onerror=i=>{let c=i instanceof Error?i.message:"error";s(new Error(c))}}catch(i){s(i)}})}var $e={},on=!0;async function an(n,t,e){let r;ht(e)?r=await lt(n,t,e):r=vt(n,e);let s=t&&t.imagebitmap;return await We(r,s)}async function We(n,t=null){if((Ge(t)||!on)&&(t=null),t)try{return await createImageBitmap(n,t)}catch(e){console.warn(e),on=!1}return await createImageBitmap(n)}function Ge(n){for(let t in n||$e)return!1;return!0}function fn(n){return!Ke(n,"ftyp",4)||!(n[8]&96)?null:He(n)}function He(n){switch(Xe(n,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Xe(n,t,e){return String.fromCharCode(...n.slice(t,e))}function je(n){return[...n].map(t=>t.charCodeAt(0))}function Ke(n,t,e=0){let r=je(t);for(let s=0;s<r.length;++s)if(r[s]!==n[s+e])return!1;return!0}var q=!1,Q=!0;function pt(n){let t=Z(n);return Ze(t)||nr(t)||Je(t)||tr(t)||Qe(t)}function Qe(n){let t=new Uint8Array(n instanceof DataView?n.buffer:n),e=fn(t);return e?{mimeType:e.mimeType,width:0,height:0}:null}function Ze(n){let t=Z(n);return t.byteLength>=24&&t.getUint32(0,q)===2303741511?{mimeType:"image/png",width:t.getUint32(16,q),height:t.getUint32(20,q)}:null}function Je(n){let t=Z(n);return t.byteLength>=10&&t.getUint32(0,q)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Q),height:t.getUint16(8,Q)}:null}function tr(n){let t=Z(n);return t.byteLength>=14&&t.getUint16(0,q)===16973&&t.getUint32(2,Q)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Q),height:t.getUint32(22,Q)}:null}function nr(n){let t=Z(n);if(!(t.byteLength>=3&&t.getUint16(0,q)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:r,sofMarkers:s}=er(),i=2;for(;i+9<t.byteLength;){let c=t.getUint16(i,q);if(s.has(c))return{mimeType:"image/jpeg",height:t.getUint16(i+5,q),width:t.getUint16(i+7,q)};if(!r.has(c))return null;i+=2,i+=t.getUint16(i,q)}return null}function er(){let n=new Set([65499,65476,65484,65501,65534]);for(let e=65504;e<65520;++e)n.add(e);return{tableMarkers:n,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Z(n){if(n instanceof DataView)return n;if(ArrayBuffer.isView(n))return new DataView(n.buffer);if(n instanceof ArrayBuffer)return new DataView(n);throw new Error("toDataView")}async function hn(n,t){let{mimeType:e}=pt(n)||{},r=globalThis.loaders?.parseImageNode;return V(r),await r(n,e)}async function ln(n,t,e){t=t||{};let s=(t.image||{}).type||"auto",{url:i}=e||{},c=rr(s),o;switch(c){case"imagebitmap":o=await an(n,t,i);break;case"image":o=await lt(n,t,i);break;case"data":o=await hn(n,t);break;default:V(!1)}return s==="data"&&(o=ft(o)),o}function rr(n){switch(n){case"auto":case"data":return rn();default:return en(n),n}}var sr=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],ir=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],cr={image:{type:"auto",decode:!0}},xt={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:nn,mimeTypes:ir,extensions:sr,parse:ln,tests:[n=>Boolean(pt(new DataView(n)))],options:cr};function mt(n,t,e){let r=typeof n=="function"?n({...t,...e}):n,s=t.baseUrl;return s&&(r=s[s.length-1]==="/"?`${s}${r}`:`${s}/${r}`),Lt(r)}var or=n=>n&&typeof n=="object";async function pn(n,t,e={}){return await ut(n,t,e)}async function ut(n,t,e){return Array.isArray(n)?await fr(n,t,e):or(n)?await ar(n,t,e):await t(n,e)}async function ar(n,t,e){let r=[],s={};for(let i in n){let c=n[i],o=ut(c,t,e).then(a=>{s[i]=a});r.push(o)}return await Promise.all(r),s}async function fr(n,t,e={}){let r=n.map(s=>ut(s,t,e));return await Promise.all(r)}async function xn(n,t,e){return await pn(n,r=>kt(r,t,e))}async function kt(n,t,e){let s=await(await fetch(n,e.fetch)).arrayBuffer();return await t(s,e)}async function J(n,t={}){let e=await hr(n,t);return await xn(e,xt.parse,t)}async function hr(n,t,e={}){let r=t&&t.image&&t.image.mipLevels||0;return r!==0?await lr(n,r,t,e):mt(n,t,e)}async function lr(n,t,e,r){let s=[];if(t==="auto"){let i=mt(n,e,{...r,lod:0}),c=await kt(i,xt.parse,e),{width:o,height:a}=Pt(c);t=pr({width:o,height:a}),s.push(i)}V(t>0);for(let i=s.length;i<t;++i){let c=mt(n,e,{...r,lod:i});s.push(c)}return s}function pr(n){return 1+Math.floor(Math.log2(Math.max(n.width,n.height)))}function Mn(n,t){let e=new zt.AsyncTexture(n,{id:"brdfLUT",sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"},data:J(t.brdfLutUrl)}),r=mn(n,{id:"DiffuseEnvSampler",getTextureForFace:i=>J(t.getTexUrl("diffuse",i,0)),sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"}}),s=mn(n,{id:"SpecularEnvSampler",getTextureForFace:i=>{let c=[];for(let o=0;o<=t.specularMipLevels-1;o++)c.push(J(t.getTexUrl("specular",i,o)));return c},sampler:{wrapS:"clamp-to-edge",wrapT:"clamp-to-edge",minFilter:"linear",maxFilter:"linear"}});return{brdfLutTexture:e,diffuseEnvSampler:r,specularEnvSampler:s}}var xr=[0,1,2,3,4,5];function mn(n,{id:t,getTextureForFace:e,sampler:r}){let s={};return xr.forEach(i=>{s[String(i)]=e(i)}),new zt.AsyncTexture(n,{id:t,dimension:"cube",mipmaps:!1,sampler:r,data:s})}var H=C(at(),1);var Ks=1/Math.PI*180,Qs=1/180*Math.PI,mr={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...mr}};var R=globalThis.mathgl.config;function dn(n,{precision:t=R.precision}={}){return n=Mr(n),`${parseFloat(n.toPrecision(t))}`}function Y(n){return Array.isArray(n)||ArrayBuffer.isView(n)&&!(n instanceof DataView)}function bt(n,t,e){let r=R.EPSILON;e&&(R.EPSILON=e);try{if(n===t)return!0;if(Y(n)&&Y(t)){if(n.length!==t.length)return!1;for(let s=0;s<n.length;++s)if(!bt(n[s],t[s]))return!1;return!0}return n&&n.equals?n.equals(t):t&&t.equals?t.equals(n):typeof n=="number"&&typeof t=="number"?Math.abs(n-t)<=R.EPSILON*Math.max(1,Math.abs(n),Math.abs(t)):!1}finally{R.EPSILON=r}}function Mr(n){return Math.round(n/R.EPSILON)*R.EPSILON}var U=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,e=0){for(let r=0;r<this.ELEMENTS;++r)this[r]=t[r+e];return this.check()}toArray(t=[],e=0){for(let r=0;r<this.ELEMENTS;++r)t[e+r]=this[r];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Y(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(R)}formatString(t){let e="";for(let r=0;r<this.ELEMENTS;++r)e+=(r>0?", ":"")+dn(this[r],t);return`${t.printTypes?this.constructor.name:""}[${e}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e<this.ELEMENTS;++e)if(!bt(this[e],t[e]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let e=0;e<this.ELEMENTS;++e)if(this[e]!==t[e])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,e,r){if(r===void 0)return this.lerp(this,t,e);for(let s=0;s<this.ELEMENTS;++s){let i=t[s],c=typeof e=="number"?e:e[s];this[s]=i+r*(c-i)}return this.check()}min(t){for(let e=0;e<this.ELEMENTS;++e)this[e]=Math.min(t[e],this[e]);return this.check()}max(t){for(let e=0;e<this.ELEMENTS;++e)this[e]=Math.max(t[e],this[e]);return this.check()}clamp(t,e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(Math.max(this[r],t[r]),e[r]);return this.check()}add(...t){for(let e of t)for(let r=0;r<this.ELEMENTS;++r)this[r]+=e[r];return this.check()}subtract(...t){for(let e of t)for(let r=0;r<this.ELEMENTS;++r)this[r]-=e[r];return this.check()}scale(t){if(typeof t=="number")for(let e=0;e<this.ELEMENTS;++e)this[e]*=t;else for(let e=0;e<this.ELEMENTS&&e<t.length;++e)this[e]*=t[e];return this.check()}multiplyByScalar(t){for(let e=0;e<this.ELEMENTS;++e)this[e]*=t;return this.check()}check(){if(R.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let e=0;e<this.ELEMENTS;++e)t=t&&Number.isFinite(this[e]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let e=0;e<this.ELEMENTS;++e)this[e]=t;return this.check()}addScalar(t){for(let e=0;e<this.ELEMENTS;++e)this[e]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let e=0;e<this.ELEMENTS;++e)this[e]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,e){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(Math.max(this[r],t),e);return this.check()}get elements(){return this}};function dr(n,t){if(n.length!==t)return!1;for(let e=0;e<n.length;++e)if(!Number.isFinite(n[e]))return!1;return!0}function w(n){if(!Number.isFinite(n))throw new Error(`Invalid number ${JSON.stringify(n)}`);return n}function $(n,t,e=""){if(R.debug&&!dr(n,t))throw new Error(`math.gl: ${e} some fields set to invalid numbers'`);return n}function qt(n,t){if(!n)throw new Error(`math.gl assertion ${t}`)}var Mt=class extends U{get x(){return this[0]}set x(t){this[0]=w(t)}get y(){return this[1]}set y(t){this[1]=w(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let e=0;e<this.ELEMENTS;++e)t+=this[e]*this[e];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let e=0;for(let r=0;r<this.ELEMENTS;++r){let s=this[r]-t[r];e+=s*s}return w(e)}dot(t){let e=0;for(let r=0;r<this.ELEMENTS;++r)e+=this[r]*t[r];return w(e)}normalize(){let t=this.magnitude();if(t!==0)for(let e=0;e<this.ELEMENTS;++e)this[e]/=t;return this.check()}multiply(...t){for(let e of t)for(let r=0;r<this.ELEMENTS;++r)this[r]*=e[r];return this.check()}divide(...t){for(let e of t)for(let r=0;r<this.ELEMENTS;++r)this[r]/=e[r];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return qt(t>=0&&t<this.ELEMENTS,"index is out of range"),w(this[t])}setComponent(t,e){return qt(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=e,this.check()}addVectors(t,e){return this.copy(t).add(e)}subVectors(t,e){return this.copy(t).subtract(e)}multiplyVectors(t,e){return this.copy(t).multiply(e)}addScaledVector(t,e){return this.add(new this.constructor(t).multiplyScalar(e))}};var L=typeof Float32Array<"u"?Float32Array:Array;var ai=Math.PI/180;function gr(){let n=new L(2);return L!=Float32Array&&(n[0]=0,n[1]=0),n}function An(n,t,e){let r=t[0],s=t[1];return n[0]=e[0]*r+e[4]*s+e[12],n[1]=e[1]*r+e[5]*s+e[13],n}var fi=function(){let n=gr();return function(t,e,r,s,i,c){let o,a;for(e||(e=2),r||(r=0),s?a=Math.min(s*e+r,t.length):a=t.length,o=r;o<a;o+=e)n[0]=t[o],n[1]=t[o+1],i(n,n,c),t[o]=n[0],t[o+1]=n[1];return t}}();function Tn(n,t,e){let r=t[0],s=t[1],i=e[3]*r+e[7]*s||1;return n[0]=(e[0]*r+e[4]*s)/i,n[1]=(e[1]*r+e[5]*s)/i,n}function En(n,t,e){let r=t[0],s=t[1],i=t[2],c=e[3]*r+e[7]*s+e[11]*i||1;return n[0]=(e[0]*r+e[4]*s+e[8]*i)/c,n[1]=(e[1]*r+e[5]*s+e[9]*i)/c,n[2]=(e[2]*r+e[6]*s+e[10]*i)/c,n}function Sn(n,t,e){let r=t[0],s=t[1];return n[0]=e[0]*r+e[2]*s,n[1]=e[1]*r+e[3]*s,n[2]=t[2],n[3]=t[3],n}function wn(n,t,e){let r=t[0],s=t[1],i=t[2];return n[0]=e[0]*r+e[3]*s+e[6]*i,n[1]=e[1]*r+e[4]*s+e[7]*i,n[2]=e[2]*r+e[5]*s+e[8]*i,n[3]=t[3],n}function Ft(){let n=new L(3);return L!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n}function yr(n){let t=n[0],e=n[1],r=n[2];return Math.sqrt(t*t+e*e+r*r)}function Bt(n,t,e){let r=new L(3);return r[0]=n,r[1]=t,r[2]=e,r}function On(n,t){let e=t[0],r=t[1],s=t[2],i=e*e+r*r+s*s;return i>0&&(i=1/Math.sqrt(i)),n[0]=t[0]*i,n[1]=t[1]*i,n[2]=t[2]*i,n}function Rn(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function dt(n,t,e){let r=t[0],s=t[1],i=t[2],c=e[0],o=e[1],a=e[2];return n[0]=s*a-i*o,n[1]=i*c-r*a,n[2]=r*o-s*c,n}function gt(n,t,e){let r=t[0],s=t[1],i=t[2],c=e[3]*r+e[7]*s+e[11]*i+e[15];return c=c||1,n[0]=(e[0]*r+e[4]*s+e[8]*i+e[12])/c,n[1]=(e[1]*r+e[5]*s+e[9]*i+e[13])/c,n[2]=(e[2]*r+e[6]*s+e[10]*i+e[14])/c,n}function Ln(n,t,e){let r=e[0],s=e[1],i=e[2],c=e[3],o=t[0],a=t[1],f=t[2],h=s*f-i*a,p=i*o-r*f,l=r*a-s*o,x=s*l-i*p,m=i*h-r*l,M=r*p-s*h,d=c*2;return h*=d,p*=d,l*=d,x*=2,m*=2,M*=2,n[0]=o+h+x,n[1]=a+p+m,n[2]=f+l+M,n}var Nn=yr;var pi=function(){let n=Ft();return function(t,e,r,s,i,c){let o,a;for(e||(e=3),r||(r=0),s?a=Math.min(s*e+r,t.length):a=t.length,o=r;o<a;o+=e)n[0]=t[o],n[1]=t[o+1],n[2]=t[o+2],i(n,n,c),t[o]=n[0],t[o+1]=n[1],t[o+2]=n[2];return t}}();var yt,W=class extends Mt{static get ZERO(){return yt||(yt=new W(0,0,0,0),Object.freeze(yt)),yt}constructor(t=0,e=0,r=0,s=0){super(-0,-0,-0,-0),Y(t)&&arguments.length===1?this.copy(t):(R.debug&&(w(t),w(e),w(r),w(s)),this[0]=t,this[1]=e,this[2]=r,this[3]=s)}set(t,e,r,s){return this[0]=t,this[1]=e,this[2]=r,this[3]=s,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return R.debug&&(w(t.x),w(t.y),w(t.z),w(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=w(t)}get w(){return this[3]}set w(t){this[3]=w(t)}transform(t){return gt(this,this,t),this.check()}transformByMatrix3(t){return wn(this,this,t),this.check()}transformByMatrix2(t){return Sn(this,this,t),this.check()}transformByQuaternion(t){return Ln(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var At=class extends U{toString(){let t="[";if(R.printRowMajor){t+="row-major:";for(let e=0;e<this.RANK;++e)for(let r=0;r<this.RANK;++r)t+=` ${this[r*this.RANK+e]}`}else{t+="column-major:";for(let e=0;e<this.ELEMENTS;++e)t+=` ${this[e]}`}return t+="]",t}getElementIndex(t,e){return e*this.RANK+t}getElement(t,e){return this[e*this.RANK+t]}setElement(t,e,r){return this[e*this.RANK+t]=w(r),this}getColumn(t,e=new Array(this.RANK).fill(-0)){let r=t*this.RANK;for(let s=0;s<this.RANK;++s)e[s]=this[r+s];return e}setColumn(t,e){let r=t*this.RANK;for(let s=0;s<this.RANK;++s)this[r+s]=e[s];return this}};function _n(){let n=new L(9);return L!=Float32Array&&(n[1]=0,n[2]=0,n[3]=0,n[5]=0,n[6]=0,n[7]=0),n[0]=1,n[4]=1,n[8]=1,n}function Er(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function In(n,t){if(n===t){let e=t[1],r=t[2],s=t[3],i=t[6],c=t[7],o=t[11];n[1]=t[4],n[2]=t[8],n[3]=t[12],n[4]=e,n[6]=t[9],n[7]=t[13],n[8]=r,n[9]=i,n[11]=t[14],n[12]=s,n[13]=c,n[14]=o}else n[0]=t[0],n[1]=t[4],n[2]=t[8],n[3]=t[12],n[4]=t[1],n[5]=t[5],n[6]=t[9],n[7]=t[13],n[8]=t[2],n[9]=t[6],n[10]=t[10],n[11]=t[14],n[12]=t[3],n[13]=t[7],n[14]=t[11],n[15]=t[15];return n}function Pn(n,t){let e=t[0],r=t[1],s=t[2],i=t[3],c=t[4],o=t[5],a=t[6],f=t[7],h=t[8],p=t[9],l=t[10],x=t[11],m=t[12],M=t[13],d=t[14],E=t[15],O=e*o-r*c,g=e*a-s*c,y=e*f-i*c,A=r*a-s*o,T=r*f-i*o,N=s*f-i*a,_=h*M-p*m,I=h*d-l*m,P=h*E-x*m,v=p*d-l*M,u=p*E-x*M,k=l*E-x*d,S=O*k-g*u+y*v+A*P-T*I+N*_;return S?(S=1/S,n[0]=(o*k-a*u+f*v)*S,n[1]=(s*u-r*k-i*v)*S,n[2]=(M*N-d*T+E*A)*S,n[3]=(l*T-p*N-x*A)*S,n[4]=(a*P-c*k-f*I)*S,n[5]=(e*k-s*P+i*I)*S,n[6]=(d*y-m*N-E*g)*S,n[7]=(h*N-l*y+x*g)*S,n[8]=(c*u-o*P+f*_)*S,n[9]=(r*P-e*u-i*_)*S,n[10]=(m*T-M*y+E*O)*S,n[11]=(p*y-h*T-x*O)*S,n[12]=(o*I-c*v-a*_)*S,n[13]=(e*v-r*I+s*_)*S,n[14]=(M*g-m*A-d*O)*S,n[15]=(h*A-p*g+l*O)*S,n):null}function vn(n){let t=n[0],e=n[1],r=n[2],s=n[3],i=n[4],c=n[5],o=n[6],a=n[7],f=n[8],h=n[9],p=n[10],l=n[11],x=n[12],m=n[13],M=n[14],d=n[15],E=t*c-e*i,O=t*o-r*i,g=e*o-r*c,y=f*m-h*x,A=f*M-p*x,T=h*M-p*m,N=t*T-e*A+r*y,_=i*T-c*A+o*y,I=f*g-h*O+p*E,P=x*g-m*O+M*E;return a*N-s*_+d*I-l*P}function Ct(n,t,e){let r=t[0],s=t[1],i=t[2],c=t[3],o=t[4],a=t[5],f=t[6],h=t[7],p=t[8],l=t[9],x=t[10],m=t[11],M=t[12],d=t[13],E=t[14],O=t[15],g=e[0],y=e[1],A=e[2],T=e[3];return n[0]=g*r+y*o+A*p+T*M,n[1]=g*s+y*a+A*l+T*d,n[2]=g*i+y*f+A*x+T*E,n[3]=g*c+y*h+A*m+T*O,g=e[4],y=e[5],A=e[6],T=e[7],n[4]=g*r+y*o+A*p+T*M,n[5]=g*s+y*a+A*l+T*d,n[6]=g*i+y*f+A*x+T*E,n[7]=g*c+y*h+A*m+T*O,g=e[8],y=e[9],A=e[10],T=e[11],n[8]=g*r+y*o+A*p+T*M,n[9]=g*s+y*a+A*l+T*d,n[10]=g*i+y*f+A*x+T*E,n[11]=g*c+y*h+A*m+T*O,g=e[12],y=e[13],A=e[14],T=e[15],n[12]=g*r+y*o+A*p+T*M,n[13]=g*s+y*a+A*l+T*d,n[14]=g*i+y*f+A*x+T*E,n[15]=g*c+y*h+A*m+T*O,n}function un(n,t,e){let r=e[0],s=e[1],i=e[2],c,o,a,f,h,p,l,x,m,M,d,E;return t===n?(n[12]=t[0]*r+t[4]*s+t[8]*i+t[12],n[13]=t[1]*r+t[5]*s+t[9]*i+t[13],n[14]=t[2]*r+t[6]*s+t[10]*i+t[14],n[15]=t[3]*r+t[7]*s+t[11]*i+t[15]):(c=t[0],o=t[1],a=t[2],f=t[3],h=t[4],p=t[5],l=t[6],x=t[7],m=t[8],M=t[9],d=t[10],E=t[11],n[0]=c,n[1]=o,n[2]=a,n[3]=f,n[4]=h,n[5]=p,n[6]=l,n[7]=x,n[8]=m,n[9]=M,n[10]=d,n[11]=E,n[12]=c*r+h*s+m*i+t[12],n[13]=o*r+p*s+M*i+t[13],n[14]=a*r+l*s+d*i+t[14],n[15]=f*r+x*s+E*i+t[15]),n}function kn(n,t,e){let r=e[0],s=e[1],i=e[2];return n[0]=t[0]*r,n[1]=t[1]*r,n[2]=t[2]*r,n[3]=t[3]*r,n[4]=t[4]*s,n[5]=t[5]*s,n[6]=t[6]*s,n[7]=t[7]*s,n[8]=t[8]*i,n[9]=t[9]*i,n[10]=t[10]*i,n[11]=t[11]*i,n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15],n}function zn(n,t,e,r){let s=r[0],i=r[1],c=r[2],o=Math.sqrt(s*s+i*i+c*c),a,f,h,p,l,x,m,M,d,E,O,g,y,A,T,N,_,I,P,v,u,k,S,X;return o<1e-6?null:(o=1/o,s*=o,i*=o,c*=o,f=Math.sin(e),a=Math.cos(e),h=1-a,p=t[0],l=t[1],x=t[2],m=t[3],M=t[4],d=t[5],E=t[6],O=t[7],g=t[8],y=t[9],A=t[10],T=t[11],N=s*s*h+a,_=i*s*h+c*f,I=c*s*h-i*f,P=s*i*h-c*f,v=i*i*h+a,u=c*i*h+s*f,k=s*c*h+i*f,S=i*c*h-s*f,X=c*c*h+a,n[0]=p*N+M*_+g*I,n[1]=l*N+d*_+y*I,n[2]=x*N+E*_+A*I,n[3]=m*N+O*_+T*I,n[4]=p*P+M*v+g*u,n[5]=l*P+d*v+y*u,n[6]=x*P+E*v+A*u,n[7]=m*P+O*v+T*u,n[8]=p*k+M*S+g*X,n[9]=l*k+d*S+y*X,n[10]=x*k+E*S+A*X,n[11]=m*k+O*S+T*X,t!==n&&(n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n)}function bn(n,t,e){let r=Math.sin(e),s=Math.cos(e),i=t[4],c=t[5],o=t[6],a=t[7],f=t[8],h=t[9],p=t[10],l=t[11];return t!==n&&(n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[4]=i*s+f*r,n[5]=c*s+h*r,n[6]=o*s+p*r,n[7]=a*s+l*r,n[8]=f*s-i*r,n[9]=h*s-c*r,n[10]=p*s-o*r,n[11]=l*s-a*r,n}function qn(n,t,e){let r=Math.sin(e),s=Math.cos(e),i=t[0],c=t[1],o=t[2],a=t[3],f=t[8],h=t[9],p=t[10],l=t[11];return t!==n&&(n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[0]=i*s-f*r,n[1]=c*s-h*r,n[2]=o*s-p*r,n[3]=a*s-l*r,n[8]=i*r+f*s,n[9]=c*r+h*s,n[10]=o*r+p*s,n[11]=a*r+l*s,n}function Fn(n,t,e){let r=Math.sin(e),s=Math.cos(e),i=t[0],c=t[1],o=t[2],a=t[3],f=t[4],h=t[5],p=t[6],l=t[7];return t!==n&&(n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=t[12],n[13]=t[13],n[14]=t[14],n[15]=t[15]),n[0]=i*s+f*r,n[1]=c*s+h*r,n[2]=o*s+p*r,n[3]=a*s+l*r,n[4]=f*s-i*r,n[5]=h*s-c*r,n[6]=p*s-o*r,n[7]=l*s-a*r,n}function Bn(n,t){let e=t[0],r=t[1],s=t[2],i=t[3],c=e+e,o=r+r,a=s+s,f=e*c,h=r*c,p=r*o,l=s*c,x=s*o,m=s*a,M=i*c,d=i*o,E=i*a;return n[0]=1-p-m,n[1]=h+E,n[2]=l-d,n[3]=0,n[4]=h-E,n[5]=1-f-m,n[6]=x+M,n[7]=0,n[8]=l+d,n[9]=x-M,n[10]=1-f-p,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n}function Cn(n,t,e,r,s,i,c){let o=1/(e-t),a=1/(s-r),f=1/(i-c);return n[0]=i*2*o,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=i*2*a,n[6]=0,n[7]=0,n[8]=(e+t)*o,n[9]=(s+r)*a,n[10]=(c+i)*f,n[11]=-1,n[12]=0,n[13]=0,n[14]=c*i*2*f,n[15]=0,n}function Sr(n,t,e,r,s){let i=1/Math.tan(t/2);if(n[0]=i/e,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=i,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[11]=-1,n[12]=0,n[13]=0,n[15]=0,s!=null&&s!==1/0){let c=1/(r-s);n[10]=(s+r)*c,n[14]=2*s*r*c}else n[10]=-1,n[14]=-2*r;return n}var Un=Sr;function wr(n,t,e,r,s,i,c){let o=1/(t-e),a=1/(r-s),f=1/(i-c);return n[0]=-2*o,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=-2*a,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=2*f,n[11]=0,n[12]=(t+e)*o,n[13]=(s+r)*a,n[14]=(c+i)*f,n[15]=1,n}var Vn=wr;function Dn(n,t,e,r){let s,i,c,o,a,f,h,p,l,x,m=t[0],M=t[1],d=t[2],E=r[0],O=r[1],g=r[2],y=e[0],A=e[1],T=e[2];return Math.abs(m-y)<1e-6&&Math.abs(M-A)<1e-6&&Math.abs(d-T)<1e-6?Er(n):(p=m-y,l=M-A,x=d-T,s=1/Math.sqrt(p*p+l*l+x*x),p*=s,l*=s,x*=s,i=O*x-g*l,c=g*p-E*x,o=E*l-O*p,s=Math.sqrt(i*i+c*c+o*o),s?(s=1/s,i*=s,c*=s,o*=s):(i=0,c=0,o=0),a=l*o-x*c,f=x*i-p*o,h=p*c-l*i,s=Math.sqrt(a*a+f*f+h*h),s?(s=1/s,a*=s,f*=s,h*=s):(a=0,f=0,h=0),n[0]=i,n[1]=a,n[2]=p,n[3]=0,n[4]=c,n[5]=f,n[6]=l,n[7]=0,n[8]=o,n[9]=h,n[10]=x,n[11]=0,n[12]=-(i*m+c*M+o*d),n[13]=-(a*m+f*M+h*d),n[14]=-(p*m+l*M+x*d),n[15]=1,n)}function Or(){let n=new L(4);return L!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0,n[3]=0),n}function Yn(n,t,e){return n[0]=t[0]+e[0],n[1]=t[1]+e[1],n[2]=t[2]+e[2],n[3]=t[3]+e[3],n}function $n(n,t,e){return n[0]=t[0]*e,n[1]=t[1]*e,n[2]=t[2]*e,n[3]=t[3]*e,n}function Wn(n){let t=n[0],e=n[1],r=n[2],s=n[3];return Math.sqrt(t*t+e*e+r*r+s*s)}function Gn(n){let t=n[0],e=n[1],r=n[2],s=n[3];return t*t+e*e+r*r+s*s}function Hn(n,t){let e=t[0],r=t[1],s=t[2],i=t[3],c=e*e+r*r+s*s+i*i;return c>0&&(c=1/Math.sqrt(c)),n[0]=e*c,n[1]=r*c,n[2]=s*c,n[3]=i*c,n}function Xn(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function jn(n,t,e,r){let s=t[0],i=t[1],c=t[2],o=t[3];return n[0]=s+r*(e[0]-s),n[1]=i+r*(e[1]-i),n[2]=c+r*(e[2]-c),n[3]=o+r*(e[3]-o),n}function Kn(n,t,e){let r=t[0],s=t[1],i=t[2],c=t[3];return n[0]=e[0]*r+e[4]*s+e[8]*i+e[12]*c,n[1]=e[1]*r+e[5]*s+e[9]*i+e[13]*c,n[2]=e[2]*r+e[6]*s+e[10]*i+e[14]*c,n[3]=e[3]*r+e[7]*s+e[11]*i+e[15]*c,n}function Qn(n,t,e){let r=t[0],s=t[1],i=t[2],c=e[0],o=e[1],a=e[2],f=e[3],h=f*r+o*i-a*s,p=f*s+a*r-c*i,l=f*i+c*s-o*r,x=-c*r-o*s-a*i;return n[0]=h*f+x*-c+p*-a-l*-o,n[1]=p*f+x*-o+l*-c-h*-a,n[2]=l*f+x*-a+h*-o-p*-c,n[3]=t[3],n}var Oi=function(){let n=Or();return function(t,e,r,s,i,c){let o,a;for(e||(e=4),r||(r=0),s?a=Math.min(s*e+r,t.length):a=t.length,o=r;o<a;o+=e)n[0]=t[o],n[1]=t[o+1],n[2]=t[o+2],n[3]=t[o+3],i(n,n,c),t[o]=n[0],t[o+1]=n[1],t[o+2]=n[2],t[o+3]=n[3];return t}}();var Dt;(function(n){n[n.COL0ROW0=0]="COL0ROW0",n[n.COL0ROW1=1]="COL0ROW1",n[n.COL0ROW2=2]="COL0ROW2",n[n.COL0ROW3=3]="COL0ROW3",n[n.COL1ROW0=4]="COL1ROW0",n[n.COL1ROW1=5]="COL1ROW1",n[n.COL1ROW2=6]="COL1ROW2",n[n.COL1ROW3=7]="COL1ROW3",n[n.COL2ROW0=8]="COL2ROW0",n[n.COL2ROW1=9]="COL2ROW1",n[n.COL2ROW2=10]="COL2ROW2",n[n.COL2ROW3=11]="COL2ROW3",n[n.COL3ROW0=12]="COL3ROW0",n[n.COL3ROW1=13]="COL3ROW1",n[n.COL3ROW2=14]="COL3ROW2",n[n.COL3ROW3=15]="COL3ROW3"})(Dt||(Dt={}));var Lr=45*Math.PI/180,Nr=1,Ut=.1,Vt=500,_r=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),B=class extends At{static get IDENTITY(){return Pr()}static get ZERO(){return Ir()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Dt}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,e,r,s,i,c,o,a,f,h,p,l,x,m,M,d){return this[0]=t,this[1]=e,this[2]=r,this[3]=s,this[4]=i,this[5]=c,this[6]=o,this[7]=a,this[8]=f,this[9]=h,this[10]=p,this[11]=l,this[12]=x,this[13]=m,this[14]=M,this[15]=d,this.check()}setRowMajor(t,e,r,s,i,c,o,a,f,h,p,l,x,m,M,d){return this[0]=t,this[1]=i,this[2]=f,this[3]=x,this[4]=e,this[5]=c,this[6]=h,this[7]=m,this[8]=r,this[9]=o,this[10]=p,this[11]=M,this[12]=s,this[13]=a,this[14]=l,this[15]=d,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(_r)}fromObject(t){return this.check()}fromQuaternion(t){return Bn(this,t),this.check()}frustum(t){let{left:e,right:r,bottom:s,top:i,near:c=Ut,far:o=Vt}=t;return o===1/0?vr(this,e,r,s,i,c):Cn(this,e,r,s,i,c,o),this.check()}lookAt(t){let{eye:e,center:r=[0,0,0],up:s=[0,1,0]}=t;return Dn(this,e,r,s),this.check()}ortho(t){let{left:e,right:r,bottom:s,top:i,near:c=Ut,far:o=Vt}=t;return Vn(this,e,r,s,i,c,o),this.check()}orthographic(t){let{fovy:e=Lr,aspect:r=Nr,focalDistance:s=1,near:i=Ut,far:c=Vt}=t;Zn(e);let o=e/2,a=s*Math.tan(o),f=a*r;return this.ortho({left:-f,right:f,bottom:-a,top:a,near:i,far:c})}perspective(t){let{fovy:e=45*Math.PI/180,aspect:r=1,near:s=.1,far:i=500}=t;return Zn(e),Un(this,e,r,s,i),this.check()}determinant(){return vn(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,e){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],e=e||[-0,-0,-0];let r=this.getScale(e),s=1/r[0],i=1/r[1],c=1/r[2];return t[0]=this[0]*s,t[1]=this[1]*i,t[2]=this[2]*c,t[3]=0,t[4]=this[4]*s,t[5]=this[5]*i,t[6]=this[6]*c,t[7]=0,t[8]=this[8]*s,t[9]=this[9]*i,t[10]=this[10]*c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,e){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],e=e||[-0,-0,-0];let r=this.getScale(e),s=1/r[0],i=1/r[1],c=1/r[2];return t[0]=this[0]*s,t[1]=this[1]*i,t[2]=this[2]*c,t[3]=this[4]*s,t[4]=this[5]*i,t[5]=this[6]*c,t[6]=this[8]*s,t[7]=this[9]*i,t[8]=this[10]*c,t}transpose(){return In(this,this),this.check()}invert(){return Pn(this,this),this.check()}multiplyLeft(t){return Ct(this,t,this),this.check()}multiplyRight(t){return Ct(this,this,t),this.check()}rotateX(t){return bn(this,this,t),this.check()}rotateY(t){return qn(this,this,t),this.check()}rotateZ(t){return Fn(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,e){return zn(this,this,t,e),this.check()}scale(t){return kn(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return un(this,this,t),this.check()}transform(t,e){return t.length===4?(e=Kn(e||[-0,-0,-0,-0],t,this),$(e,4),e):this.transformAsPoint(t,e)}transformAsPoint(t,e){let{length:r}=t,s;switch(r){case 2:s=An(e||[-0,-0],t,this);break;case 3:s=gt(e||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return $(s,t.length),s}transformAsVector(t,e){let r;switch(t.length){case 2:r=Tn(e||[-0,-0],t,this);break;case 3:r=En(e||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return $(r,t.length),r}transformPoint(t,e){return this.transformAsPoint(t,e)}transformVector(t,e){return this.transformAsPoint(t,e)}transformDirection(t,e){return this.transformAsVector(t,e)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,e,r){return this.identity().translate([t,e,r])}},Tt,Et;function Ir(){return Tt||(Tt=new B([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Tt)),Tt}function Pr(){return Et||(Et=new B,Object.freeze(Et)),Et}function Zn(n){if(n>Math.PI*2)throw Error("expected radians")}function vr(n,t,e,r,s,i){let c=2*i/(e-t),o=2*i/(s-r),a=(e+t)/(e-t),f=(s+r)/(s-r),h=-1,p=-1,l=-2*i;return n[0]=c,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=o,n[6]=0,n[7]=0,n[8]=a,n[9]=f,n[10]=h,n[11]=p,n[12]=0,n[13]=0,n[14]=l,n[15]=0,n}function Jn(){let n=new L(4);return L!=Float32Array&&(n[0]=0,n[1]=0,n[2]=0),n[3]=1,n}function te(n){return n[0]=0,n[1]=0,n[2]=0,n[3]=1,n}function Yt(n,t,e){e=e*.5;let r=Math.sin(e);return n[0]=r*t[0],n[1]=r*t[1],n[2]=r*t[2],n[3]=Math.cos(e),n}function $t(n,t,e){let r=t[0],s=t[1],i=t[2],c=t[3],o=e[0],a=e[1],f=e[2],h=e[3];return n[0]=r*h+c*o+s*f-i*a,n[1]=s*h+c*a+i*o-r*f,n[2]=i*h+c*f+r*a-s*o,n[3]=c*h-r*o-s*a-i*f,n}function ne(n,t,e){e*=.5;let r=t[0],s=t[1],i=t[2],c=t[3],o=Math.sin(e),a=Math.cos(e);return n[0]=r*a+c*o,n[1]=s*a+i*o,n[2]=i*a-s*o,n[3]=c*a-r*o,n}function ee(n,t,e){e*=.5;let r=t[0],s=t[1],i=t[2],c=t[3],o=Math.sin(e),a=Math.cos(e);return n[0]=r*a-i*o,n[1]=s*a+c*o,n[2]=i*a+r*o,n[3]=c*a-s*o,n}function re(n,t,e){e*=.5;let r=t[0],s=t[1],i=t[2],c=t[3],o=Math.sin(e),a=Math.cos(e);return n[0]=r*a+s*o,n[1]=s*a-r*o,n[2]=i*a+c*o,n[3]=c*a-i*o,n}function se(n,t){let e=t[0],r=t[1],s=t[2];return n[0]=e,n[1]=r,n[2]=s,n[3]=Math.sqrt(Math.abs(1-e*e-r*r-s*s)),n}function nt(n,t,e,r){let s=t[0],i=t[1],c=t[2],o=t[3],a=e[0],f=e[1],h=e[2],p=e[3],l,x,m,M,d;return l=s*a+i*f+c*h+o*p,l<0&&(l=-l,a=-a,f=-f,h=-h,p=-p),1-l>1e-6?(x=Math.acos(l),d=Math.sin(x),m=Math.sin((1-r)*x)/d,M=Math.sin(r*x)/d):(m=1-r,M=r),n[0]=m*s+M*a,n[1]=m*i+M*f,n[2]=m*c+M*h,n[3]=m*o+M*p,n}function ie(n,t){let e=t[0],r=t[1],s=t[2],i=t[3],c=e*e+r*r+s*s+i*i,o=c?1/c:0;return n[0]=-e*o,n[1]=-r*o,n[2]=-s*o,n[3]=i*o,n}function ce(n,t){return n[0]=-t[0],n[1]=-t[1],n[2]=-t[2],n[3]=t[3],n}function Wt(n,t){let e=t[0]+t[4]+t[8],r;if(e>0)r=Math.sqrt(e+1),n[3]=.5*r,r=.5/r,n[0]=(t[5]-t[7])*r,n[1]=(t[6]-t[2])*r,n[2]=(t[1]-t[3])*r;else{let s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);let i=(s+1)%3,c=(s+2)%3;r=Math.sqrt(t[s*3+s]-t[i*3+i]-t[c*3+c]+1),n[s]=.5*r,r=.5/r,n[3]=(t[i*3+c]-t[c*3+i])*r,n[i]=(t[i*3+s]+t[s*3+i])*r,n[c]=(t[c*3+s]+t[s*3+c])*r}return n}var oe=Yn;var ae=$n,fe=Xn,he=jn,le=Wn;var pe=Gn;var xe=Hn;var me=function(){let n=Ft(),t=Bt(1,0,0),e=Bt(0,1,0);return function(r,s,i){let c=Rn(s,i);return c<-.999999?(dt(n,t,s),Nn(n)<1e-6&&dt(n,e,s),On(n,n),Yt(r,n,Math.PI),r):c>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(dt(n,s,i),r[0]=n[0],r[1]=n[1],r[2]=n[2],r[3]=1+c,xe(r,r))}}(),Bi=function(){let n=Jn(),t=Jn();return function(e,r,s,i,c,o){return nt(n,r,c,o),nt(t,s,i,o),nt(e,n,t,2*o*(1-o)),e}}(),Ci=function(){let n=_n();return function(t,e,r,s){return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=s[0],n[4]=s[1],n[7]=s[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],xe(t,Wt(t,n))}}();var ur=[0,0,0,1],et=class extends U{constructor(t=0,e=0,r=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,e,r,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,e,r,s){return this[0]=t,this[1]=e,this[2]=r,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Wt(this,t),this.check()}fromAxisRotation(t,e){return Yt(this,t,e),this.check()}identity(){return te(this),this.check()}setAxisAngle(t,e){return this.fromAxisRotation(t,e)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=w(t)}get y(){return this[1]}set y(t){this[1]=w(t)}get z(){return this[2]}set z(t){this[2]=w(t)}get w(){return this[3]}set w(t){this[3]=w(t)}len(){return le(this)}lengthSquared(){return pe(this)}dot(t){return fe(this,t)}rotationTo(t,e){return me(this,t,e),this.check()}add(t){return oe(this,this,t),this.check()}calculateW(){return se(this,this),this.check()}conjugate(){return ce(this,this),this.check()}invert(){return ie(this,this),this.check()}lerp(t,e,r){return r===void 0?this.lerp(this,t,e):(he(this,t,e,r),this.check())}multiplyRight(t){return $t(this,this,t),this.check()}multiplyLeft(t){return $t(this,t,this),this.check()}normalize(){let t=this.len(),e=t>0?1/t:0;return this[0]=this[0]*e,this[1]=this[1]*e,this[2]=this[2]*e,this[3]=this[3]*e,t===0&&(this[3]=1),this.check()}rotateX(t){return ne(this,this,t),this.check()}rotateY(t){return ee(this,this,t),this.check()}rotateZ(t){return re(this,this,t),this.check()}scale(t){return ae(this,this,t),this.check()}slerp(t,e,r){let s,i,c;switch(arguments.length){case 1:({start:s=ur,target:i,ratio:c}=t);break;case 2:s=this,i=t,c=e;break;default:s=t,i=e,c=r}return nt(this,s,i,c),this.check()}transformVector4(t,e=new W){return Qn(e,t,this),$(e,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,e){return this.setAxisAngle(t,e)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Ht=C(j(),1);var kr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},zr={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Xt=class{name;startTime=0;playing=!0;speed=1;channels=[];constructor(t){Object.assign(this,t)}animate(t){if(!this.playing)return;let r=(t/1e3-this.startTime)*this.speed;this.channels.forEach(({sampler:s,target:i,path:c})=>{Ur(r,s,i,c),qr(i,i._node)})}},G=class{animations;constructor(t){this.animations=t.animations.map((e,r)=>{let s=e.name||`Animation-${r}`,i=e.samplers.map(({input:o,interpolation:a="LINEAR",output:f})=>({input:Me(t.accessors[o]),interpolation:a,output:Me(t.accessors[f])})),c=e.channels.map(({sampler:o,target:a})=>({sampler:i[o],target:t.nodes[a.node],path:a.path}));return new Xt({name:s,channels:c})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(e=>e.animate(t))}getAnimations(){return this.animations}};function Me(n){if(!n._animation){let t=zr[n.componentType],e=kr[n.type],r=e*n.count,{buffer:s,byteOffset:i}=n.bufferView.data,c=new t(s,i+(n.byteOffset||0),r);if(e===1)n._animation=Array.from(c);else{let o=[];for(let a=0;a<c.length;a+=e)o.push(Array.from(c.slice(a,a+e)));n._animation=o}}return n._animation}var br=new B;function qr(n,t){if(t.matrix.identity(),n.translation&&t.matrix.translate(n.translation),n.rotation){let e=br.fromQuaternion(n.rotation);t.matrix.multiplyRight(e)}n.scale&&t.matrix.scale(n.scale)}var Gt=new et;function Fr(n,t,e,r,s){if(t==="rotation"){Gt.slerp({start:e,target:r,ratio:s});for(let i=0;i<Gt.length;i++)n[t][i]=Gt[i]}else for(let i=0;i<e.length;i++)n[t][i]=s*r[i]+(1-s)*e[i]}function Br(n,t,{p0:e,outTangent0:r,inTangent1:s,p1:i,tDiff:c,ratio:o}){for(let a=0;a<n[t].length;a++){let f=r[a]*c,h=s[a]*c;n[t][a]=(2*Math.pow(o,3)-3*Math.pow(o,2)+1)*e[a]+(Math.pow(o,3)-2*Math.pow(o,2)+o)*f+(-2*Math.pow(o,3)+3*Math.pow(o,2))*i[a]+(Math.pow(o,3)-Math.pow(o,2))*h}}function Cr(n,t,e){for(let r=0;r<e.length;r++)n[t][r]=e[r]}function Ur(n,{input:t,interpolation:e,output:r},s,i){let c=t[t.length-1],o=n%c,a=t.findIndex(l=>l>=o),f=Math.max(0,a-1);if(!Array.isArray(s[i]))switch(i){case"translation":s[i]=[0,0,0];break;case"rotation":s[i]=[0,0,0,1];break;case"scale":s[i]=[1,1,1];break;default:Ht.log.warn(`Bad animation path ${i}`)()}let h=t[f],p=t[a];switch(e){case"STEP":Cr(s,i,r[f]);break;case"LINEAR":if(p>h){let l=(o-h)/(p-h);Fr(s,i,r[f],r[a],l)}break;case"CUBICSPLINE":if(p>h){let l=(o-h)/(p-h),x=p-h,m=r[3*f+1],M=r[3*f+2],d=r[3*a+0],E=r[3*a+1];Br(s,i,{p0:m,outTangent0:M,inTangent1:d,p1:E,tDiff:x,ratio:l})}break;default:Ht.log.warn(`Interpolation ${e} not supported`)();break}}var ye=C(j(),1),Ae=C(ge(),1),St=C(at(),1);var Vr=`
7
+ "use strict";var __exports__=(()=>{var wn=Object.create;var it=Object.defineProperty;var On=Object.getOwnPropertyDescriptor;var Rn=Object.getOwnPropertyNames;var Ln=Object.getPrototypeOf,Nn=Object.prototype.hasOwnProperty;var Ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),_n=(e,t)=>{for(var n in t)it(e,n,{get:t[n],enumerable:!0})},st=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Rn(t))!Nn.call(e,s)&&s!==n&&it(e,s,{get:()=>t[s],enumerable:!(r=On(t,s))||r.enumerable});return e},ct=(e,t,n)=>(st(e,t,"default"),n&&st(n,t,"default")),C=(e,t,n)=>(n=e!=null?wn(Ln(e)):{},st(t||!e||!e.__esModule?it(n,"default",{value:e,enumerable:!0}):n,e)),In=e=>st(it({},"__esModule",{value:!0}),e);var j=Ot((Gr,Kt)=>{Kt.exports=globalThis.luma});var at=Ot((Xr,Zt)=>{Zt.exports=globalThis.luma});var gn=Ot((Zi,dn)=>{dn.exports=globalThis.luma});var rt={};_n(rt,{GLTFAnimator:()=>G,createScenegraphsFromGLTF:()=>Sn,loadPBREnvironment:()=>me,parsePBRMaterial:()=>ot});ct(rt,C(j(),1));var Qt=C(j(),1),z;(function(e){e[e.FUNC_ADD=32774]="FUNC_ADD",e[e.ONE=1]="ONE",e[e.SRC_ALPHA=770]="SRC_ALPHA",e[e.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",e[e.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",e[e.LINEAR=9729]="LINEAR",e[e.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",e[e.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL"})(z||(z={}));function ot(e,t,n,r){let s={defines:{MANUAL_SRGB:!0,SRGB_FAST_APPROXIMATION:!0},bindings:{},uniforms:{camera:[0,0,0],metallicRoughnessValues:[1,1]},parameters:{},glParameters:{},generatedTextures:[]};s.defines.USE_TEX_LOD=!0;let{imageBasedLightingEnvironment:i}=r;return i&&(s.bindings.pbr_diffuseEnvSampler=i.diffuseEnvSampler.texture,s.bindings.pbr_specularEnvSampler=i.specularEnvSampler.texture,s.bindings.pbr_BrdfLUT=i.brdfLutTexture.texture,s.uniforms.scaleIBLAmbient=[1,1]),r?.pbrDebug&&(s.defines.PBR_DEBUG=!0,s.uniforms.scaleDiffBaseMR=[0,0,0,0],s.uniforms.scaleFGDSpec=[0,0,0,0]),n.NORMAL&&(s.defines.HAS_NORMALS=!0),n.TANGENT&&r?.useTangents&&(s.defines.HAS_TANGENTS=!0),n.TEXCOORD_0&&(s.defines.HAS_UV=!0),r?.imageBasedLightingEnvironment&&(s.defines.USE_IBL=!0),r?.lights&&(s.defines.USE_LIGHTS=!0),t&&Pn(e,t,s),s}function Pn(e,t,n){if(n.uniforms.unlit=Boolean(t.unlit),t.pbrMetallicRoughness&&vn(e,t.pbrMetallicRoughness,n),t.normalTexture){K(e,t.normalTexture,"pbr_normalSampler","HAS_NORMALMAP",n);let{scale:r=1}=t.normalTexture;n.uniforms.normalScale=r}if(t.occlusionTexture){K(e,t.occlusionTexture,"pbr_occlusionSampler","HAS_OCCLUSIONMAP",n);let{strength:r=1}=t.occlusionTexture;n.uniforms.occlusionStrength=r}switch(t.emissiveTexture&&(K(e,t.emissiveTexture,"pbr_emissiveSampler","HAS_EMISSIVEMAP",n),n.uniforms.emissiveFactor=t.emissiveFactor||[0,0,0]),t.alphaMode){case"MASK":let{alphaCutoff:r=.5}=t;n.defines.ALPHA_CUTOFF=!0,n.uniforms.alphaCutoff=r;break;case"BLEND":Qt.log.warn("glTF BLEND alphaMode might not work well because it requires mesh sorting")(),n.parameters.blendColorOperation="add",n.parameters.blendColorSrcFactor="src-alpha",n.parameters.blendColorDstFactor="one-minus-src-alpha",n.parameters.blendAlphaOperation="add",n.parameters.blendAlphaSrcFactor="one",n.parameters.blendAlphaDstFactor="one-minus-src-alpha",n.glParameters.blend=!0,n.glParameters.blendEquation=z.FUNC_ADD,n.glParameters.blendFunc=[z.SRC_ALPHA,z.ONE_MINUS_SRC_ALPHA,z.ONE,z.ONE_MINUS_SRC_ALPHA];break}}function vn(e,t,n){t.baseColorTexture&&K(e,t.baseColorTexture,"pbr_baseColorSampler","HAS_BASECOLORMAP",n),n.uniforms.baseColorFactor=t.baseColorFactor||[1,1,1,1],t.metallicRoughnessTexture&&K(e,t.metallicRoughnessTexture,"pbr_metallicRoughnessSampler","HAS_METALROUGHNESSMAP",n);let{metallicFactor:r=1,roughnessFactor:s=1}=t;n.uniforms.metallicRoughnessValues=[r,s]}function K(e,t,n,r,s){let i=t?.texture?.sampler?.parameters||{},c=t.texture.source.image,o,a={};c.compressed?(o=c,a={[z.TEXTURE_MIN_FILTER]:c.data.length>1?z.LINEAR_MIPMAP_NEAREST:z.LINEAR}):o={data:c};let f=e.createTexture({id:t.uniformName||t.id,parameters:{...i,...a},pixelStore:{[z.UNPACK_FLIP_Y_WEBGL]:!1},...o});s.bindings[n]=f,r&&(s.defines[r]=!0),s.generatedTextures.push(f)}var zt=C(at(),1);function V(e,t){if(!e)throw new Error(t||"loader assertion failed.")}var b={self:typeof self<"u"&&self,window:typeof window<"u"&&window,global:typeof global<"u"&&global,document:typeof document<"u"&&document},un=b.self||b.window||b.global||{},kn=b.window||b.self||b.global||{},zn=b.global||b.self||b.window||{},bn=b.document||{};var Rt=Boolean(typeof process!="object"||String(process)!=="[object process]"||process.browser);var Jt=typeof process<"u"&&process.version&&/v([0-9]*)/.exec(process.version),qn=Jt&&parseFloat(Jt[1])||0;var Fn="",te={};function Lt(e){for(let t in te)if(e.startsWith(t)){let n=te[t];e=e.replace(t,n)}return!e.startsWith("http://")&&!e.startsWith("https://")&&(e=`${Fn}${e}`),e}var ee="4.2.3";var Bn=globalThis.loaders?.parseImageNode,Nt=typeof Image<"u",_t=typeof ImageBitmap<"u",Cn=Boolean(Bn),It=Rt?!0:Cn;function ne(e){switch(e){case"auto":return _t||Nt||It;case"imagebitmap":return _t;case"image":return Nt;case"data":return It;default:throw new Error(`@loaders.gl/images: image ${e} not supported in this environment`)}}function re(){if(_t)return"imagebitmap";if(Nt)return"image";if(It)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}function se(e){let t=Un(e);if(!t)throw new Error("Not an image");return t}function Pt(e){return ft(e)}function ft(e){switch(se(e)){case"data":return e;case"image":case"imagebitmap":let t=document.createElement("canvas"),n=t.getContext("2d");if(!n)throw new Error("getImageData");return t.width=e.width,t.height=e.height,n.drawImage(e,0,0),n.getImageData(0,0,e.width,e.height);default:throw new Error("getImageData")}}function Un(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 Vn=/^data:image\/svg\+xml/,Dn=/\.svg((\?|#).*)?$/;function ht(e){return e&&(Vn.test(e)||Dn.test(e))}function ie(e,t){if(ht(t)){let r=new TextDecoder().decode(e);try{typeof unescape=="function"&&typeof encodeURIComponent=="function"&&(r=unescape(encodeURIComponent(r)))}catch(i){throw new Error(i.message)}return`data:image/svg+xml;base64,${btoa(r)}`}return vt(e,t)}function vt(e,t){if(ht(t))throw new Error("SVG cannot be parsed directly to imagebitmap");return new Blob([new Uint8Array(e)])}async function lt(e,t,n){let r=ie(e,n),s=self.URL||self.webkitURL,i=typeof r!="string"&&s.createObjectURL(r);try{return await Yn(i||r,t)}finally{i&&s.revokeObjectURL(i)}}async function Yn(e,t){let n=new Image;return n.src=e,t.image&&t.image.decode&&n.decode?(await n.decode(),n):await new Promise((r,s)=>{try{n.onload=()=>r(n),n.onerror=i=>{let c=i instanceof Error?i.message:"error";s(new Error(c))}}catch(i){s(i)}})}var $n={},ce=!0;async function oe(e,t,n){let r;ht(n)?r=await lt(e,t,n):r=vt(e,n);let s=t&&t.imagebitmap;return await Wn(r,s)}async function Wn(e,t=null){if((Gn(t)||!ce)&&(t=null),t)try{return await createImageBitmap(e,t)}catch(n){console.warn(n),ce=!1}return await createImageBitmap(e)}function Gn(e){for(let t in e||$n)return!1;return!0}function ae(e){return!Kn(e,"ftyp",4)||!(e[8]&96)?null:Hn(e)}function Hn(e){switch(Xn(e,8,12).replace("\0"," ").trim()){case"avif":case"avis":return{extension:"avif",mimeType:"image/avif"};default:return null}}function Xn(e,t,n){return String.fromCharCode(...e.slice(t,n))}function jn(e){return[...e].map(t=>t.charCodeAt(0))}function Kn(e,t,n=0){let r=jn(t);for(let s=0;s<r.length;++s)if(r[s]!==e[s+n])return!1;return!0}var q=!1,Q=!0;function pt(e){let t=Z(e);return Zn(t)||er(t)||Jn(t)||tr(t)||Qn(t)}function Qn(e){let t=new Uint8Array(e instanceof DataView?e.buffer:e),n=ae(t);return n?{mimeType:n.mimeType,width:0,height:0}:null}function Zn(e){let t=Z(e);return t.byteLength>=24&&t.getUint32(0,q)===2303741511?{mimeType:"image/png",width:t.getUint32(16,q),height:t.getUint32(20,q)}:null}function Jn(e){let t=Z(e);return t.byteLength>=10&&t.getUint32(0,q)===1195984440?{mimeType:"image/gif",width:t.getUint16(6,Q),height:t.getUint16(8,Q)}:null}function tr(e){let t=Z(e);return t.byteLength>=14&&t.getUint16(0,q)===16973&&t.getUint32(2,Q)===t.byteLength?{mimeType:"image/bmp",width:t.getUint32(18,Q),height:t.getUint32(22,Q)}:null}function er(e){let t=Z(e);if(!(t.byteLength>=3&&t.getUint16(0,q)===65496&&t.getUint8(2)===255))return null;let{tableMarkers:r,sofMarkers:s}=nr(),i=2;for(;i+9<t.byteLength;){let c=t.getUint16(i,q);if(s.has(c))return{mimeType:"image/jpeg",height:t.getUint16(i+5,q),width:t.getUint16(i+7,q)};if(!r.has(c))return null;i+=2,i+=t.getUint16(i,q)}return null}function nr(){let e=new Set([65499,65476,65484,65501,65534]);for(let n=65504;n<65520;++n)e.add(n);return{tableMarkers:e,sofMarkers:new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502])}}function Z(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 fe(e,t){let{mimeType:n}=pt(e)||{},r=globalThis.loaders?.parseImageNode;return V(r),await r(e,n)}async function he(e,t,n){t=t||{};let s=(t.image||{}).type||"auto",{url:i}=n||{},c=rr(s),o;switch(c){case"imagebitmap":o=await oe(e,t,i);break;case"image":o=await lt(e,t,i);break;case"data":o=await fe(e,t);break;default:V(!1)}return s==="data"&&(o=ft(o)),o}function rr(e){switch(e){case"auto":case"data":return re();default:return ne(e),e}}var sr=["png","jpg","jpeg","gif","webp","bmp","ico","svg","avif"],ir=["image/png","image/jpeg","image/gif","image/webp","image/avif","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],cr={image:{type:"auto",decode:!0}},xt={dataType:null,batchType:null,id:"image",module:"images",name:"Images",version:ee,mimeTypes:ir,extensions:sr,parse:he,tests:[e=>Boolean(pt(new DataView(e)))],options:cr};function mt(e,t,n){let r=typeof e=="function"?e({...t,...n}):e,s=t.baseUrl;return s&&(r=s[s.length-1]==="/"?`${s}${r}`:`${s}/${r}`),Lt(r)}var or=e=>e&&typeof e=="object";async function le(e,t,n={}){return await ut(e,t,n)}async function ut(e,t,n){return Array.isArray(e)?await fr(e,t,n):or(e)?await ar(e,t,n):await t(e,n)}async function ar(e,t,n){let r=[],s={};for(let i in e){let c=e[i],o=ut(c,t,n).then(a=>{s[i]=a});r.push(o)}return await Promise.all(r),s}async function fr(e,t,n={}){let r=e.map(s=>ut(s,t,n));return await Promise.all(r)}async function pe(e,t,n){return await le(e,r=>kt(r,t,n))}async function kt(e,t,n){let s=await(await fetch(e,n.fetch)).arrayBuffer();return await t(s,n)}async function J(e,t={}){let n=await hr(e,t);return await pe(n,xt.parse,t)}async function hr(e,t,n={}){let r=t&&t.image&&t.image.mipLevels||0;return r!==0?await lr(e,r,t,n):mt(e,t,n)}async function lr(e,t,n,r){let s=[];if(t==="auto"){let i=mt(e,n,{...r,lod:0}),c=await kt(i,xt.parse,n),{width:o,height:a}=Pt(c);t=pr({width:o,height:a}),s.push(i)}V(t>0);for(let i=s.length;i<t;++i){let c=mt(e,n,{...r,lod:i});s.push(c)}return s}function pr(e){return 1+Math.floor(Math.log2(Math.max(e.width,e.height)))}function me(e,t){let n=new zt.AsyncTexture(e,{id:"brdfLUT",sampler:{addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",minFilter:"linear",magFilter:"linear"},data:J(t.brdfLutUrl)}),r=xe(e,{id:"DiffuseEnvSampler",getTextureForFace:i=>J(t.getTexUrl("diffuse",i,0)),sampler:{addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",minFilter:"linear",magFilter:"linear"}}),s=xe(e,{id:"SpecularEnvSampler",getTextureForFace:i=>{let c=[];for(let o=0;o<=t.specularMipLevels-1;o++)c.push(J(t.getTexUrl("specular",i,o)));return c},sampler:{addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge",minFilter:"linear",magFilter:"linear"}});return{brdfLutTexture:n,diffuseEnvSampler:r,specularEnvSampler:s}}var xr=[0,1,2,3,4,5];function xe(e,{id:t,getTextureForFace:n,sampler:r}){let s={};return xr.forEach(i=>{s[String(i)]=n(i)}),new zt.AsyncTexture(e,{id:t,dimension:"cube",mipmaps:!1,sampler:r,data:s})}var H=C(at(),1);var Ks=1/Math.PI*180,Qs=1/180*Math.PI,mr={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0,_cartographicRadians:!1};globalThis.mathgl=globalThis.mathgl||{config:{...mr}};var R=globalThis.mathgl.config;function Me(e,{precision:t=R.precision}={}){return e=Mr(e),`${parseFloat(e.toPrecision(t))}`}function Y(e){return Array.isArray(e)||ArrayBuffer.isView(e)&&!(e instanceof DataView)}function bt(e,t,n){let r=R.EPSILON;n&&(R.EPSILON=n);try{if(e===t)return!0;if(Y(e)&&Y(t)){if(e.length!==t.length)return!1;for(let s=0;s<e.length;++s)if(!bt(e[s],t[s]))return!1;return!0}return e&&e.equals?e.equals(t):t&&t.equals?t.equals(e):typeof e=="number"&&typeof t=="number"?Math.abs(e-t)<=R.EPSILON*Math.max(1,Math.abs(e),Math.abs(t)):!1}finally{R.EPSILON=r}}function Mr(e){return Math.round(e/R.EPSILON)*R.EPSILON}var U=class extends Array{clone(){return new this.constructor().copy(this)}fromArray(t,n=0){for(let r=0;r<this.ELEMENTS;++r)this[r]=t[r+n];return this.check()}toArray(t=[],n=0){for(let r=0;r<this.ELEMENTS;++r)t[n+r]=this[r];return t}toObject(t){return t}from(t){return Array.isArray(t)?this.copy(t):this.fromObject(t)}to(t){return t===this?this:Y(t)?this.toArray(t):this.toObject(t)}toTarget(t){return t?this.to(t):this}toFloat32Array(){return new Float32Array(this)}toString(){return this.formatString(R)}formatString(t){let n="";for(let r=0;r<this.ELEMENTS;++r)n+=(r>0?", ":"")+Me(this[r],t);return`${t.printTypes?this.constructor.name:""}[${n}]`}equals(t){if(!t||this.length!==t.length)return!1;for(let n=0;n<this.ELEMENTS;++n)if(!bt(this[n],t[n]))return!1;return!0}exactEquals(t){if(!t||this.length!==t.length)return!1;for(let n=0;n<this.ELEMENTS;++n)if(this[n]!==t[n])return!1;return!0}negate(){for(let t=0;t<this.ELEMENTS;++t)this[t]=-this[t];return this.check()}lerp(t,n,r){if(r===void 0)return this.lerp(this,t,n);for(let s=0;s<this.ELEMENTS;++s){let i=t[s],c=typeof n=="number"?n:n[s];this[s]=i+r*(c-i)}return this.check()}min(t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.min(t[n],this[n]);return this.check()}max(t){for(let n=0;n<this.ELEMENTS;++n)this[n]=Math.max(t[n],this[n]);return this.check()}clamp(t,n){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(Math.max(this[r],t[r]),n[r]);return this.check()}add(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]+=n[r];return this.check()}subtract(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]-=n[r];return this.check()}scale(t){if(typeof t=="number")for(let n=0;n<this.ELEMENTS;++n)this[n]*=t;else for(let n=0;n<this.ELEMENTS&&n<t.length;++n)this[n]*=t[n];return this.check()}multiplyByScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]*=t;return this.check()}check(){if(R.debug&&!this.validate())throw new Error(`math.gl: ${this.constructor.name} some fields set to invalid numbers'`);return this}validate(){let t=this.length===this.ELEMENTS;for(let n=0;n<this.ELEMENTS;++n)t=t&&Number.isFinite(this[n]);return t}sub(t){return this.subtract(t)}setScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]=t;return this.check()}addScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]+=t;return this.check()}subScalar(t){return this.addScalar(-t)}multiplyScalar(t){for(let n=0;n<this.ELEMENTS;++n)this[n]*=t;return this.check()}divideScalar(t){return this.multiplyByScalar(1/t)}clampScalar(t,n){for(let r=0;r<this.ELEMENTS;++r)this[r]=Math.min(Math.max(this[r],t),n);return this.check()}get elements(){return this}};function dr(e,t){if(e.length!==t)return!1;for(let n=0;n<e.length;++n)if(!Number.isFinite(e[n]))return!1;return!0}function w(e){if(!Number.isFinite(e))throw new Error(`Invalid number ${JSON.stringify(e)}`);return e}function $(e,t,n=""){if(R.debug&&!dr(e,t))throw new Error(`math.gl: ${n} some fields set to invalid numbers'`);return e}function qt(e,t){if(!e)throw new Error(`math.gl assertion ${t}`)}var Mt=class extends U{get x(){return this[0]}set x(t){this[0]=w(t)}get y(){return this[1]}set y(t){this[1]=w(t)}len(){return Math.sqrt(this.lengthSquared())}magnitude(){return this.len()}lengthSquared(){let t=0;for(let n=0;n<this.ELEMENTS;++n)t+=this[n]*this[n];return t}magnitudeSquared(){return this.lengthSquared()}distance(t){return Math.sqrt(this.distanceSquared(t))}distanceSquared(t){let n=0;for(let r=0;r<this.ELEMENTS;++r){let s=this[r]-t[r];n+=s*s}return w(n)}dot(t){let n=0;for(let r=0;r<this.ELEMENTS;++r)n+=this[r]*t[r];return w(n)}normalize(){let t=this.magnitude();if(t!==0)for(let n=0;n<this.ELEMENTS;++n)this[n]/=t;return this.check()}multiply(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]*=n[r];return this.check()}divide(...t){for(let n of t)for(let r=0;r<this.ELEMENTS;++r)this[r]/=n[r];return this.check()}lengthSq(){return this.lengthSquared()}distanceTo(t){return this.distance(t)}distanceToSquared(t){return this.distanceSquared(t)}getComponent(t){return qt(t>=0&&t<this.ELEMENTS,"index is out of range"),w(this[t])}setComponent(t,n){return qt(t>=0&&t<this.ELEMENTS,"index is out of range"),this[t]=n,this.check()}addVectors(t,n){return this.copy(t).add(n)}subVectors(t,n){return this.copy(t).subtract(n)}multiplyVectors(t,n){return this.copy(t).multiply(n)}addScaledVector(t,n){return this.add(new this.constructor(t).multiplyScalar(n))}};var L=typeof Float32Array<"u"?Float32Array:Array;var ai=Math.PI/180;function gr(){let e=new L(2);return L!=Float32Array&&(e[0]=0,e[1]=0),e}function ye(e,t,n){let r=t[0],s=t[1];return e[0]=n[0]*r+n[4]*s+n[12],e[1]=n[1]*r+n[5]*s+n[13],e}var fi=function(){let e=gr();return function(t,n,r,s,i,c){let o,a;for(n||(n=2),r||(r=0),s?a=Math.min(s*n+r,t.length):a=t.length,o=r;o<a;o+=n)e[0]=t[o],e[1]=t[o+1],i(e,e,c),t[o]=e[0],t[o+1]=e[1];return t}}();function Ae(e,t,n){let r=t[0],s=t[1],i=n[3]*r+n[7]*s||1;return e[0]=(n[0]*r+n[4]*s)/i,e[1]=(n[1]*r+n[5]*s)/i,e}function Te(e,t,n){let r=t[0],s=t[1],i=t[2],c=n[3]*r+n[7]*s+n[11]*i||1;return e[0]=(n[0]*r+n[4]*s+n[8]*i)/c,e[1]=(n[1]*r+n[5]*s+n[9]*i)/c,e[2]=(n[2]*r+n[6]*s+n[10]*i)/c,e}function Ee(e,t,n){let r=t[0],s=t[1];return e[0]=n[0]*r+n[2]*s,e[1]=n[1]*r+n[3]*s,e[2]=t[2],e[3]=t[3],e}function Se(e,t,n){let r=t[0],s=t[1],i=t[2];return e[0]=n[0]*r+n[3]*s+n[6]*i,e[1]=n[1]*r+n[4]*s+n[7]*i,e[2]=n[2]*r+n[5]*s+n[8]*i,e[3]=t[3],e}function Ft(){let e=new L(3);return L!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function yr(e){let t=e[0],n=e[1],r=e[2];return Math.sqrt(t*t+n*n+r*r)}function Bt(e,t,n){let r=new L(3);return r[0]=e,r[1]=t,r[2]=n,r}function we(e,t){let n=t[0],r=t[1],s=t[2],i=n*n+r*r+s*s;return i>0&&(i=1/Math.sqrt(i)),e[0]=t[0]*i,e[1]=t[1]*i,e[2]=t[2]*i,e}function Oe(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function dt(e,t,n){let r=t[0],s=t[1],i=t[2],c=n[0],o=n[1],a=n[2];return e[0]=s*a-i*o,e[1]=i*c-r*a,e[2]=r*o-s*c,e}function gt(e,t,n){let r=t[0],s=t[1],i=t[2],c=n[3]*r+n[7]*s+n[11]*i+n[15];return c=c||1,e[0]=(n[0]*r+n[4]*s+n[8]*i+n[12])/c,e[1]=(n[1]*r+n[5]*s+n[9]*i+n[13])/c,e[2]=(n[2]*r+n[6]*s+n[10]*i+n[14])/c,e}function Re(e,t,n){let r=n[0],s=n[1],i=n[2],c=n[3],o=t[0],a=t[1],f=t[2],h=s*f-i*a,p=i*o-r*f,l=r*a-s*o,x=s*l-i*p,m=i*h-r*l,M=r*p-s*h,d=c*2;return h*=d,p*=d,l*=d,x*=2,m*=2,M*=2,e[0]=o+h+x,e[1]=a+p+m,e[2]=f+l+M,e}var Le=yr;var pi=function(){let e=Ft();return function(t,n,r,s,i,c){let o,a;for(n||(n=3),r||(r=0),s?a=Math.min(s*n+r,t.length):a=t.length,o=r;o<a;o+=n)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],i(e,e,c),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2];return t}}();var yt,W=class extends Mt{static get ZERO(){return yt||(yt=new W(0,0,0,0),Object.freeze(yt)),yt}constructor(t=0,n=0,r=0,s=0){super(-0,-0,-0,-0),Y(t)&&arguments.length===1?this.copy(t):(R.debug&&(w(t),w(n),w(r),w(s)),this[0]=t,this[1]=n,this[2]=r,this[3]=s)}set(t,n,r,s){return this[0]=t,this[1]=n,this[2]=r,this[3]=s,this.check()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}fromObject(t){return R.debug&&(w(t.x),w(t.y),w(t.z),w(t.w)),this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this}toObject(t){return t.x=this[0],t.y=this[1],t.z=this[2],t.w=this[3],t}get ELEMENTS(){return 4}get z(){return this[2]}set z(t){this[2]=w(t)}get w(){return this[3]}set w(t){this[3]=w(t)}transform(t){return gt(this,this,t),this.check()}transformByMatrix3(t){return Se(this,this,t),this.check()}transformByMatrix2(t){return Ee(this,this,t),this.check()}transformByQuaternion(t){return Re(this,this,t),this.check()}applyMatrix4(t){return t.transform(this,this),this}};var At=class extends U{toString(){let t="[";if(R.printRowMajor){t+="row-major:";for(let n=0;n<this.RANK;++n)for(let r=0;r<this.RANK;++r)t+=` ${this[r*this.RANK+n]}`}else{t+="column-major:";for(let n=0;n<this.ELEMENTS;++n)t+=` ${this[n]}`}return t+="]",t}getElementIndex(t,n){return n*this.RANK+t}getElement(t,n){return this[n*this.RANK+t]}setElement(t,n,r){return this[n*this.RANK+t]=w(r),this}getColumn(t,n=new Array(this.RANK).fill(-0)){let r=t*this.RANK;for(let s=0;s<this.RANK;++s)n[s]=this[r+s];return n}setColumn(t,n){let r=t*this.RANK;for(let s=0;s<this.RANK;++s)this[r+s]=n[s];return this}};function Ne(){let e=new L(9);return L!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function Er(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function _e(e,t){if(e===t){let n=t[1],r=t[2],s=t[3],i=t[6],c=t[7],o=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=n,e[6]=t[9],e[7]=t[13],e[8]=r,e[9]=i,e[11]=t[14],e[12]=s,e[13]=c,e[14]=o}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}function Ie(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],c=t[4],o=t[5],a=t[6],f=t[7],h=t[8],p=t[9],l=t[10],x=t[11],m=t[12],M=t[13],d=t[14],E=t[15],O=n*o-r*c,g=n*a-s*c,y=n*f-i*c,A=r*a-s*o,T=r*f-i*o,N=s*f-i*a,_=h*M-p*m,I=h*d-l*m,P=h*E-x*m,v=p*d-l*M,u=p*E-x*M,k=l*E-x*d,S=O*k-g*u+y*v+A*P-T*I+N*_;return S?(S=1/S,e[0]=(o*k-a*u+f*v)*S,e[1]=(s*u-r*k-i*v)*S,e[2]=(M*N-d*T+E*A)*S,e[3]=(l*T-p*N-x*A)*S,e[4]=(a*P-c*k-f*I)*S,e[5]=(n*k-s*P+i*I)*S,e[6]=(d*y-m*N-E*g)*S,e[7]=(h*N-l*y+x*g)*S,e[8]=(c*u-o*P+f*_)*S,e[9]=(r*P-n*u-i*_)*S,e[10]=(m*T-M*y+E*O)*S,e[11]=(p*y-h*T-x*O)*S,e[12]=(o*I-c*v-a*_)*S,e[13]=(n*v-r*I+s*_)*S,e[14]=(M*g-m*A-d*O)*S,e[15]=(h*A-p*g+l*O)*S,e):null}function Pe(e){let t=e[0],n=e[1],r=e[2],s=e[3],i=e[4],c=e[5],o=e[6],a=e[7],f=e[8],h=e[9],p=e[10],l=e[11],x=e[12],m=e[13],M=e[14],d=e[15],E=t*c-n*i,O=t*o-r*i,g=n*o-r*c,y=f*m-h*x,A=f*M-p*x,T=h*M-p*m,N=t*T-n*A+r*y,_=i*T-c*A+o*y,I=f*g-h*O+p*E,P=x*g-m*O+M*E;return a*N-s*_+d*I-l*P}function Ct(e,t,n){let r=t[0],s=t[1],i=t[2],c=t[3],o=t[4],a=t[5],f=t[6],h=t[7],p=t[8],l=t[9],x=t[10],m=t[11],M=t[12],d=t[13],E=t[14],O=t[15],g=n[0],y=n[1],A=n[2],T=n[3];return e[0]=g*r+y*o+A*p+T*M,e[1]=g*s+y*a+A*l+T*d,e[2]=g*i+y*f+A*x+T*E,e[3]=g*c+y*h+A*m+T*O,g=n[4],y=n[5],A=n[6],T=n[7],e[4]=g*r+y*o+A*p+T*M,e[5]=g*s+y*a+A*l+T*d,e[6]=g*i+y*f+A*x+T*E,e[7]=g*c+y*h+A*m+T*O,g=n[8],y=n[9],A=n[10],T=n[11],e[8]=g*r+y*o+A*p+T*M,e[9]=g*s+y*a+A*l+T*d,e[10]=g*i+y*f+A*x+T*E,e[11]=g*c+y*h+A*m+T*O,g=n[12],y=n[13],A=n[14],T=n[15],e[12]=g*r+y*o+A*p+T*M,e[13]=g*s+y*a+A*l+T*d,e[14]=g*i+y*f+A*x+T*E,e[15]=g*c+y*h+A*m+T*O,e}function ve(e,t,n){let r=n[0],s=n[1],i=n[2],c,o,a,f,h,p,l,x,m,M,d,E;return t===e?(e[12]=t[0]*r+t[4]*s+t[8]*i+t[12],e[13]=t[1]*r+t[5]*s+t[9]*i+t[13],e[14]=t[2]*r+t[6]*s+t[10]*i+t[14],e[15]=t[3]*r+t[7]*s+t[11]*i+t[15]):(c=t[0],o=t[1],a=t[2],f=t[3],h=t[4],p=t[5],l=t[6],x=t[7],m=t[8],M=t[9],d=t[10],E=t[11],e[0]=c,e[1]=o,e[2]=a,e[3]=f,e[4]=h,e[5]=p,e[6]=l,e[7]=x,e[8]=m,e[9]=M,e[10]=d,e[11]=E,e[12]=c*r+h*s+m*i+t[12],e[13]=o*r+p*s+M*i+t[13],e[14]=a*r+l*s+d*i+t[14],e[15]=f*r+x*s+E*i+t[15]),e}function ue(e,t,n){let r=n[0],s=n[1],i=n[2];return e[0]=t[0]*r,e[1]=t[1]*r,e[2]=t[2]*r,e[3]=t[3]*r,e[4]=t[4]*s,e[5]=t[5]*s,e[6]=t[6]*s,e[7]=t[7]*s,e[8]=t[8]*i,e[9]=t[9]*i,e[10]=t[10]*i,e[11]=t[11]*i,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function ke(e,t,n,r){let s=r[0],i=r[1],c=r[2],o=Math.sqrt(s*s+i*i+c*c),a,f,h,p,l,x,m,M,d,E,O,g,y,A,T,N,_,I,P,v,u,k,S,X;return o<1e-6?null:(o=1/o,s*=o,i*=o,c*=o,f=Math.sin(n),a=Math.cos(n),h=1-a,p=t[0],l=t[1],x=t[2],m=t[3],M=t[4],d=t[5],E=t[6],O=t[7],g=t[8],y=t[9],A=t[10],T=t[11],N=s*s*h+a,_=i*s*h+c*f,I=c*s*h-i*f,P=s*i*h-c*f,v=i*i*h+a,u=c*i*h+s*f,k=s*c*h+i*f,S=i*c*h-s*f,X=c*c*h+a,e[0]=p*N+M*_+g*I,e[1]=l*N+d*_+y*I,e[2]=x*N+E*_+A*I,e[3]=m*N+O*_+T*I,e[4]=p*P+M*v+g*u,e[5]=l*P+d*v+y*u,e[6]=x*P+E*v+A*u,e[7]=m*P+O*v+T*u,e[8]=p*k+M*S+g*X,e[9]=l*k+d*S+y*X,e[10]=x*k+E*S+A*X,e[11]=m*k+O*S+T*X,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}function ze(e,t,n){let r=Math.sin(n),s=Math.cos(n),i=t[4],c=t[5],o=t[6],a=t[7],f=t[8],h=t[9],p=t[10],l=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=i*s+f*r,e[5]=c*s+h*r,e[6]=o*s+p*r,e[7]=a*s+l*r,e[8]=f*s-i*r,e[9]=h*s-c*r,e[10]=p*s-o*r,e[11]=l*s-a*r,e}function be(e,t,n){let r=Math.sin(n),s=Math.cos(n),i=t[0],c=t[1],o=t[2],a=t[3],f=t[8],h=t[9],p=t[10],l=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*s-f*r,e[1]=c*s-h*r,e[2]=o*s-p*r,e[3]=a*s-l*r,e[8]=i*r+f*s,e[9]=c*r+h*s,e[10]=o*r+p*s,e[11]=a*r+l*s,e}function qe(e,t,n){let r=Math.sin(n),s=Math.cos(n),i=t[0],c=t[1],o=t[2],a=t[3],f=t[4],h=t[5],p=t[6],l=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=i*s+f*r,e[1]=c*s+h*r,e[2]=o*s+p*r,e[3]=a*s+l*r,e[4]=f*s-i*r,e[5]=h*s-c*r,e[6]=p*s-o*r,e[7]=l*s-a*r,e}function Fe(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],c=n+n,o=r+r,a=s+s,f=n*c,h=r*c,p=r*o,l=s*c,x=s*o,m=s*a,M=i*c,d=i*o,E=i*a;return e[0]=1-p-m,e[1]=h+E,e[2]=l-d,e[3]=0,e[4]=h-E,e[5]=1-f-m,e[6]=x+M,e[7]=0,e[8]=l+d,e[9]=x-M,e[10]=1-f-p,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}function Be(e,t,n,r,s,i,c){let o=1/(n-t),a=1/(s-r),f=1/(i-c);return e[0]=i*2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i*2*a,e[6]=0,e[7]=0,e[8]=(n+t)*o,e[9]=(s+r)*a,e[10]=(c+i)*f,e[11]=-1,e[12]=0,e[13]=0,e[14]=c*i*2*f,e[15]=0,e}function Sr(e,t,n,r,s){let i=1/Math.tan(t/2);if(e[0]=i/n,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=i,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[11]=-1,e[12]=0,e[13]=0,e[15]=0,s!=null&&s!==1/0){let c=1/(r-s);e[10]=(s+r)*c,e[14]=2*s*r*c}else e[10]=-1,e[14]=-2*r;return e}var Ce=Sr;function wr(e,t,n,r,s,i,c){let o=1/(t-n),a=1/(r-s),f=1/(i-c);return e[0]=-2*o,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*f,e[11]=0,e[12]=(t+n)*o,e[13]=(s+r)*a,e[14]=(c+i)*f,e[15]=1,e}var Ue=wr;function Ve(e,t,n,r){let s,i,c,o,a,f,h,p,l,x,m=t[0],M=t[1],d=t[2],E=r[0],O=r[1],g=r[2],y=n[0],A=n[1],T=n[2];return Math.abs(m-y)<1e-6&&Math.abs(M-A)<1e-6&&Math.abs(d-T)<1e-6?Er(e):(p=m-y,l=M-A,x=d-T,s=1/Math.sqrt(p*p+l*l+x*x),p*=s,l*=s,x*=s,i=O*x-g*l,c=g*p-E*x,o=E*l-O*p,s=Math.sqrt(i*i+c*c+o*o),s?(s=1/s,i*=s,c*=s,o*=s):(i=0,c=0,o=0),a=l*o-x*c,f=x*i-p*o,h=p*c-l*i,s=Math.sqrt(a*a+f*f+h*h),s?(s=1/s,a*=s,f*=s,h*=s):(a=0,f=0,h=0),e[0]=i,e[1]=a,e[2]=p,e[3]=0,e[4]=c,e[5]=f,e[6]=l,e[7]=0,e[8]=o,e[9]=h,e[10]=x,e[11]=0,e[12]=-(i*m+c*M+o*d),e[13]=-(a*m+f*M+h*d),e[14]=-(p*m+l*M+x*d),e[15]=1,e)}function Or(){let e=new L(4);return L!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function De(e,t,n){return e[0]=t[0]+n[0],e[1]=t[1]+n[1],e[2]=t[2]+n[2],e[3]=t[3]+n[3],e}function Ye(e,t,n){return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e}function $e(e){let t=e[0],n=e[1],r=e[2],s=e[3];return Math.sqrt(t*t+n*n+r*r+s*s)}function We(e){let t=e[0],n=e[1],r=e[2],s=e[3];return t*t+n*n+r*r+s*s}function Ge(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],c=n*n+r*r+s*s+i*i;return c>0&&(c=1/Math.sqrt(c)),e[0]=n*c,e[1]=r*c,e[2]=s*c,e[3]=i*c,e}function He(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]}function Xe(e,t,n,r){let s=t[0],i=t[1],c=t[2],o=t[3];return e[0]=s+r*(n[0]-s),e[1]=i+r*(n[1]-i),e[2]=c+r*(n[2]-c),e[3]=o+r*(n[3]-o),e}function je(e,t,n){let r=t[0],s=t[1],i=t[2],c=t[3];return e[0]=n[0]*r+n[4]*s+n[8]*i+n[12]*c,e[1]=n[1]*r+n[5]*s+n[9]*i+n[13]*c,e[2]=n[2]*r+n[6]*s+n[10]*i+n[14]*c,e[3]=n[3]*r+n[7]*s+n[11]*i+n[15]*c,e}function Ke(e,t,n){let r=t[0],s=t[1],i=t[2],c=n[0],o=n[1],a=n[2],f=n[3],h=f*r+o*i-a*s,p=f*s+a*r-c*i,l=f*i+c*s-o*r,x=-c*r-o*s-a*i;return e[0]=h*f+x*-c+p*-a-l*-o,e[1]=p*f+x*-o+l*-c-h*-a,e[2]=l*f+x*-a+h*-o-p*-c,e[3]=t[3],e}var Oi=function(){let e=Or();return function(t,n,r,s,i,c){let o,a;for(n||(n=4),r||(r=0),s?a=Math.min(s*n+r,t.length):a=t.length,o=r;o<a;o+=n)e[0]=t[o],e[1]=t[o+1],e[2]=t[o+2],e[3]=t[o+3],i(e,e,c),t[o]=e[0],t[o+1]=e[1],t[o+2]=e[2],t[o+3]=e[3];return t}}();var Dt;(function(e){e[e.COL0ROW0=0]="COL0ROW0",e[e.COL0ROW1=1]="COL0ROW1",e[e.COL0ROW2=2]="COL0ROW2",e[e.COL0ROW3=3]="COL0ROW3",e[e.COL1ROW0=4]="COL1ROW0",e[e.COL1ROW1=5]="COL1ROW1",e[e.COL1ROW2=6]="COL1ROW2",e[e.COL1ROW3=7]="COL1ROW3",e[e.COL2ROW0=8]="COL2ROW0",e[e.COL2ROW1=9]="COL2ROW1",e[e.COL2ROW2=10]="COL2ROW2",e[e.COL2ROW3=11]="COL2ROW3",e[e.COL3ROW0=12]="COL3ROW0",e[e.COL3ROW1=13]="COL3ROW1",e[e.COL3ROW2=14]="COL3ROW2",e[e.COL3ROW3=15]="COL3ROW3"})(Dt||(Dt={}));var Lr=45*Math.PI/180,Nr=1,Ut=.1,Vt=500,_r=Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),B=class extends At{static get IDENTITY(){return Pr()}static get ZERO(){return Ir()}get ELEMENTS(){return 16}get RANK(){return 4}get INDICES(){return Dt}constructor(t){super(-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0),arguments.length===1&&Array.isArray(t)?this.copy(t):this.identity()}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this[4]=t[4],this[5]=t[5],this[6]=t[6],this[7]=t[7],this[8]=t[8],this[9]=t[9],this[10]=t[10],this[11]=t[11],this[12]=t[12],this[13]=t[13],this[14]=t[14],this[15]=t[15],this.check()}set(t,n,r,s,i,c,o,a,f,h,p,l,x,m,M,d){return this[0]=t,this[1]=n,this[2]=r,this[3]=s,this[4]=i,this[5]=c,this[6]=o,this[7]=a,this[8]=f,this[9]=h,this[10]=p,this[11]=l,this[12]=x,this[13]=m,this[14]=M,this[15]=d,this.check()}setRowMajor(t,n,r,s,i,c,o,a,f,h,p,l,x,m,M,d){return this[0]=t,this[1]=i,this[2]=f,this[3]=x,this[4]=n,this[5]=c,this[6]=h,this[7]=m,this[8]=r,this[9]=o,this[10]=p,this[11]=M,this[12]=s,this[13]=a,this[14]=l,this[15]=d,this.check()}toRowMajor(t){return t[0]=this[0],t[1]=this[4],t[2]=this[8],t[3]=this[12],t[4]=this[1],t[5]=this[5],t[6]=this[9],t[7]=this[13],t[8]=this[2],t[9]=this[6],t[10]=this[10],t[11]=this[14],t[12]=this[3],t[13]=this[7],t[14]=this[11],t[15]=this[15],t}identity(){return this.copy(_r)}fromObject(t){return this.check()}fromQuaternion(t){return Fe(this,t),this.check()}frustum(t){let{left:n,right:r,bottom:s,top:i,near:c=Ut,far:o=Vt}=t;return o===1/0?vr(this,n,r,s,i,c):Be(this,n,r,s,i,c,o),this.check()}lookAt(t){let{eye:n,center:r=[0,0,0],up:s=[0,1,0]}=t;return Ve(this,n,r,s),this.check()}ortho(t){let{left:n,right:r,bottom:s,top:i,near:c=Ut,far:o=Vt}=t;return Ue(this,n,r,s,i,c,o),this.check()}orthographic(t){let{fovy:n=Lr,aspect:r=Nr,focalDistance:s=1,near:i=Ut,far:c=Vt}=t;Qe(n);let o=n/2,a=s*Math.tan(o),f=a*r;return this.ortho({left:-f,right:f,bottom:-a,top:a,near:i,far:c})}perspective(t){let{fovy:n=45*Math.PI/180,aspect:r=1,near:s=.1,far:i=500}=t;return Qe(n),Ce(this,n,r,s,i),this.check()}determinant(){return Pe(this)}getScale(t=[-0,-0,-0]){return t[0]=Math.sqrt(this[0]*this[0]+this[1]*this[1]+this[2]*this[2]),t[1]=Math.sqrt(this[4]*this[4]+this[5]*this[5]+this[6]*this[6]),t[2]=Math.sqrt(this[8]*this[8]+this[9]*this[9]+this[10]*this[10]),t}getTranslation(t=[-0,-0,-0]){return t[0]=this[12],t[1]=this[13],t[2]=this[14],t}getRotation(t,n){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0,-0],n=n||[-0,-0,-0];let r=this.getScale(n),s=1/r[0],i=1/r[1],c=1/r[2];return t[0]=this[0]*s,t[1]=this[1]*i,t[2]=this[2]*c,t[3]=0,t[4]=this[4]*s,t[5]=this[5]*i,t[6]=this[6]*c,t[7]=0,t[8]=this[8]*s,t[9]=this[9]*i,t[10]=this[10]*c,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}getRotationMatrix3(t,n){t=t||[-0,-0,-0,-0,-0,-0,-0,-0,-0],n=n||[-0,-0,-0];let r=this.getScale(n),s=1/r[0],i=1/r[1],c=1/r[2];return t[0]=this[0]*s,t[1]=this[1]*i,t[2]=this[2]*c,t[3]=this[4]*s,t[4]=this[5]*i,t[5]=this[6]*c,t[6]=this[8]*s,t[7]=this[9]*i,t[8]=this[10]*c,t}transpose(){return _e(this,this),this.check()}invert(){return Ie(this,this),this.check()}multiplyLeft(t){return Ct(this,t,this),this.check()}multiplyRight(t){return Ct(this,this,t),this.check()}rotateX(t){return ze(this,this,t),this.check()}rotateY(t){return be(this,this,t),this.check()}rotateZ(t){return qe(this,this,t),this.check()}rotateXYZ(t){return this.rotateX(t[0]).rotateY(t[1]).rotateZ(t[2])}rotateAxis(t,n){return ke(this,this,t,n),this.check()}scale(t){return ue(this,this,Array.isArray(t)?t:[t,t,t]),this.check()}translate(t){return ve(this,this,t),this.check()}transform(t,n){return t.length===4?(n=je(n||[-0,-0,-0,-0],t,this),$(n,4),n):this.transformAsPoint(t,n)}transformAsPoint(t,n){let{length:r}=t,s;switch(r){case 2:s=ye(n||[-0,-0],t,this);break;case 3:s=gt(n||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return $(s,t.length),s}transformAsVector(t,n){let r;switch(t.length){case 2:r=Ae(n||[-0,-0],t,this);break;case 3:r=Te(n||[-0,-0,-0],t,this);break;default:throw new Error("Illegal vector")}return $(r,t.length),r}transformPoint(t,n){return this.transformAsPoint(t,n)}transformVector(t,n){return this.transformAsPoint(t,n)}transformDirection(t,n){return this.transformAsVector(t,n)}makeRotationX(t){return this.identity().rotateX(t)}makeTranslation(t,n,r){return this.identity().translate([t,n,r])}},Tt,Et;function Ir(){return Tt||(Tt=new B([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),Object.freeze(Tt)),Tt}function Pr(){return Et||(Et=new B,Object.freeze(Et)),Et}function Qe(e){if(e>Math.PI*2)throw Error("expected radians")}function vr(e,t,n,r,s,i){let c=2*i/(n-t),o=2*i/(s-r),a=(n+t)/(n-t),f=(s+r)/(s-r),h=-1,p=-1,l=-2*i;return e[0]=c,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=o,e[6]=0,e[7]=0,e[8]=a,e[9]=f,e[10]=h,e[11]=p,e[12]=0,e[13]=0,e[14]=l,e[15]=0,e}function Ze(){let e=new L(4);return L!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Je(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e}function Yt(e,t,n){n=n*.5;let r=Math.sin(n);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(n),e}function $t(e,t,n){let r=t[0],s=t[1],i=t[2],c=t[3],o=n[0],a=n[1],f=n[2],h=n[3];return e[0]=r*h+c*o+s*f-i*a,e[1]=s*h+c*a+i*o-r*f,e[2]=i*h+c*f+r*a-s*o,e[3]=c*h-r*o-s*a-i*f,e}function tn(e,t,n){n*=.5;let r=t[0],s=t[1],i=t[2],c=t[3],o=Math.sin(n),a=Math.cos(n);return e[0]=r*a+c*o,e[1]=s*a+i*o,e[2]=i*a-s*o,e[3]=c*a-r*o,e}function en(e,t,n){n*=.5;let r=t[0],s=t[1],i=t[2],c=t[3],o=Math.sin(n),a=Math.cos(n);return e[0]=r*a-i*o,e[1]=s*a+c*o,e[2]=i*a+r*o,e[3]=c*a-s*o,e}function nn(e,t,n){n*=.5;let r=t[0],s=t[1],i=t[2],c=t[3],o=Math.sin(n),a=Math.cos(n);return e[0]=r*a+s*o,e[1]=s*a-r*o,e[2]=i*a+c*o,e[3]=c*a-i*o,e}function rn(e,t){let n=t[0],r=t[1],s=t[2];return e[0]=n,e[1]=r,e[2]=s,e[3]=Math.sqrt(Math.abs(1-n*n-r*r-s*s)),e}function et(e,t,n,r){let s=t[0],i=t[1],c=t[2],o=t[3],a=n[0],f=n[1],h=n[2],p=n[3],l,x,m,M,d;return l=s*a+i*f+c*h+o*p,l<0&&(l=-l,a=-a,f=-f,h=-h,p=-p),1-l>1e-6?(x=Math.acos(l),d=Math.sin(x),m=Math.sin((1-r)*x)/d,M=Math.sin(r*x)/d):(m=1-r,M=r),e[0]=m*s+M*a,e[1]=m*i+M*f,e[2]=m*c+M*h,e[3]=m*o+M*p,e}function sn(e,t){let n=t[0],r=t[1],s=t[2],i=t[3],c=n*n+r*r+s*s+i*i,o=c?1/c:0;return e[0]=-n*o,e[1]=-r*o,e[2]=-s*o,e[3]=i*o,e}function cn(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e}function Wt(e,t){let n=t[0]+t[4]+t[8],r;if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{let s=0;t[4]>t[0]&&(s=1),t[8]>t[s*3+s]&&(s=2);let i=(s+1)%3,c=(s+2)%3;r=Math.sqrt(t[s*3+s]-t[i*3+i]-t[c*3+c]+1),e[s]=.5*r,r=.5/r,e[3]=(t[i*3+c]-t[c*3+i])*r,e[i]=(t[i*3+s]+t[s*3+i])*r,e[c]=(t[c*3+s]+t[s*3+c])*r}return e}var on=De;var an=Ye,fn=He,hn=Xe,ln=$e;var pn=We;var xn=Ge;var mn=function(){let e=Ft(),t=Bt(1,0,0),n=Bt(0,1,0);return function(r,s,i){let c=Oe(s,i);return c<-.999999?(dt(e,t,s),Le(e)<1e-6&&dt(e,n,s),we(e,e),Yt(r,e,Math.PI),r):c>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(dt(e,s,i),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+c,xn(r,r))}}(),Bi=function(){let e=Ze(),t=Ze();return function(n,r,s,i,c,o){return et(e,r,c,o),et(t,s,i,o),et(n,e,t,2*o*(1-o)),n}}(),Ci=function(){let e=Ne();return function(t,n,r,s){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=s[0],e[4]=s[1],e[7]=s[2],e[2]=-n[0],e[5]=-n[1],e[8]=-n[2],xn(t,Wt(t,e))}}();var ur=[0,0,0,1],nt=class extends U{constructor(t=0,n=0,r=0,s=1){super(-0,-0,-0,-0),Array.isArray(t)&&arguments.length===1?this.copy(t):this.set(t,n,r,s)}copy(t){return this[0]=t[0],this[1]=t[1],this[2]=t[2],this[3]=t[3],this.check()}set(t,n,r,s){return this[0]=t,this[1]=n,this[2]=r,this[3]=s,this.check()}fromObject(t){return this[0]=t.x,this[1]=t.y,this[2]=t.z,this[3]=t.w,this.check()}fromMatrix3(t){return Wt(this,t),this.check()}fromAxisRotation(t,n){return Yt(this,t,n),this.check()}identity(){return Je(this),this.check()}setAxisAngle(t,n){return this.fromAxisRotation(t,n)}get ELEMENTS(){return 4}get x(){return this[0]}set x(t){this[0]=w(t)}get y(){return this[1]}set y(t){this[1]=w(t)}get z(){return this[2]}set z(t){this[2]=w(t)}get w(){return this[3]}set w(t){this[3]=w(t)}len(){return ln(this)}lengthSquared(){return pn(this)}dot(t){return fn(this,t)}rotationTo(t,n){return mn(this,t,n),this.check()}add(t){return on(this,this,t),this.check()}calculateW(){return rn(this,this),this.check()}conjugate(){return cn(this,this),this.check()}invert(){return sn(this,this),this.check()}lerp(t,n,r){return r===void 0?this.lerp(this,t,n):(hn(this,t,n,r),this.check())}multiplyRight(t){return $t(this,this,t),this.check()}multiplyLeft(t){return $t(this,t,this),this.check()}normalize(){let t=this.len(),n=t>0?1/t:0;return this[0]=this[0]*n,this[1]=this[1]*n,this[2]=this[2]*n,this[3]=this[3]*n,t===0&&(this[3]=1),this.check()}rotateX(t){return tn(this,this,t),this.check()}rotateY(t){return en(this,this,t),this.check()}rotateZ(t){return nn(this,this,t),this.check()}scale(t){return an(this,this,t),this.check()}slerp(t,n,r){let s,i,c;switch(arguments.length){case 1:({start:s=ur,target:i,ratio:c}=t);break;case 2:s=this,i=t,c=n;break;default:s=t,i=n,c=r}return et(this,s,i,c),this.check()}transformVector4(t,n=new W){return Ke(n,t,this),$(n,4)}lengthSq(){return this.lengthSquared()}setFromAxisAngle(t,n){return this.setAxisAngle(t,n)}premultiply(t){return this.multiplyLeft(t)}multiply(t){return this.multiplyRight(t)}};var Ht=C(j(),1);var kr={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},zr={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array},Xt=class{name="unnamed";startTime=0;playing=!0;speed=1;channels=[];constructor(t){Object.assign(this,t)}animate(t){if(!this.playing)return;let r=(t/1e3-this.startTime)*this.speed;this.channels.forEach(({sampler:s,target:i,path:c})=>{Ur(r,s,i,c),qr(i,i._node)})}},G=class{animations;constructor(t){this.animations=t.animations.map((n,r)=>{let s=n.name||`Animation-${r}`,i=n.samplers.map(({input:o,interpolation:a="LINEAR",output:f})=>({input:Mn(t.accessors[o]),interpolation:a,output:Mn(t.accessors[f])})),c=n.channels.map(({sampler:o,target:a})=>({sampler:i[o],target:t.nodes[a.node],path:a.path}));return new Xt({name:s,channels:c})})}animate(t){this.setTime(t)}setTime(t){this.animations.forEach(n=>n.animate(t))}getAnimations(){return this.animations}};function Mn(e){if(!e._animation){let t=zr[e.componentType],n=kr[e.type],r=n*e.count,{buffer:s,byteOffset:i}=e.bufferView.data,c=new t(s,i+(e.byteOffset||0),r);if(n===1)e._animation=Array.from(c);else{let o=[];for(let a=0;a<c.length;a+=n)o.push(Array.from(c.slice(a,a+n)));e._animation=o}}return e._animation}var br=new B;function qr(e,t){if(t.matrix.identity(),e.translation&&t.matrix.translate(e.translation),e.rotation){let n=br.fromQuaternion(e.rotation);t.matrix.multiplyRight(n)}e.scale&&t.matrix.scale(e.scale)}var Gt=new nt;function Fr(e,t,n,r,s){if(t==="rotation"){Gt.slerp({start:n,target:r,ratio:s});for(let i=0;i<Gt.length;i++)e[t][i]=Gt[i]}else for(let i=0;i<n.length;i++)e[t][i]=s*r[i]+(1-s)*n[i]}function Br(e,t,{p0:n,outTangent0:r,inTangent1:s,p1:i,tDiff:c,ratio:o}){for(let a=0;a<e[t].length;a++){let f=r[a]*c,h=s[a]*c;e[t][a]=(2*Math.pow(o,3)-3*Math.pow(o,2)+1)*n[a]+(Math.pow(o,3)-2*Math.pow(o,2)+o)*f+(-2*Math.pow(o,3)+3*Math.pow(o,2))*i[a]+(Math.pow(o,3)-Math.pow(o,2))*h}}function Cr(e,t,n){for(let r=0;r<n.length;r++)e[t][r]=n[r]}function Ur(e,{input:t,interpolation:n,output:r},s,i){let c=t[t.length-1],o=e%c,a=t.findIndex(l=>l>=o),f=Math.max(0,a-1);if(!Array.isArray(s[i]))switch(i){case"translation":s[i]=[0,0,0];break;case"rotation":s[i]=[0,0,0,1];break;case"scale":s[i]=[1,1,1];break;default:Ht.log.warn(`Bad animation path ${i}`)()}let h=t[f],p=t[a];switch(n){case"STEP":Cr(s,i,r[f]);break;case"LINEAR":if(p>h){let l=(o-h)/(p-h);Fr(s,i,r[f],r[a],l)}break;case"CUBICSPLINE":if(p>h){let l=(o-h)/(p-h),x=p-h,m=r[3*f+1],M=r[3*f+2],d=r[3*a+0],E=r[3*a+1];Br(s,i,{p0:m,outTangent0:M,inTangent1:d,p1:E,tDiff:x,ratio:l})}break;default:Ht.log.warn(`Interpolation ${n} not supported`)();break}}var yn=C(j(),1),An=C(gn(),1),St=C(at(),1);var Vr=`
8
8
  layout(0) positions: vec4; // in vec4 POSITION;
9
9
 
10
10
  #ifdef HAS_NORMALS
@@ -95,6 +95,6 @@ layout(0) positions: vec4; // in vec4 POSITION;
95
95
  vec3 pos = pbr_vPosition;
96
96
  fragmentColor = pbr_filterColor(vec4(1.0));
97
97
  }
98
- `;function Te(n,t){let{id:e,geometry:r,material:s,vertexCount:i,materialOptions:c,modelOptions:o}=t,a=ot(n,s,r.attributes,c);ye.log.info(4,"createGLTFModel defines: ",a.defines)();let f=[],h={depthWriteEnabled:!0,depthCompare:"less",depthFormat:"depth24plus",cullMode:"back"},p={id:e,source:Vr,vs:Dr,fs:Yr,geometry:r,topology:r.topology,vertexCount:i,modules:[Ae.pbrMaterial],...o,defines:{...a.defines,...o.defines},parameters:{...h,...a.parameters,...o.parameters}},l=new St.Model(n,p),{camera:x,...m}={...a.uniforms,...o.uniforms,...a.bindings,...o.bindings};return l.shaderInputs.setProps({pbrMaterial:m,pbrProjection:{camera:x}}),new St.ModelNode({managedResources:f,model:l})}var D;(function(n){n[n.POINTS=0]="POINTS",n[n.LINES=1]="LINES",n[n.LINE_LOOP=2]="LINE_LOOP",n[n.LINE_STRIP=3]="LINE_STRIP",n[n.TRIANGLES=4]="TRIANGLES",n[n.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",n[n.TRIANGLE_FAN=6]="TRIANGLE_FAN"})(D||(D={}));function Ee(n){switch(n){case D.POINTS:return"point-list";case D.LINES:return"line-list";case D.LINE_STRIP:return"line-strip";case D.TRIANGLES:return"triangle-list";case D.TRIANGLE_STRIP:return"triangle-strip";default:throw new Error(String(n))}}var $r={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:null,lights:!0,useTangents:!1},wt=class{device;options;gltf;constructor(t,e={}){this.device=t,this.options={...$r,...e}}instantiate(t){return this.gltf=jt(t),(this.gltf.scenes||[]).map(r=>this.createScene(r))}createAnimator(){return Array.isArray(this.gltf.animations)?new G(this.gltf):null}createScene(t){let r=(t.nodes||[]).map(i=>this.createNode(i));return new H.GroupNode({id:t.name||t.id,children:r})}createNode(t){if(!t._node){let s=(t.children||[]).map(c=>this.createNode(c));t.mesh&&s.push(this.createMesh(t.mesh));let i=new H.GroupNode({id:t.name||t.id,children:s});if(t.matrix)i.setMatrix(t.matrix);else{if(i.matrix.identity(),t.translation&&i.matrix.translate(t.translation),t.rotation){let c=new B().fromQuaternion(t.rotation);i.matrix.multiplyRight(c)}t.scale&&i.matrix.scale(t.scale)}t._node=i}let e=this.gltf.nodes.find(r=>r.id===t.id);return e._node=t._node,t._node}createMesh(t){if(!t._mesh){let r=(t.primitives||[]).map((i,c)=>this.createPrimitive(i,c,t)),s=new H.GroupNode({id:t.name||t.id,children:r});t._mesh=s}return t._mesh}createPrimitive(t,e,r){let s=t.name||`${r.name||r.id}-primitive-${e}`,i=Ee(t.mode||4),c=t.indices?t.indices.count:this.getVertexCount(t.attributes),o=Te(this.device,{id:s,geometry:this.createGeometry(s,t,i),material:t.material,materialOptions:this.options,modelOptions:this.options.modelOptions,vertexCount:c});return o.bounds=[t.attributes.POSITION.min,t.attributes.POSITION.max],o}getVertexCount(t){throw new Error("getVertexCount not implemented")}createGeometry(t,e,r){let s={};for(let[i,c]of Object.entries(e.attributes)){let{components:o,size:a,value:f}=c;s[i]={size:a??o,value:f}}return new H.Geometry({id:t,topology:r,indices:e.indices.value,attributes:s})}createBuffer(t,e){t.bufferView||(t.bufferView={});let{bufferView:r}=t;return r.lumaBuffers||(r.lumaBuffers={}),r.lumaBuffers[e]||(r.lumaBuffers[e]=this.device.createBuffer({id:`from-${r.id}`,data:r.data||t.value})),r.lumaBuffers[e]}createSampler(t){return t}needsPOT(){return!1}};function jt(n){if(ArrayBuffer.isView(n)||n instanceof ArrayBuffer)return n;if(Array.isArray(n))return n.map(jt);if(n&&typeof n=="object"){let t={};for(let e in n)t[e]=jt(n[e]);return t}return n}function Se(n,t,e){let r=new wt(n,e),s=r.instantiate(t),i=r.createAnimator();return{scenes:s,animator:i}}return Ie(rt);})();
98
+ `;function Tn(e,t){let{id:n,geometry:r,material:s,vertexCount:i,materialOptions:c,modelOptions:o={}}=t,a=ot(e,s,r.attributes,c);yn.log.info(4,"createGLTFModel defines: ",a.defines)();let f=[],h={depthWriteEnabled:!0,depthCompare:"less",depthFormat:"depth24plus",cullMode:"back"},p={id:n,source:Vr,vs:Dr,fs:Yr,geometry:r,topology:r.topology,vertexCount:i,modules:[An.pbrMaterial],...o,defines:{...a.defines,...o.defines},parameters:{...h,...a.parameters,...o.parameters}},l=new St.Model(e,p),{camera:x,...m}={...a.uniforms,...o.uniforms,...a.bindings,...o.bindings};return l.shaderInputs.setProps({pbrMaterial:m,pbrProjection:{camera:x}}),new St.ModelNode({managedResources:f,model:l})}var D;(function(e){e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN"})(D||(D={}));function En(e){switch(e){case D.POINTS:return"point-list";case D.LINES:return"line-list";case D.LINE_STRIP:return"line-strip";case D.TRIANGLES:return"triangle-list";case D.TRIANGLE_STRIP:return"triangle-strip";default:throw new Error(String(e))}}var $r={modelOptions:{},pbrDebug:!1,imageBasedLightingEnvironment:void 0,lights:!0,useTangents:!1},wt=class{device;options;gltf;constructor(t,n={}){this.device=t,this.options={...$r,...n}}instantiate(t){return this.gltf=jt(t),(this.gltf.scenes||[]).map(r=>this.createScene(r))}createAnimator(){return Array.isArray(this.gltf.animations)?new G(this.gltf):null}createScene(t){let r=(t.nodes||[]).map(i=>this.createNode(i));return new H.GroupNode({id:t.name||t.id,children:r})}createNode(t){if(!t._node){let s=(t.children||[]).map(c=>this.createNode(c));t.mesh&&s.push(this.createMesh(t.mesh));let i=new H.GroupNode({id:t.name||t.id,children:s});if(t.matrix)i.setMatrix(t.matrix);else{if(i.matrix.identity(),t.translation&&i.matrix.translate(t.translation),t.rotation){let c=new B().fromQuaternion(t.rotation);i.matrix.multiplyRight(c)}t.scale&&i.matrix.scale(t.scale)}t._node=i}let n=this.gltf.nodes.find(r=>r.id===t.id);return n._node=t._node,t._node}createMesh(t){if(!t._mesh){let r=(t.primitives||[]).map((i,c)=>this.createPrimitive(i,c,t)),s=new H.GroupNode({id:t.name||t.id,children:r});t._mesh=s}return t._mesh}createPrimitive(t,n,r){let s=t.name||`${r.name||r.id}-primitive-${n}`,i=En(t.mode||4),c=t.indices?t.indices.count:this.getVertexCount(t.attributes),o=Tn(this.device,{id:s,geometry:this.createGeometry(s,t,i),material:t.material,materialOptions:this.options,modelOptions:this.options.modelOptions,vertexCount:c});return o.bounds=[t.attributes.POSITION.min,t.attributes.POSITION.max],o}getVertexCount(t){throw new Error("getVertexCount not implemented")}createGeometry(t,n,r){let s={};for(let[i,c]of Object.entries(n.attributes)){let{components:o,size:a,value:f}=c;s[i]={size:a??o,value:f}}return new H.Geometry({id:t,topology:r,indices:n.indices.value,attributes:s})}createBuffer(t,n){t.bufferView||(t.bufferView={});let{bufferView:r}=t;return r.lumaBuffers||(r.lumaBuffers={}),r.lumaBuffers[n]||(r.lumaBuffers[n]=this.device.createBuffer({id:`from-${r.id}`,data:r.data||t.value})),r.lumaBuffers[n]}createSampler(t){return t}needsPOT(){return!1}};function jt(e){if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return e;if(Array.isArray(e))return e.map(jt);if(e&&typeof e=="object"){let t={};for(let n in e)t[n]=jt(e[n]);return t}return e}function Sn(e,t,n){let r=new wt(e,n),s=r.instantiate(t),i=r.createAnimator();return{scenes:s,animator:i}}return In(rt);})();
99
99
  return __exports__;
100
100
  });
@@ -104,7 +104,7 @@ const fs = /* glsl */ `\
104
104
  }
105
105
  `;
106
106
  export function createGLTFModel(device, options) {
107
- const { id, geometry, material, vertexCount, materialOptions, modelOptions } = options;
107
+ const { id, geometry, material, vertexCount, materialOptions, modelOptions = {} } = options;
108
108
  const parsedMaterial = parsePBRMaterial(device, material, geometry.attributes, materialOptions);
109
109
  log.info(4, 'createGLTFModel defines: ', parsedMaterial.defines)();
110
110
  // Calculate managedResources
@@ -1 +1 @@
1
- {"version":3,"file":"create-gltf-model.js","sourceRoot":"","sources":["../../src/gltf/create-gltf-model.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAmC,GAAG,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,WAAW,EAAe,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAW,KAAK,EAAE,SAAS,EAAa,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAA0B,gBAAgB,EAAC,qCAAkC;AAEpF,MAAM,MAAM,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CzB,CAAC;AAEF,gDAAgD;AAChD,yDAAyD;AACzD,MAAM,EAAE,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCrB,CAAC;AAEF,MAAM,EAAE,GAAG,UAAU,CAAC;;;;;;;;CAQrB,CAAC;AAWF,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,OAA+B;IAC7E,MAAM,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAC,GAAG,OAAO,CAAC;IAErF,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAChG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,2BAA2B,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IAEnE,6BAA6B;IAC7B,sDAAsD;IACtD,4DAA4D;IAC5D,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,8DAA8D;IAC9D,4FAA4F;IAE5F,MAAM,UAAU,GAA6B;QAC3C,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,MAAM;KACjB,CAAC;IAEF,MAAM,UAAU,GAAe;QAC7B,EAAE;QACF,MAAM,EAAE,MAAM;QACd,EAAE;QACF,EAAE;QACF,QAAQ;QACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,WAAW;QACX,OAAO,EAAE,CAAC,WAAsC,CAAC;QACjD,GAAG,YAAY;QAEf,OAAO,EAAE,EAAC,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAC;QAC7D,UAAU,EAAE,EAAC,GAAG,UAAU,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,UAAU,EAAC;KACtF,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C,MAAM,EAAC,MAAM,EAAE,GAAG,gBAAgB,EAAC,GAAG;QACpC,GAAG,cAAc,CAAC,QAAQ;QAC1B,GAAG,YAAY,CAAC,QAAQ;QACxB,GAAG,cAAc,CAAC,QAAQ;QAC1B,GAAG,YAAY,CAAC,QAAQ;KACzB,CAAC;IAEF,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAC,MAAM,EAAC,EAAC,CAAC,CAAC;IACtF,OAAO,IAAI,SAAS,CAAC,EAAC,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"create-gltf-model.js","sourceRoot":"","sources":["../../src/gltf/create-gltf-model.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAmC,GAAG,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,WAAW,EAAe,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAW,KAAK,EAAE,SAAS,EAAa,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAA0B,gBAAgB,EAAC,qCAAkC;AAEpF,MAAM,MAAM,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CzB,CAAC;AAEF,gDAAgD;AAChD,yDAAyD;AACzD,MAAM,EAAE,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCrB,CAAC;AAEF,MAAM,EAAE,GAAG,UAAU,CAAC;;;;;;;;CAQrB,CAAC;AAWF,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,OAA+B;IAC7E,MAAM,EAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,GAAG,EAAE,EAAC,GAAG,OAAO,CAAC;IAE1F,MAAM,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAChG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,2BAA2B,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IAEnE,6BAA6B;IAC7B,sDAAsD;IACtD,4DAA4D;IAC5D,MAAM,gBAAgB,GAAU,EAAE,CAAC;IACnC,8DAA8D;IAC9D,4FAA4F;IAE5F,MAAM,UAAU,GAA6B;QAC3C,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,MAAM;QACpB,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,MAAM;KACjB,CAAC;IAEF,MAAM,UAAU,GAAe;QAC7B,EAAE;QACF,MAAM,EAAE,MAAM;QACd,EAAE;QACF,EAAE;QACF,QAAQ;QACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,WAAW;QACX,OAAO,EAAE,CAAC,WAAsC,CAAC;QACjD,GAAG,YAAY;QAEf,OAAO,EAAE,EAAC,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,YAAY,CAAC,OAAO,EAAC;QAC7D,UAAU,EAAE,EAAC,GAAG,UAAU,EAAE,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,UAAU,EAAC;KACtF,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C,MAAM,EAAC,MAAM,EAAE,GAAG,gBAAgB,EAAC,GAAG;QACpC,GAAG,cAAc,CAAC,QAAQ;QAC1B,GAAG,YAAY,CAAC,QAAQ;QACxB,GAAG,cAAc,CAAC,QAAQ;QAC1B,GAAG,YAAY,CAAC,QAAQ;KACzB,CAAC;IAEF,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAC,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,EAAC,MAAM,EAAC,EAAC,CAAC,CAAC;IACtF,OAAO,IAAI,SAAS,CAAC,EAAC,gBAAgB,EAAE,KAAK,EAAC,CAAC,CAAC;AAClD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-animator.d.ts","sourceRoot":"","sources":["../../src/gltf/gltf-animator.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,4BAA4B;;;;;;;;CAQxC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;CAO7C,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,cAAM,aAAa;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAK;IACtB,OAAO,EAAE,OAAO,CAAQ;IACxB,KAAK,EAAE,MAAM,CAAK;IAClB,QAAQ,EAAE,GAAG,CAAM;gBAEP,KAAK,EAAE,kBAAkB;IAIrC,OAAO,CAAC,MAAM,EAAE,MAAM;CAavB;AAED,qBAAa,YAAY;IACvB,UAAU,EAAE,aAAa,EAAE,CAAC;gBAEhB,IAAI,EAAE,GAAG;IAiBrB,0EAA0E;IAC1E,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,aAAa;CAGd"}
1
+ {"version":3,"file":"gltf-animator.d.ts","sourceRoot":"","sources":["../../src/gltf/gltf-animator.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B;;;;;;;;CAQxC,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;CAO7C,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB,CAAC;AAEF,cAAM,aAAa;IACjB,IAAI,EAAE,MAAM,CAAa;IACzB,SAAS,EAAE,MAAM,CAAK;IACtB,OAAO,EAAE,OAAO,CAAQ;IACxB,KAAK,EAAE,MAAM,CAAK;IAClB,QAAQ,EAAE,GAAG,CAAM;gBAEP,KAAK,EAAE,kBAAkB;IAIrC,OAAO,CAAC,MAAM,EAAE,MAAM;CAavB;AAED,qBAAa,YAAY;IACvB,UAAU,EAAE,aAAa,EAAE,CAAC;gBAEhB,IAAI,EAAE,GAAG;IAiBrB,0EAA0E;IAC1E,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,aAAa;CAGd"}
@@ -1,6 +1,7 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
+ // @ts-nocheck TODO
4
5
  import { log } from '@luma.gl/core';
5
6
  import { Matrix4, Quaternion } from '@math.gl/core';
6
7
  // TODO: import from loaders.gl?
@@ -22,7 +23,7 @@ export const ATTRIBUTE_COMPONENT_TYPE_TO_ARRAY = {
22
23
  5126: Float32Array
23
24
  };
24
25
  class GLTFAnimation {
25
- name;
26
+ name = 'unnamed';
26
27
  startTime = 0;
27
28
  playing = true;
28
29
  speed = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-animator.js","sourceRoot":"","sources":["../../src/gltf/gltf-animator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltf-animator.js","sourceRoot":"","sources":["../../src/gltf/gltf-animator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-instantiator.d.ts","sourceRoot":"","sources":["../../src/gltf/gltf-instantiator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAqB,SAAS,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG9F,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAE7C,OAAO,KAAK,EAAC,cAAc,EAAC,kCAA+B;AAG3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B,CAAC,EAAE,cAAc,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAUF;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE,GAAG,CAAC;gBAEE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B;IAKjE,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,EAAE;IAMnC,cAAc,IAAI,YAAY;IAQ9B,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS;IAUtC,UAAU,CAAC,QAAQ,KAAA;IA2CnB,UAAU,CAAC,QAAQ,KAAA,GAAG,SAAS;IAiB/B,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,KAAA,GAAG,SAAS;IA0BnE,cAAc,CAAC,UAAU,EAAE,GAAG;IAI9B,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,GAAG,QAAQ;IAgBrF,YAAY,CAAC,SAAS,KAAA,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAuB9C,aAAa,CAAC,WAAW,KAAA;IAMzB,QAAQ,IAAI,OAAO;CAOpB"}
1
+ {"version":3,"file":"gltf-instantiator.d.ts","sourceRoot":"","sources":["../../src/gltf/gltf-instantiator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,EAAC,QAAQ,EAAqB,SAAS,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG9F,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAE7C,OAAO,KAAK,EAAC,cAAc,EAAC,kCAA+B;AAG3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6BAA6B,CAAC,EAAE,cAAc,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAUF;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,uBAAuB,CAAC;IACjC,IAAI,EAAE,GAAG,CAAC;gBAEE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B;IAKjE,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,EAAE;IAMnC,cAAc,IAAI,YAAY;IAS9B,WAAW,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS;IAUtC,UAAU,CAAC,QAAQ,KAAA;IA2CnB,UAAU,CAAC,QAAQ,KAAA,GAAG,SAAS;IAiB/B,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,KAAA,GAAG,SAAS;IA0BnE,cAAc,CAAC,UAAU,EAAE,GAAG;IAI9B,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,GAAG,QAAQ;IAgBrF,YAAY,CAAC,SAAS,KAAA,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAuB9C,aAAa,CAAC,WAAW,KAAA;IAMzB,QAAQ,IAAI,OAAO;CAOpB"}
@@ -9,7 +9,7 @@ import { convertGLDrawModeToTopology } from "./gl-utils.js";
9
9
  const DEFAULT_OPTIONS = {
10
10
  modelOptions: {},
11
11
  pbrDebug: false,
12
- imageBasedLightingEnvironment: null,
12
+ imageBasedLightingEnvironment: undefined,
13
13
  lights: true,
14
14
  useTangents: false
15
15
  };
@@ -34,6 +34,7 @@ export class GLTFInstantiator {
34
34
  if (Array.isArray(this.gltf.animations)) {
35
35
  return new GLTFAnimator(this.gltf);
36
36
  }
37
+ // @ts-ignore TODO - should we create an empty animator that does nothing?
37
38
  return null;
38
39
  }
39
40
  createScene(gltfScene) {
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-instantiator.js","sourceRoot":"","sources":["../../src/gltf/gltf-instantiator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gltf-instantiator.js","sourceRoot":"","sources":["../../src/gltf/gltf-instantiator.ts"],"names":[],"mappings":"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"}