@needle-tools/engine 4.12.4-next.4498846 → 4.12.4-next.46bee95

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.
@@ -1,16 +1,16 @@
1
- import { Vector2 as ee, Vector3 as y, Vector4 as me, Quaternion as V, PlaneGeometry as Sn, WebGLRenderer as Ir, PerspectiveCamera as ce, OrthographicCamera as au, Scene as Mi, Mesh as H, Texture as Fe, Uniform$1 as Gi, Color as re, ShaderMaterial as Xn, Box3 as Pi, ShadowMaterial as e0, Euler as lt, MeshStandardMaterial as pt, Box3Helper as qx, GridHelper as t0, Object3D as M, Material as be, Matrix3 as i0, Matrix4 as J, Layers as wo, Ray as Es, MathUtils as Ps, AxesHelper as Oi, MeshBasicMaterial as we, DoubleSide as Ri, BufferGeometry as _n, Group as Os, CylinderGeometry as n0, SphereGeometry as lu, BoxGeometry as Aa, SpriteMaterial as Xx, Sprite as Qx, Shape as Yx, ExtrudeGeometry as Kx, Fog as s0, DirectionalLight as Fp, PointLight as Vm, TextureLoader as Ia, EdgesGeometry as Zx, LineSegments as o0, LineBasicMaterial as Hm, Line as La, BufferAttribute as mt, Raycaster as cu, Sphere as hu, ArrayCamera as Jx, Plane as Sr, SkinnedMesh as mo, InterleavedBufferAttribute as r0, Skeleton as eS, Bone as tS, WebGLCubeRenderTarget as iS, CubeCamera as nS, AnimationClip as ki, FileLoader as Gm, PropertyBinding as Da, KeyframeTrack as sS, LinearSRGBColorSpace as Ts, ShaderChunk as Zt, UniformsLib as oS, DataTexture as qm, RGBAFormat as du, EquirectangularReflectionMapping as Hn, SRGBColorSpace as As, Clock as rS, NeutralToneMapping as ja, AgXToneMapping as uu, ACESFilmicToneMapping as fu, NoToneMapping as Cd, PCFSoftShadowMap$1 as aS, BasicNodeLibrary as lS, WebGLRenderTarget as Qn, DepthTexture as a0, NearestFilter as Pd, LoopRepeat as cS, LoopOnce as Up, AnimationMixer as Xm, CompressedTexture as hS, FrontSide as xo, Camera as dS, Frustum as Ay, AudioListener as uS, PositionalAudio as fS, AudioLoader as zp, EventDispatcher as Qm, BackSide as pu, MeshDepthMaterial as pS, CustomBlending as mS, MaxEquation as gS, AlwaysStencilFunc as yS, GreaterEqualStencilFunc as _S, NotEqualStencilFunc as bS, GreaterStencilFunc as vS, LessEqualStencilFunc as wS, EqualStencilFunc as xS, LessStencilFunc as SS, NeverStencilFunc as Iy, InvertStencilOp as CS, DecrementWrapStencilOp as PS, IncrementWrapStencilOp as OS, DecrementStencilOp as kS, IncrementStencilOp as MS, ReplaceStencilOp as RS, ZeroStencilOp as ES, KeepStencilOp as TS, CubeTexture as l0, AmbientLight as AS, HemisphereLight as IS, RawShaderMaterial as c0, GLSL3 as LS, AlwaysDepth as DS, GreaterEqualDepth as jS, GreaterDepth as BS, LessEqualDepth as FS, LessDepth as US, NotEqualDepth as zS, EqualDepth as NS, BatchedMesh as Ly, MeshPhysicalMaterial as Np, LinearFilter as Od, UnsignedByteType as $S, RingGeometry as WS, Line3 as VS, AdditiveBlending as h0, BoxHelper as HS, SpotLight as GS, DirectionalLightHelper as qS, CameraHelper as XS, LOD as QS, Triangle as YS, NormalBlending as KS, ReinhardToneMapping as Ym, LinearToneMapping as Km, HalfFloatType as Sf, VideoTexture as ZS, CubeUVReflectionMapping as d0, CompressedCubeTexture as JS, EquirectangularRefractionMapping as eC, CatmullRomCurve3 as tC, VectorKeyframeTrack as iC, QuaternionKeyframeTrack as nC, Audio as sC, ShaderLib as kd, UniformsUtils as u0, MirroredRepeatWrapping as Dy, MeshNormalMaterial as oC, AudioContext as rC, PMREMGenerator$1 as aC } from "./three-D9pcFbxc.js";
2
- import { createLoaders as Zm, getRaycastMesh as f0, LODsManager as Xo, NEEDLE_progressive as We, addDracoAndKTX2Loaders as lC, configureLoader as cC, setKTX2TranscoderLocation as hC, setDracoDecoderLocation as dC } from "./gltf-progressive-ChnIhDXx.js";
3
- import { GroundedSkybox as Ba, Font as uC, TextGeometry as fC, FontLoader as pC, GLTFLoader as Is, TransformControlsGizmo as p0, EXRLoader as Jm, RGBELoader as m0, Stats as mC, nodeFrame as jy, OrbitControls as g0, PositionalAudioHelper as gC, HorizontalBlurShader as yC, VerticalBlurShader as _C, GLTFExporter as y0, strToU8 as _0, zipSync as bC, XRControllerModelFactory as vC, XRHandMeshModel as wC, Line2 as xC, LineGeometry as SC, LineMaterial as CC, TransformControls as PC, InteractiveGroup as OC, HTMLMesh as kC, VertexNormalsHelper as MC, OBJLoader as eg, FBXLoader as b0, mergeVertices as RC } from "./three-examples-F0MJj0vr.js";
4
- import { fetchProfile as EC, MotionController as TC, $70d766613f57b014$export$2e2bcd8739ae039 as By, ByteBuffer as AC, v5 as Fy, md5 as Uy, SIZE_PREFIX_LENGTH as v0, Builder as tg, createNoise4D as IC, Matrix4 as Cf, BatchedParticleRenderer as LC, ParticleSystem as DC, RenderMode as gs, ConstantColor as jC, Vector4 as BC, ConstantValue as FC, TrailParticle as zy, WorkerBase as UC, MeshBVH as zC } from "./vendor-BIFy-gRe.js";
5
- import { __webpack_exports__default as Ce, __webpack_exports__Text as w0, __webpack_exports__Block as x0, __webpack_exports__update as NC, SimpleStateBehavior as $C, __webpack_exports__Inline as Pf, __webpack_exports__FontLibrary as Ny, ThreeMeshUI as $y } from "./three-mesh-ui-DYyiRn5Y.js";
6
- import { EffectAttribute as WC } from "./postprocessing-R535krvT.js";
1
+ import { Vector2 as ee, Vector3 as y, Vector4 as me, Quaternion as V, PlaneGeometry as Sn, WebGLRenderer as Ir, PerspectiveCamera as ce, OrthographicCamera as au, Scene as Mi, Mesh as H, Texture as Fe, Uniform$1 as Gi, Color as re, ShaderMaterial as Xn, Box3 as Pi, ShadowMaterial as e0, Euler as lt, MeshStandardMaterial as pt, Box3Helper as qx, GridHelper as t0, Object3D as M, Material as be, Matrix3 as i0, Matrix4 as J, Layers as wo, Ray as Es, MathUtils as Ps, AxesHelper as Oi, MeshBasicMaterial as we, DoubleSide as Ri, BufferGeometry as _n, Group as Os, CylinderGeometry as n0, SphereGeometry as lu, BoxGeometry as Aa, SpriteMaterial as Xx, Sprite as Qx, Shape as Yx, ExtrudeGeometry as Kx, Fog as s0, DirectionalLight as Fp, PointLight as Vm, TextureLoader as Ia, EdgesGeometry as Zx, LineSegments as o0, LineBasicMaterial as Hm, Line as La, BufferAttribute as mt, Raycaster as cu, Sphere as hu, ArrayCamera as Jx, Plane as Sr, SkinnedMesh as mo, InterleavedBufferAttribute as r0, Skeleton as eS, Bone as tS, WebGLCubeRenderTarget as iS, CubeCamera as nS, AnimationClip as ki, FileLoader as Gm, PropertyBinding as Da, KeyframeTrack as sS, LinearSRGBColorSpace as Ts, ShaderChunk as Zt, UniformsLib as oS, DataTexture as qm, RGBAFormat as du, EquirectangularReflectionMapping as Hn, SRGBColorSpace as As, Clock as rS, NeutralToneMapping as ja, AgXToneMapping as uu, ACESFilmicToneMapping as fu, NoToneMapping as Cd, PCFSoftShadowMap$1 as aS, BasicNodeLibrary as lS, WebGLRenderTarget as Qn, DepthTexture as a0, NearestFilter as Pd, LoopRepeat as cS, LoopOnce as Up, AnimationMixer as Xm, CompressedTexture as hS, FrontSide as xo, Camera as dS, Frustum as Ay, AudioListener as uS, PositionalAudio as fS, AudioLoader as zp, EventDispatcher as Qm, BackSide as pu, MeshDepthMaterial as pS, CustomBlending as mS, MaxEquation as gS, AlwaysStencilFunc as yS, GreaterEqualStencilFunc as _S, NotEqualStencilFunc as bS, GreaterStencilFunc as vS, LessEqualStencilFunc as wS, EqualStencilFunc as xS, LessStencilFunc as SS, NeverStencilFunc as Iy, InvertStencilOp as CS, DecrementWrapStencilOp as PS, IncrementWrapStencilOp as OS, DecrementStencilOp as kS, IncrementStencilOp as MS, ReplaceStencilOp as RS, ZeroStencilOp as ES, KeepStencilOp as TS, CubeTexture as l0, AmbientLight as AS, HemisphereLight as IS, RawShaderMaterial as c0, GLSL3 as LS, AlwaysDepth as DS, GreaterEqualDepth as jS, GreaterDepth as BS, LessEqualDepth as FS, LessDepth as US, NotEqualDepth as zS, EqualDepth as NS, BatchedMesh as Ly, MeshPhysicalMaterial as Np, LinearFilter as Od, UnsignedByteType as $S, RingGeometry as WS, Line3 as VS, AdditiveBlending as h0, BoxHelper as HS, SpotLight as GS, DirectionalLightHelper as qS, CameraHelper as XS, LOD as QS, Triangle as YS, NormalBlending as KS, ReinhardToneMapping as Ym, LinearToneMapping as Km, HalfFloatType as Sf, VideoTexture as ZS, CubeUVReflectionMapping as d0, CompressedCubeTexture as JS, EquirectangularRefractionMapping as e1, CatmullRomCurve3 as t1, VectorKeyframeTrack as i1, QuaternionKeyframeTrack as n1, Audio as s1, ShaderLib as kd, UniformsUtils as u0, MirroredRepeatWrapping as Dy, MeshNormalMaterial as o1, AudioContext as r1, PMREMGenerator$1 as a1 } from "./three-D9pcFbxc.js";
2
+ import { createLoaders as Zm, getRaycastMesh as f0, LODsManager as Xo, NEEDLE_progressive as We, addDracoAndKTX2Loaders as l1, configureLoader as c1, setKTX2TranscoderLocation as h1, setDracoDecoderLocation as d1 } from "./gltf-progressive-ChnIhDXx.js";
3
+ import { GroundedSkybox as Ba, Font as u1, TextGeometry as f1, FontLoader as p1, GLTFLoader as Is, TransformControlsGizmo as p0, EXRLoader as Jm, RGBELoader as m0, Stats as m1, nodeFrame as jy, OrbitControls as g0, PositionalAudioHelper as g1, HorizontalBlurShader as y1, VerticalBlurShader as _1, GLTFExporter as y0, strToU8 as _0, zipSync as b1, XRControllerModelFactory as v1, XRHandMeshModel as w1, Line2 as x1, LineGeometry as S1, LineMaterial as C1, TransformControls as P1, InteractiveGroup as O1, HTMLMesh as k1, VertexNormalsHelper as M1, OBJLoader as eg, FBXLoader as b0, mergeVertices as R1 } from "./three-examples-F0MJj0vr.js";
4
+ import { fetchProfile as E1, MotionController as T1, $70d766613f57b014$export$2e2bcd8739ae039 as By, ByteBuffer as A1, v5 as Fy, md5 as Uy, SIZE_PREFIX_LENGTH as v0, Builder as tg, createNoise4D as I1, Matrix4 as Cf, BatchedParticleRenderer as L1, ParticleSystem as D1, RenderMode as gs, ConstantColor as j1, Vector4 as B1, ConstantValue as F1, TrailParticle as zy, WorkerBase as U1, MeshBVH as z1 } from "./vendor-BIFy-gRe.js";
5
+ import { __webpack_exports__default as Ce, __webpack_exports__Text as w0, __webpack_exports__Block as x0, __webpack_exports__update as N1, SimpleStateBehavior as $1, __webpack_exports__Inline as Pf, __webpack_exports__FontLibrary as Ny, ThreeMeshUI as $y } from "./three-mesh-ui-DYyiRn5Y.js";
6
+ import { EffectAttribute as W1 } from "./postprocessing-R535krvT.js";
7
7
  const Of = /* @__PURE__ */ new Map();
8
8
  function Qi(s = globalThis.location?.hostname) {
9
9
  if (Of.has(s)) return Of.get(s);
10
10
  const e = /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|localhost/.test(s);
11
11
  return Of.set(s, e), e === !0;
12
12
  }
13
- function VC() {
13
+ function V1() {
14
14
  return window.location.hostname.includes("glitch.me");
15
15
  }
16
16
  const Wy = typeof window !== void 0 ? window.location.search.includes("debugcontext") : !1;
@@ -78,9 +78,9 @@ class pe {
78
78
  this.registerCallback("ContextDestroyed", e);
79
79
  }
80
80
  }
81
- const HC = () => (s) => s;
81
+ const H1 = () => (s) => s;
82
82
  function zL(s) {
83
- return HC()(s);
83
+ return H1()(s);
84
84
  }
85
85
  function NL() {
86
86
  return !!x("debug");
@@ -143,12 +143,12 @@ function $L(s, e) {
143
143
  }
144
144
  function Md(s, e, t = !0) {
145
145
  const i = mu();
146
- i.has(s) ? e === null ? i.delete(s) : i.set(s, e) : e !== null && i.append(s, e), t ? GC(s, i) : S0(s, i);
146
+ i.has(s) ? e === null ? i.delete(s) : i.set(s, e) : e !== null && i.append(s, e), t ? G1(s, i) : S0(s, i);
147
147
  }
148
148
  function Vy(s, e, t) {
149
149
  s.has(e) ? s.set(e, t.toString()) : s.append(e, t.toString());
150
150
  }
151
- function GC(s, e, t) {
151
+ function G1(s, e, t) {
152
152
  window.history.pushState(t, s, "?" + e.toString());
153
153
  }
154
154
  function S0(s, e, t) {
@@ -163,11 +163,11 @@ function VL(s, e) {
163
163
  return Math.floor(Math.random() * (e - s + 1)) + s;
164
164
  }
165
165
  const Hy = ["smol", "tiny", "giant", "interesting", "smart", "bright", "dull", "extreme", "beautiful", "pretty", "dark", "epic", "salty", "silly", "funny", "lame", "lazy", "loud", "lucky", "mad", "mean", "mighty", "mysterious", "nasty", "odd", "old", "powerful", "quiet", "rapid", "scary", "shiny", "shy", "silly", "smooth", "sour", "spicy", "stupid", "sweet", "tasty", "terrible", "ugly", "unusual", "vast", "wet", "wild", "witty", "wrong", "zany", "zealous", "zippy", "zombie", "zorro"], Gy = ["cat", "dog", "mouse", "pig", "cow", "horse", "sheep", "chicken", "duck", "goat", "panda", "tiger", "lion", "elephant", "monkey", "bird", "fish", "snake", "frog", "turtle", "hamster", "penguin", "kangaroo", "whale", "dolphin", "crocodile", "snail", "ant", "bee", "beetle", "butterfly", "dragon", "eagle", "fish", "giraffe", "lizard", "panda", "penguin", "rabbit", "snake", "spider", "tiger", "zebra"];
166
- function qC() {
166
+ function q1() {
167
167
  const s = Hy[Math.floor(Math.random() * Hy.length)], e = Gy[Math.floor(Math.random() * Gy.length)];
168
168
  return s + "_" + e;
169
169
  }
170
- function XC(s) {
170
+ function X1(s) {
171
171
  return s = s.replace(/[^a-z0-9áéíóúñü \.,_-]/gim, ""), s.trim();
172
172
  }
173
173
  function kc(s, e, t = !0, i = !1) {
@@ -220,7 +220,7 @@ function yu(s, e) {
220
220
  e.pre_update_callbacks.push(o);
221
221
  });
222
222
  }
223
- const Sh = x("debugresolveurl"), QC = "rel:";
223
+ const Sh = x("debugresolveurl"), Q1 = "rel:";
224
224
  function HL(s, e) {
225
225
  return Lr(s, e);
226
226
  }
@@ -233,7 +233,7 @@ function Lr(s, e) {
233
233
  return Sh && console.warn("getPath: uri is absolute, returning uri", e), e;
234
234
  if (s === void 0)
235
235
  return Sh && console.warn("getPath: source is undefined, returning uri", e), e;
236
- e.startsWith(QC) && (e = e.substring(4));
236
+ e.startsWith(Q1) && (e = e.substring(4));
237
237
  const t = s.lastIndexOf("/");
238
238
  if (t >= 0) {
239
239
  const i = s.substring(0, t + 1);
@@ -246,11 +246,11 @@ basePath: ` + i), n;
246
246
  }
247
247
  return e;
248
248
  }
249
- function YC(s) {
249
+ function Y1(s) {
250
250
  if (s)
251
251
  return s = s.trim(), s = s.split("?")[0]?.split("#")[0], s;
252
252
  }
253
- class KC {
253
+ class K1 {
254
254
  subscribeWrite(e) {
255
255
  this.writeCallbacks.push(e);
256
256
  }
@@ -300,7 +300,7 @@ class go {
300
300
  for (const i of t)
301
301
  this._watches.push(new go(e, i));
302
302
  else
303
- this._watches.push(new KC(e, t));
303
+ this._watches.push(new K1(e, t));
304
304
  }
305
305
  subscribeWrite(e) {
306
306
  for (const t of this._watches)
@@ -487,7 +487,7 @@ const ho = /* @__PURE__ */ new WeakMap();
487
487
  function P0(s, e, t) {
488
488
  if (!ho.get(s)) {
489
489
  const n = new MutationObserver((o) => {
490
- ZC(s, o);
490
+ Z1(s, o);
491
491
  });
492
492
  ho.set(s, {
493
493
  observer: n,
@@ -506,7 +506,7 @@ function O0(s, e, t) {
506
506
  const n = i.get(e), o = n.indexOf(t);
507
507
  o !== -1 && (n.splice(o, 1), n.length <= 0 && (i.delete(e), ho.get(s)?.observer.disconnect(), ho.delete(s)));
508
508
  }
509
- function ZC(s, e) {
509
+ function Z1(s, e) {
510
510
  const t = ho.get(s).attributeChangedListeners;
511
511
  for (const i of e)
512
512
  if (i.type === "attributes") {
@@ -533,7 +533,7 @@ async function k0(s) {
533
533
  results: i
534
534
  };
535
535
  }
536
- const JC = x("debugdebug");
536
+ const J1 = x("debugdebug");
537
537
  let ng = !1;
538
538
  (x("noerrors") || x("nooverlaymessages")) && (ng = !0);
539
539
  const kf = "needle_engine_global_error_container";
@@ -542,11 +542,11 @@ function M0() {
542
542
  return E0;
543
543
  }
544
544
  const Wp = new Array();
545
- function e1(s) {
545
+ function eC(s) {
546
546
  Wp.push(s);
547
547
  }
548
548
  let Mf = !1;
549
- function t1(...s) {
549
+ function tC(...s) {
550
550
  if (!Mf) {
551
551
  Mf = !0;
552
552
  try {
@@ -558,20 +558,20 @@ function t1(...s) {
558
558
  Mf = !1;
559
559
  }
560
560
  }
561
- const R0 = console.error, i1 = function(...s) {
562
- R0.apply(console, s), o1(s), dr(2, s), s1(...s);
561
+ const R0 = console.error, iC = function(...s) {
562
+ R0.apply(console, s), oC(s), dr(2, s), sC(...s);
563
563
  };
564
- function n1(s) {
565
- ng = !s, s ? console.error = i1 : console.error = R0;
564
+ function nC(s) {
565
+ ng = !s, s ? console.error = iC : console.error = R0;
566
566
  }
567
567
  function n2(s) {
568
- return n1(s);
568
+ return nC(s);
569
569
  }
570
570
  let E0 = 0;
571
- function s1(...s) {
572
- E0 += 1, t1(...s);
571
+ function sC(...s) {
572
+ E0 += 1, tC(...s);
573
573
  }
574
- function o1(s) {
574
+ function oC(s) {
575
575
  if (Array.isArray(s))
576
576
  for (let e = 0; e < s.length; e++) {
577
577
  const t = s[e];
@@ -591,13 +591,13 @@ function dr(s, e, t, i) {
591
591
  }
592
592
  e = r;
593
593
  }
594
- !e || e.length <= 0 || r1(s, o, e);
594
+ !e || e.length <= 0 || rC(s, o, e);
595
595
  }
596
596
  }
597
597
  const ac = /* @__PURE__ */ new Map();
598
- function r1(s, e, t) {
598
+ function rC(s, e, t) {
599
599
  if (t == null) return;
600
- const i = l1(e);
600
+ const i = lC(e);
601
601
  if (i.childElementCount >= 20) {
602
602
  const a = i.lastElementChild;
603
603
  Xy(a);
@@ -606,7 +606,7 @@ function r1(s, e, t) {
606
606
  const n = t;
607
607
  if (ac.has(n))
608
608
  return;
609
- const o = c1(s, t);
609
+ const o = cC(s, t);
610
610
  i.prepend(o);
611
611
  const r = () => {
612
612
  ac.delete(n), Xy(o);
@@ -614,12 +614,12 @@ function r1(s, e, t) {
614
614
  ac.set(n, r), setTimeout(r, 1e4);
615
615
  }
616
616
  function s2() {
617
- JC && console.log("Clearing messages");
617
+ J1 && console.log("Clearing messages");
618
618
  for (const s of ac.values())
619
619
  s?.call(s);
620
620
  ac.clear();
621
621
  }
622
- const a1 = `
622
+ const aC = `
623
623
 
624
624
  @import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap');
625
625
 
@@ -656,7 +656,7 @@ div[data-needle_engine_debug_overlay] .error strong {
656
656
  color: rgba(255,100,120, 1);
657
657
  }
658
658
  `;
659
- function l1(s) {
659
+ function lC(s) {
660
660
  globalThis[kf] || (globalThis[kf] = /* @__PURE__ */ new Map());
661
661
  const e = globalThis[kf];
662
662
  if (e.has(s))
@@ -682,7 +682,7 @@ function l1(s) {
682
682
  const i = document.querySelector('meta[name="viewport"]');
683
683
  i && !i.getAttribute("content")?.includes("viewport-fit=") && i.setAttribute("content", i.getAttribute("content") + ",viewport-fit=cover"), s.shadowRoot ? s.shadowRoot.appendChild(t) : s.appendChild(t);
684
684
  const n = document.createElement("style");
685
- return n.innerHTML = a1, t.appendChild(n), t;
685
+ return n.innerHTML = aC, t.appendChild(n), t;
686
686
  }
687
687
  }
688
688
  const T0 = /* @__PURE__ */ Symbol("logtype"), Rd = /* @__PURE__ */ new Map();
@@ -691,7 +691,7 @@ function Xy(s) {
691
691
  const e = s[T0], t = Rd.get(e) ?? [];
692
692
  t.push(s), Rd.set(e, t);
693
693
  }
694
- function c1(s, e) {
694
+ function cC(s, e) {
695
695
  if (Rd.has(s)) {
696
696
  const i = Rd.get(s);
697
697
  if (i.length > 0) {
@@ -713,7 +713,7 @@ function c1(s, e) {
713
713
  }
714
714
  return t.title = "Open the browser console (F12) for more information", t.innerHTML = e, t;
715
715
  }
716
- class h1 {
716
+ class hC {
717
717
  random(e, t) {
718
718
  return Array.isArray(e) ? e.length <= 0 ? null : e[Math.floor(Math.random() * e.length)] : e !== void 0 && t !== void 0 ? Math.random() * (t - e) + e : Math.random();
719
719
  }
@@ -777,7 +777,7 @@ class h1 {
777
777
  return Math.pow(e, 1 / 2.2);
778
778
  }
779
779
  approximately(e, t, i = Number.EPSILON) {
780
- for (const n of d1) {
780
+ for (const n of dC) {
781
781
  const o = e[n], r = t[n];
782
782
  if (o === void 0 || r === void 0) break;
783
783
  if (Math.abs(o - r) > i)
@@ -789,7 +789,7 @@ class h1 {
789
789
  return e < 0.5 ? 4 * e * e * e : 1 - Math.pow(-2 * e + 2, 3) / 2;
790
790
  }
791
791
  }
792
- const d1 = ["x", "y", "z", "w"], F = new h1();
792
+ const dC = ["x", "y", "z", "w"], F = new hC();
793
793
  class Qy {
794
794
  y;
795
795
  s;
@@ -889,24 +889,24 @@ class A0 {
889
889
  }
890
890
  }
891
891
  const od = "needle:cameraController";
892
- function u1(s) {
892
+ function uC(s) {
893
893
  return s[od];
894
894
  }
895
895
  function Yy(s, e, t) {
896
896
  t ? s[od] = e : s[od] === e && (s[od] = null);
897
897
  }
898
898
  const Vp = "needle:autofit";
899
- function f1(s) {
899
+ function fC(s) {
900
900
  return s[Vp] === void 0 ? !0 : s[Vp] !== !1;
901
901
  }
902
902
  function Hp(s, e) {
903
903
  s[Vp] = e;
904
904
  }
905
905
  let an;
906
- const p1 = { x: 0, y: 0, width: 0, height: 0 }, m1 = x("debugfocusrect");
907
- function g1(s, e, t, i, n) {
908
- s instanceof Element && (m1 && s instanceof HTMLElement && (s.style.outline = "2px dashed rgba(255, 150, 0, .8)"), s = s.getBoundingClientRect()), an = n.domElement.getBoundingClientRect();
909
- const o = p1;
906
+ const pC = { x: 0, y: 0, width: 0, height: 0 }, mC = x("debugfocusrect");
907
+ function gC(s, e, t, i, n) {
908
+ s instanceof Element && (mC && s instanceof HTMLElement && (s.style.outline = "2px dashed rgba(255, 150, 0, .8)"), s = s.getBoundingClientRect()), an = n.domElement.getBoundingClientRect();
909
+ const o = pC;
910
910
  o.x = s.x, o.y = s.y, o.width = s.width, o.height = s.height, o.x -= an.x, o.y -= an.y;
911
911
  const r = an.width, a = an.height, l = i.view, c = e.zoom;
912
912
  let h = l?.offsetX || 0, d = l?.offsetY || 0, f = an.width, p = an.height;
@@ -932,7 +932,7 @@ function _u(s, e, t = !0, i = !1) {
932
932
  const n = te(e), o = te(s);
933
933
  if (i) {
934
934
  if (Yn(s, ve(e)), t) {
935
- const r = o.y, a = o.sub(P1(s));
935
+ const r = o.y, a = o.sub(PC(s));
936
936
  a.y = r, s.lookAt(a), s.quaternion.multiply(I0);
937
937
  }
938
938
  Number.isNaN(s.quaternion.x) && s.quaternion.copy(Ef);
@@ -955,19 +955,19 @@ function a2(s, e, t, i = 1) {
955
955
  }
956
956
  return null;
957
957
  }
958
- const y1 = new Yi(() => new y(), 100);
958
+ const yC = new Yi(() => new y(), 100);
959
959
  function z(s, e, t) {
960
- const i = y1.get();
960
+ const i = yC.get();
961
961
  return i.set(0, 0, 0), s instanceof y ? i.copy(s) : Array.isArray(s) ? i.set(s[0], s[1], s[2]) : s instanceof DOMPointReadOnly ? i.set(s.x, s.y, s.z) : typeof s == "number" ? (i.x = s, i.y = e !== void 0 ? e : i.x, i.z = t !== void 0 ? t : i.x) : typeof s == "object" && (i.x = s.x, i.y = s.y, i.z = s.z), i;
962
962
  }
963
- const _1 = new Yi(() => new re(), 30);
964
- function b1(s) {
965
- const e = _1.get();
963
+ const _C = new Yi(() => new re(), 30);
964
+ function bC(s) {
965
+ const e = _C.get();
966
966
  return s ? e.copy(s) : e.set(0, 0, 0), e;
967
967
  }
968
- const v1 = new Yi(() => new V(), 100);
968
+ const vC = new Yi(() => new V(), 100);
969
969
  function bi(s, e, t, i) {
970
- const n = v1.get();
970
+ const n = vC.get();
971
971
  return n.identity(), s instanceof V ? n.copy(s) : s instanceof DOMPointReadOnly ? n.set(s.x, s.y, s.z, s.w) : typeof s == "number" && e !== void 0 && t !== void 0 && i !== void 0 ? n.set(s, e, t, i) : typeof s == "object" && "x" in s && "y" in s && "z" in s && "w" in s && n.set(s.x, s.y, s.z, s.w), n;
972
972
  }
973
973
  const sg = new Yi(() => new y(), 100), Ky = /* @__PURE__ */ Symbol("lastMatrixWorldUpdateKey");
@@ -1001,9 +1001,9 @@ function Yn(s, e) {
1001
1001
  function L0(s, e, t, i, n) {
1002
1002
  mr.set(e, t, i, n), Yn(s, mr);
1003
1003
  }
1004
- const w1 = new Yi(() => new y(), 100), x1 = new y();
1004
+ const wC = new Yi(() => new y(), 100), xC = new y();
1005
1005
  function qe(s, e = null) {
1006
- return e || (e = w1.get()), s ? s.parent ? (s.getWorldScale(e), e) : e.copy(s.scale) : e.set(0, 0, 0);
1006
+ return e || (e = wC.get()), s ? s.parent ? (s.getWorldScale(e), e) : e.copy(s.scale) : e.set(0, 0, 0);
1007
1007
  }
1008
1008
  function Mc(s, e) {
1009
1009
  if (!s) return;
@@ -1011,18 +1011,18 @@ function Mc(s, e) {
1011
1011
  s.scale.copy(e);
1012
1012
  return;
1013
1013
  }
1014
- const t = x1;
1014
+ const t = xC;
1015
1015
  s.parent.getWorldScale(t), s.scale.copy(e), s.scale.divide(t);
1016
1016
  }
1017
- const S1 = new y(), Zy = new V();
1017
+ const SC = new y(), Zy = new V();
1018
1018
  function l2(s) {
1019
- return ve(s, Zy), S1.set(0, 0, 1).applyQuaternion(Zy);
1019
+ return ve(s, Zy), SC.set(0, 0, 1).applyQuaternion(Zy);
1020
1020
  }
1021
- const C1 = new Yi(() => new y(), 100), Jy = new V();
1022
- function P1(s, e) {
1023
- return e || (e = C1.get().set(0, 0, 1)), ve(s, Jy), e.applyQuaternion(Jy);
1021
+ const CC = new Yi(() => new y(), 100), Jy = new V();
1022
+ function PC(s, e) {
1023
+ return e || (e = CC.get().set(0, 0, 1)), ve(s, Jy), e.applyQuaternion(Jy);
1024
1024
  }
1025
- const e_ = new lt(), t_ = new lt(), O1 = new y();
1025
+ const e_ = new lt(), t_ = new lt(), OC = new y();
1026
1026
  function D0(s) {
1027
1027
  const e = Ed.get();
1028
1028
  return s.getWorldQuaternion(e), t_.setFromQuaternion(e), t_;
@@ -1032,10 +1032,10 @@ function j0(s, e) {
1032
1032
  Yn(s, t.setFromEuler(e));
1033
1033
  }
1034
1034
  function og(s) {
1035
- const e = D0(s), t = O1;
1035
+ const e = D0(s), t = OC;
1036
1036
  return t.set(e.x, e.y, e.z), t.x = F.toDegrees(t.x), t.y = F.toDegrees(t.y), t.z = F.toDegrees(t.z), t;
1037
1037
  }
1038
- function k1(s, e) {
1038
+ function kC(s, e) {
1039
1039
  bu(s, e.x, e.y, e.z, !0);
1040
1040
  }
1041
1041
  function bu(s, e, t, i, n = !0) {
@@ -1058,7 +1058,7 @@ function c2(s) {
1058
1058
  e = t.name + "/" + e, t = t.parent;
1059
1059
  return e;
1060
1060
  }
1061
- function M1(s) {
1061
+ function MC(s) {
1062
1062
  if (s) {
1063
1063
  const e = s;
1064
1064
  return e.blendMode !== void 0 && e.clampWhenFinished !== void 0 && e.enabled !== void 0 && e.fadeIn !== void 0 && e.getClip !== void 0;
@@ -1159,9 +1159,9 @@ class Cr {
1159
1159
  static textureToCanvas(e, t = !1) {
1160
1160
  if (!e)
1161
1161
  return null;
1162
- (t === !0 || e.isCompressedTexture === !0) && (e = R1(e));
1162
+ (t === !0 || e.isCompressedTexture === !0) && (e = RC(e));
1163
1163
  const i = e.image;
1164
- if (E1(i)) {
1164
+ if (EC(i)) {
1165
1165
  const n = document.createElement("canvas");
1166
1166
  n.width = i.width, n.height = i.height;
1167
1167
  const o = n.getContext("2d");
@@ -1170,23 +1170,23 @@ class Cr {
1170
1170
  return null;
1171
1171
  }
1172
1172
  }
1173
- function R1(s) {
1173
+ function RC(s) {
1174
1174
  return Cr.copyTexture(s);
1175
1175
  }
1176
1176
  function h2(s, e = !1) {
1177
1177
  return Cr.textureToCanvas(s, e);
1178
1178
  }
1179
- function E1(s) {
1179
+ function EC(s) {
1180
1180
  return typeof HTMLImageElement < "u" && s instanceof HTMLImageElement || typeof HTMLCanvasElement < "u" && s instanceof HTMLCanvasElement || typeof OffscreenCanvas < "u" && s instanceof OffscreenCanvas || typeof ImageBitmap < "u" && s instanceof ImageBitmap;
1181
1181
  }
1182
- function T1(s) {
1182
+ function TC(s) {
1183
1183
  const e = s.type;
1184
1184
  return e === "Mesh" || e === "SkinnedMesh";
1185
1185
  }
1186
1186
  function B0(s, e) {
1187
1187
  e ? s["needle:rendercustomshadow"] = !0 : s["needle:rendercustomshadow"] = !1;
1188
1188
  }
1189
- function A1(s) {
1189
+ function AC(s) {
1190
1190
  if (s) {
1191
1191
  if (s["needle:rendercustomshadow"] === !0)
1192
1192
  return !0;
@@ -1201,8 +1201,8 @@ function di(s, e = void 0, t = void 0, i = void 0) {
1201
1201
  const o = [];
1202
1202
  function r(l) {
1203
1203
  let c = !0;
1204
- if (l.visible && f1(l) !== !1 && !(l.type === "TransformControlsGizmo" || l.type === "TransformControlsPlane")) {
1205
- if (l instanceof qx && (c = !1), l instanceof t0 && (c = !1), l instanceof Ba && (c = !1), l.isGizmo === !0 && (c = !1), l.material instanceof e0 && (c = !1), T1(l) || (c = !1), t && l.layers.test(t) === !1 && (c = !1), c) {
1204
+ if (l.visible && fC(l) !== !1 && !(l.type === "TransformControlsGizmo" || l.type === "TransformControlsPlane")) {
1205
+ if (l instanceof qx && (c = !1), l instanceof t0 && (c = !1), l instanceof Ba && (c = !1), l.isGizmo === !0 && (c = !1), l.material instanceof e0 && (c = !1), TC(l) || (c = !1), t && l.layers.test(t) === !1 && (c = !1), c) {
1206
1206
  if (e && Array.isArray(e) && e?.includes(l)) return;
1207
1207
  if (typeof e == "function" && e(l) === !0)
1208
1208
  return;
@@ -1229,7 +1229,7 @@ function di(s, e = void 0, t = void 0, i = void 0) {
1229
1229
  l && (a = !0, l.updateMatrixWorld(), r(l));
1230
1230
  return a || console.warn("No objects to fit camera to..."), n;
1231
1231
  }
1232
- function I1(s, e, t) {
1232
+ function IC(s, e, t) {
1233
1233
  const i = di([s], t?.ignore), n = new y();
1234
1234
  i.getSize(n);
1235
1235
  const o = new y();
@@ -1254,7 +1254,7 @@ function I1(s, e, t) {
1254
1254
  scale: l
1255
1255
  };
1256
1256
  }
1257
- function L1(s, e) {
1257
+ function LC(s, e) {
1258
1258
  const t = di([s]), i = new y();
1259
1259
  t.getCenter(i), i.y = t.min.y;
1260
1260
  const n = e.clone().sub(i), o = te(s);
@@ -1280,16 +1280,16 @@ function F0(s, e, t, i) {
1280
1280
  return o && (o.map ? n.color.set(1, 1, 1) : n.color.copyLinearToSRGB(o.color), n.emissive.copyLinearToSRGB(o.emissive), n.emissiveIntensity = o.emissiveIntensity, n.opacity = o.opacity, n.displacementScale = o.displacementScale, n.transparent = o.transparent, n.bumpMap = o.bumpMap, n.aoMap = o.aoMap, n.map = o.map, n.displacementMap = o.displacementMap, n.emissiveMap = o.emissiveMap, n.normalMap = o.normalMap, n.envMap = o.envMap, n.alphaMap = o.alphaMap, n.metalness = o.reflectivity, n.vertexColors = o.vertexColors, o.shininess && (n.roughness = 1 - Math.sqrt(o.shininess) / 10), n.needsUpdate = !0), t === void 0 ? s.material = n : i[t] = n, !0;
1281
1281
  }
1282
1282
  let Ch = !1;
1283
- e1((...s) => {
1283
+ eC((...s) => {
1284
1284
  I() && pe.Current?.isInXR && (lc(!0), U0("error", ...s));
1285
1285
  });
1286
1286
  function lc(s) {
1287
1287
  if (s) {
1288
1288
  if (Ch) return;
1289
- Ch = !0, j1();
1289
+ Ch = !0, jC();
1290
1290
  } else {
1291
1291
  if (!Ch) return;
1292
- Ch = !1, B1();
1292
+ Ch = !1, BC();
1293
1293
  }
1294
1294
  }
1295
1295
  const cc = {
@@ -1297,7 +1297,7 @@ const cc = {
1297
1297
  warn: void 0,
1298
1298
  error: void 0
1299
1299
  };
1300
- class D1 {
1300
+ class DC {
1301
1301
  familyName = "needle-xr";
1302
1302
  root = null;
1303
1303
  context = null;
@@ -1420,8 +1420,8 @@ class D1 {
1420
1420
  }
1421
1421
  }
1422
1422
  let gr = null;
1423
- function j1() {
1424
- gr || (gr = new D1()), gr.onEnable();
1423
+ function jC() {
1424
+ gr || (gr = new DC()), gr.onEnable();
1425
1425
  for (const s in cc) {
1426
1426
  cc[s] = console[s];
1427
1427
  let e = !1;
@@ -1435,7 +1435,7 @@ function j1() {
1435
1435
  };
1436
1436
  }
1437
1437
  }
1438
- function B1() {
1438
+ function BC() {
1439
1439
  gr?.onDisable();
1440
1440
  for (const s in cc)
1441
1441
  console[s] = cc[s];
@@ -1529,7 +1529,7 @@ function U0(s, ...e) {
1529
1529
  return r;
1530
1530
  }
1531
1531
  }
1532
- const F1 = x("nodevlogs");
1532
+ const FC = x("nodevlogs");
1533
1533
  function Me(s, e = qi.Log) {
1534
1534
  dr(e, s);
1535
1535
  }
@@ -1541,7 +1541,7 @@ function vu(s) {
1541
1541
  }
1542
1542
  let qp, Af;
1543
1543
  function I() {
1544
- if (F1) return !1;
1544
+ if (FC) return !1;
1545
1545
  if (qp !== void 0) return qp;
1546
1546
  if (Af !== void 0) return Af;
1547
1547
  let s = Qi();
@@ -1551,34 +1551,34 @@ function d2(s) {
1551
1551
  qp = s;
1552
1552
  }
1553
1553
  let ai, Qo = null, $n = null, Rl = !1, i_ = null;
1554
- const z0 = "terminal", U1 = x("console");
1555
- U1 && N0();
1556
- const z1 = /* @__PURE__ */ Symbol("consoleParent");
1554
+ const z0 = "terminal", UC = x("console");
1555
+ UC && N0();
1556
+ const zC = /* @__PURE__ */ Symbol("consoleParent");
1557
1557
  function N0() {
1558
1558
  if (ai) {
1559
1559
  ai.showSwitch();
1560
1560
  return;
1561
1561
  }
1562
- G1();
1562
+ GC();
1563
1563
  }
1564
- function N1() {
1564
+ function NC() {
1565
1565
  ai && (ai.hide(), ai.hideSwitch());
1566
1566
  }
1567
- function $1() {
1568
- i_ || (i_ = setInterval(W1, 500));
1567
+ function $C() {
1568
+ i_ || (i_ = setInterval(WC, 500));
1569
1569
  }
1570
1570
  let n_ = 0;
1571
- function W1() {
1571
+ function WC() {
1572
1572
  const s = M0(), e = s !== n_;
1573
- n_ = s, e && V1();
1573
+ n_ = s, e && VC();
1574
1574
  }
1575
- function V1() {
1575
+ function VC() {
1576
1576
  N0(), $n && ($n.setAttribute("error", "true"), $n.innerText = "🤬");
1577
1577
  }
1578
- function H1() {
1578
+ function HC() {
1579
1579
  $n && ($n.removeAttribute("error"), $n.innerText = z0);
1580
1580
  }
1581
- function G1(s = !1) {
1581
+ function GC(s = !1) {
1582
1582
  if (ai !== void 0 || Rl) return;
1583
1583
  Rl = !0;
1584
1584
  const e = document.createElement("script");
@@ -1587,13 +1587,13 @@ function G1(s = !1) {
1587
1587
  console.warn("🌵 Debug console failed to load."), Rl = !1, ai = null;
1588
1588
  return;
1589
1589
  }
1590
- Rl = !1, $1(), ai = new VConsole({
1590
+ Rl = !1, $C(), ai = new VConsole({
1591
1591
  // defaultPlugins: ['system', 'network'],
1592
1592
  pluginOrder: ["default", "needle-console"]
1593
1593
  });
1594
1594
  const t = globalThis["needle:codegen_files"];
1595
- if (t && t.length > 0 && ai.addPlugin(q1()), ai.addPlugin(K1()), ai.addPlugin(Z1()), Qo = cP(), Qo && (Qo[z1] = Qo.parentElement, Qo.style.position = "absolute", Qo.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), ai.setSwitchPosition(20, 30), $n = lP(), $n) {
1596
- $n.innerText = z0, $n.addEventListener("click", H1);
1595
+ if (t && t.length > 0 && ai.addPlugin(qC()), ai.addPlugin(KC()), ai.addPlugin(ZC()), Qo = cP(), Qo && (Qo[zC] = Qo.parentElement, Qo.style.position = "absolute", Qo.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), ai.setSwitchPosition(20, 30), $n = lP(), $n) {
1596
+ $n.innerText = z0, $n.addEventListener("click", HC);
1597
1597
  const i = document.createElement("style"), n = 40;
1598
1598
  i.innerHTML = `
1599
1599
  #__vconsole .vc-switch {
@@ -1654,13 +1654,13 @@ function G1(s = !1) {
1654
1654
  #__vconsole .vc-mask {
1655
1655
  overflow: hidden;
1656
1656
  }
1657
- `, Qo?.prepend(i), s === !0 && M0() <= 0 && N1(), console.log("🌵 Debug console has loaded");
1657
+ `, Qo?.prepend(i), s === !0 && M0() <= 0 && NC(), console.log("🌵 Debug console has loaded");
1658
1658
  }
1659
1659
  }, e.onerror = () => {
1660
1660
  console.warn("🌵 Debug console failed to load." + (window.crossOriginIsolated ? "This page is using cross-origin isolation, so external scripts can't be loaded." : "")), Rl = !1, ai = null;
1661
1661
  }, e.src = "https://cdn.jsdelivr.net/npm/vconsole@3.15.1/dist/vconsole.min.js", document.body.appendChild(e);
1662
1662
  }
1663
- function q1() {
1663
+ function qC() {
1664
1664
  if (!globalThis.VConsole) return;
1665
1665
  const s = new VConsole.VConsolePlugin("needle-console", "🌵 Inspect glTF"), e = () => document.querySelector("#__vc_plug_" + s._id + " iframe");
1666
1666
  return s.on("renderTab", function(t) {
@@ -1701,14 +1701,14 @@ function q1() {
1701
1701
  }), t(i);
1702
1702
  }), s;
1703
1703
  }
1704
- const Xp = "padding: 10px; font-family: monospace;", s_ = "margin-bottom: 10px;", Yo = "margin-bottom: 10px; margin-top: 15px;", X1 = "width: 100%; border-collapse: collapse; border: 1px solid rgba(0,0,0,0.1); table-layout: fixed;", $0 = "border: 1px solid rgba(0,0,0,0.1); padding: 5px;", Q1 = $0, Y1 = $0 + " word-break: break-all;";
1704
+ const Xp = "padding: 10px; font-family: monospace;", s_ = "margin-bottom: 10px;", Yo = "margin-bottom: 10px; margin-top: 15px;", XC = "width: 100%; border-collapse: collapse; border: 1px solid rgba(0,0,0,0.1); table-layout: fixed;", $0 = "border: 1px solid rgba(0,0,0,0.1); padding: 5px;", QC = $0, YC = $0 + " word-break: break-all;";
1705
1705
  function jn(s, e = !1) {
1706
1706
  e && s.sort((i, n) => (n.value ? 1 : 0) - (i.value ? 1 : 0));
1707
- let t = `<table style='${X1}'>`;
1707
+ let t = `<table style='${XC}'>`;
1708
1708
  t += "<tbody>";
1709
1709
  for (const i of s) {
1710
1710
  const n = typeof i.value == "boolean" ? i.value ? "✅" : "❌" : i.value;
1711
- t += `<tr><td style='${Q1}'>${i.label}</td><td style='${Y1}'>${n}</td></tr>`;
1711
+ t += `<tr><td style='${QC}'>${i.label}</td><td style='${YC}'>${n}</td></tr>`;
1712
1712
  }
1713
1713
  return t += "</tbody></table>", t;
1714
1714
  }
@@ -1720,7 +1720,7 @@ function W0() {
1720
1720
  }
1721
1721
  return "❌";
1722
1722
  }
1723
- function K1() {
1723
+ function KC() {
1724
1724
  if (!globalThis.VConsole) return;
1725
1725
  const s = new VConsole.VConsolePlugin("device-utilities", "📱 Device Info");
1726
1726
  return s.on("renderTab", function(e) {
@@ -1759,12 +1759,12 @@ function K1() {
1759
1759
  t += jn(l, !1), t += "</div>", e(t);
1760
1760
  }), s;
1761
1761
  }
1762
- function Z1() {
1762
+ function ZC() {
1763
1763
  if (!globalThis.VConsole) return;
1764
1764
  const s = new VConsole.VConsolePlugin("graphics-info", "🎨 Graphics Info");
1765
1765
  return s.on("renderTab", async function(e) {
1766
1766
  let t = `<div style='${Xp}'>`;
1767
- const i = J1();
1767
+ const i = JC();
1768
1768
  i.length > 0 && (t += `<h3 style='${Yo}'>General GPU Info</h3>`, t += jn(i, !1));
1769
1769
  const n = tP();
1770
1770
  n.length > 0 && (t += `<h3 style='${Yo}'>WebGL</h3>`, t += jn(n, !1));
@@ -1782,7 +1782,7 @@ function Z1() {
1782
1782
  t += "</div>", e(t);
1783
1783
  }), s;
1784
1784
  }
1785
- function J1() {
1785
+ function JC() {
1786
1786
  const s = [], e = window.devicePixelRatio;
1787
1787
  s.push({ label: "Device Pixel Ratio", value: e.toString() }), s.push({ label: "Width (px)", value: (window.innerWidth * e).toString() }), s.push({ label: "Height (px)", value: (window.innerHeight * e).toString() });
1788
1788
  const i = D.isMobileDevice() ? 150 : 96, n = screen.width / i, o = screen.height / i, r = n * 2.54, a = o * 2.54;
@@ -1917,9 +1917,9 @@ Oo('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUIL
1917
1917
  Oo('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');
1918
1918
  Oo('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.12.4";');
1919
1919
  Oo('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
1920
- Oo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Fri Feb 06 2026 15:54:26 GMT+0000 (Coordinated Universal Time)";');
1920
+ Oo('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Fri Feb 06 2026 13:18:03 GMT+0000 (Coordinated Universal Time)";');
1921
1921
  Oo('globalThis["__NEEDLE_PUBLIC_KEY__"] = "' + NEEDLE_PUBLIC_KEY + '";');
1922
- const Xi = "4.12.4", Rc = "undefined", Ad = "Fri Feb 06 2026 15:54:26 GMT+0000 (Coordinated Universal Time)";
1922
+ const Xi = "4.12.4", Rc = "undefined", Ad = "Fri Feb 06 2026 13:18:03 GMT+0000 (Coordinated Universal Time)";
1923
1923
  H0 && console.log(`Engine version: ${Xi} (generator: ${Rc})
1924
1924
  Project built at ${Ad}`);
1925
1925
  const ur = NEEDLE_PUBLIC_KEY, yo = "needle_isActiveInHierarchy", aa = "builtin_components", rd = "needle_editor_guid";
@@ -3302,10 +3302,10 @@ Layout: `;
3302
3302
  initialize() {
3303
3303
  if (this._hasSelectEvent = this.profiles.includes("generic-hand-select") || this.profiles.some((e) => e.startsWith("generic-trigger")), this._isMetaQuestTouchController = this.profiles.includes("meta-quest-touch-plus") || this.profiles.includes("oculus-touch-v3"), this._isMxInk = this.profiles.includes("logitech-mx-ink"), !this._layout) {
3304
3304
  if (this.inputSource.targetRayMode === "transient-pointer") return;
3305
- const e = EC(this.inputSource, _P, bP);
3305
+ const e = E1(this.inputSource, _P, bP);
3306
3306
  this.getMotionController = e.then((t) => {
3307
3307
  if (!this.connected) return null;
3308
- this._motioncontroller = new TC(
3308
+ this._motioncontroller = new T1(
3309
3309
  this.inputSource,
3310
3310
  t.profile,
3311
3311
  t.assetPath || ""
@@ -4044,7 +4044,7 @@ class EP {
4044
4044
  return Promise.resolve(!0);
4045
4045
  e && console.debug("Connecting to user provided url " + e);
4046
4046
  const t = e || this.netWebSocketUrlProvider?.getWebsocketUrl();
4047
- return t ? Bi = t : VC() && (Bi = "wss://" + window.location.host + "/socket"), this.connectWebsocket();
4047
+ return t ? Bi = t : V1() && (Bi = "wss://" + window.location.host + "/socket"), this.connectWebsocket();
4048
4048
  }
4049
4049
  /** Disconnect from the networking backend + reset internal state */
4050
4050
  disconnect() {
@@ -4118,7 +4118,7 @@ class EP {
4118
4118
  Rh && console.log("<< bin", this.context.time.frame);
4119
4119
  const t = await e.arrayBuffer();
4120
4120
  var i = new Uint8Array(t);
4121
- const n = new AC(i), o = n.getBufferIdentifier(), r = this._listenersBinary[o], a = xP(n), l = SP(a);
4121
+ const n = new A1(i), o = n.getBufferIdentifier(), r = this._listenersBinary[o], a = xP(n), l = SP(a);
4122
4122
  if (l && typeof l == "string" && (this._state[l] = a), !r) return;
4123
4123
  const c = a ?? n;
4124
4124
  for (const h of r)
@@ -4381,7 +4381,7 @@ class Ka {
4381
4381
  static createText(e, t) {
4382
4382
  let i = null;
4383
4383
  const n = t?.font || zP(t?.familyFamily || null);
4384
- n instanceof uC ? i = this.#t(e, n, t) : i == null && (i = new _n());
4384
+ n instanceof u1 ? i = this.#t(e, n, t) : i == null && (i = new _n());
4385
4385
  const o = t?.color || 16777215, r = new H(i, t?.material ?? new pt({ color: o }));
4386
4386
  return this.applyDefaultObjectOptions(r, t), n instanceof Promise ? n.then((a) => {
4387
4387
  r.geometry = this.#t(e, a, t), t?.onGeometry && t.onGeometry(r);
@@ -4389,7 +4389,7 @@ class Ka {
4389
4389
  }
4390
4390
  static #t(e, t, i) {
4391
4391
  const n = i?.depth || 0.1;
4392
- return new fC(e, {
4392
+ return new f1(e, {
4393
4393
  font: t,
4394
4394
  size: 1,
4395
4395
  depth: n,
@@ -4510,7 +4510,7 @@ function zP(s) {
4510
4510
  const n = Eh.get(e);
4511
4511
  if (n) return n;
4512
4512
  }
4513
- const t = new pC(), i = new Promise((n, o) => {
4513
+ const t = new p1(), i = new Promise((n, o) => {
4514
4514
  t.load(e, (r) => {
4515
4515
  Eh.set(e, r), n(r);
4516
4516
  }, void 0, o);
@@ -7829,7 +7829,7 @@ Object.getOwnPropertyDescriptor(M.prototype, "worldRotation") || Object.definePr
7829
7829
  return og(this);
7830
7830
  },
7831
7831
  set: function(s) {
7832
- k1(this, s);
7832
+ kC(this, s);
7833
7833
  }
7834
7834
  });
7835
7835
  Object.getOwnPropertyDescriptor(M.prototype, "worldScale") || Object.defineProperty(M.prototype, "worldScale", {
@@ -10371,7 +10371,7 @@ let bo = class {
10371
10371
  this._muteButton?.remove();
10372
10372
  return;
10373
10373
  }
10374
- this._muteButton = mn.getOrCreate().createMuteButton(this._context), this._menu.appendChild(this._muteButton);
10374
+ this._muteButton = mn.getOrCreate().createMuteButton(this._context), this._muteButton.setAttribute("priority", "100"), this._menu.appendChild(this._muteButton);
10375
10375
  }
10376
10376
  _muteButton;
10377
10377
  showFullscreenOption(e) {
@@ -10379,7 +10379,7 @@ let bo = class {
10379
10379
  this._fullscreenButton?.remove();
10380
10380
  return;
10381
10381
  }
10382
- this._fullscreenButton = mn.getOrCreate().createFullscreenButton(this._context), this._fullscreenButton && this._menu.appendChild(this._fullscreenButton);
10382
+ this._fullscreenButton = mn.getOrCreate().createFullscreenButton(this._context), this._fullscreenButton && (this._fullscreenButton.setAttribute("priority", "150"), this._menu.appendChild(this._fullscreenButton));
10383
10383
  }
10384
10384
  _fullscreenButton;
10385
10385
  appendChild(e) {
@@ -10581,9 +10581,9 @@ class Ou extends HTMLElement {
10581
10581
 
10582
10582
  .logo {
10583
10583
  cursor: pointer;
10584
- padding-left: 0.5em;
10585
- padding-bottom: .02em;
10586
- margin-right: 0.6em;
10584
+ padding-left: 0.0rem;
10585
+ padding-bottom: .02rem;
10586
+ margin-right: 0.5rem;
10587
10587
  }
10588
10588
  .logo-hidden {
10589
10589
  .logo {
@@ -10592,8 +10592,8 @@ class Ou extends HTMLElement {
10592
10592
  }
10593
10593
  :host .has-options .logo {
10594
10594
  border-left: 1px solid rgba(40,40,40,.4);
10595
- margin-left: 0.3em;
10596
- margin-right: 0.6em;
10595
+ margin-left: 0.3rem;
10596
+ margin-right: 0.5rem;
10597
10597
  }
10598
10598
 
10599
10599
  .logo > span {
@@ -10725,23 +10725,22 @@ class Ou extends HTMLElement {
10725
10725
  }
10726
10726
 
10727
10727
  .compact .options > *, .compact .options > ::slotted(*) {
10728
- font-size: 1.2em;
10729
- padding: .6em .5em;
10728
+ font-size: 1.2rem;
10729
+ padding: .6rem .5rem;
10730
10730
  width: 100%;
10731
10731
  }
10732
10732
  .compact.has-options {
10733
- padding-left: 1em;
10733
+ padding-left: 1rem;
10734
10734
  }
10735
10735
  .compact.has-options .logo {
10736
10736
  border: none;
10737
10737
  padding-left: 0;
10738
- margin-bottom: .02em;
10738
+ margin-bottom: .02rem;
10739
10739
  }
10740
10740
  .compact .options.compact-only {
10741
10741
  display: initial;
10742
10742
  & > * {
10743
10743
  min-height: 1em;
10744
- padding: .4em .4em;
10745
10744
  }
10746
10745
  }
10747
10746
  .compact .options {
@@ -10841,7 +10840,7 @@ class Ou extends HTMLElement {
10841
10840
  }
10842
10841
  _sizeChangeInterval;
10843
10842
  connectedCallback() {
10844
- window.addEventListener("resize", this.handleSizeChange), this.handleMenuVisible(), this._sizeChangeInterval = setInterval(() => this.handleSizeChange(void 0, !1), 5e3), setTimeout(() => {
10843
+ window.addEventListener("resize", this.handleSizeChange), this.handleMenuVisible(), this._sizeChangeInterval = setInterval(() => this.handleSizeChange(void 0, !0), 5e3), setTimeout(() => {
10845
10844
  this._domElement?.addEventListener("resize", this.handleSizeChange), this._domElement?.addEventListener("click", this.#t);
10846
10845
  }, 1);
10847
10846
  }
@@ -10958,8 +10957,6 @@ class Ou extends HTMLElement {
10958
10957
  this.trackElement(t), this.options.prepend(t);
10959
10958
  }
10960
10959
  _isHandlingChange = !1;
10961
- /** During modification of options container (e.g. when moving items into the extra buttons container) the mutation observer should not trigger an update event immediately. This is a workaround for the total size required for all elements not being calculated reliably. */
10962
- _pauseMutationObserverOptionsContainer = !1;
10963
10960
  /** Called when any change in the web component is detected (including in children and child attributes) */
10964
10961
  onChangeDetected(e) {
10965
10962
  if (!this._isHandlingChange) {
@@ -10967,7 +10964,7 @@ class Ou extends HTMLElement {
10967
10964
  try {
10968
10965
  this.handleMenuVisible();
10969
10966
  for (const t of e)
10970
- t.target == this.options && (this._pauseMutationObserverOptionsContainer || this.onOptionsChildrenChanged(t));
10967
+ t.target == this.options && this.onOptionsChildrenChanged(t);
10971
10968
  } finally {
10972
10969
  this._isHandlingChange = !1;
10973
10970
  }
@@ -11017,64 +11014,46 @@ class Ou extends HTMLElement {
11017
11014
  return !1;
11018
11015
  }
11019
11016
  _lastAvailableWidthChange = 0;
11020
- _timeoutHandleSize = 0;
11021
- _timeoutHandleCompactItems = 0;
11017
+ _timeoutHandle = 0;
11022
11018
  handleSizeChange = (e, t) => {
11023
11019
  if (!this._domElement) return;
11024
11020
  const i = this._domElement.clientWidth;
11025
11021
  if (i < 100) {
11026
- clearTimeout(this._timeoutHandleSize), this.root.classList.add("compact"), this.foldout.classList.add("floating-panel-style");
11022
+ clearTimeout(this._timeoutHandle), this.root.classList.add("compact"), this.foldout.classList.add("floating-panel-style");
11027
11023
  return;
11028
11024
  }
11029
- const o = i - 20;
11025
+ const o = i - 40;
11030
11026
  if (!t && Math.abs(o - this._lastAvailableWidthChange) < 1) return;
11031
- this._lastAvailableWidthChange = o, clearTimeout(this._timeoutHandleSize), this._timeoutHandleSize = setTimeout(() => {
11027
+ this._lastAvailableWidthChange = o, clearTimeout(this._timeoutHandle), this._timeoutHandle = setTimeout(() => {
11032
11028
  const c = l();
11033
- c < 0 ? (this.root.classList.add("compact"), this.foldout.classList.add("floating-panel-style")) : c > 0 && (this.root.classList.remove("compact"), this.foldout.classList.remove("floating-panel-style"), l() < 0 && (this.root.classList.add("compact"), this.foldout.classList.add("floating-panel-style"))), this._pauseMutationObserverOptionsContainer = !0, this.updateCompactFoldoutItem(), window.requestAnimationFrame(() => this._pauseMutationObserverOptionsContainer = !1);
11034
- }, 150);
11035
- const r = () => {
11036
- let c = 0;
11037
- return c += this.options.getBoundingClientRect().width, c += this.optionsCompactMode.getBoundingClientRect().width, c += 10 * this.options.childElementCount, c += this.logoContainer.style.display != "none" ? this.logoContainer.getBoundingClientRect().width : 0, c;
11038
- };
11029
+ if (c < 0 ? (this.root.classList.add("compact"), this.foldout.classList.add("floating-panel-style")) : c > 0 && (this.root.classList.remove("compact"), this.foldout.classList.remove("floating-panel-style"), l() < 0 && (this.root.classList.add("compact"), this.foldout.classList.add("floating-panel-style"))), this.root.classList.contains("compact")) {
11030
+ this.optionsCompactMode.childNodes.forEach((f) => {
11031
+ f.remove();
11032
+ });
11033
+ let h = null, d = -1e7;
11034
+ for (let f = 0; f < this.options.children.length; f++) {
11035
+ const p = this.options.children.item(f);
11036
+ if (p instanceof HTMLElement) {
11037
+ const m = bo.getElementPriority(p);
11038
+ if (m !== void 0 && m > d) {
11039
+ if (p.style.display === "none") continue;
11040
+ h = p, d = m;
11041
+ }
11042
+ }
11043
+ }
11044
+ if (h) {
11045
+ const f = h, p = f.cloneNode(!0);
11046
+ p.addEventListener("click", () => f.click()), this.optionsCompactMode.appendChild(p);
11047
+ }
11048
+ }
11049
+ }, 5);
11050
+ const r = () => this.options.clientWidth + this.logoContainer.clientWidth;
11039
11051
  let a = -1;
11040
11052
  const l = () => {
11041
11053
  const c = o - r();
11042
11054
  return ga && c !== a && (a = c, Me(`Menu space left: ${c.toFixed(0)}px`)), c;
11043
11055
  };
11044
11056
  };
11045
- updateCompactFoldoutItem() {
11046
- if (this.root.classList.contains("compact")) {
11047
- let e = null, t = -1e7;
11048
- const i = (n) => {
11049
- if (n instanceof HTMLElement) {
11050
- const o = bo.getElementPriority(n);
11051
- if (o !== void 0 && o >= t) {
11052
- const r = window.getComputedStyle(n);
11053
- if (r.display === "none" || r.visibility === "hidden" || r.opacity === "0")
11054
- return;
11055
- e = n, t = o;
11056
- }
11057
- }
11058
- };
11059
- for (let n = 0; n < this.options.children.length; n++)
11060
- i(this.options.children.item(n));
11061
- for (let n = 0; n < this.optionsCompactMode.children.length; n++)
11062
- i(this.optionsCompactMode.children.item(n));
11063
- if (e && !this.optionsCompactMode.contains(e)) {
11064
- this.optionsCompactMode.childNodes.forEach((o) => {
11065
- this.options.appendChild(o);
11066
- });
11067
- const n = e;
11068
- this.optionsCompactMode.appendChild(n);
11069
- } else e || this.optionsCompactMode.childNodes.forEach((n) => {
11070
- this.options.appendChild(n);
11071
- });
11072
- } else
11073
- this.optionsCompactMode.childNodes.forEach((e) => {
11074
- this.options.appendChild(e);
11075
- });
11076
- }
11077
- // private _foldoutItemVisibleInterval = 0;
11078
11057
  ___insertDebugOptions() {
11079
11058
  window.addEventListener("keydown", (i) => {
11080
11059
  i.key === "p" && this.setPosition(this.root.classList.contains("top") ? "bottom" : "top");
@@ -11469,7 +11448,7 @@ class N {
11469
11448
  _isCreated = !1;
11470
11449
  _isCreating = !1;
11471
11450
  _isVisible = !1;
11472
- _stats = Tk ? new mC() : null;
11451
+ _stats = Tk ? new m1() : null;
11473
11452
  constructor(e) {
11474
11453
  this.name = e?.name || "", this.alias = e?.alias, this.domElement = e?.domElement || document.body, this.hash = e?.hash, e?.renderer && (this.renderer = e.renderer, this.isManagedExternally = !0), e?.runInBackground !== void 0 && (this.runInBackground = e.runInBackground), e?.scene ? this.scene = e.scene : this.scene = new Mi(), e?.camera && (this._mainCamera = e.camera), this.application = new Zn(this), this.time = new Sk(), this.input = new mP(this), this.physics = new Ac(this), this.connection = new EP(this), this.assets = new tO(), this.sceneLighting = new wk(this), this.addressables = new ik(this), this.lightmaps = new hk(this), this.players = new pk(this), this.menu = new bo(this), this.lodsManager = new dk(this), this.animations = new ak(this);
11475
11454
  const t = () => this._needsUpdateSize = !0;
@@ -12045,7 +12024,7 @@ Possible solutions:
12045
12024
  this.pre_render_callbacks[n](t);
12046
12025
  if (this._focusRect && this.mainCamera instanceof ce) {
12047
12026
  const n = this.focusRectSettings, o = n.damping > 0 ? this.time.deltaTime / n.damping : 1;
12048
- g1(this._focusRect, this.focusRectSettings, o, this.mainCamera, this.renderer);
12027
+ gC(this._focusRect, this.focusRectSettings, o, this.mainCamera, this.renderer);
12049
12028
  }
12050
12029
  }
12051
12030
  return !0;
@@ -12552,7 +12531,7 @@ function Fv() {
12552
12531
  return Yf;
12553
12532
  }
12554
12533
  function H_(s) {
12555
- s !== void 0 && typeof s == "string" && dC(s);
12534
+ s !== void 0 && typeof s == "string" && d1(s);
12556
12535
  }
12557
12536
  function G_(s) {
12558
12537
  if (s !== void 0 && typeof s == "string" && s !== "js") {
@@ -12561,11 +12540,11 @@ function G_(s) {
12561
12540
  }
12562
12541
  }
12563
12542
  function q_(s) {
12564
- s !== void 0 && typeof s == "string" && hC(s);
12543
+ s !== void 0 && typeof s == "string" && h1(s);
12565
12544
  }
12566
12545
  function Og(s, e) {
12567
12546
  const t = Fv();
12568
- return e.renderer ? t.ktx2Loader.detectSupport(e.renderer) : console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures will probably fail"), lC(s), s.dracoLoader || s.setDRACOLoader(t.dracoLoader), s.ktx2Loader || s.setKTX2Loader(t.ktx2Loader), s.meshoptDecoder || s.setMeshoptDecoder(t.meshoptDecoder), cC(s, {
12547
+ return e.renderer ? t.ktx2Loader.detectSupport(e.renderer) : console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures will probably fail"), l1(s), s.dracoLoader || s.setDRACOLoader(t.dracoLoader), s.ktx2Loader || s.setKTX2Loader(t.ktx2Loader), s.meshoptDecoder || s.setMeshoptDecoder(t.meshoptDecoder), c1(s, {
12569
12548
  progressive: !0
12570
12549
  }), s;
12571
12550
  }
@@ -14107,7 +14086,7 @@ class wn {
14107
14086
  if (typeof this.model == "string")
14108
14087
  return console.warn("AnimatorController has not been resolved, can not create model from string", this.model), null;
14109
14088
  nt && console.warn("AnimatorController clone()", this.model);
14110
- const e = gu(this.model, (i, n, o) => o == null ? !0 : !(o.type === "Object3D" || o.isObject3D === !0 || M1(o) || o.tracks !== void 0 || o instanceof wn));
14089
+ const e = gu(this.model, (i, n, o) => o == null ? !0 : !(o.type === "Object3D" || o.isObject3D === !0 || MC(o) || o.tracks !== void 0 || o instanceof wn));
14111
14090
  return console.assert(e !== this.model), new wn(e);
14112
14091
  }
14113
14092
  /**
@@ -17677,7 +17656,7 @@ const so = x("debugcam"), tb = x("debugscreenpointtoray"), $t = class Yl extends
17677
17656
  case 2:
17678
17657
  if (this._backgroundColor && !t) {
17679
17658
  let i = this._backgroundColor.alpha;
17680
- Yl.backgroundShouldBeTransparent(this.context) && (i = this.ARBackgroundAlpha ?? 0), this.context.scene.background = null, this.context.xr?.isVR ? this.context.renderer.setClearColor(b1(this._backgroundColor).convertLinearToSRGB()) : this.context.renderer.setClearColor(this._backgroundColor, i);
17659
+ Yl.backgroundShouldBeTransparent(this.context) && (i = this.ARBackgroundAlpha ?? 0), this.context.scene.background = null, this.context.xr?.isVR ? this.context.renderer.setClearColor(bC(this._backgroundColor).convertLinearToSRGB()) : this.context.renderer.setClearColor(this._backgroundColor, i);
17681
17660
  } else this._backgroundColor || so && console.warn(`[Camera] has no background color "${this.name}" `);
17682
17661
  break;
17683
17662
  case 4:
@@ -18068,7 +18047,7 @@ const xt = x("debugaudio"), on = class oo extends E {
18068
18047
  console.warn("Custom rolloff for AudioSource is not supported: " + this.name);
18069
18048
  break;
18070
18049
  }
18071
- this.spatialBlend > 0 ? xt && !this.helper && (this.helper = new gC(e, e.getRefDistance()), e.add(this.helper)) : this.helper && this.helper.parent && this.helper.removeFromParent();
18050
+ this.spatialBlend > 0 ? xt && !this.helper && (this.helper = new g1(e, e.getRefDistance()), e.add(this.helper)) : this.helper && this.helper.parent && this.helper.removeFromParent();
18072
18051
  }
18073
18052
  async onNewClip(e) {
18074
18053
  if (e && (this.clip = e), typeof e == "string")
@@ -19711,7 +19690,7 @@ const Nr = class Kl extends E {
19711
19690
  "gl_FragColor = vec4( vec3( 1.0 ), ( 1.0 - fragCoordZ ) * darkness * opacity * (gl_FrontFacing ? 1.0 : 0.66) );"
19712
19691
  )}
19713
19692
  `);
19714
- }, this.depthMaterial.depthTest = !1, this.depthMaterial.depthWrite = !1, this.horizontalBlurMaterial = new Xn(yC), this.horizontalBlurMaterial.depthTest = !1, this.verticalBlurMaterial = new Xn(_C), this.verticalBlurMaterial.depthTest = !1, this.shadowGroup.visible = !1, this.autoFit ? this.fitShadows() : this.applyMinSize();
19693
+ }, this.depthMaterial.depthTest = !1, this.depthMaterial.depthWrite = !1, this.horizontalBlurMaterial = new Xn(y1), this.horizontalBlurMaterial.depthTest = !1, this.verticalBlurMaterial = new Xn(_1), this.verticalBlurMaterial.depthTest = !1, this.shadowGroup.visible = !1, this.autoFit ? this.fitShadows() : this.applyMinSize();
19715
19694
  }
19716
19695
  onEnable() {
19717
19696
  this._needsUpdate = !0;
@@ -19745,7 +19724,7 @@ const Nr = class Kl extends E {
19745
19724
  for (const p of h.opaque) {
19746
19725
  if (!p.object.visible) continue;
19747
19726
  const m = p.material;
19748
- let _ = p.material.colorWrite == !1 || m.wireframe === !0 || A1(p.object) === !1;
19727
+ let _ = p.material.colorWrite == !1 || m.wireframe === !0 || AC(p.object) === !1;
19749
19728
  !_ && p.material.isLineMaterial && (_ = !0), !_ && p.material.isPointsMaterial && (_ = !0), _ && (tp.push(p.object), p.object["needle:visible"] = p.object.visible, p.object.visible = !1);
19750
19729
  }
19751
19730
  i.setRenderTarget(this.renderTarget), i.clear(), i.render(t, this.shadowCamera), h.transparent = d;
@@ -21646,7 +21625,7 @@ class Qa {
21646
21625
  let a = Qa.getStartInstanceCount(e);
21647
21626
  (!a || a < 0) && (a = 4);
21648
21627
  let l = e.name;
21649
- l?.length || (l = qC());
21628
+ l?.length || (l = q1());
21650
21629
  const c = new DR(l, o.geometry, r, a, t);
21651
21630
  return this.objs.push(c), c.addInstance(o);
21652
21631
  }
@@ -22798,7 +22777,7 @@ class Eo extends E {
22798
22777
  a.x = Math.abs(a.x), a.y = Math.abs(a.y), a.z = Math.abs(a.z);
22799
22778
  let c = r.scale.clone();
22800
22779
  const h = new Pi().setFromCenterAndSize(new y(0, this.fitVolumeSize.y * a.y * 0.5, 0).add(this.gameObject.worldPosition), this.fitVolumeSize.clone().multiply(a));
22801
- if (Bt && U.DrawWireBox3(h, 255, 5), this.fitIntoVolume && (I1(r, h, {
22780
+ if (Bt && U.DrawWireBox3(h, 255, 5), this.fitIntoVolume && (IC(r, h, {
22802
22781
  position: !this.placeAtHitPosition
22803
22782
  }), c = r.scale.clone().divide(a), l = r.worldPosition.clone().sub(this.gameObject.worldPosition).divide(a), Bt && U.DrawSphere(l, 0.1, 16711680, 5)), this.gameObject.attach(r), r.position.copy(l), r.quaternion.identity(), r.scale.copy(c), Bt && U.DrawArrow(this.gameObject.worldPosition, r.getWorldPosition(new y()), 65280, 5), this._addedObjects.push(r), this._addedModels.push(n), this.placeAtHitPosition && t && t.screenposition) {
22804
22783
  r.visible = !1;
@@ -22806,7 +22785,7 @@ class Eo extends E {
22806
22785
  if (r.visible = !0, f && f.length > 0)
22807
22786
  for (const p of f) {
22808
22787
  const m = p.point.clone();
22809
- Bt && console.log("Place object at hit", p), L1(r, m);
22788
+ Bt && console.log("Place object at hit", p), LC(r, m);
22810
22789
  break;
22811
22790
  }
22812
22791
  }
@@ -23999,7 +23978,7 @@ let aE = class {
23999
23978
  }
24000
23979
  g = b.length;
24001
23980
  }
24002
- return he.report("export-usdz", "zip archive"), bC(n, { level: 0 });
23981
+ return he.report("export-usdz", "zip archive"), b1(n, { level: 0 });
24003
23982
  }
24004
23983
  };
24005
23984
  function Pw(s, e, t, i) {
@@ -26362,7 +26341,7 @@ class xr {
26362
26341
  }
26363
26342
  hideElementDuringXRSession(e) {
26364
26343
  lg((t) => {
26365
- e["previous-display"] = e.style.display, e.style.setProperty("display", "none", "important");
26344
+ e["previous-display"] = e.style.display, e.style.display = "none";
26366
26345
  }), Y0((t) => {
26367
26346
  e["previous-display"] != null && (e.style.display = e["previous-display"]);
26368
26347
  });
@@ -27577,7 +27556,7 @@ class Po extends E {
27577
27556
  createHandModel = !0;
27578
27557
  customLeftHand;
27579
27558
  customRightHand;
27580
- static factory = new vC();
27559
+ static factory = new v1();
27581
27560
  supportsXR(e) {
27582
27561
  return e === "immersive-vr" || e === "immersive-ar";
27583
27562
  }
@@ -27677,7 +27656,7 @@ class Po extends E {
27677
27656
  l ? (a = l.url.split(".").slice(0, -1).join("."), o.setPath("")) : (a = t.inputSource.handedness === "left" ? "left" : "right", o.setPath("https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/"));
27678
27657
  const c = new M();
27679
27658
  El(c);
27680
- const h = new wC(c, n, o.path, a, o, (d) => {
27659
+ const h = new w1(c, n, o.path, a, o, (d) => {
27681
27660
  const f = r?.gltf;
27682
27661
  f?.scene.children?.length === 0 && (f.scene.children[0] = d), r?.gltf && Kn().createBuiltinComponents(e.context, e.sourceId || a, r.gltf, null, r), d.traverse((p) => {
27683
27662
  p.layers.set(2), K.active?.isPassThrough && !l && this.makeOccluder(p), p instanceof H && We.assignMeshLOD(p, 0);
@@ -27915,15 +27894,15 @@ class tn extends E {
27915
27894
  }
27916
27895
  /** create an object to visualize controller rays */
27917
27896
  createRayLineObject() {
27918
- const e = new xC();
27897
+ const e = new x1();
27919
27898
  e.layers.disableAll(), e.layers.enable(2);
27920
- const t = new SC();
27899
+ const t = new S1();
27921
27900
  e.geometry = t;
27922
27901
  const i = new Float32Array(9);
27923
27902
  i.set([0, 0, 0.02, 0, 0, 0.4, 0, 0, 1]), t.setPositions(i);
27924
27903
  const n = new Float32Array(9);
27925
27904
  n.set([1, 1, 1, 0.1, 0.1, 0.1, 0, 0, 0]), t.setColors(n);
27926
- const o = new CC({
27905
+ const o = new C1({
27927
27906
  color: 16777215,
27928
27907
  vertexColors: !0,
27929
27908
  worldUnits: !0,
@@ -28187,33 +28166,33 @@ const Ll = x("debugwebxr"), GE = x("debugusdz"), ht = class pa extends E {
28187
28166
  handleCreatingHTML() {
28188
28167
  if (this.createARButton || this.createVRButton || this.useQuicklookExport) {
28189
28168
  if ((D.isiOS() && D.isSafari() || GE) && this.useQuicklookExport) {
28190
- const e = C.findObjectOfType(qn);
28191
- if (!e || e && e.allowCreateQuicklookButton) {
28192
- const t = this.getButtonsFactory().createQuicklookButton();
28193
- this.addButton(t);
28169
+ const t = C.findObjectOfType(qn);
28170
+ if (!t || t && t.allowCreateQuicklookButton) {
28171
+ const i = this.getButtonsFactory().createQuicklookButton();
28172
+ this.addButton(i, 50);
28194
28173
  }
28195
28174
  }
28196
28175
  if (this.createARButton) {
28197
- const e = this.getButtonsFactory().createARButton();
28198
- this.addButton(e);
28176
+ const t = this.getButtonsFactory().createARButton();
28177
+ this.addButton(t, 50);
28199
28178
  }
28200
28179
  if (this.createVRButton) {
28201
- const e = this.getButtonsFactory().createVRButton();
28202
- this.addButton(e);
28180
+ const t = this.getButtonsFactory().createVRButton();
28181
+ this.addButton(t, 50);
28203
28182
  }
28204
28183
  }
28205
- if (this.createSendToQuestButton && !D.isQuest() && K.isVRSupported().then((e) => {
28206
- if (!e) {
28207
- const t = this.getButtonsFactory().createSendToQuestButton();
28208
- this.addButton(t);
28184
+ if (this.createSendToQuestButton && !D.isQuest() && K.isVRSupported().then((t) => {
28185
+ if (!t) {
28186
+ const i = this.getButtonsFactory().createSendToQuestButton();
28187
+ this.addButton(i, 50);
28209
28188
  }
28210
28189
  }), this.createQRCode) {
28211
- const e = Gc(Ns);
28212
- if (e && e.createQRCodeButton === !1)
28190
+ const t = Gc(Ns);
28191
+ if (t && t.createQRCodeButton === !1)
28213
28192
  I() && console.warn("WebXR: QRCode button is disabled in the Needle Menu component");
28214
28193
  else if (!D.isMobileDevice()) {
28215
- const t = mn.getOrCreate().createQRCode();
28216
- this.addButton(t);
28194
+ const i = mn.getOrCreate().createQRCode();
28195
+ this.addButton(i, 50);
28217
28196
  }
28218
28197
  }
28219
28198
  }
@@ -28226,8 +28205,8 @@ const Ll = x("debugwebxr"), GE = x("debugusdz"), ht = class pa extends E {
28226
28205
  * @param button The HTML element to add
28227
28206
  * @param priority The button's priority value (lower numbers appear first)
28228
28207
  */
28229
- addButton(e) {
28230
- this._buttons.push(e), this.context.menu.appendChild(e);
28208
+ addButton(e, t) {
28209
+ this._buttons.push(e), e.setAttribute("priority", t.toString()), this.context.menu.appendChild(e);
28231
28210
  }
28232
28211
  /**
28233
28212
  * Removes all buttons created by this component from the UI.
@@ -28571,7 +28550,7 @@ class xn extends E {
28571
28550
  const o = this._parentComponent.shadowComponent;
28572
28551
  o && (o?.add(e), n = !0);
28573
28552
  }
28574
- this.shadowComponent = e, t && t.shadowComponent && this.shadowComponent && t.shadowComponent.add(this.shadowComponent), Vc && e.add(new Oi(0.5)), this.onAfterAddedToScene(), n && NC(), qE && console.warn("Added shadow component", this.shadowComponent);
28553
+ this.shadowComponent = e, t && t.shadowComponent && this.shadowComponent && t.shadowComponent.add(this.shadowComponent), Vc && e.add(new Oi(0.5)), this.onAfterAddedToScene(), n && N1(), qE && console.warn("Added shadow component", this.shadowComponent);
28575
28554
  }
28576
28555
  setShadowComponentOwner(e) {
28577
28556
  if (e && (e[wi] === void 0 || e[wi] === this) && (e[wi] = this, e.children))
@@ -28888,7 +28867,7 @@ const Zo = {
28888
28867
  this.makePanel(), this.uiObject && (this.uiObject.setState(e), this?.markDirty());
28889
28868
  }
28890
28869
  setupState(e) {
28891
- this.makePanel(), this.uiObject && (this._stateManager || (this._stateManager = new $C(this.uiObject)), this.uiObject.setupState(e.state, e.attributes));
28870
+ this.makePanel(), this.uiObject && (this._stateManager || (this._stateManager = new $1(this.uiObject)), this.uiObject.setupState(e.state, e.attributes));
28892
28871
  }
28893
28872
  setOptions(e) {
28894
28873
  this.makePanel(), this.uiObject && this.uiObject.set(e);
@@ -31889,7 +31868,7 @@ class xe {
31889
31868
  _temp = new y();
31890
31869
  apply(e, t, i, n, o, r) {
31891
31870
  if (!this.enabled) return;
31892
- this._noise || (this._noise = IC(() => 0));
31871
+ this._noise || (this._noise = I1(() => 0));
31893
31872
  const a = this._temp.set(t.x, t.y, t.z).multiplyScalar(this.frequency), l = this._noise(a.x, a.y, a.z, this._time), c = this._noise(a.x, a.y, a.z, this._time + 1e3 * this.frequency), h = this._noise(a.x, a.y, a.z, this._time + 2e3 * this.frequency);
31894
31873
  this._temp.set(l, c, h).normalize();
31895
31874
  const d = o / r;
@@ -32934,7 +32913,7 @@ class HT {
32934
32913
  startLength;
32935
32914
  /** start length is for trails */
32936
32915
  get startColor() {
32937
- return new jC(new BC(1, 1, 1, 1));
32916
+ return new j1(new B1(1, 1, 1, 1));
32938
32917
  }
32939
32918
  get emissionOverTime() {
32940
32919
  return this.emission;
@@ -32968,7 +32947,7 @@ class HT {
32968
32947
  return gs.BillBoard;
32969
32948
  }
32970
32949
  rendererEmitterSettings = {
32971
- startLength: new FC(220),
32950
+ startLength: new F1(220),
32972
32951
  followLocalOrigin: !1
32973
32952
  };
32974
32953
  get speedFactor() {
@@ -33222,7 +33201,7 @@ const Vt = class vd extends E {
33222
33201
  awake() {
33223
33202
  if (this._worldPositionFrame = -1, this._renderer = this.gameObject.getComponent(kn), !this.main)
33224
33203
  throw new Error("Not Supported: ParticleSystem needs a serialized MainModule. Creating new particle systems at runtime is currently not supported.");
33225
- this._container = new M(), this._container.matrixAutoUpdate = !1, this.context.scene.add(this._container), this._batchSystem = new LC(), this._batchSystem.name = this.gameObject.name, this._container.add(this._batchSystem), this._interface = new HT(this), this._particleSystem = new DC(this._interface), this._particleSystem.addBehavior(new NT(this)), this._particleSystem.addBehavior(new VT(this)), this._particleSystem.addBehavior(new FT(this)), this._particleSystem.addBehavior(new UT(this)), this._particleSystem.addBehavior(new WT(this)), this._particleSystem.addBehavior(new $T(this)), this._batchSystem.addSystem(this._particleSystem);
33204
+ this._container = new M(), this._container.matrixAutoUpdate = !1, this.context.scene.add(this._container), this._batchSystem = new L1(), this._batchSystem.name = this.gameObject.name, this._container.add(this._batchSystem), this._interface = new HT(this), this._particleSystem = new D1(this._interface), this._particleSystem.addBehavior(new NT(this)), this._particleSystem.addBehavior(new VT(this)), this._particleSystem.addBehavior(new FT(this)), this._particleSystem.addBehavior(new UT(this)), this._particleSystem.addBehavior(new WT(this)), this._particleSystem.addBehavior(new $T(this)), this._batchSystem.addSystem(this._particleSystem);
33226
33205
  const e = this._particleSystem.emitter;
33227
33206
  this.context.scene.add(e), this.inheritVelocity.system && this.inheritVelocity.system !== this && (this.inheritVelocity = this.inheritVelocity.clone()), this.inheritVelocity.awake(this), ro && (console.log(this), this.gameObject.add(new Oi(1)));
33228
33207
  }
@@ -34326,7 +34305,7 @@ function PA() {
34326
34305
  ["radius", new Gi(1)]
34327
34306
  // ["threshold", new Uniform(0)],
34328
34307
  ]),
34329
- attributes: WC.CONVOLUTION
34308
+ attributes: W1.CONVOLUTION
34330
34309
  });
34331
34310
  }
34332
34311
  }
@@ -36591,7 +36570,7 @@ function Fb(s, e, t, i, n) {
36591
36570
  if (e === "transparent" || e?.startsWith("rgb") || e?.startsWith("#"))
36592
36571
  return console.warn(`Needle Engine: Invalid ${n} value (${e}). Did you mean to set background-color instead?`), null;
36593
36572
  const o = new gy();
36594
- o.sourceId = YC(e), o.allowDrop = !1, o.allowNetworking = !1, o.background = t, o.environment = i, C.addComponent(s.scene, o);
36573
+ o.sourceId = Y1(e), o.allowDrop = !1, o.allowNetworking = !1, o.background = t, o.environment = i, C.addComponent(s.scene, o);
36595
36574
  const r = (a) => {
36596
36575
  if (Kt && console.log(n, "CHANGED TO", a), a) {
36597
36576
  if (typeof a != "string") {
@@ -36662,7 +36641,7 @@ const Ar = class extends E {
36662
36641
  }
36663
36642
  apply() {
36664
36643
  const e = this._prevLoadedEnvironment;
36665
- if (e && (e instanceof l0 || e instanceof JS || e.mapping == d0 || (e.mapping = eC, e.needsUpdate = !0), !this.destroyed)) {
36644
+ if (e && (e instanceof l0 || e instanceof JS || e.mapping == d0 || (e.mapping = e1, e.needsUpdate = !0), !this.destroyed)) {
36666
36645
  if (!this.context) {
36667
36646
  console.warn("RemoteSkybox: Context is not available - can not apply skybox.");
36668
36647
  return;
@@ -37497,7 +37476,7 @@ function cI(s, e) {
37497
37476
  const t = s.map((o) => new y(-o.position.x, o.position.y, o.position.z));
37498
37477
  t.length === 1 && t.push(t[0]);
37499
37478
  const i = s.reduce((o, r) => o + Math.abs(r.tangentOut.x) + Math.abs(r.tangentOut.y) + Math.abs(r.tangentOut.z), 0) / s.length, n = F.remap(i, 0, 0.3, 0, 0.5);
37500
- return new tC(t, e, "catmullrom", n);
37479
+ return new t1(t, e, "catmullrom", n);
37501
37480
  }
37502
37481
  var hI = Object.defineProperty, dI = Object.getOwnPropertyDescriptor, Uo = (s, e, t, i) => {
37503
37482
  for (var n = i > 1 ? void 0 : i ? dI(e, t) : e, o = s.length - 1, r; o >= 0; o--)
@@ -37836,7 +37815,7 @@ class as extends E {
37836
37815
  const i = x(this.urlParameterName);
37837
37816
  if (i && (typeof i == "string" || typeof i == "number")) {
37838
37817
  t = !0;
37839
- const n = XC(i.toString());
37818
+ const n = X1(i.toString());
37840
37819
  this.roomName = n;
37841
37820
  } else if (this.joinRandomRoom && (console.log("No room name found in url, generating random one"), this.setRandomRoomUrlParameter(), e < 1))
37842
37821
  return this.tryJoinRoom(e + 1);
@@ -38259,13 +38238,13 @@ class nu extends yh {
38259
38238
  if (!n) {
38260
38239
  const f = t.tracks[0].name.substring(0, l) + ".quaternion";
38261
38240
  Vn && console.warn("Create quaternion track", h, d);
38262
- const p = new nC(f, [0, t.duration], [0, 0, 0, 1, 0, 0, 0, 1]);
38241
+ const p = new n1(f, [0, t.duration], [0, 0, 0, 1, 0, 0, 0, 1]);
38263
38242
  t.tracks.push(p), this.createRotationInterpolant(t, e, p);
38264
38243
  }
38265
38244
  } else {
38266
38245
  const f = c + ".position";
38267
38246
  Vn && console.warn("Create position track", h, d);
38268
- const p = new iC(f, [0, t.duration], [0, 0, 0, 0, 0, 0]);
38247
+ const p = new i1(f, [0, t.duration], [0, 0, 0, 0, 0, 0]);
38269
38248
  t.tracks.push(p), this.createPositionInterpolant(t, e, p);
38270
38249
  }
38271
38250
  }
@@ -38419,7 +38398,7 @@ class po extends yh {
38419
38398
  }
38420
38399
  }
38421
38400
  addModel(e) {
38422
- const t = new sC(this.listener);
38401
+ const t = new s1(this.listener);
38423
38402
  this.audio.push(t);
38424
38403
  const i = e;
38425
38404
  i._didTriggerPlay = !1, this.models.push(i);
@@ -39080,7 +39059,7 @@ class vl extends E {
39080
39059
  orbit;
39081
39060
  /** @internal */
39082
39061
  onEnable() {
39083
- if (!(this.isGizmo && !Vc) && this.context.mainCamera && (this._control || (this._control = new PC(this.context.mainCamera, this.context.renderer.domElement), this._control.enabled = !0, this._control.getRaycaster().layers.set(2), this._control.size = 1, ("_root" in this._control ? this._control._root : this._control).traverse((t) => {
39062
+ if (!(this.isGizmo && !Vc) && this.context.mainCamera && (this._control || (this._control = new P1(this.context.mainCamera, this.context.renderer.domElement), this._control.enabled = !0, this._control.getRaycaster().layers.set(2), this._control.size = 1, ("_root" in this._control ? this._control._root : this._control).traverse((t) => {
39084
39063
  const i = t;
39085
39064
  if (i.layers.set(2), i) {
39086
39065
  const n = i.material;
@@ -39609,9 +39588,9 @@ class gf extends E {
39609
39588
  return;
39610
39589
  }
39611
39590
  e.style.display = "block", e.style.visibility = "hidden";
39612
- const t = new OC();
39591
+ const t = new O1();
39613
39592
  t.listenToPointerEvents(this.context.renderer, this.context.mainCamera), this.gameObject.add(t);
39614
- const i = new kC(e);
39593
+ const i = new k1(e);
39615
39594
  t.add(i), i.visible = !1;
39616
39595
  const n = i.material;
39617
39596
  n.transparent = !0, setTimeout(() => {
@@ -41295,7 +41274,7 @@ class qo extends E {
41295
41274
  } else {
41296
41275
  if (!this.dataTemplate) {
41297
41276
  const f = new H();
41298
- nr ? f.material = new oC() : this.occluder ? (f.material = new we(), this.makeOccluder(f, f.material, !0)) : f.material = new we({ wireframe: !0, opacity: 0.5, transparent: !0, color: 3355443 }), this.dataTemplate = new ne("", "", f);
41277
+ nr ? f.material = new o1() : this.occluder ? (f.material = new we(), this.makeOccluder(f, f.material, !0)) : f.material = new we({ wireframe: !0, opacity: 0.5, transparent: !0, color: 3355443 }), this.dataTemplate = new ne("", "", f);
41299
41278
  }
41300
41279
  if (!this.dataTemplate.asset)
41301
41280
  this.dataTemplate.loadAssetAsync();
@@ -41338,7 +41317,7 @@ class qo extends E {
41338
41317
  if (f.userData.normalsHelper)
41339
41318
  f.userData.normalsHelper.update();
41340
41319
  else {
41341
- const p = new MC(f, 0.05, 255);
41320
+ const p = new M1(f, 0.05, 255);
41342
41321
  p.layers.disableAll(), p.layers.set(2), this.context.scene.add(p), f.userData.normalsHelper = p;
41343
41322
  }
41344
41323
  }));
@@ -41964,7 +41943,7 @@ class gL {
41964
41943
  }
41965
41944
  ensureQuitARButton(e) {
41966
41945
  const t = document.createElement("slot");
41967
- t.style.display = "contents", t.style.padding = "10px", t.setAttribute("name", "quit-ar"), this.appendElement(t, e), this._createdAROnlyElements.push(t), t.style.pointerEvents = "auto", D.isNeedleAppClip() && (t.style.display = "none");
41946
+ t.style.display = "contents", t.setAttribute("name", "quit-ar"), this.appendElement(t, e), this._createdAROnlyElements.push(t), t.style.pointerEvents = "auto", D.isNeedleAppClip() && (t.style.display = "none");
41968
41947
  const i = document.querySelector(`.${mL}`);
41969
41948
  if (i) {
41970
41949
  i.addEventListener("click", this.requestEndAR), Nl && i.addEventListener("click", () => console.log("Clicked quit-ar button"));
@@ -42787,7 +42766,7 @@ const wL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42787
42766
  }, Symbol.toStringTag, { value: "Module" }));
42788
42767
  function xL() {
42789
42768
  Zn.registerWaitForInteraction(() => {
42790
- const s = rC.getContext();
42769
+ const s = r1.getContext();
42791
42770
  s.addEventListener("statechange", () => {
42792
42771
  setTimeout(() => {
42793
42772
  const e = s.state;
@@ -43093,7 +43072,7 @@ class Oc {
43093
43072
  Ne && console.warn("Missing mesh geometry", t.name);
43094
43073
  return;
43095
43074
  }
43096
- o.index?.array?.length || (console.warn(`Your MeshCollider is missing vertices or indices in the assined mesh "${t.name}". Consider providing an indexed geometry.`), o = RC(o));
43075
+ o.index?.array?.length || (console.warn(`Your MeshCollider is missing vertices or indices in the assined mesh "${t.name}". Consider providing an indexed geometry.`), o = R1(o));
43097
43076
  let r = null;
43098
43077
  const a = o.getAttribute("position");
43099
43078
  if (a instanceof r0) {
@@ -44176,7 +44155,7 @@ pe.registerCallback(ue.MissingCamera, (s) => {
44176
44155
  typeof window !== void 0 && window.matchMedia("(prefers-color-scheme: dark)").matches && (a = "#1f1f1f"), e.background = new re(a);
44177
44156
  }
44178
44157
  if (!e.environment) {
44179
- const a = new aC(s.context.renderer), l = new Oy("neutral");
44158
+ const a = new a1(s.context.renderer), l = new Oy("neutral");
44180
44159
  e.environment = a.fromScene(l, 0.025).texture;
44181
44160
  }
44182
44161
  }
@@ -44189,7 +44168,7 @@ pe.registerCallback(ue.ContextCreated, (s) => {
44189
44168
  return;
44190
44169
  }
44191
44170
  if (s.context.domElement?.cameraControls == !0) {
44192
- if (u1(s.context.mainCamera)?.isCameraController == !0) {
44171
+ if (uC(s.context.mainCamera)?.isCameraController == !0) {
44193
44172
  $c && console.log("Will not auto-fit because a camera controller exists");
44194
44173
  return;
44195
44174
  }
@@ -44239,7 +44218,7 @@ var Jb;
44239
44218
  }
44240
44219
  s.createFromPoints = e;
44241
44220
  })(Jb || (Jb = {}));
44242
- class AL extends UC {
44221
+ class AL extends U1 {
44243
44222
  constructor() {
44244
44223
  super(/* new-worker */ new Worker(URL.createObjectURL(new Blob(["import '" + `${new URL('./generateMeshBVH.worker-iyfPIK6R.js', import.meta.url).toString()}` + "';"], { type: 'text/javascript' })), { type: "module" })), this.name = "GenerateMeshBVHWorker";
44245
44224
  }
@@ -44254,7 +44233,7 @@ class AL extends UC {
44254
44233
  if (h.error)
44255
44234
  o(new Error(h.error)), e.onmessage = null;
44256
44235
  else if (h.serialized) {
44257
- const { serialized: d, position: f } = h, p = zC.deserialize(d, t, { setIndex: !1 }), m = Object.assign({
44236
+ const { serialized: d, position: f } = h, p = z1.deserialize(d, t, { setIndex: !1 }), m = Object.assign({
44258
44237
  setBoundingBox: !0
44259
44238
  }, i);
44260
44239
  if (t.attributes.position.array = f, d.index)
@@ -44673,7 +44652,7 @@ export {
44673
44652
  N2 as colorSerializer,
44674
44653
  PO as compareAssociation,
44675
44654
  Kf as componentSerializer,
44676
- R1 as copyTexture,
44655
+ RC as copyTexture,
44677
44656
  Zk as createMotion,
44678
44657
  yi as debugNet,
44679
44658
  Mh as debugOwner,
@@ -44697,14 +44676,14 @@ export {
44697
44676
  GO as findObjectsOfType,
44698
44677
  av as findResourceUsers,
44699
44678
  aM as fitCamera,
44700
- I1 as fitObjectIntoVolume,
44679
+ IC as fitObjectIntoVolume,
44701
44680
  Ha as foreachComponent,
44702
44681
  vg as foreachComponentEnumerator,
44703
44682
  l2 as forward,
44704
44683
  Ok as generateQRCode,
44705
44684
  gO as generateSeed,
44706
44685
  di as getBoundingBox,
44707
- u1 as getCameraController,
44686
+ uC as getCameraController,
44708
44687
  Za as getComponent,
44709
44688
  Pu as getComponentInChildren,
44710
44689
  Ud as getComponentInParent,
@@ -44722,12 +44701,12 @@ export {
44722
44701
  g2 as getPeerOptions,
44723
44702
  CP as getPeerjsInstance,
44724
44703
  C2 as getResourceUserCount,
44725
- b1 as getTempColor,
44704
+ bC as getTempColor,
44726
44705
  bi as getTempQuaternion,
44727
44706
  z as getTempVector,
44728
44707
  mu as getUrlParams,
44729
- A1 as getVisibleInCustomShadowRendering,
44730
- P1 as getWorldDirection,
44708
+ AC as getVisibleInCustomShadowRendering,
44709
+ PC as getWorldDirection,
44731
44710
  D0 as getWorldEuler,
44732
44711
  te as getWorldPosition,
44733
44712
  ve as getWorldQuaternion,
@@ -44737,7 +44716,7 @@ export {
44737
44716
  ku as hasIndieLicense,
44738
44717
  _m as hasPointerEventComponent,
44739
44718
  ks as hasProLicense,
44740
- N1 as hideDebugConsole,
44719
+ NC as hideDebugConsole,
44741
44720
  uE as imageToCanvas,
44742
44721
  Pr as instantiate,
44743
44722
  LR as invokeLoadedImportPluginHooks,
@@ -44746,7 +44725,7 @@ export {
44746
44725
  YO as isActiveInHierarchy,
44747
44726
  qc as isActiveSelf,
44748
44727
  YL as isAndroidDevice,
44749
- M1 as isAnimationAction,
44728
+ MC as isAnimationAction,
44750
44729
  zM as isComponent,
44751
44730
  NL as isDebugMode,
44752
44731
  GL as isDesktop,
@@ -44755,7 +44734,7 @@ export {
44755
44734
  x2 as isDisposed,
44756
44735
  nD as isExporting,
44757
44736
  UM as isGLTFModel,
44758
- VC as isHostedOnGlitch,
44737
+ V1 as isHostedOnGlitch,
44759
44738
  Q_ as isHotReloadEnabled,
44760
44739
  L2 as isHotReloading,
44761
44740
  XL as isIPad,
@@ -44778,12 +44757,12 @@ export {
44778
44757
  _u as lookAtObject,
44779
44758
  a2 as lookAtScreenPoint,
44780
44759
  WL as makeId,
44781
- qC as makeIdFromRandomWords,
44760
+ q1 as makeIdFromRandomWords,
44782
44761
  en as makeNameSafe,
44783
44762
  KO as markAsInstancedRendered,
44784
44763
  i2 as microphonePermissionsGranted,
44785
44764
  zL as nameof,
44786
- HC as nameofFactory,
44765
+ H1 as nameofFactory,
44787
44766
  yM as objectSerializer,
44788
44767
  p2 as offXRSessionEnd,
44789
44768
  f2 as offXRSessionStart,
@@ -44797,10 +44776,10 @@ export {
44797
44776
  Y0 as onXRSessionEnd,
44798
44777
  lg as onXRSessionStart,
44799
44778
  dL as parseSync,
44800
- L1 as placeOnSurface,
44779
+ LC as placeOnSurface,
44801
44780
  F0 as postprocessFBXMaterials,
44802
44781
  z2 as prefix,
44803
- GC as pushState,
44782
+ G1 as pushState,
44804
44783
  VL as randomNumber,
44805
44784
  ev as registerBinaryType,
44806
44785
  Sg as registerComponent,
@@ -44813,13 +44792,13 @@ export {
44813
44792
  bO as registerPrefabProvider,
44814
44793
  zO as registerPrototypeExtensions,
44815
44794
  yv as registerType,
44816
- QC as relativePathPrefix,
44795
+ Q1 as relativePathPrefix,
44817
44796
  O0 as removeAttributeChangeCallback,
44818
44797
  Sv as removeComponent,
44819
44798
  q2 as removeCustomImportExtensionType,
44820
44799
  u2 as removePatch,
44821
44800
  Lr as resolveUrl,
44822
- XC as sanitizeString,
44801
+ X1 as sanitizeString,
44823
44802
  QI as saveImage,
44824
44803
  J2 as screenshot,
44825
44804
  Lx as screenshot2,
@@ -44828,7 +44807,7 @@ export {
44828
44807
  TO as serializeObject,
44829
44808
  Je as serializeable,
44830
44809
  dd as setActive,
44831
- n1 as setAllowBalloonMessages,
44810
+ nC as setAllowBalloonMessages,
44832
44811
  n2 as setAllowOverlayMessages,
44833
44812
  Hp as setAutoFitEnabled,
44834
44813
  Yy as setCameraController,
@@ -44848,7 +44827,7 @@ export {
44848
44827
  Fa as setWorldPositionXYZ,
44849
44828
  Yn as setWorldQuaternion,
44850
44829
  L0 as setWorldQuaternionXYZW,
44851
- k1 as setWorldRotation,
44830
+ kC as setWorldRotation,
44852
44831
  bu as setWorldRotationXYZ,
44853
44832
  Mc as setWorldScale,
44854
44833
  vu as showBalloonError,
@@ -44860,7 +44839,7 @@ export {
44860
44839
  Dw as syncField,
44861
44840
  pv as syncInstantiate,
44862
44841
  h2 as textureToCanvas,
44863
- YC as toSourceId,
44842
+ Y1 as toSourceId,
44864
44843
  xP as tryCastBinary,
44865
44844
  yR as tryDetermineMimetypeFromBinary,
44866
44845
  gR as tryDetermineMimetypeFromURL,
@@ -44868,7 +44847,7 @@ export {
44868
44847
  SP as tryGetGuid,
44869
44848
  Vk as unregisterHotReloadType,
44870
44849
  C0 as unwatchWrite,
44871
- f1 as useForAutoFit,
44850
+ fC as useForAutoFit,
44872
44851
  Nt as validate,
44873
44852
  ig as watchWrite
44874
44853
  };