@needle-tools/engine 4.4.0-alpha.2 → 4.4.0-alpha.3

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.
Files changed (26) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/needle-engine.bundle.js +826 -770
  3. package/dist/needle-engine.bundle.light.js +564 -508
  4. package/dist/needle-engine.bundle.light.min.js +37 -33
  5. package/dist/needle-engine.bundle.light.umd.cjs +66 -62
  6. package/dist/needle-engine.bundle.min.js +60 -56
  7. package/dist/needle-engine.bundle.umd.cjs +67 -63
  8. package/lib/engine/webcomponents/needle menu/needle-menu.js +4 -0
  9. package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
  10. package/lib/engine-components/Camera.d.ts +1 -1
  11. package/lib/engine-components/Camera.js +13 -0
  12. package/lib/engine-components/Camera.js.map +1 -1
  13. package/lib/engine-components/CameraUtils.js +2 -1
  14. package/lib/engine-components/CameraUtils.js.map +1 -1
  15. package/lib/engine-components/postprocessing/Effects/Tonemapping.js +1 -1
  16. package/lib/engine-components/postprocessing/Effects/Tonemapping.js.map +1 -1
  17. package/lib/engine-components/postprocessing/PostProcessingHandler.d.ts +2 -0
  18. package/lib/engine-components/postprocessing/PostProcessingHandler.js +68 -4
  19. package/lib/engine-components/postprocessing/PostProcessingHandler.js.map +1 -1
  20. package/package.json +1 -1
  21. package/plugins/common/license.js +14 -5
  22. package/src/engine/webcomponents/needle menu/needle-menu.ts +4 -0
  23. package/src/engine-components/Camera.ts +16 -1
  24. package/src/engine-components/CameraUtils.ts +3 -2
  25. package/src/engine-components/postprocessing/Effects/Tonemapping.ts +2 -2
  26. package/src/engine-components/postprocessing/PostProcessingHandler.ts +77 -4
@@ -10,11 +10,11 @@ var ue = (n, t, e) => (Cf(n, t, "read from private field"), e ? e.call(n) : t.ge
10
10
  t instanceof WeakSet ? t.add(n) : t.set(n, e);
11
11
  }, as = (n, t, e, i) => (Cf(n, t, "write to private field"), i ? i.call(n, e) : t.set(n, e), e);
12
12
  var Uo = (n, t, e) => (Cf(n, t, "access private method"), e);
13
- import { f as oe, V as v, g as me, Q as W, P as qs, h as ye, i as es, j as ys, U as lo, M as X, W as Rr, T as Fe, E as Lt, c as Oi, d as hi, k as le, l as Kb, m as Zb, G as sg, n as Se, o as Jb, b as ne, L as bo, O as D, R as vo, p as Pn, A as Mi, q as Te, D as Ri, B as On, r as co, s as wu, t as Tc, u as Ax, v as Ex, w as Ix, x as Dx, F as e0, y as Yp, z as t0, H as Ac, I as pt, J as Lx, K as jx, N as i0, X as s0, S as xu, Y as br, Z as Su, _ as Bx, $ as Mn, a0 as n0, a1 as Fx, a2 as zx, a3 as Ux, a4 as Nx, a5 as $x, a6 as ho, a as xa, a7 as La, a8 as vr, a9 as Zt, aa as Wx, ab as o0, ac as ng, ad as Cu, ae as Rn, af as bs, C as Vx, ag as ja, ah as Hx, ai as Gx, aj as Tn, ak as qx, al as Dd, am as Xx, an as Kp, ao as og, ap as Qx, aq as wo, ar as D_, as as rg, at as Yx, au as Kx, av as Zp, aw as ag, ax as lg, ay as Zx, az as Jx, aA as e1, aB as t1, aC as i1, aD as s1, aE as n1, aF as o1, aG as r1, aH as a1, aI as l1, aJ as c1, aK as h1, aL as d1, aM as u1, aN as f1, aO as p1, aP as m1, aQ as g1, aR as _1, aS as L_, aT as r0, aU as y1, aV as b1, aW as v1, aX as w1, aY as x1, aZ as S1, a_ as C1, a$ as P1, b0 as j_, b1 as Jp, b2 as O1, b3 as B_, b4 as M1, b5 as R1, b6 as a0, b7 as k1, b8 as T1, b9 as A1, ba as E1, bb as I1, bc as D1, bd as L1, be as Ec, bf as Pu, bg as cg, bh as hg, bi as Ou, bj as j1, bk as B1, bl as F1, bm as z1, bn as U1, bo as N1, bp as $1, bq as W1, br as F_, bs as l0, bt as Ld, bu as V1, bv as H1 } from "./three.light.js";
14
- import { c as dg, g as c0, L as Vr, N as Ke, a as G1, b as q1, s as X1, d as Q1 } from "./gltf-progressive.light.js";
15
- import { a as Ba, F as Y1, T as K1, b as Z1, G as wr, c as h0, E as jd, R as em, S as J1, n as eS, O as d0, P as tS, H as iS, V as sS, d as u0, s as f0, z as nS, X as oS, e as rS, L as aS, f as lS, g as cS, K as hS, h as dS, I as uS, i as fS, j as pS, k as ug, l as p0, m as mS } from "./three-examples.light.js";
16
- import { f as gS, M as _S, $ as z_, B as yS, v as U_, m as N_, S as m0, a as fg, c as bS, b as Pf, d as vS, P as wS, R as pn, T as $_, C as xS, V as SS, e as CS, W as PS, g as OS, h as MS } from "./vendor.light.js";
17
- import { _ as ke, a as g0, b as _0, c as RS, S as kS, d as Of, e as W_, T as V_ } from "./three-mesh-ui.light.js";
13
+ import { f as oe, V as v, g as me, Q as W, P as qs, h as ye, i as es, j as ys, U as lo, M as X, W as Rr, T as Fe, E as Lt, c as Oi, d as hi, k as le, l as Kb, m as Zb, G as sg, n as Se, o as Jb, b as ne, L as bo, O as D, R as vo, p as Pn, A as Mi, q as Te, D as Ri, B as On, r as co, s as wu, t as Tc, u as Ax, v as Ex, w as Ix, x as Dx, F as e0, y as Yp, z as t0, H as Ac, I as pt, J as Lx, K as jx, N as i0, X as s0, S as xu, Y as br, Z as Su, _ as Bx, $ as Mn, a0 as n0, a1 as Fx, a2 as zx, a3 as Ux, a4 as Nx, a5 as $x, a6 as ho, a as xa, a7 as La, a8 as vr, a9 as Zt, aa as Wx, ab as o0, ac as ng, ad as Cu, ae as Rn, af as bs, C as Vx, ag as ja, ah as Hx, ai as Gx, aj as Tn, ak as qx, al as Dd, am as Xx, an as Kp, ao as og, ap as Qx, aq as wo, ar as D_, as as rg, at as Yx, au as Kx, av as Zp, aw as ag, ax as lg, ay as Zx, az as Jx, aA as eS, aB as tS, aC as iS, aD as sS, aE as nS, aF as oS, aG as rS, aH as aS, aI as lS, aJ as cS, aK as hS, aL as dS, aM as uS, aN as fS, aO as pS, aP as mS, aQ as gS, aR as _S, aS as L_, aT as r0, aU as yS, aV as bS, aW as vS, aX as wS, aY as xS, aZ as SS, a_ as CS, a$ as PS, b0 as j_, b1 as Jp, b2 as OS, b3 as B_, b4 as MS, b5 as RS, b6 as a0, b7 as kS, b8 as TS, b9 as AS, ba as ES, bb as IS, bc as DS, bd as LS, be as Ec, bf as Pu, bg as cg, bh as hg, bi as Ou, bj as jS, bk as BS, bl as FS, bm as zS, bn as US, bo as NS, bp as $S, bq as WS, br as F_, bs as l0, bt as Ld, bu as VS, bv as HS } from "./three.light.js";
14
+ import { c as dg, g as c0, L as Vr, N as Ke, a as GS, b as qS, s as XS, d as QS } from "./gltf-progressive.light.js";
15
+ import { a as Ba, F as YS, T as KS, b as ZS, G as wr, c as h0, E as jd, R as em, S as JS, n as e1, O as d0, P as t1, H as i1, V as s1, d as u0, s as f0, z as n1, X as o1, e as r1, L as a1, f as l1, g as c1, K as h1, h as d1, I as u1, i as f1, j as p1, k as ug, l as p0, m as m1 } from "./three-examples.light.js";
16
+ import { f as g1, M as _1, $ as z_, B as y1, v as U_, m as N_, S as m0, a as fg, c as b1, b as Pf, d as v1, P as w1, R as pn, T as $_, C as x1, V as S1, e as C1, W as P1, g as O1, h as M1 } from "./vendor.light.js";
17
+ import { _ as ke, a as g0, b as _0, c as R1, S as k1, d as Of, e as W_, T as V_ } from "./three-mesh-ui.light.js";
18
18
  let y0, H_ = null;
19
19
  function Vs() {
20
20
  return y0;
@@ -33,7 +33,7 @@ function ui(n = ((t) => (t = globalThis.location) == null ? void 0 : t.hostname)
33
33
  const e = /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|localhost/.test(n);
34
34
  return Mf.set(n, e), e === !0;
35
35
  }
36
- function TS() {
36
+ function T1() {
37
37
  return window.location.hostname.includes("glitch.me");
38
38
  }
39
39
  const G_ = typeof window !== void 0 ? window.location.search.includes("debugcontext") : !1;
@@ -102,11 +102,11 @@ class fe {
102
102
  }
103
103
  /** All currently registered Needle Engine contexts. Do not modify */
104
104
  r(fe, "Registered", []), r(fe, "_callbacks", {});
105
- const AS = () => (n) => n;
106
- function UI(n) {
107
- return AS()(n);
105
+ const A1 = () => (n) => n;
106
+ function NI(n) {
107
+ return A1()(n);
108
108
  }
109
- function NI() {
109
+ function $I() {
110
110
  return !!x("debug");
111
111
  }
112
112
  class ts {
@@ -163,37 +163,37 @@ function x(n) {
163
163
  return !1;
164
164
  }
165
165
  qo = x("help");
166
- function $I(n, t) {
166
+ function WI(n, t) {
167
167
  const e = Mu();
168
168
  e.has(n) ? e.set(n, t) : e.append(n, t), document.location.search = e.toString();
169
169
  }
170
170
  function Bd(n, t, e = !0) {
171
171
  const i = Mu();
172
- i.has(n) ? t === null ? i.delete(n) : i.set(n, t) : t !== null && i.append(n, t), e ? ES(n, i) : v0(n, i);
172
+ i.has(n) ? t === null ? i.delete(n) : i.set(n, t) : t !== null && i.append(n, t), e ? E1(n, i) : v0(n, i);
173
173
  }
174
174
  function q_(n, t, e) {
175
175
  n.has(t) ? n.set(t, e.toString()) : n.append(t, e.toString());
176
176
  }
177
- function ES(n, t, e) {
177
+ function E1(n, t, e) {
178
178
  window.history.pushState(e, n, "?" + t.toString());
179
179
  }
180
180
  function v0(n, t, e) {
181
181
  window.history.replaceState(e, n, "?" + t.toString());
182
182
  }
183
- function WI(n) {
183
+ function VI(n) {
184
184
  for (var t = "", e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", i = e.length, s = 0; s < n; s++)
185
185
  t += e.charAt(Math.floor(Math.random() * i));
186
186
  return t;
187
187
  }
188
- function VI(n, t) {
188
+ function HI(n, t) {
189
189
  return Math.floor(Math.random() * (t - n + 1)) + n;
190
190
  }
191
191
  const X_ = ["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"], Q_ = ["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"];
192
- function IS() {
192
+ function I1() {
193
193
  const n = X_[Math.floor(Math.random() * X_.length)], t = Q_[Math.floor(Math.random() * Q_.length)];
194
194
  return n + "_" + t;
195
195
  }
196
- function DS(n) {
196
+ function D1(n) {
197
197
  return n = n.replace(/[^a-z0-9áéíóúñü \.,_-]/gim, ""), n.trim();
198
198
  }
199
199
  function Ic(n, t, e = !0, i = !1) {
@@ -256,8 +256,8 @@ function ku(n, t) {
256
256
  t.pre_update_callbacks.push(o);
257
257
  });
258
258
  }
259
- const Rh = x("debugresolveurl"), LS = "rel:";
260
- function HI(n, t) {
259
+ const Rh = x("debugresolveurl"), L1 = "rel:";
260
+ function GI(n, t) {
261
261
  return kr(n, t);
262
262
  }
263
263
  function kr(n, t) {
@@ -269,7 +269,7 @@ function kr(n, t) {
269
269
  return Rh && console.warn("getPath: uri is absolute, returning uri", t), t;
270
270
  if (n === void 0)
271
271
  return Rh && console.warn("getPath: source is undefined, returning uri", t), t;
272
- t.startsWith(LS) && (t = t.substring(4));
272
+ t.startsWith(L1) && (t = t.substring(4));
273
273
  const e = n.lastIndexOf("/");
274
274
  if (e >= 0) {
275
275
  const i = n.substring(0, e + 1);
@@ -283,7 +283,7 @@ basePath: ` + i), s;
283
283
  }
284
284
  return t;
285
285
  }
286
- class jS {
286
+ class j1 {
287
287
  constructor(t, e) {
288
288
  r(this, "writeCallbacks", []);
289
289
  r(this, "_applied", !1);
@@ -336,7 +336,7 @@ class uo {
336
336
  for (const i of e)
337
337
  this._watches.push(new uo(t, i));
338
338
  else
339
- this._watches.push(new jS(t, e));
339
+ this._watches.push(new j1(t, e));
340
340
  }
341
341
  subscribeWrite(t) {
342
342
  for (const e of this._watches)
@@ -480,57 +480,57 @@ var q;
480
480
  }
481
481
  n.getChromeVersion = T;
482
482
  })(q || (q = {}));
483
- function GI() {
484
- return q.isDesktop();
485
- }
486
483
  function qI() {
487
- return q.isMobileDevice();
484
+ return q.isDesktop();
488
485
  }
489
486
  function XI() {
490
- return q.isiPad();
487
+ return q.isMobileDevice();
491
488
  }
492
489
  function QI() {
493
490
  return q.isiPad();
494
491
  }
495
492
  function YI() {
496
- return q.isAndroidDevice();
493
+ return q.isiPad();
497
494
  }
498
495
  function KI() {
499
- return q.isMozillaXR();
496
+ return q.isAndroidDevice();
500
497
  }
501
498
  function ZI() {
502
- return q.isMacOS();
499
+ return q.isMozillaXR();
503
500
  }
504
501
  function JI() {
505
- return q.isiOS();
502
+ return q.isMacOS();
506
503
  }
507
504
  function eD() {
508
- return q.isSafari();
505
+ return q.isiOS();
509
506
  }
510
507
  function tD() {
508
+ return q.isSafari();
509
+ }
510
+ function iD() {
511
511
  return q.isQuest();
512
512
  }
513
- async function iD() {
513
+ async function sD() {
514
514
  return q.microphonePermissionsGranted();
515
515
  }
516
- const BS = /ip=(?<ip>.+?)\n/s;
517
- async function sD() {
518
- const t = await (await fetch("https://www.cloudflare.com/cdn-cgi/trace")).text(), e = BS.exec(t);
516
+ const B1 = /ip=(?<ip>.+?)\n/s;
517
+ async function nD() {
518
+ const t = await (await fetch("https://www.cloudflare.com/cdn-cgi/trace")).text(), e = B1.exec(t);
519
519
  return e ? e[1] : null;
520
520
  }
521
- async function nD() {
521
+ async function oD() {
522
522
  const n = await fetch("https://api.db-ip.com/v2/free/self").catch(() => null);
523
523
  return n ? (await n.json()).ipAddress : void 0;
524
524
  }
525
- async function oD() {
525
+ async function rD() {
526
526
  const n = await fetch("https://api.db-ip.com/v2/free/self").catch(() => null);
527
527
  return n ? await n.json() : void 0;
528
528
  }
529
529
  const no = /* @__PURE__ */ new WeakMap();
530
- function FS(n, t, e) {
530
+ function F1(n, t, e) {
531
531
  if (!no.get(n)) {
532
532
  const s = new MutationObserver((o) => {
533
- US(n, o);
533
+ U1(n, o);
534
534
  });
535
535
  no.set(n, {
536
536
  observer: s,
@@ -540,7 +540,7 @@ function FS(n, t, e) {
540
540
  const i = no.get(n).attributeChangedListeners;
541
541
  i.has(t) || i.set(t, []), i.get(t).push(e);
542
542
  }
543
- function zS(n, t, e) {
543
+ function z1(n, t, e) {
544
544
  if (!no.get(n))
545
545
  return;
546
546
  const i = no.get(n).attributeChangedListeners;
@@ -553,7 +553,7 @@ function zS(n, t, e) {
553
553
  a == null || a.observer.disconnect(), no.delete(n);
554
554
  }
555
555
  }
556
- function US(n, t) {
556
+ function U1(n, t) {
557
557
  const e = no.get(n).attributeChangedListeners;
558
558
  for (const i of t)
559
559
  if (i.type === "attributes") {
@@ -580,7 +580,7 @@ async function x0(n) {
580
580
  results: i
581
581
  };
582
582
  }
583
- async function NS(n) {
583
+ async function N1(n) {
584
584
  if (!globalThis.QRCode) {
585
585
  const i = "https://cdn.rawgit.com/davidshimjs/qrcodejs/gh-pages/qrcode.min.js";
586
586
  let s = document.head.querySelector(`script[src="${i}"]`);
@@ -609,11 +609,11 @@ function mg() {
609
609
  return O0;
610
610
  }
611
611
  const im = new Array();
612
- function $S(n) {
612
+ function $1(n) {
613
613
  im.push(n);
614
614
  }
615
615
  let kf = !1;
616
- function WS(...n) {
616
+ function W1(...n) {
617
617
  if (!kf) {
618
618
  kf = !0;
619
619
  try {
@@ -626,15 +626,15 @@ function WS(...n) {
626
626
  }
627
627
  }
628
628
  const C0 = console.error, P0 = function(...n) {
629
- C0.apply(console, n), GS(n), js(2, n), sm(...n);
629
+ C0.apply(console, n), G1(n), js(2, n), sm(...n);
630
630
  };
631
- function VS(n) {
631
+ function V1(n) {
632
632
  Dc = !n, n ? console.error = P0 : console.error = C0;
633
633
  }
634
- function rD(n) {
635
- return VS(n);
634
+ function aD(n) {
635
+ return V1(n);
636
636
  }
637
- function HS() {
637
+ function H1() {
638
638
  Dc || (S0 && console.warn("Patch console", window.location.hostname), console.error = P0, window.addEventListener("error", (n) => {
639
639
  if (!n)
640
640
  return;
@@ -650,9 +650,9 @@ function HS() {
650
650
  }
651
651
  let O0 = 0;
652
652
  function sm(...n) {
653
- O0 += 1, WS(...n);
653
+ O0 += 1, W1(...n);
654
654
  }
655
- function GS(n) {
655
+ function G1(n) {
656
656
  if (Array.isArray(n))
657
657
  for (let t = 0; t < n.length; t++) {
658
658
  const e = n[t];
@@ -672,14 +672,14 @@ function js(n, t, e, i) {
672
672
  }
673
673
  t = a;
674
674
  }
675
- !t || t.length <= 0 || qS(n, o, t);
675
+ !t || t.length <= 0 || q1(n, o, t);
676
676
  }
677
677
  }
678
678
  const oc = /* @__PURE__ */ new Map();
679
- function qS(n, t, e) {
679
+ function q1(n, t, e) {
680
680
  if (e == null)
681
681
  return;
682
- const i = QS(t);
682
+ const i = Q1(t);
683
683
  if (i.childElementCount >= 20) {
684
684
  const l = i.lastElementChild;
685
685
  K_(l);
@@ -688,20 +688,20 @@ function qS(n, t, e) {
688
688
  const s = e;
689
689
  if (oc.has(s))
690
690
  return;
691
- const o = YS(n, e);
691
+ const o = Y1(n, e);
692
692
  i.prepend(o);
693
693
  const a = () => {
694
694
  oc.delete(s), K_(o);
695
695
  };
696
696
  oc.set(s, a), setTimeout(a, 1e4);
697
697
  }
698
- function aD() {
698
+ function lD() {
699
699
  S0 && console.log("Clearing messages");
700
700
  for (const n of oc.values())
701
701
  n == null || n.call(n);
702
702
  oc.clear();
703
703
  }
704
- const XS = `
704
+ const X1 = `
705
705
 
706
706
  @import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:opsz,wght@8..144,100..1000&display=swap');
707
707
 
@@ -738,7 +738,7 @@ div[data-needle_engine_debug_overlay] .error strong {
738
738
  color: rgba(255,100,120, 1);
739
739
  }
740
740
  `;
741
- function QS(n) {
741
+ function Q1(n) {
742
742
  globalThis[Rf] || (globalThis[Rf] = /* @__PURE__ */ new Map());
743
743
  const t = globalThis[Rf];
744
744
  if (t.has(n))
@@ -762,7 +762,7 @@ function QS(n) {
762
762
  word-break: break-word;
763
763
  `, n.shadowRoot ? n.shadowRoot.appendChild(e) : n.appendChild(e);
764
764
  const i = document.createElement("style");
765
- return i.innerHTML = XS, e.appendChild(i), e;
765
+ return i.innerHTML = X1, e.appendChild(i), e;
766
766
  }
767
767
  }
768
768
  const M0 = Symbol("logtype"), Fd = /* @__PURE__ */ new Map();
@@ -771,7 +771,7 @@ function K_(n) {
771
771
  const t = n[M0], e = Fd.get(t) ?? [];
772
772
  e.push(n), Fd.set(t, e);
773
773
  }
774
- function YS(n, t) {
774
+ function Y1(n, t) {
775
775
  if (Fd.has(n)) {
776
776
  const i = Fd.get(n);
777
777
  if (i.length > 0) {
@@ -793,7 +793,7 @@ function YS(n, t) {
793
793
  }
794
794
  return e.title = "Open the browser console (F12) for more information", e.innerHTML = t, e;
795
795
  }
796
- class KS {
796
+ class K1 {
797
797
  constructor() {
798
798
  r(this, "Rad2Deg", 180 / Math.PI);
799
799
  r(this, "Deg2Rad", Math.PI / 180);
@@ -859,7 +859,7 @@ class KS {
859
859
  return Math.pow(t, 1 / 2.2);
860
860
  }
861
861
  approximately(t, e, i = Number.EPSILON) {
862
- for (const s of ZS) {
862
+ for (const s of Z1) {
863
863
  const o = t[s], a = e[s];
864
864
  if (o === void 0 || a === void 0)
865
865
  break;
@@ -872,7 +872,7 @@ class KS {
872
872
  return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
873
873
  }
874
874
  }
875
- const ZS = ["x", "y", "z", "w"], $ = new KS();
875
+ const Z1 = ["x", "y", "z", "w"], $ = new K1();
876
876
  class Z_ {
877
877
  constructor(t) {
878
878
  r(this, "y");
@@ -972,7 +972,7 @@ class R0 {
972
972
  }
973
973
  }
974
974
  const ud = "needle:cameraController";
975
- function JS(n) {
975
+ function J1(n) {
976
976
  return n[ud];
977
977
  }
978
978
  function J_(n, t, e) {
@@ -985,12 +985,12 @@ function eC(n) {
985
985
  function om(n, t) {
986
986
  n[nm] = t;
987
987
  }
988
- function lD(n, t, e) {
988
+ function cD(n, t, e) {
989
989
  const i = n.length(), s = t.length(), o = $.lerp(i, s, e);
990
990
  return n.lerp(t, e).normalize().multiplyScalar(o);
991
991
  }
992
992
  const Af = new W(), k0 = new W().setFromAxisAngle(new v(0, 1, 0), Math.PI);
993
- function cD(n, t) {
993
+ function hD(n, t) {
994
994
  n.lookAt(t), n.quaternion.multiply(k0);
995
995
  }
996
996
  function Tu(n, t, e = !0, i = !1) {
@@ -1072,7 +1072,7 @@ function Lc(n, t) {
1072
1072
  n.parent.getWorldScale(e), n.scale.copy(t), n.scale.divide(e);
1073
1073
  }
1074
1074
  const aC = new v(), ty = new W();
1075
- function hD(n) {
1075
+ function dD(n) {
1076
1076
  return Ce(n, ty), aC.set(0, 0, 1).applyQuaternion(ty);
1077
1077
  }
1078
1078
  const lC = new ts(() => new v(), 100), iy = new W();
@@ -1107,7 +1107,7 @@ function rm(n, t = !0) {
1107
1107
  console.log(i + e.name + " <" + e.type + ">");
1108
1108
  }));
1109
1109
  }
1110
- function dD(n) {
1110
+ function uD(n) {
1111
1111
  let t = (n == null ? void 0 : n.name) || "";
1112
1112
  if (!n)
1113
1113
  return t;
@@ -1205,7 +1205,7 @@ r(fs, "planeGeometry", new qs(2, 2, 1, 1)), r(fs, "renderer"), r(fs, "perspectiv
1205
1205
  function uC(n) {
1206
1206
  return fs.copyTexture(n);
1207
1207
  }
1208
- function uD(n, t = !1) {
1208
+ function fD(n, t = !1) {
1209
1209
  return fs.textureToCanvas(n, t);
1210
1210
  }
1211
1211
  function fC(n) {
@@ -1313,7 +1313,7 @@ function L0(n, t, e, i) {
1313
1313
  return o && (o.map ? s.color.set(1, 1, 1) : s.color.copyLinearToSRGB(o.color), s.emissive.copyLinearToSRGB(o.emissive), s.emissiveIntensity = o.emissiveIntensity, s.opacity = o.opacity, s.displacementScale = o.displacementScale, s.transparent = o.transparent, s.bumpMap = o.bumpMap, s.aoMap = o.aoMap, s.map = o.map, s.displacementMap = o.displacementMap, s.emissiveMap = o.emissiveMap, s.normalMap = o.normalMap, s.envMap = o.envMap, s.alphaMap = o.alphaMap, s.metalness = o.reflectivity, s.vertexColors = o.vertexColors, o.shininess && (s.roughness = 1 - Math.sqrt(o.shininess) / 10), s.needsUpdate = !0), e === void 0 ? n.material = s : i[e] = s, !0;
1314
1314
  }
1315
1315
  let kh = !1;
1316
- $S((...n) => {
1316
+ $1((...n) => {
1317
1317
  var t;
1318
1318
  z() && ((t = fe.Current) != null && t.isInXR) && (Sa(!0), j0("error", ...n));
1319
1319
  });
@@ -1603,7 +1603,7 @@ function z() {
1603
1603
  let n = ui();
1604
1604
  return n || (n = window.location.hostname.endsWith(".local-credentialless.webcontainer.io")), If = n, n;
1605
1605
  }
1606
- function fD(n) {
1606
+ function pD(n) {
1607
1607
  am = n;
1608
1608
  }
1609
1609
  let Kt, yi = null, Bs = null, Ol = !1, oy = null;
@@ -1616,7 +1616,7 @@ if (!xC && (Vl || ui())) {
1616
1616
  Open this page to get the console: ` + t.toString());
1617
1617
  }
1618
1618
  const n = q.isMobileDevice() || q.isQuest() && z();
1619
- if ((n || Vl) && (HS(), z0(), U0(!0), n)) {
1619
+ if ((n || Vl) && (H1(), z0(), U0(!0), n)) {
1620
1620
  const t = document.querySelector("needle-engine");
1621
1621
  t == null || t.addEventListener("enter-ar", () => {
1622
1622
  (Vl || Kt || mg() > 0) && x("noerrors");
@@ -1788,15 +1788,15 @@ function TC() {
1788
1788
  return n || null;
1789
1789
  }
1790
1790
  const N0 = x("debugdefines");
1791
- So('if(!globalThis[""4.4.0-alpha.2""]) globalThis[""4.4.0-alpha.2""] = "0.0.0";');
1791
+ So('if(!globalThis[""4.4.0-alpha.3""]) globalThis[""4.4.0-alpha.3""] = "0.0.0";');
1792
1792
  So('if(!globalThis[""undefined""]) globalThis[""undefined""] = "unknown";');
1793
- So('if(!globalThis[""Fri Mar 21 2025 18:59:09 GMT+0100 (Central European Standard Time)""]) globalThis[""Fri Mar 21 2025 18:59:09 GMT+0100 (Central European Standard Time)""] = "unknown";');
1793
+ So('if(!globalThis[""Tue Mar 25 2025 17:30:07 GMT+0100 (Central European Standard Time)""]) globalThis[""Tue Mar 25 2025 17:30:07 GMT+0100 (Central European Standard Time)""] = "unknown";');
1794
1794
  So('if(!globalThis[""npk_0b7230d0d7c94c5ef23003726b2e2ccfc5ec0f20d26de8f0bda29e63698f9006""]) globalThis[""npk_0b7230d0d7c94c5ef23003726b2e2ccfc5ec0f20d26de8f0bda29e63698f9006""] = "unknown";');
1795
- So('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.4.0-alpha.2";');
1795
+ So('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.4.0-alpha.3";');
1796
1796
  So('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
1797
- So('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Fri Mar 21 2025 18:59:09 GMT+0100 (Central European Standard Time)";');
1797
+ So('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Tue Mar 25 2025 17:30:07 GMT+0100 (Central European Standard Time)";');
1798
1798
  So('globalThis["__NEEDLE_PUBLIC_KEY__"] = "npk_0b7230d0d7c94c5ef23003726b2e2ccfc5ec0f20d26de8f0bda29e63698f9006";');
1799
- const Ns = "4.4.0-alpha.2", _g = "undefined", $0 = "Fri Mar 21 2025 18:59:09 GMT+0100 (Central European Standard Time)";
1799
+ const Ns = "4.4.0-alpha.3", _g = "undefined", $0 = "Tue Mar 25 2025 17:30:07 GMT+0100 (Central European Standard Time)";
1800
1800
  N0 && console.log(`Engine version: ${Ns} (generator: ${_g})
1801
1801
  Project built at ${$0}`);
1802
1802
  const fd = "npk_0b7230d0d7c94c5ef23003726b2e2ccfc5ec0f20d26de8f0bda29e63698f9006", fo = "needle_isActiveInHierarchy", oa = "builtin_components", pd = "needle_editor_guid";
@@ -1832,7 +1832,7 @@ function yg(n, t, e, i) {
1832
1832
  }
1833
1833
  }));
1834
1834
  }
1835
- function pD(n, t, e) {
1835
+ function mD(n, t, e) {
1836
1836
  const i = bg(n, t);
1837
1837
  if (i)
1838
1838
  for (let s = i.length - 1; s >= 0; s--) {
@@ -1890,7 +1890,7 @@ const za = [];
1890
1890
  function vg(n) {
1891
1891
  za.indexOf(n) === -1 && za.push(n);
1892
1892
  }
1893
- function mD(n) {
1893
+ function gD(n) {
1894
1894
  const t = za.indexOf(n);
1895
1895
  t !== -1 && za.splice(t, 1);
1896
1896
  }
@@ -1898,7 +1898,7 @@ const Ua = [];
1898
1898
  function H0(n) {
1899
1899
  Ua.indexOf(n) === -1 && Ua.push(n);
1900
1900
  }
1901
- function gD(n) {
1901
+ function _D(n) {
1902
1902
  const t = Ua.indexOf(n);
1903
1903
  t !== -1 && Ua.splice(t, 1);
1904
1904
  }
@@ -2017,7 +2017,7 @@ class Th extends KeyboardEvent {
2017
2017
  super.stopImmediatePropagation(), (e = this.source) == null || e.stopImmediatePropagation();
2018
2018
  }
2019
2019
  }
2020
- class _D {
2020
+ class yD {
2021
2021
  constructor(t) {
2022
2022
  r(this, "key");
2023
2023
  r(this, "keyType");
@@ -3217,12 +3217,12 @@ Pinch: ${(o = this.getGesture("pinch")) == null ? void 0 : o.value.toFixed(3)}`)
3217
3217
  if (this._hasSelectEvent = this.profiles.includes("generic-hand-select") || this.profiles.some((t) => t.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) {
3218
3218
  if (this.inputSource.targetRayMode === "transient-pointer")
3219
3219
  return;
3220
- const t = gS(this.inputSource, qC, XC);
3220
+ const t = g1(this.inputSource, qC, XC);
3221
3221
  this.getMotionController = t.then((e) => {
3222
3222
  var o;
3223
3223
  if (!this.connected)
3224
3224
  return null;
3225
- this._motioncontroller = new _S(
3225
+ this._motioncontroller = new _1(
3226
3226
  this.inputSource,
3227
3227
  e.profile,
3228
3228
  e.assetPath || ""
@@ -3430,10 +3430,10 @@ function ZC(n) {
3430
3430
  return typeof n.guid == "function" ? n.guid() : null;
3431
3431
  }
3432
3432
  let xg;
3433
- function yD() {
3433
+ function bD() {
3434
3434
  return xg;
3435
3435
  }
3436
- function bD(n) {
3436
+ function vD(n) {
3437
3437
  xg = n;
3438
3438
  }
3439
3439
  function JC(n, t) {
@@ -3533,7 +3533,7 @@ const my = "https://urls.needle.tools/default-networking-backend/index";
3533
3533
  let ai = "wss://networking.needle.tools/socket";
3534
3534
  const _i = !!x("debugnet"), Ih = !!(_i || x("debugowner")), Lf = x("debugnetbin");
3535
3535
  var sP = /* @__PURE__ */ ((n) => (n.ConnectionInfo = "connection-start-info", n))(sP || {}), se = /* @__PURE__ */ ((n) => (n.Join = "join-room", n.Leave = "leave-room", n.JoinedRoom = "joined-room", n.LeftRoom = "left-room", n.UserJoinedRoom = "user-joined-room", n.UserLeftRoom = "user-left-room", n.RoomStateSent = "room-state-sent", n))(se || {});
3536
- class vD {
3536
+ class wD {
3537
3537
  constructor() {
3538
3538
  r(this, "room");
3539
3539
  // room name
@@ -3543,13 +3543,13 @@ class vD {
3543
3543
  }
3544
3544
  // connection ids
3545
3545
  }
3546
- class wD {
3546
+ class xD {
3547
3547
  constructor() {
3548
3548
  r(this, "room");
3549
3549
  }
3550
3550
  // room name
3551
3551
  }
3552
- class xD {
3552
+ class SD {
3553
3553
  constructor() {
3554
3554
  r(this, "userId");
3555
3555
  }
@@ -3853,7 +3853,7 @@ class oP {
3853
3853
  return Promise.resolve(!0);
3854
3854
  t && console.debug("Connecting to user provided url " + t);
3855
3855
  const e = t || ((i = this.netWebSocketUrlProvider) == null ? void 0 : i.getWebsocketUrl());
3856
- return e ? ai = e : TS() && (ai = "wss://" + window.location.host + "/socket"), this.connectWebsocket();
3856
+ return e ? ai = e : T1() && (ai = "wss://" + window.location.host + "/socket"), this.connectWebsocket();
3857
3857
  }
3858
3858
  /** Used to disconnect from the networking server */
3859
3859
  disconnect() {
@@ -3912,7 +3912,7 @@ class oP {
3912
3912
  Lf && console.log("<< bin", this.context.time.frame);
3913
3913
  const e = await t.arrayBuffer();
3914
3914
  var i = new Uint8Array(e);
3915
- const s = new yS(i), o = s.getBufferIdentifier(), a = this._listenersBinary[o], l = KC(s), c = ZC(l);
3915
+ const s = new y1(i), o = s.getBufferIdentifier(), a = this._listenersBinary[o], l = KC(s), c = ZC(l);
3916
3916
  if (c && typeof c == "string" && (this._state[c] = l), !a)
3917
3917
  return;
3918
3918
  const h = l ?? s;
@@ -4187,7 +4187,7 @@ class Tr {
4187
4187
  static createText(t, e) {
4188
4188
  let i = null;
4189
4189
  const s = (e == null ? void 0 : e.font) || lP((e == null ? void 0 : e.familyFamily) || null);
4190
- s instanceof Y1 ? i = Uo(this, Hc, dm).call(this, t, s, e) : i == null && (i = new On());
4190
+ s instanceof YS ? i = Uo(this, Hc, dm).call(this, t, s, e) : i == null && (i = new On());
4191
4191
  const o = (e == null ? void 0 : e.color) || 16777215, a = new X(i, (e == null ? void 0 : e.material) ?? new hi({ color: o }));
4192
4192
  return this.applyDefaultObjectOptions(a, e), s instanceof Promise ? s.then((l) => {
4193
4193
  a.geometry = Uo(this, Hc, dm).call(this, t, l, e), e != null && e.onGeometry && e.onGeometry(a);
@@ -4257,7 +4257,7 @@ class Tr {
4257
4257
  }
4258
4258
  Hc = new WeakSet(), dm = function(t, e, i) {
4259
4259
  const s = (i == null ? void 0 : i.depth) || 0.1;
4260
- return new K1(t, {
4260
+ return new KS(t, {
4261
4261
  font: e,
4262
4262
  size: 1,
4263
4263
  depth: s,
@@ -4298,7 +4298,7 @@ function lP(n) {
4298
4298
  if (s)
4299
4299
  return s;
4300
4300
  }
4301
- const e = new Z1(), i = new Promise((s, o) => {
4301
+ const e = new ZS(), i = new Promise((s, o) => {
4302
4302
  e.load(t, (a) => {
4303
4303
  Dh.set(t, a), s(a);
4304
4304
  }, void 0, o);
@@ -6030,7 +6030,7 @@ var Ud;
6030
6030
  let h = !1, d = !1, u = null;
6031
6031
  const p = Symbol("Needle:MeshBVH-Worker"), m = Symbol("Needle:MeshBVH-CanUseWorker"), g = [], _ = [];
6032
6032
  function y() {
6033
- h = !0, d = !0, Promise.resolve().then(() => EI).then((b) => {
6033
+ h = !0, d = !0, Promise.resolve().then(() => II).then((b) => {
6034
6034
  u = b.GenerateMeshBVHWorker;
6035
6035
  }).catch((b) => {
6036
6036
  (bi || z()) && console.warn("Failed to setup mesh bvh worker");
@@ -6105,7 +6105,7 @@ function J0() {
6105
6105
  }
6106
6106
  let Ar = !0;
6107
6107
  Du === 0 && (Ar = !1);
6108
- function SD(n) {
6108
+ function CD(n) {
6109
6109
  Ar = n;
6110
6110
  }
6111
6111
  function xP() {
@@ -6116,7 +6116,7 @@ function tv(n, t) {
6116
6116
  n && (n[ev] = t, cr && console.warn("Set disposable", t, n));
6117
6117
  }
6118
6118
  const iv = Symbol("disposed");
6119
- function CD(n) {
6119
+ function PD(n) {
6120
6120
  return n[iv] === !0;
6121
6121
  }
6122
6122
  function Ae(n) {
@@ -6175,7 +6175,7 @@ function sv(n, t, e = null, i) {
6175
6175
  i.has(o) || (e == null ? void 0 : e.call(null, o)) !== !1 && (i.add(o), t && sv(o, !0, e, i));
6176
6176
  return i;
6177
6177
  }
6178
- function PD(n) {
6178
+ function OD(n) {
6179
6179
  return n[Hl];
6180
6180
  }
6181
6181
  const cr = x("debugresourceusers") || x("debugmemory"), Bc = Symbol("needle-resource-users"), Hl = Symbol("needle-resource-users-count");
@@ -6546,7 +6546,7 @@ function DP(n) {
6546
6546
  e && is(e);
6547
6547
  });
6548
6548
  }
6549
- class OD {
6549
+ class MD {
6550
6550
  constructor(t, e, i) {
6551
6551
  /** File to download */
6552
6552
  r(this, "filename");
@@ -6685,7 +6685,7 @@ class NP {
6685
6685
  return null;
6686
6686
  }
6687
6687
  }
6688
- const $P = Symbol("BuiltInType"), R = new NP(), MD = function(n) {
6688
+ const $P = Symbol("BuiltInType"), R = new NP(), RD = function(n) {
6689
6689
  R.get(n.name) || R.add(n.name, n);
6690
6690
  }, Og = x("debugresolvedependencies"), WP = ["/extensions/", "extensions/"], VP = [
6691
6691
  { prefix: "/nodes/", dependencyName: "node" },
@@ -8528,7 +8528,7 @@ function* Pv(n, t = null) {
8528
8528
  for (; e.time - i < n; )
8529
8529
  yield;
8530
8530
  }
8531
- function* RD(n) {
8531
+ function* kD(n) {
8532
8532
  for (let t = 0; t < n; t++)
8533
8533
  yield;
8534
8534
  }
@@ -9413,7 +9413,7 @@ const uu = class {
9413
9413
  }, 500), window.removeEventListener("click", o), window.removeEventListener("resize", o), window.removeEventListener("scroll", o);
9414
9414
  }
9415
9415
  async function a() {
9416
- const c = await NS({
9416
+ const c = await N1({
9417
9417
  text: window.location.href,
9418
9418
  width: 200,
9419
9419
  height: 200
@@ -10059,6 +10059,10 @@ const O_ = class extends HTMLElement {
10059
10059
  color: rgb(20,20,20);
10060
10060
  }
10061
10061
 
10062
+ .options > select[multiple]:hover {
10063
+ max-height: 300px;
10064
+ }
10065
+
10062
10066
  .floating-panel-style {
10063
10067
  background: rgba(255, 255, 255, .4);
10064
10068
  outline: rgb(0 0 0 / 5%) 1px solid;
@@ -10562,8 +10566,8 @@ Gc = new WeakMap(), qc = new WeakSet(), Mm = function(e) {
10562
10566
  this.logoContainer.style.display = "", this.logoContainer.style.opacity = "1", this.logoContainer.style.visibility = "visible", e ? (this.root.classList.remove("logo-hidden"), this.root.classList.add("logo-visible")) : (this.root.classList.remove("logo-visible"), this.root.classList.add("logo-hidden"));
10563
10567
  };
10564
10568
  customElements.get(Xo) || customElements.define(Xo, Yd);
10565
- const st = x("debugcontext"), GO = x("stats"), qO = x("debugactive"), XO = x("debugframerate"), QO = x("debugcoroutine"), TD = {};
10566
- class AD {
10569
+ const st = x("debugcontext"), GO = x("stats"), qO = x("debugactive"), XO = x("debugframerate"), QO = x("debugcoroutine"), AD = {};
10570
+ class ED {
10567
10571
  constructor() {
10568
10572
  r(this, "name");
10569
10573
  /** for debugging only */
@@ -10700,7 +10704,7 @@ const Re = class {
10700
10704
  r(this, "_isCreated", !1);
10701
10705
  r(this, "_isCreating", !1);
10702
10706
  r(this, "_isVisible", !1);
10703
- r(this, "_stats", GO ? new J1() : null);
10707
+ r(this, "_stats", GO ? new JS() : null);
10704
10708
  r(this, "_intersectionObserver", null);
10705
10709
  r(this, "_disposeCallbacks", []);
10706
10710
  /** Clamps the renderer max resolution. If undefined the max resolution is not clamped. Default is undefined */
@@ -11334,7 +11338,7 @@ Possible solutions:
11334
11338
  return this.physics.engine.postStep(), !0;
11335
11339
  }
11336
11340
  internalOnRender() {
11337
- this.isManagedExternally || (AP(this), this._currentFrameEvent = -1, eS.update(), this.renderNow(), this._currentFrameEvent = 4);
11341
+ this.isManagedExternally || (AP(this), this._currentFrameEvent = -1, e1.update(), this.renderNow(), this._currentFrameEvent = 4);
11338
11342
  }
11339
11343
  internalOnAfterRender() {
11340
11344
  if (this.isVisibleToUser || this.runInBackground) {
@@ -11620,7 +11624,7 @@ async function iM() {
11620
11624
  }
11621
11625
  }
11622
11626
  const Qo = x("debugloading"), kl = x("debugloadingrendering"), Xy = x("debuglicense");
11623
- class ED {
11627
+ class ID {
11624
11628
  constructor() {
11625
11629
  r(this, "className");
11626
11630
  r(this, "additionalClasses");
@@ -11877,7 +11881,7 @@ function Iv() {
11877
11881
  return Yf;
11878
11882
  }
11879
11883
  function Yy(n) {
11880
- n !== void 0 && typeof n == "string" && X1(n);
11884
+ n !== void 0 && typeof n == "string" && XS(n);
11881
11885
  }
11882
11886
  function Ky(n) {
11883
11887
  if (n !== void 0 && typeof n == "string" && n !== "js") {
@@ -11886,11 +11890,11 @@ function Ky(n) {
11886
11890
  }
11887
11891
  }
11888
11892
  function Zy(n) {
11889
- n !== void 0 && typeof n == "string" && Q1(n);
11893
+ n !== void 0 && typeof n == "string" && QS(n);
11890
11894
  }
11891
11895
  function Nu(n, t) {
11892
11896
  const e = Iv();
11893
- return t.renderer ? e.ktx2Loader.detectSupport(t.renderer) : console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures will probably fail"), G1(n), n.dracoLoader || n.setDRACOLoader(e.dracoLoader), n.ktx2Loader || n.setKTX2Loader(e.ktx2Loader), n.meshoptDecoder || n.setMeshoptDecoder(e.meshoptDecoder), q1(n, {
11897
+ return t.renderer ? e.ktx2Loader.detectSupport(t.renderer) : console.warn("No renderer provided to detect ktx2 support - loading KTX2 textures will probably fail"), GS(n), n.dracoLoader || n.setDRACOLoader(e.dracoLoader), n.ktx2Loader || n.setKTX2Loader(e.ktx2Loader), n.meshoptDecoder || n.setMeshoptDecoder(e.meshoptDecoder), qS(n, {
11894
11898
  progressive: !0
11895
11899
  }), n;
11896
11900
  }
@@ -12626,7 +12630,7 @@ const Pc = class {
12626
12630
  };
12627
12631
  let I = Pc;
12628
12632
  r(I, "_forward", new v()), r(I, "_right", new v()), r(I, "_up", new v());
12629
- const ID = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12633
+ const DD = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
12630
12634
  __proto__: null,
12631
12635
  Behaviour: I,
12632
12636
  Component: I,
@@ -13002,7 +13006,7 @@ function dM(n) {
13002
13006
  const t = n[Cd];
13003
13007
  return t !== void 0 && t.size > 0;
13004
13008
  }
13005
- class LD {
13009
+ class jD {
13006
13010
  constructor() {
13007
13011
  r(this, "_context");
13008
13012
  }
@@ -14343,10 +14347,10 @@ Dg([
14343
14347
  function SM(n, t) {
14344
14348
  return Ln(n, pe.ContextCreated, t), () => Co(n, pe.ContextCreated);
14345
14349
  }
14346
- function jD(n, t) {
14350
+ function BD(n, t) {
14347
14351
  return Ln(n, pe.ContextClearing, t), () => Co(n, pe.ContextClearing);
14348
14352
  }
14349
- function BD(n, t) {
14353
+ function FD(n, t) {
14350
14354
  return Ln(n, pe.ContextDestroying, t), () => Co(n, pe.ContextDestroying);
14351
14355
  }
14352
14356
  function CM(n, t) {
@@ -14355,10 +14359,10 @@ function CM(n, t) {
14355
14359
  function PM(n, t) {
14356
14360
  return Ln(n, Me.Update, t), () => Co(n, Me.Update);
14357
14361
  }
14358
- function FD(n, t) {
14362
+ function zD(n, t) {
14359
14363
  return Ln(n, Me.OnBeforeRender, t), () => Co(n, Me.OnBeforeRender);
14360
14364
  }
14361
- function zD(n, t) {
14365
+ function UD(n, t) {
14362
14366
  return Ln(n, Me.OnAfterRender, t), () => Co(n, Me.OnAfterRender);
14363
14367
  }
14364
14368
  let pr = class {
@@ -14573,7 +14577,7 @@ function OM(n, t, e, i, s) {
14573
14577
  };
14574
14578
  }
14575
14579
  }
14576
- const ND = function(n) {
14580
+ const $D = function(n) {
14577
14581
  return function(t, e, i) {
14578
14582
  let s = "";
14579
14583
  typeof e == "string" ? s = e : s = e.name;
@@ -15203,7 +15207,7 @@ class ws extends I {
15203
15207
  const l = this._parentComponent.shadowComponent;
15204
15208
  l && (l == null || l.add(e), o = !0);
15205
15209
  }
15206
- this.shadowComponent = e, i && i.shadowComponent && this.shadowComponent && i.shadowComponent.add(this.shadowComponent), Qc && e.add(new Mi(0.5)), this.onAfterAddedToScene(), o && RS(), TM && console.warn("Added shadow component", this.shadowComponent);
15210
+ this.shadowComponent = e, i && i.shadowComponent && this.shadowComponent && i.shadowComponent.add(this.shadowComponent), Qc && e.add(new Mi(0.5)), this.onAfterAddedToScene(), o && R1(), TM && console.warn("Added shadow component", this.shadowComponent);
15207
15211
  }
15208
15212
  setShadowComponentOwner(e) {
15209
15213
  if (e && (e[Qi] === void 0 || e[Qi] === this) && (e[Qi] = this, e.children))
@@ -15509,7 +15513,7 @@ class EM extends os {
15509
15513
  return t.a !== void 0 ? { r: t.r, g: t.g, b: t.b, a: t.a } : { r: t.r, g: t.g, b: t.b };
15510
15514
  }
15511
15515
  }
15512
- const $D = new EM();
15516
+ const WD = new EM();
15513
15517
  class IM extends os {
15514
15518
  constructor() {
15515
15519
  super([Lt], "EulerSerializer");
@@ -15526,7 +15530,7 @@ class IM extends os {
15526
15530
  return { x: t.x, y: t.y, z: t.z, order: t.order };
15527
15531
  }
15528
15532
  }
15529
- const WD = new IM();
15533
+ const VD = new IM();
15530
15534
  class DM extends os {
15531
15535
  constructor() {
15532
15536
  super(D, "ObjectSerializer");
@@ -15712,7 +15716,7 @@ Could not find method ${h.method} on object ${u.name}`, u, typeof u[h.method]);
15712
15716
  // };
15713
15717
  // }
15714
15718
  }
15715
- const VD = new BM(), Kd = /* @__PURE__ */ new WeakMap(), FM = Fe.prototype.clone;
15719
+ const HD = new BM(), Kd = /* @__PURE__ */ new WeakMap(), FM = Fe.prototype.clone;
15716
15720
  Fe.prototype.clone = function() {
15717
15721
  const n = FM.call(this);
15718
15722
  return Kd.has(n) || Kd.set(n, this), n;
@@ -16911,6 +16915,18 @@ const Ql = (rd = class extends I {
16911
16915
  return this._clearFlags;
16912
16916
  }
16913
16917
  set clearFlags(t) {
16918
+ if (typeof t == "string")
16919
+ switch (t) {
16920
+ case "skybox":
16921
+ t = 1;
16922
+ break;
16923
+ case "solidcolor":
16924
+ t = 2;
16925
+ break;
16926
+ default:
16927
+ t = 0;
16928
+ break;
16929
+ }
16914
16930
  t !== this._clearFlags && (this._clearFlags = t, this.applyClearFlagsIfIsActiveCamera());
16915
16931
  }
16916
16932
  set cullingMask(t) {
@@ -17507,7 +17523,7 @@ const Et = x("debugaudio"), Jn = class extends I {
17507
17523
  console.warn("Custom rolloff for AudioSource is not supported: " + this.name);
17508
17524
  break;
17509
17525
  }
17510
- this.spatialBlend > 0 ? Et && !this.helper && (this.helper = new tS(t, t.getRefDistance()), t.add(this.helper)) : this.helper && this.helper.parent && this.helper.removeFromParent();
17526
+ this.spatialBlend > 0 ? Et && !this.helper && (this.helper = new t1(t, t.getRefDistance()), t.add(this.helper)) : this.helper && this.helper.parent && this.helper.removeFromParent();
17511
17527
  }
17512
17528
  async onNewClip(t) {
17513
17529
  if (t && (this.clip = t), typeof t == "string")
@@ -17714,7 +17730,7 @@ var zg = /* @__PURE__ */ ((n) => (n[n.None = 0] = "None", n[n.DontExport = 1] =
17714
17730
  function sR(n) {
17715
17731
  return n && n.isComponent;
17716
17732
  }
17717
- const HD = Symbol("object"), ep = new ts(() => new v(), 20);
17733
+ const GD = Symbol("object"), ep = new ts(() => new v(), 20);
17718
17734
  class nR {
17719
17735
  /** @internal */
17720
17736
  constructor(t, e, i, s, o, a) {
@@ -19226,7 +19242,7 @@ const Yl = (zp = class extends I {
19226
19242
  side: lg
19227
19243
  })).translateY(-1e-4), this.occluderMesh.renderOrder = -100, this.occluderMesh.layers.set(2), this.shadowsRoot.add(this.occluderMesh), this.blurPlane = new X(t), this.blurPlane.visible = !1, this.shadowGroup.add(this.blurPlane);
19228
19244
  const i = 0, s = 1;
19229
- this.shadowCamera = new rg(-1 / 2, 1 / 2, 1 / 2, -1 / 2, i, s), this.shadowCamera.layers.enableAll(), this.shadowCamera.rotation.x = Math.PI / 2, this.shadowGroup.add(this.shadowCamera), this.depthMaterial = new Zx(), this.depthMaterial.userData.darkness = { value: this.darkness }, this.depthMaterial.blending = Jx, this.depthMaterial.blendEquation = e1, this.depthMaterial.onBeforeCompile = (o) => {
19245
+ this.shadowCamera = new rg(-1 / 2, 1 / 2, 1 / 2, -1 / 2, i, s), this.shadowCamera.layers.enableAll(), this.shadowCamera.rotation.x = Math.PI / 2, this.shadowGroup.add(this.shadowCamera), this.depthMaterial = new Zx(), this.depthMaterial.userData.darkness = { value: this.darkness }, this.depthMaterial.blending = Jx, this.depthMaterial.blendEquation = eS, this.depthMaterial.onBeforeCompile = (o) => {
19230
19246
  this.depthMaterial && (o.uniforms.darkness = this.depthMaterial.userData.darkness, o.fragmentShader = /* glsl */
19231
19247
  `
19232
19248
  uniform float darkness;
@@ -19236,7 +19252,7 @@ const Yl = (zp = class extends I {
19236
19252
  "gl_FragColor = vec4( vec3( 1.0 ), ( 1.0 - fragCoordZ ) * darkness * opacity * (gl_FrontFacing ? 1.0 : 0.66) );"
19237
19253
  )}
19238
19254
  `);
19239
- }, this.depthMaterial.depthTest = !1, this.depthMaterial.depthWrite = !1, this.horizontalBlurMaterial = new ys(iS), this.horizontalBlurMaterial.depthTest = !1, this.verticalBlurMaterial = new ys(sS), this.verticalBlurMaterial.depthTest = !1, this.shadowGroup.visible = !1, this.autoFit ? this.fitShadows() : this.applyMinSize();
19255
+ }, this.depthMaterial.depthTest = !1, this.depthMaterial.depthWrite = !1, this.horizontalBlurMaterial = new ys(i1), this.horizontalBlurMaterial.depthTest = !1, this.verticalBlurMaterial = new ys(s1), this.verticalBlurMaterial.depthTest = !1, this.shadowGroup.visible = !1, this.autoFit ? this.fitShadows() : this.applyMinSize();
19240
19256
  }
19241
19257
  /** @internal */
19242
19258
  onDestroy() {
@@ -20071,7 +20087,7 @@ const k_ = class {
20071
20087
  let np = k_;
20072
20088
  r(np, "geometry", new On().setFromPoints([new v(0, 0, 0), new v(0, -1, 0)]));
20073
20089
  var $R = /* @__PURE__ */ ((n) => (n.File_Spawned = "file-spawned", n))($R || {});
20074
- class GD {
20090
+ class qD {
20075
20091
  constructor(t, e, i, s, o, a, l, c, h) {
20076
20092
  r(this, "guid");
20077
20093
  r(this, "file_name");
@@ -20675,13 +20691,13 @@ class JR {
20675
20691
  typeof window < "u" && window.addEventListener("unhandledrejection", (n) => {
20676
20692
  });
20677
20693
  const on = mt, Vh = "$___Export_Components", ek = "NEEDLE_components";
20678
- var II;
20694
+ var DI;
20679
20695
  class tk {
20680
20696
  constructor() {
20681
- r(this, II);
20697
+ r(this, DI);
20682
20698
  }
20683
20699
  }
20684
- II = oa;
20700
+ DI = oa;
20685
20701
  class ik {
20686
20702
  constructor(t, e, i) {
20687
20703
  r(this, "node");
@@ -20966,13 +20982,13 @@ class Im extends I {
20966
20982
  if (ca && console.warn("💡🟡 >>> Enable lighting", this.sourceId, this.enabled, this), this.ambientMode == fc.Flat) {
20967
20983
  if (this.ambientLight && !this._ambientLightObj) {
20968
20984
  const e = this.calculateIntensityFactor(this.ambientLight);
20969
- this._ambientLightObj = new t1(this.ambientLight, this.ambientIntensity * e), ca && console.log("Created ambient light", this.sourceId, this._ambientLightObj, this.ambientIntensity, e);
20985
+ this._ambientLightObj = new tS(this.ambientLight, this.ambientIntensity * e), ca && console.log("Created ambient light", this.sourceId, this._ambientLightObj, this.ambientIntensity, e);
20970
20986
  }
20971
20987
  this._ambientLightObj && this.gameObject.add(this._ambientLightObj);
20972
20988
  } else if (this.ambientMode === fc.Trilight) {
20973
20989
  if (this.ambientTrilight) {
20974
20990
  const e = this.ambientTrilight[0], i = this.ambientTrilight[this.ambientTrilight.length - 1], s = this.calculateIntensityFactor(i);
20975
- this._hemisphereLightObj = new i1(i, e, this.ambientIntensity * s), this.gameObject.add(this._hemisphereLightObj), ca && console.log("Created hemisphere ambient light", this.sourceId, this._hemisphereLightObj, this.ambientIntensity, s);
20991
+ this._hemisphereLightObj = new iS(i, e, this.ambientIntensity * s), this.gameObject.add(this._hemisphereLightObj), ca && console.log("Created hemisphere ambient light", this.sourceId, this._hemisphereLightObj, this.ambientIntensity, s);
20976
20992
  }
20977
20993
  } else
20978
20994
  this._ambientLightObj && this._ambientLightObj.removeFromParent(), this._hemisphereLightObj && this._hemisphereLightObj.removeFromParent();
@@ -21040,21 +21056,21 @@ r(gc, "stencils", {});
21040
21056
  function ap(n) {
21041
21057
  switch (n) {
21042
21058
  case 0:
21043
- return h1;
21059
+ return hS;
21044
21060
  case 1:
21045
- return c1;
21061
+ return cS;
21046
21062
  case 2:
21047
- return l1;
21063
+ return lS;
21048
21064
  case 3:
21049
- return a1;
21065
+ return aS;
21050
21066
  case 4:
21051
- return r1;
21067
+ return rS;
21052
21068
  case 6:
21053
- return o1;
21069
+ return oS;
21054
21070
  case 7:
21055
- return n1;
21071
+ return nS;
21056
21072
  case 5:
21057
- return s1;
21073
+ return sS;
21058
21074
  }
21059
21075
  return 0;
21060
21076
  }
@@ -21063,19 +21079,19 @@ function ak(n) {
21063
21079
  case 1:
21064
21080
  return L_;
21065
21081
  case 2:
21066
- return _1;
21082
+ return _S;
21067
21083
  case 3:
21068
- return g1;
21084
+ return gS;
21069
21085
  case 4:
21070
- return m1;
21086
+ return mS;
21071
21087
  case 5:
21072
- return p1;
21088
+ return pS;
21073
21089
  case 6:
21074
- return f1;
21090
+ return fS;
21075
21091
  case 7:
21076
- return u1;
21092
+ return uS;
21077
21093
  case 8:
21078
- return d1;
21094
+ return dS;
21079
21095
  }
21080
21096
  return L_;
21081
21097
  }
@@ -21318,7 +21334,7 @@ class hk {
21318
21334
  // },
21319
21335
  }
21320
21336
  );
21321
- switch (g.glslVersion = y1, g.vertexShader = g.vertexShader.replace("#version 300 es", ""), g.fragmentShader = g.fragmentShader.replace("#version 300 es", ""), (b = u._Cull) == null ? void 0 : b.value) {
21337
+ switch (g.glslVersion = yS, g.vertexShader = g.vertexShader.replace("#version 300 es", ""), g.fragmentShader = g.fragmentShader.replace("#version 300 es", ""), (b = u._Cull) == null ? void 0 : b.value) {
21322
21338
  case 0:
21323
21339
  g.side = Ri;
21324
21340
  break;
@@ -21334,25 +21350,25 @@ class hk {
21334
21350
  }
21335
21351
  switch ((w = u._ZTest) == null ? void 0 : w.value) {
21336
21352
  case 3:
21337
- g.depthTest = !0, g.depthFunc = P1;
21353
+ g.depthTest = !0, g.depthFunc = PS;
21338
21354
  break;
21339
21355
  case 6:
21340
- g.depthTest = !0, g.depthFunc = C1;
21356
+ g.depthTest = !0, g.depthFunc = CS;
21341
21357
  break;
21342
21358
  case 2:
21343
- g.depthTest = !0, g.depthFunc = S1;
21359
+ g.depthTest = !0, g.depthFunc = SS;
21344
21360
  break;
21345
21361
  case 4:
21346
- g.depthTest = !0, g.depthFunc = x1;
21362
+ g.depthTest = !0, g.depthFunc = xS;
21347
21363
  break;
21348
21364
  case 5:
21349
- g.depthTest = !0, g.depthFunc = w1;
21365
+ g.depthTest = !0, g.depthFunc = wS;
21350
21366
  break;
21351
21367
  case 7:
21352
- g.depthTest = !0, g.depthFunc = v1;
21368
+ g.depthTest = !0, g.depthFunc = vS;
21353
21369
  break;
21354
21370
  case 8:
21355
- g.depthTest = !1, g.depthFunc = b1;
21371
+ g.depthTest = !1, g.depthFunc = bS;
21356
21372
  break;
21357
21373
  }
21358
21374
  g.transparent = m, m && (g.depthWrite = !1), IO(u), g.onUpdateUniforms();
@@ -21396,10 +21412,10 @@ let iu;
21396
21412
  const uk = import("./three-examples.light.js").then((n) => n.r).then(async (n) => (iu = n.GLTFAnimationPointerExtension, iu)).catch((n) => {
21397
21413
  console.warn("Failed to import GLTFLoaderAnimationPointer. Please use @needle-tools/three for full KHR_animation support", n);
21398
21414
  }), xr = new Array();
21399
- function qD(n) {
21415
+ function XD(n) {
21400
21416
  xr.includes(n) || xr.push(n);
21401
21417
  }
21402
- function XD(n) {
21418
+ function QD(n) {
21403
21419
  const t = xr.indexOf(n);
21404
21420
  t >= 0 && xr.splice(t, 1);
21405
21421
  }
@@ -21603,7 +21619,7 @@ const li = x("debuginstancing"), pu = class {
21603
21619
  let l = pu.getStartInstanceCount(t);
21604
21620
  (!l || l < 0) && (l = 4);
21605
21621
  let c = t.name;
21606
- c != null && c.length || (c = IS());
21622
+ c != null && c.length || (c = I1());
21607
21623
  const h = new aw(c, o.geometry, a, l, e);
21608
21624
  return this.objs.push(h), h.addInstance(o);
21609
21625
  }
@@ -23205,7 +23221,7 @@ let Ik = class {
23205
23221
  }
23206
23222
  b = O.length;
23207
23223
  }
23208
- return he.report("export-usdz", "zip archive"), nS(s, { level: 0 });
23224
+ return he.report("export-usdz", "zip archive"), n1(s, { level: 0 });
23209
23225
  }
23210
23226
  };
23211
23227
  function mw(n, t, e, i) {
@@ -23379,7 +23395,7 @@ async function Lk(n, t = 1 / 0, e = null, i = void 0) {
23379
23395
  const o = new ye(), a = new es();
23380
23396
  a.add(Xh), e || (e = qh = new Rr({ antialias: !1, alpha: !0, premultipliedAlpha: !1, preserveDrawingBuffer: !0 }));
23381
23397
  const l = Math.min(n.image.width, t), c = Math.min(n.image.height, t);
23382
- Vt && (Vt.width !== l || Vt.height !== c) && (Vt.dispose(), Vt = null), Vt || (Vt = new Tn(l, c, { format: Cu, type: O1, minFilter: B_, magFilter: B_ })), e.setRenderTarget(Vt), e.setSize(l, c), e.clear(), e.render(a, o), qh && (qh.dispose(), qh = null);
23398
+ Vt && (Vt.width !== l || Vt.height !== c) && (Vt.dispose(), Vt = null), Vt || (Vt = new Tn(l, c, { format: Cu, type: OS, minFilter: B_, magFilter: B_ })), e.setRenderTarget(Vt), e.setSize(l, c), e.clear(), e.render(a, o), qh && (qh.dispose(), qh = null);
23383
23399
  const h = new Uint8ClampedArray(Vt.width * Vt.height * 4);
23384
23400
  e.readRenderTargetPixels(Vt, 0, 0, Vt.width, Vt.height, h);
23385
23401
  const d = new ImageData(h, Vt.width, Vt.height, void 0), u = await createImageBitmap(d, { premultiplyAlpha: "none" });
@@ -26136,7 +26152,7 @@ const Sb = x("debugwebxr"), iT = new ne().makeRotationY(Math.PI), va = class ext
26136
26152
  }
26137
26153
  else
26138
26154
  a = new X(
26139
- new M1(0.07, 0.09, 32).rotateX(-Math.PI / 2),
26155
+ new MS(0.07, 0.09, 32).rotateX(-Math.PI / 2),
26140
26156
  new Te({ side: Ri, depthTest: !1, depthWrite: !1, transparent: !0, opacity: 1, color: 15658734 })
26141
26157
  ), a.name = "AR Placement Reticle";
26142
26158
  if (Sb) {
@@ -27031,7 +27047,7 @@ class In extends I {
27031
27047
  h ? (c = h.url.split(".").slice(0, -1).join("."), a.setPath("")) : (c = i.inputSource.handedness === "left" ? "left" : "right", a.setPath("https://cdn.jsdelivr.net/npm/@webxr-input-profiles/assets@1.0/dist/profiles/generic-hand/"));
27032
27048
  const d = new D();
27033
27049
  Ml(d);
27034
- const u = new rS(d, o, a.path, c, a, (p) => {
27050
+ const u = new r1(d, o, a.path, c, a, (p) => {
27035
27051
  var g;
27036
27052
  const m = l.gltf;
27037
27053
  ((g = m == null ? void 0 : m.scene.children) == null ? void 0 : g.length) === 0 && (m.scene.children[0] = p), Vs().createBuiltinComponents(e.context, e.sourceId || c, l.gltf, null, l), p.traverse((_) => {
@@ -27057,7 +27073,7 @@ class In extends I {
27057
27073
  }
27058
27074
  }
27059
27075
  }
27060
- r(In, "factory", new oS());
27076
+ r(In, "factory", new o1());
27061
27077
  tf([
27062
27078
  f()
27063
27079
  ], In.prototype, "createControllerModel", 2);
@@ -27170,7 +27186,7 @@ class ns extends I {
27170
27186
  const p = i.worldPosition;
27171
27187
  this._plane.setFromNormalAndCoplanarPoint(new v(0, 1, 0), p);
27172
27188
  const m = e.ray;
27173
- u = p.clone(), this._plane.intersectLine(new R1(m.origin, G(m.direction).multiplyScalar(1e4).add(m.origin)), u), u.distanceTo(p) > i.scale.x * 10 && (u = null);
27189
+ u = p.clone(), this._plane.intersectLine(new RS(m.origin, G(m.direction).multiplyScalar(1e4).add(m.origin)), u), u.distanceTo(p) > i.scale.x * 10 && (u = null);
27174
27190
  }
27175
27191
  if (u) {
27176
27192
  if (this.useTeleportTarget && !S.getComponentInParent(d.object, Jg))
@@ -27283,15 +27299,15 @@ class ns extends I {
27283
27299
  }
27284
27300
  /** create an object to visualize controller rays */
27285
27301
  createRayLineObject() {
27286
- const e = new aS();
27302
+ const e = new a1();
27287
27303
  e.layers.disableAll(), e.layers.enable(2);
27288
- const i = new lS();
27304
+ const i = new l1();
27289
27305
  e.geometry = i;
27290
27306
  const s = new Float32Array(9);
27291
27307
  s.set([0, 0, 0.02, 0, 0, 0.4, 0, 0, 1]), i.setPositions(s);
27292
27308
  const o = new Float32Array(9);
27293
27309
  o.set([1, 1, 1, 0.1, 0.1, 0.1, 0, 0, 0]), i.setColors(o);
27294
- const a = new cS({
27310
+ const a = new c1({
27295
27311
  color: 16777215,
27296
27312
  vertexColors: !0,
27297
27313
  worldUnits: !0,
@@ -28181,7 +28197,7 @@ const Jl = (Np = class extends ws {
28181
28197
  this.makePanel(), this.uiObject && (this.uiObject.setState(t), this == null || this.markDirty());
28182
28198
  }
28183
28199
  setupState(t) {
28184
- this.makePanel(), this.uiObject && (this._stateManager || (this._stateManager = new kS(this.uiObject)), this.uiObject.setupState(t.state, t.attributes));
28200
+ this.makePanel(), this.uiObject && (this._stateManager || (this._stateManager = new k1(this.uiObject)), this.uiObject.setupState(t.state, t.attributes));
28185
28201
  }
28186
28202
  setOptions(t) {
28187
28203
  this.makePanel(), this.uiObject && this.uiObject.set(t);
@@ -29764,7 +29780,7 @@ class hl extends I {
29764
29780
  r(this, "_boxHelper", null);
29765
29781
  }
29766
29782
  onEnable() {
29767
- this.isGizmo && !Qc || (this._gizmoObject || (this.objectBounds ? this._gizmoObject = new k1(this.gameObject, this.color ?? 16776960) : (this.objectBounds = !1, this._gizmoObject = Cg(this.color ?? 16776960))), this.objectBounds ? (this.scene.add(this._gizmoObject), this._boxHelper = this._gizmoObject, this.startCoroutine(this.syncObjectBounds(), Me.OnBeforeRender)) : this.gameObject.add(this._gizmoObject));
29783
+ this.isGizmo && !Qc || (this._gizmoObject || (this.objectBounds ? this._gizmoObject = new kS(this.gameObject, this.color ?? 16776960) : (this.objectBounds = !1, this._gizmoObject = Cg(this.color ?? 16776960))), this.objectBounds ? (this.scene.add(this._gizmoObject), this._boxHelper = this._gizmoObject, this.startCoroutine(this.syncObjectBounds(), Me.OnBeforeRender)) : this.gameObject.add(this._gizmoObject));
29768
29784
  }
29769
29785
  onDisable() {
29770
29786
  this._gizmoObject && this.gameObject.remove(this._gizmoObject);
@@ -30058,12 +30074,12 @@ class Di extends I {
30058
30074
  case 1:
30059
30075
  const i = new Yp(this.color, this.intensity * Math.PI);
30060
30076
  if (i.position.set(0, 0, -Mb * 0.5).applyQuaternion(this.gameObject.quaternion), this.gameObject.add(i.target), Fa(i.target, 0, 0, 0), this.light = i, this.gameObject.position.set(0, 0, 0), this.gameObject.rotation.set(0, 0, 0), Gn) {
30061
- const l = new A1(this.light, 0.2, this.color);
30077
+ const l = new AS(this.light, 0.2, this.color);
30062
30078
  this.context.scene.add(l);
30063
30079
  }
30064
30080
  break;
30065
30081
  case 0:
30066
- const s = new T1(this.color, this.intensity * Math.PI, this.range, vp(this.spotAngle / 2), 1 - vp(this.innerSpotAngle / 2) / vp(this.spotAngle / 2), 2);
30082
+ const s = new TS(this.color, this.intensity * Math.PI, this.range, vp(this.spotAngle / 2), 1 - vp(this.innerSpotAngle / 2) / vp(this.spotAngle / 2), 2);
30067
30083
  s.position.set(0, 0, 0), s.rotation.set(0, 0, 0), this.light = s;
30068
30084
  const o = s.target;
30069
30085
  s.add(o), o.position.set(0, 0, this.range), o.rotation.set(0, 0, 0);
@@ -30089,7 +30105,7 @@ class Di extends I {
30089
30105
  const s = this.gameObject.scale.y;
30090
30106
  i.top *= s, i.bottom *= s;
30091
30107
  }
30092
- this.light.shadow.needsUpdate = !0, Gn && this.context.scene.add(new E1(i));
30108
+ this.light.shadow.needsUpdate = !0, Gn && this.context.scene.add(new ES(i));
30093
30109
  }
30094
30110
  this.isBaked ? this.light.removeFromParent() : e || this.gameObject.add(this.light);
30095
30111
  }
@@ -30210,7 +30226,7 @@ class of extends I {
30210
30226
  }
30211
30227
  this._lodsHandler = new Array();
30212
30228
  for (let s = 0; s < e.length; s++) {
30213
- const o = new I1();
30229
+ const o = new IS();
30214
30230
  this._lodsHandler.push(o), this.gameObject.add(o);
30215
30231
  }
30216
30232
  const i = new D();
@@ -31033,7 +31049,7 @@ const sc = (dd = class {
31033
31049
  /** initializer implementation */
31034
31050
  r(this, "_vector", new v(0, 0, 0));
31035
31051
  r(this, "_temp", new v(0, 0, 0));
31036
- r(this, "_triangle", new D1());
31052
+ r(this, "_triangle", new DS());
31037
31053
  r(this, "_dir", new v());
31038
31054
  r(this, "_loopTime", 0);
31039
31055
  r(this, "_loopDirection", 1);
@@ -31314,7 +31330,7 @@ class Oe {
31314
31330
  apply(t, e, i, s, o, a) {
31315
31331
  if (!this.enabled)
31316
31332
  return;
31317
- this._noise || (this._noise = bS(() => 0));
31333
+ this._noise || (this._noise = b1(() => 0));
31318
31334
  const l = this._temp.set(e.x, e.y, e.z).multiplyScalar(this.frequency), c = this._noise(l.x, l.y, l.z, this._time), h = this._noise(l.x, l.y, l.z, this._time + 1e3 * this.frequency), d = this._noise(l.x, l.y, l.z, this._time + 2e3 * this.frequency);
31319
31335
  this._temp.set(c, h, d).normalize();
31320
31336
  const u = o / a;
@@ -32376,7 +32392,7 @@ class D2 {
32376
32392
  r(this, "onlyUsedByOther");
32377
32393
  r(this, "behaviors", []);
32378
32394
  r(this, "rendererEmitterSettings", {
32379
- startLength: new CS(220),
32395
+ startLength: new C1(220),
32380
32396
  followLocalOrigin: !1
32381
32397
  });
32382
32398
  r(this, "flatWhiteTexture");
@@ -32422,7 +32438,7 @@ class D2 {
32422
32438
  }
32423
32439
  /** start length is for trails */
32424
32440
  get startColor() {
32425
- return new xS(new SS(1, 1, 1, 1));
32441
+ return new x1(new S1(1, 1, 1, 1));
32426
32442
  }
32427
32443
  get emissionOverTime() {
32428
32444
  return this.emission;
@@ -32484,7 +32500,7 @@ class D2 {
32484
32500
  }
32485
32501
  get blending() {
32486
32502
  var t;
32487
- return ((t = this.system.renderer.particleMaterial) == null ? void 0 : t.blending) ?? L1;
32503
+ return ((t = this.system.renderer.particleMaterial) == null ? void 0 : t.blending) ?? LS;
32488
32504
  }
32489
32505
  get transparent() {
32490
32506
  return this.system.renderer.transparent;
@@ -32713,7 +32729,7 @@ const kd = class extends I {
32713
32729
  awake() {
32714
32730
  if (this._worldPositionFrame = -1, this._renderer = this.gameObject.getComponent(Cs), !this.main)
32715
32731
  throw new Error("Not Supported: ParticleSystem needs a serialized MainModule. Creating new particle systems at runtime is currently not supported.");
32716
- this._container = new D(), this._container.matrixAutoUpdate = !1, this.context.scene.add(this._container), this._batchSystem = new vS(), this._batchSystem.name = this.gameObject.name, this._container.add(this._batchSystem), this._interface = new D2(this), this._particleSystem = new wS(this._interface), this._particleSystem.addBehavior(new T2(this)), this._particleSystem.addBehavior(new I2(this)), this._particleSystem.addBehavior(new M2(this)), this._particleSystem.addBehavior(new R2(this)), this._particleSystem.addBehavior(new E2(this)), this._particleSystem.addBehavior(new A2(this)), this._batchSystem.addSystem(this._particleSystem);
32732
+ this._container = new D(), this._container.matrixAutoUpdate = !1, this.context.scene.add(this._container), this._batchSystem = new v1(), this._batchSystem.name = this.gameObject.name, this._container.add(this._batchSystem), this._interface = new D2(this), this._particleSystem = new w1(this._interface), this._particleSystem.addBehavior(new T2(this)), this._particleSystem.addBehavior(new I2(this)), this._particleSystem.addBehavior(new M2(this)), this._particleSystem.addBehavior(new R2(this)), this._particleSystem.addBehavior(new E2(this)), this._particleSystem.addBehavior(new A2(this)), this._batchSystem.addSystem(this._particleSystem);
32717
32733
  const t = this._particleSystem.emitter;
32718
32734
  this.context.scene.add(t), this.inheritVelocity.system && this.inheritVelocity.system !== this && (this.inheritVelocity = this.inheritVelocity.clone()), this.inheritVelocity.awake(this), eo && (console.log(this), this.gameObject.add(new Mi(1)));
32719
32735
  }
@@ -33368,7 +33384,7 @@ const qw = class extends ht {
33368
33384
  }, e;
33369
33385
  }
33370
33386
  onBeforeRender() {
33371
- this.mode.overrideState && (this.context.renderer.toneMapping = Op(this.mode.value)), this.exposure.overrideState && (this.context.renderer.toneMappingExposure = this.exposure.value);
33387
+ this.mode.overrideState && (this.context.renderer.toneMapping = Op(this.mode.value)), this.exposure.overrideState && this.exposure.value !== void 0 && (this.context.renderer.toneMappingExposure = this.exposure.value);
33372
33388
  }
33373
33389
  };
33374
33390
  let Or = qw;
@@ -33885,7 +33901,7 @@ f_([
33885
33901
  ], _l.prototype, "center", 2);
33886
33902
  Ps("Vignette", _l);
33887
33903
  globalThis.false = globalThis.false !== void 0 ? globalThis.false : !0;
33888
- const an = x("debugpost"), Mp = Symbol("needle:postprocessing-handler"), Rp = Symbol("needle:previous-autoclear-state");
33904
+ const an = x("debugpost"), RA = x("debugpostpasses"), Mp = Symbol("needle:postprocessing-handler"), Rp = Symbol("needle:previous-autoclear-state");
33889
33905
  class Qw {
33890
33906
  constructor(t) {
33891
33907
  r(this, "_composer", null);
@@ -33893,6 +33909,8 @@ class Qw {
33893
33909
  r(this, "_effects", []);
33894
33910
  r(this, "_isActive", !1);
33895
33911
  r(this, "context");
33912
+ r(this, "_menuEntry", null);
33913
+ r(this, "_passIndices", null);
33896
33914
  this.context = t;
33897
33915
  }
33898
33916
  get isActive() {
@@ -33961,7 +33979,7 @@ class Qw {
33961
33979
  return;
33962
33980
  const i = t.mainCameraComponent, s = t.renderer, o = t.scene, a = i.threeCamera;
33963
33981
  s[Rp] = s.autoClear, this._composer || (this._composer = new j.POSTPROCESSING.MODULE.EffectComposer(s, {
33964
- frameBufferType: j1,
33982
+ frameBufferType: jS,
33965
33983
  stencilBuffer: !0
33966
33984
  })), t.composer && t.composer !== this._composer && console.warn("There's already an active EffectComposer in your scene: replacing it with a new one. This might cause unexpected behaviour. Make sure to only use one PostprocessingManager/Volume in your scene."), t.composer = this._composer;
33967
33985
  const l = t.composer;
@@ -33970,20 +33988,58 @@ class Qw {
33970
33988
  h.dispose();
33971
33989
  l.removeAllPasses();
33972
33990
  const c = new j.POSTPROCESSING.MODULE.RenderPass(o, a);
33973
- c.name = "Render To Screen", c.mainScene = o, l.addPass(c);
33974
- try {
33991
+ if (c.name = "Render To Screen", c.mainScene = o, l.addPass(c), RA) {
33975
33992
  this.orderEffects();
33976
- const h = [];
33977
- for (const d of e)
33978
- d instanceof j.POSTPROCESSING.MODULE.Effect ? h.push(d) : (d instanceof j.POSTPROCESSING.MODULE.Pass, l.addPass(d));
33979
- if (h.length > 0) {
33980
- const d = new j.POSTPROCESSING.MODULE.EffectPass(a, ...h);
33981
- d.name = h.map((u) => u.name).join(" "), d.mainScene = o, d.enabled = !0, l.addPass(d);
33993
+ for (const h of e)
33994
+ if (h instanceof j.POSTPROCESSING.MODULE.Effect) {
33995
+ const d = new j.POSTPROCESSING.MODULE.EffectPass(a, h);
33996
+ d.name = h.name, l.addPass(d);
33997
+ } else
33998
+ h instanceof j.POSTPROCESSING.MODULE.Pass, l.addPass(h);
33999
+ } else
34000
+ try {
34001
+ this.orderEffects();
34002
+ const h = [];
34003
+ for (const d of e)
34004
+ d instanceof j.POSTPROCESSING.MODULE.Effect ? h.push(d) : (d instanceof j.POSTPROCESSING.MODULE.Pass, l.addPass(d));
34005
+ if (h.length > 0) {
34006
+ const d = new j.POSTPROCESSING.MODULE.EffectPass(a, ...h);
34007
+ d.name = h.map((u) => u.name).join(" "), d.mainScene = o, d.enabled = !0, l.addPass(d);
34008
+ }
34009
+ } catch (h) {
34010
+ console.error("Error while applying postprocessing effects", h), l.removeAllPasses();
34011
+ }
34012
+ if (an) {
34013
+ console.log("[PostProcessing] Passes →", l.passes);
34014
+ const h = new j.POSTPROCESSING.MODULE.DepthEffect({
34015
+ blendFunction: j.POSTPROCESSING.MODULE.BlendFunction.NORMAL,
34016
+ inverted: !0
34017
+ });
34018
+ h.name = "Depth Effect";
34019
+ const d = new j.POSTPROCESSING.MODULE.EffectPass(a, h);
34020
+ if (d.name = "Depth Effect Pass", d.enabled = !1, l.passes.push(d), this._passIndices !== null) {
34021
+ const p = [l.passes[0]];
34022
+ this._passIndices.length > 0 && this._passIndices[0] !== 0 && p.push(...this._passIndices.map((m) => l.passes[m]).filter((m) => m)), p.length > 0 && console.log("[PostProcessing] Passes (selected) →", p), l.passes.length = 0;
34023
+ for (const m of p)
34024
+ m.enabled = !0, l.addPass(m);
34025
+ }
34026
+ const u = this.context.menu;
34027
+ if (u && this._passIndices === null) {
34028
+ this._menuEntry && this._menuEntry.remove();
34029
+ const p = document.createElement("select");
34030
+ p.multiple = !0;
34031
+ const m = document.createElement("option");
34032
+ m.innerText = "Final Output", m.value = "-1", p.appendChild(m);
34033
+ for (const g of l.passes) {
34034
+ const _ = document.createElement("option");
34035
+ _.innerText = g.name, _.value = `${l.passes.indexOf(g)}`, _.title = g.name, p.appendChild(_);
34036
+ }
34037
+ u.appendChild(p), this._menuEntry = p, p.addEventListener("change", () => {
34038
+ const g = Array.from(p.selectedOptions).map((_) => parseInt(_.value));
34039
+ g.length === 1 && g[0] === -1 ? this._passIndices = null : this._passIndices = g, this.applyEffects(t);
34040
+ });
33982
34041
  }
33983
- } catch (h) {
33984
- console.error("Error while applying postprocessing effects", h), l.removeAllPasses();
33985
34042
  }
33986
- an && console.log("[PostProcessing] Passes →", l.passes);
33987
34043
  }
33988
34044
  orderEffects() {
33989
34045
  var e;
@@ -34020,10 +34076,10 @@ class Qw {
34020
34076
  }
34021
34077
  }
34022
34078
  let kp = null;
34023
- var RA = Object.defineProperty, kA = Object.getOwnPropertyDescriptor, Yw = (n, t, e, i) => {
34024
- for (var s = i > 1 ? void 0 : i ? kA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
34079
+ var kA = Object.defineProperty, TA = Object.getOwnPropertyDescriptor, Yw = (n, t, e, i) => {
34080
+ for (var s = i > 1 ? void 0 : i ? TA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
34025
34081
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
34026
- return i && s && RA(t, e, s), s;
34082
+ return i && s && kA(t, e, s), s;
34027
34083
  };
34028
34084
  const Zr = x("debugpost");
34029
34085
  class wh extends I {
@@ -34207,15 +34263,15 @@ Yw([
34207
34263
  const od = /* @__PURE__ */ new Map();
34208
34264
  B2(wh);
34209
34265
  async function p_(n) {
34210
- const { NeedleEngineHTMLElement: t } = await Promise.resolve().then(() => vI);
34266
+ const { NeedleEngineHTMLElement: t } = await Promise.resolve().then(() => wI);
34211
34267
  t.observedAttributes.includes(n) || t.observedAttributes.push(n);
34212
34268
  }
34213
- var TA = Object.defineProperty, AA = Object.getOwnPropertyDescriptor, xt = (n, t, e, i) => {
34214
- for (var s = i > 1 ? void 0 : i ? AA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
34269
+ var AA = Object.defineProperty, EA = Object.getOwnPropertyDescriptor, xt = (n, t, e, i) => {
34270
+ for (var s = i > 1 ? void 0 : i ? EA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
34215
34271
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
34216
- return i && s && TA(t, e, s), s;
34272
+ return i && s && AA(t, e, s), s;
34217
34273
  };
34218
- const Qt = x("debugsceneswitcher"), EA = x("sceneswitcher:clearscene"), Ad = "scene";
34274
+ const Qt = x("debugsceneswitcher"), IA = x("sceneswitcher:clearscene"), Ad = "scene";
34219
34275
  p_(Ad);
34220
34276
  const qn = Promise.resolve(!1);
34221
34277
  class ot extends I {
@@ -34345,7 +34401,7 @@ class ot extends I {
34345
34401
  }
34346
34402
  })), this._engineElementOverserver.observe(this.context.domElement, {
34347
34403
  attributes: !0
34348
- }), this._preloadScheduler || (this._preloadScheduler = new IA(this)), this._preloadScheduler.maxLoadAhead = this.preloadNext, this._preloadScheduler.maxLoadBehind = this.preloadPrevious, this._preloadScheduler.maxConcurrent = this.preloadConcurrent, this._preloadScheduler.begin(2e3), this.autoLoadFirstScene && this._currentIndex === -1 && !await this.tryLoadFromQueryParam()) {
34404
+ }), this._preloadScheduler || (this._preloadScheduler = new DA(this)), this._preloadScheduler.maxLoadAhead = this.preloadNext, this._preloadScheduler.maxLoadBehind = this.preloadPrevious, this._preloadScheduler.maxConcurrent = this.preloadConcurrent, this._preloadScheduler.begin(2e3), this.autoLoadFirstScene && this._currentIndex === -1 && !await this.tryLoadFromQueryParam()) {
34349
34405
  const e = this.context.domElement.getAttribute(Ad);
34350
34406
  try {
34351
34407
  (e === null || !await this.trySelectSceneFromValue(e)) && this._currentIndex === -1 && this.select(0);
@@ -34512,7 +34568,7 @@ class ot extends I {
34512
34568
  if (!e.asset)
34513
34569
  return Qt && console.warn("Failed loading scene:", e), !1;
34514
34570
  if (this._currentIndex === i) {
34515
- if (Qt && console.log("ADD", e.url), this._currentScene = e, EA) {
34571
+ if (Qt && console.log("ADD", e.url), this._currentScene = e, IA) {
34516
34572
  const m = ((a = this.context.mainCameraComponent) == null ? void 0 : a.gameObject) || this.context.mainCamera;
34517
34573
  m == null || m.removeFromParent();
34518
34574
  const g = this.gameObject.removeFromParent();
@@ -34691,7 +34747,7 @@ function jb(n) {
34691
34747
  const t = n.split("/").pop(), e = t == null ? void 0 : t.split(".").shift();
34692
34748
  return e != null && e.length ? e : n;
34693
34749
  }
34694
- class IA {
34750
+ class DA {
34695
34751
  /**
34696
34752
  * Creates a new PreLoadScheduler instance
34697
34753
  * @param rooms The SceneSwitcher that this scheduler belongs to
@@ -34737,7 +34793,7 @@ class IA {
34737
34793
  const d = c ? e + i : e - i;
34738
34794
  if (!(d < 0) && !(d < 0 || d >= o.length) && !this._loadTasks.some((u) => u.index === d)) {
34739
34795
  const u = o[d];
34740
- Qt && console.log("Preload scene", { roomIndex: d, searchForward: c, lastRoom: e, currentIndex: this._switcher.currentIndex, tasks: this._loadTasks.length }, u == null ? void 0 : u.url), new DA(d, u, this._loadTasks);
34796
+ Qt && console.log("Preload scene", { roomIndex: d, searchForward: c, lastRoom: e, currentIndex: this._switcher.currentIndex, tasks: this._loadTasks.length }, u == null ? void 0 : u.url), new LA(d, u, this._loadTasks);
34741
34797
  }
34742
34798
  }, 200);
34743
34799
  }
@@ -34767,7 +34823,7 @@ class IA {
34767
34823
  return !0;
34768
34824
  }
34769
34825
  }
34770
- class DA {
34826
+ class LA {
34771
34827
  /**
34772
34828
  * Creates a new LoadTask and begins loading immediately
34773
34829
  * @param index The index of the scene in the scenes array
@@ -34792,7 +34848,7 @@ class DA {
34792
34848
  t >= 0 && this.tasks.splice(t, 1);
34793
34849
  }
34794
34850
  }
34795
- function LA() {
34851
+ function jA() {
34796
34852
  return new Promise((n, t) => {
34797
34853
  const i = () => {
34798
34854
  i != null && (document.removeEventListener("pointerdown", i), document.removeEventListener("click", i), document.removeEventListener("dragstart", i), document.removeEventListener("touchstart", i), n());
@@ -34800,13 +34856,13 @@ function LA() {
34800
34856
  document.addEventListener("pointerdown", i), document.addEventListener("click", i), document.addEventListener("dragstart", i), document.addEventListener("touchstart", i);
34801
34857
  });
34802
34858
  }
34803
- async function jA(n) {
34804
- await LA(), n();
34859
+ async function BA(n) {
34860
+ await jA(), n();
34805
34861
  }
34806
- var BA = Object.defineProperty, FA = Object.getOwnPropertyDescriptor, Bi = (n, t, e, i) => {
34807
- for (var s = i > 1 ? void 0 : i ? FA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
34862
+ var FA = Object.defineProperty, zA = Object.getOwnPropertyDescriptor, Bi = (n, t, e, i) => {
34863
+ for (var s = i > 1 ? void 0 : i ? zA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
34808
34864
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
34809
- return i && s && BA(t, e, s), s;
34865
+ return i && s && FA(t, e, s), s;
34810
34866
  };
34811
34867
  const ft = x("debugvideo");
34812
34868
  var Kw = /* @__PURE__ */ ((n) => (n[n.None = 0] = "None", n[n.AdjustHeight = 1] = "AdjustHeight", n[n.AdjustWidth = 2] = "AdjustWidth", n))(Kw || {}), Zw = /* @__PURE__ */ ((n) => (n[n.VideoClip = 0] = "VideoClip", n[n.Url = 1] = "Url", n))(Zw || {}), Jw = /* @__PURE__ */ ((n) => (n[n.CameraFarPlane = 0] = "CameraFarPlane", n[n.CameraNearPlane = 1] = "CameraNearPlane", n[n.RenderTexture = 2] = "RenderTexture", n[n.MaterialOverride = 3] = "MaterialOverride", n))(Jw || {});
@@ -34859,7 +34915,7 @@ class yt extends I {
34859
34915
  var e;
34860
34916
  ft && console.log("HLS: available", this.clip), !(!this.shouldUseM3U || !this.url) && (this._hls || (this._hls = new Hls()), this.videoElement.autoplay = !0, this._hls.loadSource(this.url), this._hls.attachMedia(this.videoElement), (e = this._videoElement) == null || e.play(), ft && console.log("HLS: loaded", this.clip));
34861
34917
  });
34862
- jA(() => {
34918
+ BA(() => {
34863
34919
  this._receivedInput = !0, this.updateVideoElementSettings();
34864
34920
  }), this._targetObjects = [], x("videoscreenspace") && window.addEventListener("keydown", (e) => {
34865
34921
  e.key === "f" && (this.screenspace = !this.screenspace);
@@ -35051,7 +35107,7 @@ class yt extends I {
35051
35107
  i = this.url, !(i != null && i.length) && typeof this.clip == "string" && (i = this.clip);
35052
35108
  break;
35053
35109
  }
35054
- return i ? (this._videoElement || (ft && console.warn("Create VideoElement", this), this._videoElement = this.createVideoElement(), this.context.domElement.shadowRoot.prepend(this._videoElement), this.updateVideoElementStyles()), typeof i == "string" ? (ft && console.log("Set Video src", i), this._videoElement.src = i) : (ft && console.log("Set Video srcObject", i), this._videoElement.srcObject = i), this._videoTexture || (this._videoTexture = new B1(this._videoElement)), this._videoTexture.flipY = !1, this._videoTexture.colorSpace = bs, e && this.handleBeginPlaying(e), ft && console.log("Video: handle playing done...", i, e), !0) : (ft && console.warn("No video source set", this), !1);
35110
+ return i ? (this._videoElement || (ft && console.warn("Create VideoElement", this), this._videoElement = this.createVideoElement(), this.context.domElement.shadowRoot.prepend(this._videoElement), this.updateVideoElementStyles()), typeof i == "string" ? (ft && console.log("Set Video src", i), this._videoElement.src = i) : (ft && console.log("Set Video srcObject", i), this._videoElement.srcObject = i), this._videoTexture || (this._videoTexture = new BS(this._videoElement)), this._videoTexture.flipY = !1, this._videoTexture.colorSpace = bs, e && this.handleBeginPlaying(e), ft && console.log("Video: handle playing done...", i, e), !0) : (ft && console.warn("No video source set", this), !1);
35055
35111
  }
35056
35112
  updateAspect() {
35057
35113
  this.aspectMode !== 0 && this.startCoroutine(this.updateAspectImpl());
@@ -35069,7 +35125,7 @@ class yt extends I {
35069
35125
  if (e) {
35070
35126
  if (!this._videoTexture)
35071
35127
  return;
35072
- this._overlay || (this._overlay = new zA(this.context)), this._overlay.add(this._videoTexture);
35128
+ this._overlay || (this._overlay = new UA(this.context)), this._overlay.add(this._videoTexture);
35073
35129
  } else
35074
35130
  (i = this._overlay) == null || i.remove(this._videoTexture);
35075
35131
  this._overlay && (this._overlay.enabled = e);
@@ -35217,14 +35273,14 @@ Bi([
35217
35273
  Bi([
35218
35274
  f()
35219
35275
  ], yt.prototype, "audioOutputMode", 1);
35220
- class zA {
35276
+ class UA {
35221
35277
  constructor(t) {
35222
35278
  r(this, "context");
35223
35279
  r(this, "_videos", []);
35224
35280
  r(this, "_screenspaceModeQuad");
35225
35281
  r(this, "_isInScreenspaceMode", !1);
35226
35282
  r(this, "_input");
35227
- this.context = t, this._input = new UA(this);
35283
+ this.context = t, this._input = new NA(this);
35228
35284
  }
35229
35285
  get enabled() {
35230
35286
  return this._isInScreenspaceMode;
@@ -35250,7 +35306,7 @@ class zA {
35250
35306
  return;
35251
35307
  if (this._isInScreenspaceMode = !0, !this._screenspaceModeQuad) {
35252
35308
  if (this._screenspaceModeQuad = Tr.createPrimitive(Na.Quad, {
35253
- material: new NA(t)
35309
+ material: new $A(t)
35254
35310
  }), !this._screenspaceModeQuad)
35255
35311
  return;
35256
35312
  this._screenspaceModeQuad.geometry.scale(2, 2, 2);
@@ -35270,7 +35326,7 @@ class zA {
35270
35326
  t && (t.screenAspect = this.context.domElement.clientWidth / this.context.domElement.clientHeight);
35271
35327
  }
35272
35328
  }
35273
- class UA {
35329
+ class NA {
35274
35330
  constructor(t) {
35275
35331
  r(this, "_onResizeScreenFn");
35276
35332
  r(this, "_onKeyUpFn");
@@ -35323,7 +35379,7 @@ class UA {
35323
35379
  this._onResizeScreenFn && (window.removeEventListener("resize", this._onResizeScreenFn), this._onResizeScreenFn = void 0), this._onKeyUpFn && (window.removeEventListener("keyup", this._onKeyUpFn), this._onKeyUpFn = void 0), this._onMouseWheelFn && (window.removeEventListener("wheel", this._onMouseWheelFn), this._onMouseWheelFn = void 0);
35324
35380
  }
35325
35381
  }
35326
- class NA extends ys {
35382
+ class $A extends ys {
35327
35383
  // maxZoom : number = 10
35328
35384
  constructor(e) {
35329
35385
  super();
@@ -35409,10 +35465,10 @@ class NA extends ys {
35409
35465
  this.offset = this.offset.set(0, 0), this.zoom = 1, this.needsUpdate = !0;
35410
35466
  }
35411
35467
  }
35412
- var $A = Object.defineProperty, WA = Object.getOwnPropertyDescriptor, xh = (n, t, e, i) => {
35413
- for (var s = i > 1 ? void 0 : i ? WA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
35468
+ var WA = Object.defineProperty, VA = Object.getOwnPropertyDescriptor, xh = (n, t, e, i) => {
35469
+ for (var s = i > 1 ? void 0 : i ? VA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
35414
35470
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
35415
- return i && s && $A(t, e, s), s;
35471
+ return i && s && WA(t, e, s), s;
35416
35472
  };
35417
35473
  const Ct = x("debugscreensharing");
35418
35474
  var ex = /* @__PURE__ */ ((n) => (n[n.Screen = 0] = "Screen", n[n.Camera = 1] = "Camera", n[n.Canvas = 2] = "Canvas", n[n.Microphone = 3] = "Microphone", n))(ex || {});
@@ -35710,10 +35766,10 @@ xh([
35710
35766
  xh([
35711
35767
  f()
35712
35768
  ], Nr.prototype, "deviceName", 2);
35713
- var VA = Object.defineProperty, HA = Object.getOwnPropertyDescriptor, tx = (n, t, e, i) => {
35714
- for (var s = i > 1 ? void 0 : i ? HA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
35769
+ var HA = Object.defineProperty, GA = Object.getOwnPropertyDescriptor, tx = (n, t, e, i) => {
35770
+ for (var s = i > 1 ? void 0 : i ? GA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
35715
35771
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
35716
- return i && s && VA(t, e, s), s;
35772
+ return i && s && HA(t, e, s), s;
35717
35773
  };
35718
35774
  class uf extends I {
35719
35775
  constructor() {
@@ -35815,10 +35871,10 @@ tx([
35815
35871
  tx([
35816
35872
  f(we)
35817
35873
  ], uf.prototype, "shadowColor", 2);
35818
- var GA = Object.defineProperty, qA = Object.getOwnPropertyDescriptor, Sh = (n, t, e, i) => {
35819
- for (var s = i > 1 ? void 0 : i ? qA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
35874
+ var qA = Object.defineProperty, XA = Object.getOwnPropertyDescriptor, Sh = (n, t, e, i) => {
35875
+ for (var s = i > 1 ? void 0 : i ? XA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
35820
35876
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
35821
- return i && s && GA(t, e, s), s;
35877
+ return i && s && qA(t, e, s), s;
35822
35878
  };
35823
35879
  const Gi = x("debugskybox");
35824
35880
  p_("skybox-image");
@@ -35829,8 +35885,8 @@ function Bb(n, t, e, i, s) {
35829
35885
  const a = (l) => {
35830
35886
  typeof l == "string" && (Gi && console.log(s, "CHANGED TO", l), o.setSkybox(l));
35831
35887
  };
35832
- return FS(n.domElement, s, a), o.addEventListener("destroy", () => {
35833
- Gi && console.log("Destroyed attribute remote skybox", s), zS(n.domElement, s, a);
35888
+ return F1(n.domElement, s, a), o.addEventListener("destroy", () => {
35889
+ Gi && console.log("Destroyed attribute remote skybox", s), z1(n.domElement, s, a);
35834
35890
  }), o.setSkybox(t);
35835
35891
  }
35836
35892
  const ou = new Array();
@@ -35858,15 +35914,15 @@ function Fb(n) {
35858
35914
  const e = ix().find((i) => i.src === n);
35859
35915
  return e ? (Gi && console.log("Skybox: Found previously loaded texture for " + n), e.texture) : null;
35860
35916
  }
35861
- async function XA(n) {
35917
+ async function QA(n) {
35862
35918
  const t = await n;
35863
35919
  tv(t, !0), Ae(t);
35864
35920
  }
35865
- function QA(n, t) {
35921
+ function YA(n, t) {
35866
35922
  const e = ix();
35867
35923
  for (; e.length > 5; ) {
35868
35924
  const i = e.shift();
35869
- i && XA(i.texture);
35925
+ i && QA(i.texture);
35870
35926
  }
35871
35927
  t.then((i) => tv(i, !1)), e.push({ src: n, texture: t });
35872
35928
  }
@@ -35956,7 +36012,7 @@ class Dn extends I {
35956
36012
  */
35957
36013
  async setSkybox(e, i) {
35958
36014
  var a;
35959
- if (!this.activeAndEnabled || (e = YA(e, this.environment, this.background), !e))
36015
+ if (!this.activeAndEnabled || (e = KA(e, this.environment, this.background), !e))
35960
36016
  return !1;
35961
36017
  if (i ?? (i = e), this.isValidTextureType(i) || console.warn("Potentially invalid skybox url", i, "on", this.name), Gi && console.log("Set remote skybox url: " + e), this._prevUrl === e && this._prevLoadedEnvironment)
35962
36018
  return this.applySkybox(), !0;
@@ -35985,7 +36041,7 @@ class Dn extends I {
35985
36041
  else if (a)
35986
36042
  this._loader instanceof em || (this._loader = new em());
35987
36043
  else if (l) {
35988
- if (!(this._loader instanceof hS)) {
36044
+ if (!(this._loader instanceof h1)) {
35989
36045
  const { ktx2Loader: _ } = dg(this.context.renderer);
35990
36046
  this._loader = _;
35991
36047
  }
@@ -35993,12 +36049,12 @@ class Dn extends I {
35993
36049
  this._loader instanceof xa || (this._loader = new xa());
35994
36050
  Gi && console.log("Loading skybox: " + e);
35995
36051
  const c = this._loader.loadAsync(e);
35996
- return QA(i, c), await c;
36052
+ return YA(i, c), await c;
35997
36053
  }
35998
36054
  applySkybox() {
35999
36055
  var i;
36000
36056
  const e = this._prevLoadedEnvironment;
36001
- e && (e instanceof F1 || e instanceof z1 || (e.mapping = U1, e.needsUpdate = !0), this.context.scene.background !== e && (this._prevBackground = this.context.scene.background), this.context.scene.environment !== e && (this._prevEnvironment = this.context.scene.environment), Gi && console.log("Set remote skybox", this.url, !Pe.backgroundShouldBeTransparent(this.context)), this.environment && (this.context.scene.environment = e), this.background && !Pe.backgroundShouldBeTransparent(this.context) && (this.context.scene.background = e), ((i = this.context.mainCameraComponent) == null ? void 0 : i.backgroundBlurriness) !== void 0 && (this.context.scene.backgroundBlurriness = this.context.mainCameraComponent.backgroundBlurriness));
36057
+ e && (e instanceof FS || e instanceof zS || (e.mapping = US, e.needsUpdate = !0), this.context.scene.background !== e && (this._prevBackground = this.context.scene.background), this.context.scene.environment !== e && (this._prevEnvironment = this.context.scene.environment), Gi && console.log("Set remote skybox", this.url, !Pe.backgroundShouldBeTransparent(this.context)), this.environment && (this.context.scene.environment = e), this.background && !Pe.backgroundShouldBeTransparent(this.context) && (this.context.scene.background = e), ((i = this.context.mainCameraComponent) == null ? void 0 : i.backgroundBlurriness) !== void 0 && (this.context.scene.backgroundBlurriness = this.context.mainCameraComponent.backgroundBlurriness));
36002
36058
  }
36003
36059
  isRemoteTexture(e) {
36004
36060
  return e.startsWith("http://") || e.startsWith("https://");
@@ -36032,7 +36088,7 @@ Sh([
36032
36088
  Sh([
36033
36089
  f()
36034
36090
  ], Dn.prototype, "allowNetworking", 2);
36035
- function YA(n, t, e) {
36091
+ function KA(n, t, e) {
36036
36092
  const i = t && !e;
36037
36093
  switch (n == null ? void 0 : n.toLowerCase()) {
36038
36094
  case "studio":
@@ -36046,10 +36102,10 @@ function YA(n, t, e) {
36046
36102
  }
36047
36103
  return n === void 0 ? null : n;
36048
36104
  }
36049
- var KA = Object.defineProperty, ZA = Object.getOwnPropertyDescriptor, ff = (n, t, e, i) => {
36050
- for (var s = i > 1 ? void 0 : i ? ZA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36105
+ var ZA = Object.defineProperty, JA = Object.getOwnPropertyDescriptor, ff = (n, t, e, i) => {
36106
+ for (var s = i > 1 ? void 0 : i ? JA(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36051
36107
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
36052
- return i && s && KA(t, e, s), s;
36108
+ return i && s && ZA(t, e, s), s;
36053
36109
  }, Wp;
36054
36110
  const sx = (Wp = class extends I {
36055
36111
  constructor() {
@@ -36096,13 +36152,13 @@ ff([
36096
36152
  ff([
36097
36153
  f()
36098
36154
  ], $r.prototype, "positionAxes", 2);
36099
- var JA = Object.defineProperty, eE = Object.getOwnPropertyDescriptor, Ch = (n, t, e, i) => {
36100
- for (var s = i > 1 ? void 0 : i ? eE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36155
+ var eE = Object.defineProperty, tE = Object.getOwnPropertyDescriptor, Ch = (n, t, e, i) => {
36156
+ for (var s = i > 1 ? void 0 : i ? tE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36101
36157
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
36102
- return i && s && JA(t, e, s), s;
36158
+ return i && s && eE(t, e, s), s;
36103
36159
  };
36104
36160
  const bc = x("debugspatialtrigger"), zb = new bo(), Ub = new bo();
36105
- function tE(n, t) {
36161
+ function iE(n, t) {
36106
36162
  return zb.mask = n, Ub.mask = t, zb.test(Ub);
36107
36163
  }
36108
36164
  class kn extends I {
@@ -36132,7 +36188,7 @@ class kn extends I {
36132
36188
  update() {
36133
36189
  this.currentIntersected.length = 0;
36134
36190
  for (const e of pf.triggers)
36135
- tE(e.triggerMask, this.triggerMask) && e.test(this.gameObject) && this.currentIntersected.push(e);
36191
+ iE(e.triggerMask, this.triggerMask) && e.test(this.gameObject) && this.currentIntersected.push(e);
36136
36192
  for (let e = this.lastIntersected.length - 1; e >= 0; e--) {
36137
36193
  const i = this.lastIntersected[e];
36138
36194
  this.currentIntersected.indexOf(i) < 0 && (this.onExitTrigger(i), this.lastIntersected.splice(e, 1));
@@ -36247,10 +36303,10 @@ let pf = Ed;
36247
36303
  Ch([
36248
36304
  f()
36249
36305
  ], pf.prototype, "triggerMask", 2);
36250
- var iE = Object.defineProperty, sE = Object.getOwnPropertyDescriptor, nE = (n, t, e, i) => {
36251
- for (var s = i > 1 ? void 0 : i ? sE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36306
+ var sE = Object.defineProperty, nE = Object.getOwnPropertyDescriptor, oE = (n, t, e, i) => {
36307
+ for (var s = i > 1 ? void 0 : i ? nE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36252
36308
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
36253
- return i && s && iE(t, e, s), s;
36309
+ return i && s && sE(t, e, s), s;
36254
36310
  };
36255
36311
  const Si = x("debugspectator");
36256
36312
  class m_ extends I {
@@ -36344,11 +36400,11 @@ class m_ extends I {
36344
36400
  return this.isSpectating && ((e = this.target) == null ? void 0 : e.currentObject) === ((i = this.context.players.getPlayerView(this.localId)) == null ? void 0 : i.currentObject);
36345
36401
  }
36346
36402
  awake() {
36347
- if (this._debug = new aE(this.context, this), this._networking = new hE(this.context, this), this._networking.awake(), S.setActive(this.gameObject, !1), this.cam = S.getComponent(this.gameObject, Pe), !this.cam) {
36403
+ if (this._debug = new lE(this.context, this), this._networking = new dE(this.context, this), this._networking.awake(), S.setActive(this.gameObject, !1), this.cam = S.getComponent(this.gameObject, Pe), !this.cam) {
36348
36404
  console.warn("SpectatorCamera: Spectator camera needs camera component on the same object.", this);
36349
36405
  return;
36350
36406
  }
36351
- !this._handler && this.cam && (this._handler = new oE(this.context, this.cam, this)), this.orbit = S.getComponent(this.context.mainCamera, be);
36407
+ !this._handler && this.cam && (this._handler = new rE(this.context, this.cam, this)), this.orbit = S.getComponent(this.context.mainCamera, be);
36352
36408
  }
36353
36409
  onDestroy() {
36354
36410
  var e, i;
@@ -36456,10 +36512,10 @@ class m_ extends I {
36456
36512
  }
36457
36513
  }
36458
36514
  }
36459
- nE([
36515
+ oE([
36460
36516
  f()
36461
36517
  ], m_.prototype, "useKeys", 2);
36462
- class oE {
36518
+ class rE {
36463
36519
  constructor(t, e, i) {
36464
36520
  r(this, "context");
36465
36521
  r(this, "cam");
@@ -36521,12 +36577,12 @@ class oE {
36521
36577
  this.follow.followFactor = 3, this.follow.rotateFactor = 2, i.position.set(0, 0.5, 1.5);
36522
36578
  break;
36523
36579
  }
36524
- this.follow.flipForward = !1, ((h = this.view) == null ? void 0 : h.viewDevice) !== hr.Browser ? i.quaternion.copy(rE) : i.quaternion.identity();
36580
+ this.follow.flipForward = !1, ((h = this.view) == null ? void 0 : h.viewDevice) !== hr.Browser ? i.quaternion.copy(aE) : i.quaternion.identity();
36525
36581
  }
36526
36582
  }
36527
36583
  }
36528
- const rE = new W().setFromAxisAngle(new v(0, 1, 0), Math.PI);
36529
- class aE {
36584
+ const aE = new W().setFromAxisAngle(new v(0, 1, 0), Math.PI);
36585
+ class lE {
36530
36586
  constructor(t, e) {
36531
36587
  r(this, "context");
36532
36588
  r(this, "spectator");
@@ -36563,7 +36619,7 @@ class aE {
36563
36619
  }
36564
36620
  }
36565
36621
  }
36566
- class lE {
36622
+ class cE {
36567
36623
  constructor(t, e, i) {
36568
36624
  /** The user ID that is following */
36569
36625
  r(this, "guid");
@@ -36575,14 +36631,14 @@ class lE {
36575
36631
  this.guid = t, this.targetUserId = e, this.stoppedFollowing = i;
36576
36632
  }
36577
36633
  }
36578
- class cE {
36634
+ class hE {
36579
36635
  constructor(t, e) {
36580
36636
  r(this, "guid");
36581
36637
  r(this, "userId");
36582
36638
  this.guid = t.guid, this.userId = e;
36583
36639
  }
36584
36640
  }
36585
- class hE {
36641
+ class dE {
36586
36642
  constructor(t, e) {
36587
36643
  /** List of user IDs currently following this player */
36588
36644
  r(this, "followers", []);
@@ -36616,7 +36672,7 @@ class hE {
36616
36672
  */
36617
36673
  onSpectatedObjectChanged(t, e) {
36618
36674
  if (Si && console.log(this.context.connection.connectionId, "onSpectatedObjectChanged", t, e), this.context.connection.connectionId) {
36619
- const i = (t == null ? void 0 : t.userId) === void 0, s = i ? e : t == null ? void 0 : t.userId, o = new lE(this.context.connection.connectionId, s, i);
36675
+ const i = (t == null ? void 0 : t.userId) === void 0, s = i ? e : t == null ? void 0 : t.userId, o = new cE(this.context.connection.connectionId, s, i);
36620
36676
  this.context.connection.send("spectator-follower-changed", o);
36621
36677
  }
36622
36678
  }
@@ -36627,7 +36683,7 @@ class hE {
36627
36683
  onRequestFollowMe(t = !1) {
36628
36684
  if (Si && console.log("Request follow", this.context.connection.connectionId), this.context.connection.connectionId) {
36629
36685
  this.spectator.stopSpectating();
36630
- const e = t ? void 0 : this.context.connection.connectionId, i = new cE(this.spectator, e);
36686
+ const e = t ? void 0 : this.context.connection.connectionId, i = new hE(this.spectator, e);
36631
36687
  this.context.connection.send("spectator-request-follow", i);
36632
36688
  }
36633
36689
  }
@@ -36749,15 +36805,15 @@ class Ls {
36749
36805
  t.finish(e, void 0, !0);
36750
36806
  }
36751
36807
  }
36752
- var dE = Object.defineProperty, uE = Object.getOwnPropertyDescriptor, fE = (n, t, e, i) => {
36753
- for (var s = i > 1 ? void 0 : i ? uE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36808
+ var uE = Object.defineProperty, fE = Object.getOwnPropertyDescriptor, pE = (n, t, e, i) => {
36809
+ for (var s = i > 1 ? void 0 : i ? fE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36754
36810
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
36755
- return i && s && dE(t, e, s), s;
36811
+ return i && s && uE(t, e, s), s;
36756
36812
  };
36757
36813
  const ru = "SCAM";
36758
36814
  Q0(ru, Ls.getRootAsSyncedCameraModel);
36759
36815
  const gi = new fg();
36760
- class pE {
36816
+ class mE {
36761
36817
  // dontSave: boolean = true;
36762
36818
  // pos: { x: number, y: number, z: number } = { x: 0, y: 0, z: 0 };
36763
36819
  // rot: { x: number, y: number, z: number } = { x: 0, y: 0, z: 0 };
@@ -36827,7 +36883,7 @@ const Km = (Hp = class extends I {
36827
36883
  }
36828
36884
  if (!this.context.connection.isConnected || this.context.connection.connectionId === null)
36829
36885
  return;
36830
- this._model === null && (this._model = new pE(this.context.connection.connectionId, this.context.connection.connectionId + "_camera"));
36886
+ this._model === null && (this._model = new mE(this.context.connection.connectionId, this.context.connection.connectionId + "_camera"));
36831
36887
  const e = ie(t), i = Ce(t);
36832
36888
  (e.distanceTo(this._lastWorldPosition) > 1e-3 || i.angleTo(this._lastWorldQuaternion) > 0.01) && (this._needsUpdate = !0), this._lastWorldPosition.copy(e), this._lastWorldQuaternion.copy(i), !((!this._needsUpdate || this.context.time.frameCount % 2 !== 0) && !(this.context.time.realtimeSinceStartup - this._lastUpdateTime > this._camTimeoutInSeconds * 0.5)) && (this._lastUpdateTime = this.context.time.realtimeSinceStartup, this._needsUpdate = !1, this._model.send(t, this.context.connection), this.context.isInXR || this.context.players.setPlayerView(this.context.connection.connectionId, t, hr.Browser));
36833
36889
  }
@@ -36858,13 +36914,13 @@ const Km = (Hp = class extends I {
36858
36914
  }
36859
36915
  }, r(Hp, "instances", []), Hp);
36860
36916
  let g_ = Km;
36861
- fE([
36917
+ pE([
36862
36918
  f([D, re])
36863
36919
  ], g_.prototype, "cameraPrefab", 2);
36864
- var mE = Object.defineProperty, gE = Object.getOwnPropertyDescriptor, Io = (n, t, e, i) => {
36865
- for (var s = i > 1 ? void 0 : i ? gE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36920
+ var gE = Object.defineProperty, _E = Object.getOwnPropertyDescriptor, Io = (n, t, e, i) => {
36921
+ for (var s = i > 1 ? void 0 : i ? _E(t, e) : t, o = n.length - 1, a; o >= 0; o--)
36866
36922
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
36867
- return i && s && mE(t, e, s), s;
36923
+ return i && s && gE(t, e, s), s;
36868
36924
  };
36869
36925
  const Tp = "view", Ap = x("debugsyncedroom");
36870
36926
  class tn extends I {
@@ -36957,7 +37013,7 @@ class tn extends I {
36957
37013
  const o = x(this.urlParameterName);
36958
37014
  if (o && (typeof o == "string" || typeof o == "number")) {
36959
37015
  i = !0;
36960
- const a = DS(o.toString());
37016
+ const a = D1(o.toString());
36961
37017
  this.roomName = a;
36962
37018
  } else if (this.joinRandomRoom && (console.log("No room name found in url, generating random one"), this.setRandomRoomUrlParameter(), e < 1))
36963
37019
  return this.tryJoinRoom(e + 1);
@@ -37045,11 +37101,11 @@ Io([
37045
37101
  Io([
37046
37102
  f()
37047
37103
  ], tn.prototype, "roomPrefix", 1);
37048
- function _E() {
37104
+ function yE() {
37049
37105
  const n = x("testwindowcount") || 0;
37050
- n && n > 0 && yE(n);
37106
+ n && n > 0 && bE(n);
37051
37107
  }
37052
- function yE(n) {
37108
+ function bE(n) {
37053
37109
  if (x("testwindow"))
37054
37110
  return null;
37055
37111
  const t = new URL(window.location.href);
@@ -37084,7 +37140,7 @@ function yE(n) {
37084
37140
  }
37085
37141
  class nx extends I {
37086
37142
  awake() {
37087
- _E();
37143
+ yE();
37088
37144
  }
37089
37145
  }
37090
37146
  class ox extends I {
@@ -37151,12 +37207,12 @@ class rx {
37151
37207
  }
37152
37208
  }
37153
37209
  r(rx, "temp", new v());
37154
- var bE = Object.defineProperty, vE = Object.getOwnPropertyDescriptor, mf = (n, t, e, i) => {
37155
- for (var s = i > 1 ? void 0 : i ? vE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
37210
+ var vE = Object.defineProperty, wE = Object.getOwnPropertyDescriptor, mf = (n, t, e, i) => {
37211
+ for (var s = i > 1 ? void 0 : i ? wE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
37156
37212
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
37157
- return i && s && bE(t, e, s), s;
37213
+ return i && s && vE(t, e, s), s;
37158
37214
  };
37159
- const wE = x("debugsignals");
37215
+ const xE = x("debugsignals");
37160
37216
  class __ {
37161
37217
  constructor() {
37162
37218
  r(this, "guid");
@@ -37194,7 +37250,7 @@ const un = (Gp = class extends I {
37194
37250
  }
37195
37251
  /** @internal */
37196
37252
  awake() {
37197
- wE && console.log("SignalReceiver awake", this);
37253
+ xE && console.log("SignalReceiver awake", this);
37198
37254
  }
37199
37255
  /** @internal */
37200
37256
  onEnable() {
@@ -37299,7 +37355,7 @@ class _f {
37299
37355
  return 0;
37300
37356
  }
37301
37357
  }
37302
- class xE {
37358
+ class SE {
37303
37359
  constructor(t) {
37304
37360
  r(this, "clip");
37305
37361
  r(this, "rootPositionOffset");
@@ -37392,13 +37448,13 @@ class y_ extends _f {
37392
37448
  if (!h) {
37393
37449
  const w = i.tracks[0].name.substring(0, g) + ".quaternion";
37394
37450
  Us && console.warn("Create quaternion track", y, b);
37395
- const P = b.quaternion, k = new $1(w, [0, i.duration], [P.x, P.y, P.z, P.w, P.x, P.y, P.z, P.w]);
37451
+ const P = b.quaternion, k = new $S(w, [0, i.duration], [P.x, P.y, P.z, P.w, P.x, P.y, P.z, P.w]);
37396
37452
  i.tracks.push(k), this.createRotationInterpolant(i, e, k);
37397
37453
  }
37398
37454
  } else {
37399
37455
  const w = _ + ".position";
37400
37456
  Us && console.warn("Create position track", y, b);
37401
- const P = b.position, k = new N1(w, [0, i.duration], [P.x, P.y, P.z, P.x, P.y, P.z]);
37457
+ const P = b.position, k = new NS(w, [0, i.duration], [P.x, P.y, P.z, P.x, P.y, P.z]);
37402
37458
  i.tracks.push(k), this.createPositionInterpolant(i, e, k);
37403
37459
  }
37404
37460
  }
@@ -37407,7 +37463,7 @@ class y_ extends _f {
37407
37463
  if (!this._didBind) {
37408
37464
  this._didBind = !0, Us && console.log(this.models), this.mixer ? this.target = this.mixer.getRoot() : console.warn("No mixer was assigned to animation track");
37409
37465
  for (const e of this.actions) {
37410
- const i = new xE(e);
37466
+ const i = new SE(e);
37411
37467
  this._actionOffsets.push(i);
37412
37468
  }
37413
37469
  this.target && (this._animator = S.getComponent(this.target, Ft) ?? null, this._animator && eb(this._animator.gameObject, this, !0));
@@ -37528,7 +37584,7 @@ class y_ extends _f {
37528
37584
  };
37529
37585
  }
37530
37586
  }
37531
- const SE = x("mutetimeline"), wa = class extends _f {
37587
+ const CE = x("mutetimeline"), wa = class extends _f {
37532
37588
  constructor() {
37533
37589
  super(...arguments);
37534
37590
  r(this, "models", []);
@@ -37551,7 +37607,7 @@ const SE = x("mutetimeline"), wa = class extends _f {
37551
37607
  }
37552
37608
  }
37553
37609
  addModel(e) {
37554
- const i = new W1(this.listener);
37610
+ const i = new WS(this.listener);
37555
37611
  this.audio.push(i);
37556
37612
  const s = e;
37557
37613
  s._didTriggerPlay = !1, this.models.push(s);
@@ -37590,7 +37646,7 @@ const SE = x("mutetimeline"), wa = class extends _f {
37590
37646
  this._playableDirectorResumed = this.director.isPlaying;
37591
37647
  }
37592
37648
  evaluate(e) {
37593
- if (SE || this.track.muted || this.director.speed < 0)
37649
+ if (CE || this.track.muted || this.director.speed < 0)
37594
37650
  return;
37595
37651
  const i = this.director.context.application.muted, s = this._playableDirectorResumed;
37596
37652
  this._playableDirectorResumed = !1;
@@ -37749,10 +37805,10 @@ class b_ extends _f {
37749
37805
  }
37750
37806
  }
37751
37807
  }
37752
- var CE = Object.defineProperty, PE = Object.getOwnPropertyDescriptor, lx = (n, t, e, i) => {
37753
- for (var s = i > 1 ? void 0 : i ? PE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
37808
+ var PE = Object.defineProperty, OE = Object.getOwnPropertyDescriptor, lx = (n, t, e, i) => {
37809
+ for (var s = i > 1 ? void 0 : i ? OE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
37754
37810
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
37755
- return i && s && CE(t, e, s), s;
37811
+ return i && s && PE(t, e, s), s;
37756
37812
  };
37757
37813
  const ln = x("debugtimeline");
37758
37814
  var qp;
@@ -38176,10 +38232,10 @@ lx([
38176
38232
  lx([
38177
38233
  f()
38178
38234
  ], Mr.prototype, "extrapolationMode", 2);
38179
- var OE = Object.defineProperty, ME = Object.getOwnPropertyDescriptor, yf = (n, t, e, i) => {
38180
- for (var s = i > 1 ? void 0 : i ? ME(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38235
+ var ME = Object.defineProperty, RE = Object.getOwnPropertyDescriptor, yf = (n, t, e, i) => {
38236
+ for (var s = i > 1 ? void 0 : i ? RE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38181
38237
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38182
- return i && s && OE(t, e, s), s;
38238
+ return i && s && ME(t, e, s), s;
38183
38239
  };
38184
38240
  class yl extends I {
38185
38241
  constructor() {
@@ -38278,7 +38334,7 @@ class yl extends I {
38278
38334
  /** @internal */
38279
38335
  onEnable() {
38280
38336
  var e;
38281
- if (!(this.isGizmo && !Qc) && this.context.mainCamera && (this._control || (this._control = new dS(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((s) => {
38337
+ if (!(this.isGizmo && !Qc) && this.context.mainCamera && (this._control || (this._control = new d1(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((s) => {
38282
38338
  const o = s;
38283
38339
  if (o.layers.set(2), o) {
38284
38340
  const a = o.material;
@@ -38321,10 +38377,10 @@ yf([
38321
38377
  yf([
38322
38378
  f()
38323
38379
  ], yl.prototype, "scaleSnap", 2);
38324
- var RE = Object.defineProperty, kE = Object.getOwnPropertyDescriptor, bf = (n, t, e, i) => {
38325
- for (var s = i > 1 ? void 0 : i ? kE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38380
+ var kE = Object.defineProperty, TE = Object.getOwnPropertyDescriptor, bf = (n, t, e, i) => {
38381
+ for (var s = i > 1 ? void 0 : i ? TE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38326
38382
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38327
- return i && s && RE(t, e, s), s;
38383
+ return i && s && kE(t, e, s), s;
38328
38384
  };
38329
38385
  class v_ {
38330
38386
  constructor() {
@@ -38398,10 +38454,10 @@ class w_ extends sf {
38398
38454
  bf([
38399
38455
  f(Fe)
38400
38456
  ], w_.prototype, "mainTexture", 1);
38401
- var TE = Object.defineProperty, AE = Object.getOwnPropertyDescriptor, Fi = (n, t, e, i) => {
38402
- for (var s = i > 1 ? void 0 : i ? AE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38457
+ var AE = Object.defineProperty, EE = Object.getOwnPropertyDescriptor, Fi = (n, t, e, i) => {
38458
+ for (var s = i > 1 ? void 0 : i ? EE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38403
38459
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38404
- return i && s && TE(t, e, s), s;
38460
+ return i && s && AE(t, e, s), s;
38405
38461
  };
38406
38462
  const Vo = x("debugbutton");
38407
38463
  class Do {
@@ -38436,7 +38492,7 @@ Fi([
38436
38492
  Fi([
38437
38493
  f(we)
38438
38494
  ], Do.prototype, "selectedColor", 2);
38439
- class EE {
38495
+ class IE {
38440
38496
  constructor() {
38441
38497
  r(this, "disabledTrigger");
38442
38498
  r(this, "highlightedTrigger");
@@ -38577,7 +38633,7 @@ Fi([
38577
38633
  f()
38578
38634
  ], Lo.prototype, "transition", 2);
38579
38635
  Fi([
38580
- f(EE)
38636
+ f(IE)
38581
38637
  ], Lo.prototype, "animationTriggers", 2);
38582
38638
  Fi([
38583
38639
  f(Ft)
@@ -38585,10 +38641,10 @@ Fi([
38585
38641
  Fi([
38586
38642
  f()
38587
38643
  ], Lo.prototype, "interactable", 1);
38588
- var IE = Object.defineProperty, DE = Object.getOwnPropertyDescriptor, vf = (n, t, e, i) => {
38589
- for (var s = i > 1 ? void 0 : i ? DE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38644
+ var DE = Object.defineProperty, LE = Object.getOwnPropertyDescriptor, vf = (n, t, e, i) => {
38645
+ for (var s = i > 1 ? void 0 : i ? LE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38590
38646
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38591
- return i && s && IE(t, e, s), s;
38647
+ return i && s && DE(t, e, s), s;
38592
38648
  };
38593
38649
  const Xn = x("debuginputfield");
38594
38650
  var sa;
@@ -38751,10 +38807,10 @@ vf([
38751
38807
  vf([
38752
38808
  f(xe)
38753
38809
  ], bl.prototype, "onEndEdit", 2);
38754
- var LE = Object.defineProperty, jE = Object.getOwnPropertyDescriptor, cx = (n, t, e, i) => {
38755
- for (var s = i > 1 ? void 0 : i ? jE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38810
+ var jE = Object.defineProperty, BE = Object.getOwnPropertyDescriptor, cx = (n, t, e, i) => {
38811
+ for (var s = i > 1 ? void 0 : i ? BE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38756
38812
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38757
- return i && s && LE(t, e, s), s;
38813
+ return i && s && jE(t, e, s), s;
38758
38814
  };
38759
38815
  class wf extends I {
38760
38816
  constructor() {
@@ -38776,9 +38832,9 @@ class wf extends I {
38776
38832
  return;
38777
38833
  }
38778
38834
  e.style.display = "block", e.style.visibility = "hidden";
38779
- const i = new uS();
38835
+ const i = new u1();
38780
38836
  i.listenToPointerEvents(this.context.renderer, this.context.mainCamera), this.gameObject.add(i);
38781
- const s = new fS(e);
38837
+ const s = new f1(e);
38782
38838
  i.add(s), s.visible = !1;
38783
38839
  const o = s.material;
38784
38840
  o.transparent = !0, setTimeout(() => {
@@ -38808,10 +38864,10 @@ cx([
38808
38864
  cx([
38809
38865
  f()
38810
38866
  ], wf.prototype, "keepAspect", 2);
38811
- var BE = Object.defineProperty, FE = Object.getOwnPropertyDescriptor, xf = (n, t, e, i) => {
38812
- for (var s = i > 1 ? void 0 : i ? FE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38867
+ var FE = Object.defineProperty, zE = Object.getOwnPropertyDescriptor, xf = (n, t, e, i) => {
38868
+ for (var s = i > 1 ? void 0 : i ? zE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38813
38869
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38814
- return i && s && BE(t, e, s), s;
38870
+ return i && s && FE(t, e, s), s;
38815
38871
  }, Xp;
38816
38872
  const hx = (Xp = class extends I {
38817
38873
  constructor() {
@@ -38866,10 +38922,10 @@ xf([
38866
38922
  xf([
38867
38923
  f()
38868
38924
  ], vl.prototype, "copyTargetRotation", 2);
38869
- var zE = Object.defineProperty, UE = Object.getOwnPropertyDescriptor, x_ = (n, t, e, i) => {
38870
- for (var s = i > 1 ? void 0 : i ? UE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38925
+ var UE = Object.defineProperty, NE = Object.getOwnPropertyDescriptor, x_ = (n, t, e, i) => {
38926
+ for (var s = i > 1 ? void 0 : i ? NE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38871
38927
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38872
- return i && s && zE(t, e, s), s;
38928
+ return i && s && UE(t, e, s), s;
38873
38929
  };
38874
38930
  class Mh extends I {
38875
38931
  constructor() {
@@ -38930,10 +38986,10 @@ x_([
38930
38986
  x_([
38931
38987
  f()
38932
38988
  ], Mh.prototype, "clickable", 2);
38933
- var NE = Object.defineProperty, $E = Object.getOwnPropertyDescriptor, wl = (n, t, e, i) => {
38934
- for (var s = i > 1 ? void 0 : i ? $E(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38989
+ var $E = Object.defineProperty, WE = Object.getOwnPropertyDescriptor, wl = (n, t, e, i) => {
38990
+ for (var s = i > 1 ? void 0 : i ? WE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
38935
38991
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
38936
- return i && s && NE(t, e, s), s;
38992
+ return i && s && $E(t, e, s), s;
38937
38993
  };
38938
38994
  class jo extends I {
38939
38995
  constructor() {
@@ -39017,7 +39073,7 @@ NeedleXRSession.onSessionRequestStart(evt => {
39017
39073
  if (a || (a = new XRWebGLBinding(e.session, n.getContext())), a) {
39018
39074
  let l = null;
39019
39075
  if ("getCameraImage" in a) {
39020
- WE(n, t);
39076
+ VE(n, t);
39021
39077
  const c = n.properties.get(t);
39022
39078
  if (c)
39023
39079
  return l = a.getCameraImage(o.camera), c.__webglTexture = l, !0;
@@ -39032,7 +39088,7 @@ NeedleXRSession.onSessionRequestStart(evt => {
39032
39088
  return !1;
39033
39089
  }
39034
39090
  const Nb = /* @__PURE__ */ new WeakMap();
39035
- function WE(n, t) {
39091
+ function VE(n, t) {
39036
39092
  const e = Nb.get(t) || /* @__PURE__ */ new WeakSet();
39037
39093
  if (e.has(n))
39038
39094
  return;
@@ -39042,7 +39098,7 @@ function WE(n, t) {
39042
39098
  const a = new ye();
39043
39099
  i.map = t, n.render(o, a);
39044
39100
  }
39045
- function JD(n, t, e, i = "image/webp", s) {
39101
+ function eL(n, t, e, i = "image/webp", s) {
39046
39102
  return ux({ context: n, width: t, height: e, mimeType: i, camera: s });
39047
39103
  }
39048
39104
  function ux(n) {
@@ -39107,7 +39163,7 @@ function ux(n) {
39107
39163
  break;
39108
39164
  }
39109
39165
  if (t && n.trim === !0) {
39110
- const T = VE(U);
39166
+ const T = HE(U);
39111
39167
  T && (U = T);
39112
39168
  }
39113
39169
  if ("type" in n) {
@@ -39152,7 +39208,7 @@ function ux(n) {
39152
39208
  let te = 0;
39153
39209
  localStorage.getItem(L) && (te = parseInt(sessionStorage.getItem(L) || "0")), te > 0 && (T = `${H.join()}-${te}.${Y}`), te += 1, sessionStorage.setItem(L, te.toString());
39154
39210
  }
39155
- HE(Z, T);
39211
+ GE(Z, T);
39156
39212
  }
39157
39213
  return Z;
39158
39214
  } finally {
@@ -39160,7 +39216,7 @@ function ux(n) {
39160
39216
  }
39161
39217
  return null;
39162
39218
  }
39163
- function VE(n) {
39219
+ function HE(n) {
39164
39220
  if (!("document" in globalThis))
39165
39221
  return null;
39166
39222
  const t = document.createElement("canvas");
@@ -39180,7 +39236,7 @@ function VE(n) {
39180
39236
  return g ? (m.width = u, m.height = p, g.drawImage(t, c, l, u, p, 0, 0, u, p), m) : null;
39181
39237
  }
39182
39238
  let jl = null;
39183
- function HE(n, t) {
39239
+ function GE(n, t) {
39184
39240
  if (n) {
39185
39241
  if (!n.startsWith("data:image")) {
39186
39242
  console.error("Can not save image: Data url is not an image", n);
@@ -39250,10 +39306,10 @@ void main() {
39250
39306
  }
39251
39307
  n.makeFullscreenPlane = c;
39252
39308
  })(lu || (lu = {}));
39253
- var GE = Object.defineProperty, qE = Object.getOwnPropertyDescriptor, XE = (n, t, e, i) => {
39254
- for (var s = i > 1 ? void 0 : i ? qE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39309
+ var qE = Object.defineProperty, XE = Object.getOwnPropertyDescriptor, QE = (n, t, e, i) => {
39310
+ for (var s = i > 1 ? void 0 : i ? XE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39255
39311
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
39256
- return i && s && GE(t, e, s), s;
39312
+ return i && s && qE(t, e, s), s;
39257
39313
  };
39258
39314
  const $b = x("debugarcamera");
39259
39315
  class Sf extends I {
@@ -39285,7 +39341,7 @@ class Sf extends I {
39285
39341
  tint: { value: new me(s.r, s.g, s.b, s.a) }
39286
39342
  },
39287
39343
  vertexShader: Ld.background.vertexShader,
39288
- fragmentShader: QE,
39344
+ fragmentShader: YE,
39289
39345
  side: Ri,
39290
39346
  depthTest: !1,
39291
39347
  depthWrite: !1,
@@ -39326,10 +39382,10 @@ class Sf extends I {
39326
39382
  this.backgroundPlane && (this.threeTexture = e, this.backgroundPlane.setTexture(this.threeTexture), this.backgroundPlane.visible = !0);
39327
39383
  }
39328
39384
  }
39329
- XE([
39385
+ QE([
39330
39386
  f(we)
39331
39387
  ], Sf.prototype, "backgroundTint", 2);
39332
- const QE = (
39388
+ const YE = (
39333
39389
  /* glsl */
39334
39390
  `
39335
39391
  uniform sampler2D t2D;
@@ -39352,10 +39408,10 @@ void main() {
39352
39408
  }
39353
39409
  `
39354
39410
  );
39355
- var YE = Object.defineProperty, KE = Object.getOwnPropertyDescriptor, Bo = (n, t, e, i) => {
39356
- for (var s = i > 1 ? void 0 : i ? KE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39411
+ var KE = Object.defineProperty, ZE = Object.getOwnPropertyDescriptor, Bo = (n, t, e, i) => {
39412
+ for (var s = i > 1 ? void 0 : i ? ZE(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39357
39413
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
39358
- return i && s && YE(t, e, s), s;
39414
+ return i && s && KE(t, e, s), s;
39359
39415
  };
39360
39416
  const Wb = x("debugimagetracking"), yu = class {
39361
39417
  constructor(t, e, i, s, o, a) {
@@ -39432,7 +39488,7 @@ Bo([
39432
39488
  Bo([
39433
39489
  f()
39434
39490
  ], Fo.prototype, "hideWhenTrackingIsLost", 2);
39435
- class ZE {
39491
+ class JE {
39436
39492
  constructor(t, e, i) {
39437
39493
  r(this, "filename");
39438
39494
  r(this, "widthInMeters");
@@ -39529,7 +39585,7 @@ const nc = (Qp = class extends I {
39529
39585
  if (o) {
39530
39586
  const l = await (await o.convertToBlob({ type: "image/png" })).arrayBuffer(), c = S.findObjectOfType(Ge);
39531
39587
  c && this.trackedImages && (c.extensions.push(
39532
- new ZE("marker.png", new Uint8Array(l), this.trackedImages[0].widthInMeters)
39588
+ new JE("marker.png", new Uint8Array(l), this.trackedImages[0].widthInMeters)
39533
39589
  ), c.anchoringType = "image");
39534
39590
  }
39535
39591
  });
@@ -39640,10 +39696,10 @@ Bo([
39640
39696
  Bo([
39641
39697
  f()
39642
39698
  ], Qa.prototype, "smooth", 2);
39643
- var JE = Object.defineProperty, eI = Object.getOwnPropertyDescriptor, xl = (n, t, e, i) => {
39644
- for (var s = i > 1 ? void 0 : i ? eI(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39699
+ var eI = Object.defineProperty, tI = Object.getOwnPropertyDescriptor, xl = (n, t, e, i) => {
39700
+ for (var s = i > 1 ? void 0 : i ? tI(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39645
39701
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
39646
- return i && s && JE(t, e, s), s;
39702
+ return i && s && eI(t, e, s), s;
39647
39703
  };
39648
39704
  const Ho = x("debugplanetracking");
39649
39705
  class zo extends I {
@@ -39788,7 +39844,7 @@ class zo extends I {
39788
39844
  } else {
39789
39845
  if (!this.dataTemplate) {
39790
39846
  const m = new X();
39791
- Ho ? m.material = new V1() : this.occluder ? (m.material = new Te(), this.makeOccluder(m, m.material, !0)) : m.material = new Te({ wireframe: !0, opacity: 0.5, transparent: !0, color: 3355443 }), this.dataTemplate = new re("", "", m);
39847
+ Ho ? m.material = new VS() : this.occluder ? (m.material = new Te(), this.makeOccluder(m, m.material, !0)) : m.material = new Te({ wireframe: !0, opacity: 0.5, transparent: !0, color: 3355443 }), this.dataTemplate = new re("", "", m);
39792
39848
  }
39793
39849
  if (!this.dataTemplate.asset)
39794
39850
  this.dataTemplate.loadAssetAsync();
@@ -39831,7 +39887,7 @@ class zo extends I {
39831
39887
  if (m.userData.normalsHelper)
39832
39888
  m.userData.normalsHelper.update();
39833
39889
  else {
39834
- const g = new pS(m, 0.05, 255);
39890
+ const g = new p1(m, 0.05, 255);
39835
39891
  g.layers.disableAll(), g.layers.set(2), this.context.scene.add(g), m.userData.normalsHelper = g;
39836
39892
  }
39837
39893
  }));
@@ -39901,10 +39957,10 @@ xl([
39901
39957
  xl([
39902
39958
  f()
39903
39959
  ], zo.prototype, "runInVR", 2);
39904
- var tI = Object.defineProperty, iI = Object.getOwnPropertyDescriptor, sI = (n, t, e, i) => {
39905
- for (var s = i > 1 ? void 0 : i ? iI(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39960
+ var iI = Object.defineProperty, sI = Object.getOwnPropertyDescriptor, nI = (n, t, e, i) => {
39961
+ for (var s = i > 1 ? void 0 : i ? sI(t, e) : t, o = n.length - 1, a; o >= 0; o--)
39906
39962
  (a = n[o]) && (s = (i ? a(t, e, s) : a(s)) || s);
39907
- return i && s && tI(t, e, s), s;
39963
+ return i && s && iI(t, e, s), s;
39908
39964
  };
39909
39965
  const Vb = x("debugwebxr");
39910
39966
  class S_ extends I {
@@ -39956,10 +40012,10 @@ class S_ extends I {
39956
40012
  e.xr.removeRig(this), this._startScale && this.gameObject && this.gameObject.scale.copy(this._startScale);
39957
40013
  }
39958
40014
  }
39959
- sI([
40015
+ nI([
39960
40016
  f()
39961
40017
  ], S_.prototype, "priority", 2);
39962
- class nI extends I {
40018
+ class oI extends I {
39963
40019
  constructor() {
39964
40020
  super(...arguments);
39965
40021
  r(this, "toggleKey", "KeyP");
@@ -40114,15 +40170,15 @@ R.add("XRRig", S_);
40114
40170
  R.add("XRFlag", qi);
40115
40171
  R.add("PlayerSync", hh);
40116
40172
  R.add("PlayerState", Zi);
40117
- R.add("PresentationMode", nI);
40118
- const vc = mt, oI = x("debugtypestore");
40119
- oI && console.log(R);
40120
- function rI(n, t) {
40173
+ R.add("PresentationMode", oI);
40174
+ const vc = mt, rI = x("debugtypestore");
40175
+ rI && console.log(R);
40176
+ function aI(n, t) {
40121
40177
  const i = KP(n, t);
40122
40178
  return i !== void 0 ? i : null;
40123
40179
  }
40124
- const aI = new YP(), Ep = Symbol("deserialize-queue");
40125
- async function lI(n, t, e, i = null, s) {
40180
+ const lI = new YP(), Ep = Symbol("deserialize-queue");
40181
+ async function cI(n, t, e, i = null, s) {
40126
40182
  if (!e) {
40127
40183
  console.debug("Can not create component instances: gltf is null");
40128
40184
  return;
@@ -40132,7 +40188,7 @@ async function lI(n, t, e, i = null, s) {
40132
40188
  const a = t.indexOf("?");
40133
40189
  t = a === -1 ? t : t.substring(0, a);
40134
40190
  const l = new pv(e.scene);
40135
- l.gltfId = t, l.context = n, l.gltf = e, l.nodeToObject = s == null ? void 0 : s.nodeToObjectMap, l.implementationInformation = aI;
40191
+ l.gltfId = t, l.context = n, l.gltf = e, l.nodeToObject = s == null ? void 0 : s.nodeToObjectMap, l.implementationInformation = lI;
40136
40192
  let c = n[Ep];
40137
40193
  if (c || (c = n[Ep] = []), e.scenes)
40138
40194
  for (const h of e.scenes)
@@ -40144,7 +40200,7 @@ async function lI(n, t, e, i = null, s) {
40144
40200
  const h = n[Ep];
40145
40201
  if (h) {
40146
40202
  for (const d of h)
40147
- cI(d, l);
40203
+ hI(d, l);
40148
40204
  h.length = 0;
40149
40205
  }
40150
40206
  if (o) {
@@ -40213,12 +40269,12 @@ This could mean you forgot to add a npmdef to your ExportInfo
40213
40269
  for (const d of t.children)
40214
40270
  await tg(n, d, e);
40215
40271
  }
40216
- function cI(n, t) {
40272
+ function hI(n, t) {
40217
40273
  const { instance: e, compData: i, obj: s } = n;
40218
40274
  t.object = s, t.target = e, ym(e, i, t), vc && console.debug("add " + i.name, i, e);
40219
40275
  }
40220
40276
  const cu = x("debugfileformat");
40221
- async function hI(n, t = !0) {
40277
+ async function dI(n, t = !0) {
40222
40278
  var s;
40223
40279
  if (t) {
40224
40280
  const o = n, a = new URL(o, globalThis.location.origin);
@@ -40252,12 +40308,12 @@ async function hI(n, t = !0) {
40252
40308
  }
40253
40309
  }).catch((o) => null);
40254
40310
  if (i != null && i.ok) {
40255
- const o = await i.arrayBuffer(), a = dI(o, i);
40311
+ const o = await i.arrayBuffer(), a = uI(o, i);
40256
40312
  return cu && console.log("Determined file type from header: " + a), a;
40257
40313
  }
40258
40314
  return "unknown";
40259
40315
  }
40260
- function dI(n, t) {
40316
+ function uI(n, t) {
40261
40317
  if (n.byteLength < 4)
40262
40318
  return "unknown";
40263
40319
  const e = new Uint8Array(n);
@@ -40316,21 +40372,21 @@ function dI(n, t) {
40316
40372
  }
40317
40373
  class fx {
40318
40374
  createBuiltinComponents(t, e, i, s, o) {
40319
- return lI(t, e, i, s, o);
40375
+ return cI(t, e, i, s, o);
40320
40376
  }
40321
40377
  writeBuiltinComponentData(t, e) {
40322
- return rI(t, e);
40378
+ return aI(t, e);
40323
40379
  }
40324
40380
  parseSync(t, e, i, s) {
40325
- return pI(t, e, i, s);
40381
+ return mI(t, e, i, s);
40326
40382
  }
40327
40383
  loadSync(t, e, i, s, o) {
40328
- return mI(t, e, i, s, o);
40384
+ return gI(t, e, i, s, o);
40329
40385
  }
40330
40386
  }
40331
40387
  b0(fx);
40332
- const px = x("printGltf") || x("printgltf"), mx = x("downloadgltf"), uI = x("debugfileformat");
40333
- var fI = /* @__PURE__ */ ((n) => (n[n.BeforeLoad = 0] = "BeforeLoad", n[n.AfterLoaded = 1] = "AfterLoaded", n[n.FinishedSetup = 10] = "FinishedSetup", n))(fI || {});
40388
+ const px = x("printGltf") || x("printgltf"), mx = x("downloadgltf"), fI = x("debugfileformat");
40389
+ var pI = /* @__PURE__ */ ((n) => (n[n.BeforeLoad = 0] = "BeforeLoad", n[n.AfterLoaded = 1] = "AfterLoaded", n[n.FinishedSetup = 10] = "FinishedSetup", n))(pI || {});
40334
40390
  class Ea {
40335
40391
  constructor(t, e, i, s) {
40336
40392
  r(this, "context");
@@ -40341,10 +40397,10 @@ class Ea {
40341
40397
  }
40342
40398
  }
40343
40399
  const yo = {};
40344
- function eL(n, t) {
40400
+ function tL(n, t) {
40345
40401
  yo[n] = yo[n] || [], yo[n].push(t);
40346
40402
  }
40347
- function tL(n, t) {
40403
+ function iL(n, t) {
40348
40404
  if (yo[n]) {
40349
40405
  const e = yo[n].indexOf(t);
40350
40406
  e >= 0 && yo[n].splice(e, 1);
@@ -40359,8 +40415,8 @@ async function gx(n, t, e, i, s) {
40359
40415
  px && console.warn("glTF", t, e), t.includes("?") && (t = t.split("?")[0]), await Vs().createBuiltinComponents(n, t, e, i, s);
40360
40416
  }
40361
40417
  async function _x(n, t) {
40362
- const e = await hI(n) || "unknown";
40363
- switch (uI && console.debug("Determined file type: " + e + " for url", n), e) {
40418
+ const e = await dI(n) || "unknown";
40419
+ switch (fI && console.debug("Determined file type: " + e + " for url", n), e) {
40364
40420
  case "unknown": {
40365
40421
  console.warn("Unknown file type. Assuming glTF:", n);
40366
40422
  const i = new wr();
@@ -40384,7 +40440,7 @@ async function _x(n, t) {
40384
40440
  }
40385
40441
  }
40386
40442
  }
40387
- async function pI(n, t, e, i) {
40443
+ async function mI(n, t, e, i) {
40388
40444
  typeof e != "string" && (console.warn("Parse gltf binary without path, this might lead to errors in resolving extensions. Please provide the source path of the gltf/glb file", e, typeof e), e = ""), px && console.log("Parse glTF", e);
40389
40445
  const s = await _x(e, n);
40390
40446
  if (!s)
@@ -40427,8 +40483,8 @@ async function pI(n, t, e, i) {
40427
40483
  }
40428
40484
  });
40429
40485
  }
40430
- async function mI(n, t, e, i, s) {
40431
- gI(t);
40486
+ async function gI(n, t, e, i, s) {
40487
+ _I(t);
40432
40488
  const o = await _x(t, n);
40433
40489
  if (!o)
40434
40490
  return;
@@ -40468,7 +40524,7 @@ async function yx(n, t, e) {
40468
40524
  console.warn((i == null ? void 0 : i.message) || i);
40469
40525
  }
40470
40526
  }
40471
- function gI(n) {
40527
+ function _I(n) {
40472
40528
  if (new URL(n, window.location.href).href.startsWith("file://")) {
40473
40529
  const e = `Hi - it looks like you are trying to load a local file which will not work. You need to use a webserver to serve your files.
40474
40530
  Please refer to the documentation on <a href="https://fwd.needle.tools/needle-engine/docs/local-server">https://docs.needle.tools</a> or ask for help in our <a href="https://discord.needle.tools">discord community</a>`;
@@ -40494,7 +40550,7 @@ function vx(n, t) {
40494
40550
  }
40495
40551
  }
40496
40552
  b0(fx);
40497
- const Le = x("debugwebcomponent"), Hb = "needle-engine", wx = "vr", xx = "desktop", _I = [Ev, wx, xx], Fl = "ar-session-active", zl = "desktop-session-active", yI = [
40553
+ const Le = x("debugwebcomponent"), Hb = "needle-engine", wx = "vr", xx = "desktop", yI = [Ev, wx, xx], Fl = "ar-session-active", zl = "desktop-session-active", bI = [
40498
40554
  "public-key",
40499
40555
  "version",
40500
40556
  "hash",
@@ -40621,7 +40677,7 @@ class Sx extends HTMLElement {
40621
40677
  `, this.shadowRoot && this.shadowRoot.appendChild(e.content.cloneNode(!0)), this._context = new ee({ domElement: this }), this.addEventListener("error", this.onError);
40622
40678
  }
40623
40679
  static get observedAttributes() {
40624
- return yI;
40680
+ return bI;
40625
40681
  }
40626
40682
  get loadingProgress01() {
40627
40683
  return this._loadingProgress01;
@@ -40798,7 +40854,7 @@ Needle Engine: Begin loading ` + i + `
40798
40854
  if (Le && console.debug("Loading progress: ", b), u.signal.aborted)
40799
40855
  return;
40800
40856
  const w = b.index;
40801
- !d[w] && b.name && (d[w] = bI(b.name)), b.name = d[w], a && ((P = this._loadingView) == null || P.onLoadingUpdate(b)), c.name = b.name, c.progress = b.progress, this._loadingProgress01 = Av(b), c.totalProgress01 = this._loadingProgress01, this.dispatchEvent(h);
40857
+ !d[w] && b.name && (d[w] = vI(b.name)), b.name = d[w], a && ((P = this._loadingView) == null || P.onLoadingUpdate(b)), c.name = b.name, c.progress = b.progress, this._loadingProgress01 = Av(b), c.totalProgress01 = this._loadingProgress01, this.dispatchEvent(h);
40802
40858
  },
40803
40859
  onLoadingFinished: (b, w, P) => {
40804
40860
  Le && console.debug(`Finished loading "${w}" (aborted? ${u.signal.aborted})`), !u.signal.aborted && P && l.push({
@@ -40975,7 +41031,7 @@ Needle Engine: finished loading ` + i + `
40975
41031
  if (e.classList.contains(i))
40976
41032
  e.style.visibility = "visible", e.style.display === "none" && (e.style.display = "block");
40977
41033
  else
40978
- for (const c of _I)
41034
+ for (const c of yI)
40979
41035
  e.classList.contains(c) && (e.style.visibility = "hidden", e.style.display = "none");
40980
41036
  }
40981
41037
  foreachHtmlElement(e) {
@@ -40994,7 +41050,7 @@ Needle Engine: finished loading ` + i + `
40994
41050
  }
40995
41051
  }
40996
41052
  typeof window < "u" && !window.customElements.get(Hb) && window.customElements.define(Hb, Sx);
40997
- function bI(n) {
41053
+ function vI(n) {
40998
41054
  if (n.startsWith("blob:"))
40999
41055
  return "blob";
41000
41056
  const t = n.split("/");
@@ -41015,13 +41071,13 @@ function bI(n) {
41015
41071
  }
41016
41072
  return z() && console.debug("Loading: use default name", e), e;
41017
41073
  }
41018
- const vI = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
41074
+ const wI = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
41019
41075
  __proto__: null,
41020
41076
  NeedleEngineHTMLElement: Sx
41021
41077
  }, Symbol.toStringTag, { value: "Module" }));
41022
- function wI() {
41078
+ function xI() {
41023
41079
  $s.registerWaitForInteraction(() => {
41024
- const n = H1.getContext();
41080
+ const n = HS.getContext();
41025
41081
  n.addEventListener("statechange", () => {
41026
41082
  setTimeout(() => {
41027
41083
  const t = n.state;
@@ -41034,21 +41090,21 @@ function wI() {
41034
41090
  });
41035
41091
  });
41036
41092
  }
41037
- setTimeout(wI, 1e3);
41093
+ setTimeout(xI, 1e3);
41038
41094
  const Id = x("debughotreload");
41039
41095
  let Vc = !1;
41040
41096
  const wc = /* @__PURE__ */ new Map();
41041
- function iL() {
41097
+ function sL() {
41042
41098
  return Vc;
41043
41099
  }
41044
- function sL(n) {
41100
+ function nL(n) {
41045
41101
  var i;
41046
41102
  if (Vc)
41047
41103
  return;
41048
41104
  const e = n.constructor.name;
41049
41105
  wc.has(e) ? (i = wc.get(e)) == null || i.push(n) : wc.set(e, [n]);
41050
41106
  }
41051
- function nL(n) {
41107
+ function oL(n) {
41052
41108
  if (Vc)
41053
41109
  return;
41054
41110
  const e = n.constructor.name, i = wc.get(e);
@@ -41058,7 +41114,7 @@ function nL(n) {
41058
41114
  s !== -1 && i.splice(s, 1);
41059
41115
  }
41060
41116
  let Gb = !1;
41061
- function xI() {
41117
+ function SI() {
41062
41118
  if (Id || Gb)
41063
41119
  return;
41064
41120
  Gb = !0;
@@ -41074,8 +41130,8 @@ function xI() {
41074
41130
  n.apply(console, t);
41075
41131
  };
41076
41132
  }
41077
- function oL(n) {
41078
- Id && console.log("[HMR] Apply changes", n, Object.keys(n)), xI();
41133
+ function rL(n) {
41134
+ Id && console.log("[HMR] Apply changes", n, Object.keys(n)), SI();
41079
41135
  for (const t of Object.keys(n))
41080
41136
  try {
41081
41137
  Vc = !0;
@@ -41128,7 +41184,7 @@ function oL(n) {
41128
41184
  }
41129
41185
  return !0;
41130
41186
  }
41131
- const Rt = x("debugphysics"), Ip = x("debugcolliderplacement"), Dp = x("debugcollisions"), SI = x("showcolliders"), Lp = x("debugraycasts"), ci = Symbol("needle component"), Ht = Symbol("physics body"), qb = Symbol("rigidbody");
41187
+ const Rt = x("debugphysics"), Ip = x("debugcolliderplacement"), Dp = x("debugcollisions"), CI = x("showcolliders"), Lp = x("debugraycasts"), ci = Symbol("needle component"), Ht = Symbol("physics body"), qb = Symbol("rigidbody");
41132
41188
  globalThis.false = globalThis.false !== void 0 ? globalThis.false : !0;
41133
41189
  Rt && console.log("Use Rapier", !1, globalThis.false);
41134
41190
  const kc = class {
@@ -41428,7 +41484,7 @@ const kc = class {
41428
41484
  Rt && console.warn("Missing mesh geometry", e.name);
41429
41485
  return;
41430
41486
  }
41431
- (p = (u = o.index) == null ? void 0 : u.array) != null && p.length || (console.warn(`Your MeshCollider is missing vertices or indices in the assined mesh "${e.name}". Consider providing an indexed geometry.`), o = mS(o));
41487
+ (p = (u = o.index) == null ? void 0 : u.array) != null && p.length || (console.warn(`Your MeshCollider is missing vertices or indices in the assined mesh "${e.name}". Consider providing an indexed geometry.`), o = m1(o));
41432
41488
  let a = null;
41433
41489
  const l = o.getAttribute("position");
41434
41490
  if (l instanceof n0) {
@@ -41657,11 +41713,11 @@ Error:`, l), null;
41657
41713
  }
41658
41714
  }
41659
41715
  postStep() {
41660
- this.world && this.enabled && (this._isUpdatingPhysicsWorld = !0, this.syncObjects(), this._isUpdatingPhysicsWorld = !1, this.eventQueue && !this.collisionHandler && (this.collisionHandler = new CI(this.world, this.eventQueue)), this.collisionHandler && (this.collisionHandler.handleCollisionEvents(), this.collisionHandler.update()), this.updateDebugRendering(this.world));
41716
+ this.world && this.enabled && (this._isUpdatingPhysicsWorld = !0, this.syncObjects(), this._isUpdatingPhysicsWorld = !1, this.eventQueue && !this.collisionHandler && (this.collisionHandler = new PI(this.world, this.eventQueue)), this.collisionHandler && (this.collisionHandler.handleCollisionEvents(), this.collisionHandler.update()), this.updateDebugRendering(this.world));
41661
41717
  }
41662
41718
  updateDebugRendering(t) {
41663
41719
  var e, i, s, o;
41664
- if (Rt || Ip || SI || this.debugRenderColliders === !0) {
41720
+ if (Rt || Ip || CI || this.debugRenderColliders === !0) {
41665
41721
  if (!this.lines) {
41666
41722
  const l = new s0({
41667
41723
  color: 7855479,
@@ -41774,7 +41830,7 @@ Error:`, l), null;
41774
41830
  };
41775
41831
  let ea = kc;
41776
41832
  r(ea, "_didLoadPhysicsEngine", !1), r(ea, "_matricesBuffer", []), r(ea, "centerConnectionPos", { x: 0, y: 0, z: 0 }), r(ea, "centerConnectionRot", { x: 0, y: 0, z: 0, w: 1 });
41777
- class CI {
41833
+ class PI {
41778
41834
  constructor(t, e) {
41779
41835
  r(this, "world");
41780
41836
  r(this, "eventQueue");
@@ -41898,7 +41954,7 @@ class CI {
41898
41954
  }
41899
41955
  }
41900
41956
  }
41901
- class rL {
41957
+ class aL {
41902
41958
  /**
41903
41959
  * Use this method to quickly setup a scene to compare multiple models.
41904
41960
  * @example
@@ -41955,26 +42011,26 @@ let ig = 0;
41955
42011
  function Xb(n) {
41956
42012
  n ? ig++ : ig--;
41957
42013
  }
41958
- function aL() {
42014
+ function lL() {
41959
42015
  return ig > 0;
41960
42016
  }
41961
- const PI = {
42017
+ const OI = {
41962
42018
  binary: !0,
41963
42019
  animations: !0
41964
42020
  };
41965
- async function lL(n) {
42021
+ async function cL(n) {
41966
42022
  if (!n.context)
41967
42023
  throw new Error("No context provided to exportAsGLTF");
41968
42024
  n.scene || (n.scene = n.context.scene);
41969
42025
  const t = {
41970
- ...PI,
42026
+ ...OI,
41971
42027
  ...n
41972
42028
  }, { context: e } = t, i = new u0();
41973
42029
  i.register((l) => new ow(l)), i.register((l) => new ZR(l)), i.register((l) => new Jv(l)), sw(i, t.context);
41974
42030
  const s = {
41975
42031
  binary: t.binary,
41976
- animations: MI(e, t.scene, [])
41977
- }, o = new OI();
42032
+ animations: RI(e, t.scene, [])
42033
+ }, o = new MI();
41978
42034
  console.debug("Exporting GLTF", s), o.onBeforeExport(t), Xb(!0);
41979
42035
  const a = await i.parseAsync(t.scene, s).catch((l) => (console.error(l), null));
41980
42036
  if (Xb(!1), o.onAfterExport(t), !a)
@@ -41991,7 +42047,7 @@ async function lL(n) {
41991
42047
  return a;
41992
42048
  }
41993
42049
  const Qb = Symbol("needle:weight");
41994
- class OI {
42050
+ class MI {
41995
42051
  constructor() {
41996
42052
  r(this, "_undo", []);
41997
42053
  }
@@ -42017,7 +42073,7 @@ class OI {
42017
42073
  this._undo.forEach((e) => e()), this._undo.length = 0;
42018
42074
  }
42019
42075
  }
42020
- function MI(n, t, e) {
42076
+ function RI(n, t, e) {
42021
42077
  n.animations.mixers.forEach((s) => {
42022
42078
  const o = zc.tryGetActionsFromMixer(s);
42023
42079
  if (o)
@@ -42137,7 +42193,7 @@ class Mx {
42137
42193
  return this.head !== null && this.head !== void 0;
42138
42194
  }
42139
42195
  }
42140
- class RI {
42196
+ class kI {
42141
42197
  constructor() {
42142
42198
  r(this, "avatarRegistryUrl", null);
42143
42199
  }
@@ -42266,16 +42322,16 @@ class RI {
42266
42322
  return t;
42267
42323
  }
42268
42324
  }
42269
- class kI {
42325
+ class TI {
42270
42326
  get extensionName() {
42271
42327
  return "DocumentExtension";
42272
42328
  }
42273
42329
  onAfterBuildDocument(t) {
42274
42330
  }
42275
42331
  }
42276
- class TI {
42332
+ class AI {
42277
42333
  }
42278
- const cL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42334
+ const hL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42279
42335
  __proto__: null,
42280
42336
  ActionBuilder: ge,
42281
42337
  ActionCollection: qk,
@@ -42295,7 +42351,7 @@ const cL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42295
42351
  Avatar: Cr,
42296
42352
  AvatarBlink_Simple: Ja,
42297
42353
  AvatarEyeLook_Rotation: eh,
42298
- AvatarLoader: RI,
42354
+ AvatarLoader: kI,
42299
42355
  AvatarMarker: gt,
42300
42356
  AvatarModel: Mx,
42301
42357
  Avatar_Brain_LookAt: eu,
@@ -42334,7 +42390,7 @@ const cL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42334
42390
  DeleteBox: ka,
42335
42391
  DepthOfField: Js,
42336
42392
  DeviceFlag: Wg,
42337
- DocumentExtension: kI,
42393
+ DocumentExtension: TI,
42338
42394
  DragControls: Ci,
42339
42395
  DropListener: Oo,
42340
42396
  Duplicatable: nh,
@@ -42490,15 +42546,15 @@ const cL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42490
42546
  XRFlag: qi,
42491
42547
  XRRig: S_,
42492
42548
  XRState: Jt,
42493
- __Ignore: TI
42549
+ __Ignore: AI
42494
42550
  }, Symbol.toStringTag, { value: "Module" })), hu = x("debugmissingcamera");
42495
42551
  fe.registerCallback(pe.MissingCamera, (n) => {
42496
- var l, c, h;
42552
+ var l, c, h, d;
42497
42553
  hu && console.warn("Creating missing camera");
42498
42554
  const t = n.context.scene, e = new ye();
42499
42555
  e.name = "Default Fallback Camera", t.add(e);
42500
42556
  const i = new Pe();
42501
- i.sourceId = ((c = (l = n.files) == null ? void 0 : l[0]) == null ? void 0 : c.src) ?? "unknown", (h = n.context.domElement.getAttribute("skybox-image")) != null && h.length || 0 > 0 || n.context.lightmaps.tryGetSkybox(i.sourceId) ? i.clearFlags = gr.Skybox : i.clearFlags = gr.SolidColor, i.backgroundColor = new we(0.5, 0.5, 0.5, 1), i.fieldOfView = 35, n.context.domElement.getAttribute("transparent") != null && (i.clearFlags = gr.Uninitialized), i.backgroundBlurriness = 0.2;
42557
+ i.sourceId = ((c = (l = n.files) == null ? void 0 : l[0]) == null ? void 0 : c.src) ?? "unknown", (h = n.context.domElement.getAttribute("skybox-image")) != null && h.length || (d = n.context.domElement.getAttribute("background-image")) != null && d.length || n.context.lightmaps.tryGetSkybox(i.sourceId) ? i.clearFlags = gr.Skybox : i.clearFlags = gr.SolidColor, i.backgroundColor = new we(0.5, 0.5, 0.5, 1), i.fieldOfView = 35, n.context.domElement.getAttribute("transparent") != null && (i.clearFlags = gr.Uninitialized), i.backgroundBlurriness = 0.2;
42502
42558
  const o = Ma(e, i, !0);
42503
42559
  e.position.x = 0, e.position.y = 1, e.position.z = 2;
42504
42560
  const a = n.context.domElement;
@@ -42511,7 +42567,7 @@ fe.registerCallback(pe.ContextCreated, (n) => {
42511
42567
  }
42512
42568
  const t = n.context.domElement;
42513
42569
  if ((t == null ? void 0 : t.cameraControls) == !0) {
42514
- const e = JS(n.context.mainCamera);
42570
+ const e = J1(n.context.mainCamera);
42515
42571
  if ((e == null ? void 0 : e.isCameraController) == !0) {
42516
42572
  hu && console.log("Will not auto-fit because a camera controller exists");
42517
42573
  return;
@@ -42550,9 +42606,9 @@ fe.registerCallback(pe.ContextCreated, (n) => {
42550
42606
  createAnimationComponent: (s, o) => Ji(s, ei)
42551
42607
  });
42552
42608
  });
42553
- class AI extends PS {
42609
+ class EI extends P1 {
42554
42610
  constructor() {
42555
- super(new OS()), this.name = "GenerateMeshBVHWorker";
42611
+ super(new O1()), this.name = "GenerateMeshBVHWorker";
42556
42612
  }
42557
42613
  runTask(t, e, i = {}) {
42558
42614
  return new Promise((s, o) => {
@@ -42565,7 +42621,7 @@ class AI extends PS {
42565
42621
  if (d.error)
42566
42622
  o(new Error(d.error)), t.onmessage = null;
42567
42623
  else if (d.serialized) {
42568
- const { serialized: u, position: p } = d, m = MS.deserialize(u, e, { setIndex: !1 }), g = Object.assign({
42624
+ const { serialized: u, position: p } = d, m = M1.deserialize(u, e, { setIndex: !1 }), g = Object.assign({
42569
42625
  setBoundingBox: !0
42570
42626
  }, i);
42571
42627
  if (e.attributes.position.array = p, u.index)
@@ -42593,9 +42649,9 @@ class AI extends PS {
42593
42649
  });
42594
42650
  }
42595
42651
  }
42596
- const EI = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42652
+ const II = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
42597
42653
  __proto__: null,
42598
- GenerateMeshBVHWorker: AI
42654
+ GenerateMeshBVHWorker: EI
42599
42655
  }, Symbol.toStringTag, { value: "Module" }));
42600
42656
  export {
42601
42657
  tv as $,
@@ -42604,7 +42660,7 @@ export {
42604
42660
  ee as C,
42605
42661
  Iu as D,
42606
42662
  z as E,
42607
- fD as F,
42663
+ pD as F,
42608
42664
  S as G,
42609
42665
  Sa as H,
42610
42666
  gs as I,
@@ -42624,22 +42680,22 @@ export {
42624
42680
  Sm as W,
42625
42681
  $s as X,
42626
42682
  wP as Y,
42627
- SD as Z,
42683
+ CD as Z,
42628
42684
  xP as _,
42629
42685
  PM as a,
42630
42686
  Th as a$,
42631
- CD as a0,
42687
+ PD as a0,
42632
42688
  Ae as a1,
42633
42689
  SP as a2,
42634
42690
  sv as a3,
42635
- PD as a4,
42691
+ OD as a4,
42636
42692
  yv as a5,
42637
42693
  Bu as a6,
42638
42694
  Ma as a7,
42639
42695
  Ji as a8,
42640
42696
  dO as a9,
42641
42697
  Sx as aA,
42642
- ED as aB,
42698
+ ID as aB,
42643
42699
  Av as aC,
42644
42700
  Sd as aD,
42645
42701
  Xs as aE,
@@ -42658,10 +42714,10 @@ export {
42658
42714
  Ha as aR,
42659
42715
  Vs as aS,
42660
42716
  b0 as aT,
42661
- iL as aU,
42662
- sL as aV,
42663
- nL as aW,
42664
- oL as aX,
42717
+ sL as aU,
42718
+ nL as aV,
42719
+ oL as aW,
42720
+ rL as aX,
42665
42721
  wg as aY,
42666
42722
  Ne as aZ,
42667
42723
  Qn as a_,
@@ -42680,20 +42736,20 @@ export {
42680
42736
  fo as am,
42681
42737
  oa as an,
42682
42738
  pd as ao,
42683
- TD as ap,
42684
- AD as aq,
42739
+ AD as ap,
42740
+ ED as aq,
42685
42741
  Me as ar,
42686
42742
  Ig as as,
42687
42743
  pe as at,
42688
42744
  fe as au,
42689
42745
  Pv as av,
42690
- RD as aw,
42746
+ kD as aw,
42691
42747
  CO as ax,
42692
42748
  Na as ay,
42693
42749
  Tr as az,
42694
- FD as b,
42750
+ zD as b,
42695
42751
  fx as b$,
42696
- _D as b0,
42752
+ yD as b0,
42697
42753
  wi as b1,
42698
42754
  VC as b2,
42699
42755
  $ as b3,
@@ -42711,9 +42767,9 @@ export {
42711
42767
  Cn as bF,
42712
42768
  Es as bG,
42713
42769
  ui as bH,
42714
- TS as bI,
42770
+ T1 as bI,
42715
42771
  yg as bJ,
42716
- pD as bK,
42772
+ mD as bK,
42717
42773
  Df as bL,
42718
42774
  An as bM,
42719
42775
  Z0 as bN,
@@ -42730,40 +42786,40 @@ export {
42730
42786
  Cm as bY,
42731
42787
  BO as bZ,
42732
42788
  FO as b_,
42733
- vD as ba,
42734
- wD as bb,
42735
- xD as bc,
42789
+ wD as ba,
42790
+ xD as bb,
42791
+ SD as bc,
42736
42792
  nP as bd,
42737
42793
  Y0 as be,
42738
42794
  oP as bf,
42739
42795
  Ga as bg,
42740
42796
  $R as bh,
42741
- GD as bi,
42797
+ qD as bi,
42742
42798
  Yo as bj,
42743
42799
  jt as bk,
42744
42800
  EP as bl,
42745
42801
  ju as bm,
42746
42802
  cv as bn,
42747
42803
  DP as bo,
42748
- OD as bp,
42804
+ MD as bp,
42749
42805
  LP as bq,
42750
42806
  hv as br,
42751
42807
  jP as bs,
42752
42808
  BP as bt,
42753
42809
  zP as bu,
42754
- yD as bv,
42755
- bD as bw,
42810
+ bD as bv,
42811
+ vD as bw,
42756
42812
  JC as bx,
42757
42813
  eP as by,
42758
42814
  Sn as bz,
42759
- zD as c,
42760
- UI as c$,
42761
- fI as c0,
42815
+ UD as c,
42816
+ NI as c$,
42817
+ pI as c0,
42762
42818
  Ea as c1,
42763
- eL as c2,
42764
- tL as c3,
42819
+ tL as c2,
42820
+ iL as c3,
42765
42821
  _x as c4,
42766
- pI as c5,
42822
+ mI as c5,
42767
42823
  ym as c6,
42768
42824
  pv as c7,
42769
42825
  KP as c8,
@@ -42774,11 +42830,11 @@ export {
42774
42830
  I0 as cD,
42775
42831
  Eu as cE,
42776
42832
  rm as cF,
42777
- dD as cG,
42833
+ uD as cG,
42778
42834
  dC as cH,
42779
42835
  fs as cI,
42780
42836
  uC as cJ,
42781
- uD as cK,
42837
+ fD as cK,
42782
42838
  D0 as cL,
42783
42839
  mC as cM,
42784
42840
  ki as cN,
@@ -42790,23 +42846,23 @@ export {
42790
42846
  he as cT,
42791
42847
  zg as cU,
42792
42848
  sR as cV,
42793
- HD as cW,
42849
+ GD as cW,
42794
42850
  nR as cX,
42795
42851
  oR as cY,
42796
42852
  rR as cZ,
42797
- AS as c_,
42853
+ A1 as c_,
42798
42854
  Ka as ca,
42799
- $D as cb,
42800
- WD as cc,
42855
+ WD as cb,
42856
+ VD as cc,
42801
42857
  LM as cd,
42802
42858
  Kf as ce,
42803
- VD as cf,
42859
+ HD as cf,
42804
42860
  zM as cg,
42805
42861
  UM as ch,
42806
- rL as ci,
42862
+ aL as ci,
42807
42863
  fr as cj,
42808
- lD as ck,
42809
- cD as cl,
42864
+ cD as ck,
42865
+ hD as cl,
42810
42866
  Tu as cm,
42811
42867
  G as cn,
42812
42868
  sC as co,
@@ -42819,73 +42875,73 @@ export {
42819
42875
  T0 as cv,
42820
42876
  Ye as cw,
42821
42877
  Lc as cx,
42822
- hD as cy,
42878
+ dD as cy,
42823
42879
  cC as cz,
42824
42880
  SM as d,
42825
42881
  uM as d$,
42826
- NI as d0,
42882
+ $I as d0,
42827
42883
  ts as d1,
42828
42884
  Mu as d2,
42829
42885
  x as d3,
42830
- $I as d4,
42886
+ WI as d4,
42831
42887
  Bd as d5,
42832
42888
  q_ as d6,
42833
- ES as d7,
42889
+ E1 as d7,
42834
42890
  v0 as d8,
42835
- WI as d9,
42836
- sD as dA,
42837
- nD as dB,
42838
- oD as dC,
42839
- FS as dD,
42840
- zS as dE,
42891
+ VI as d9,
42892
+ nD as dA,
42893
+ oD as dB,
42894
+ rD as dC,
42895
+ F1 as dD,
42896
+ z1 as dE,
42841
42897
  Y_ as dF,
42842
42898
  x0 as dG,
42843
- NS as dH,
42844
- hI as dI,
42845
- dI as dJ,
42846
- JD as dK,
42899
+ N1 as dH,
42900
+ dI,
42901
+ uI as dJ,
42902
+ eL as dK,
42847
42903
  ux as dL,
42848
- HE as dM,
42904
+ GE as dM,
42849
42905
  lu as dN,
42850
- aL as dO,
42851
- lL as dP,
42906
+ lL as dO,
42907
+ cL as dP,
42852
42908
  HP as dQ,
42853
42909
  Im as dR,
42854
42910
  $i as dS,
42855
- qD as dT,
42856
- XD as dU,
42911
+ XD as dT,
42912
+ QD as dU,
42857
42913
  Xg as dV,
42858
42914
  Dm as dW,
42859
42915
  sw as dX,
42860
42916
  nw as dY,
42861
- LD as dZ,
42917
+ jD as dZ,
42862
42918
  zh as d_,
42863
- VI as da,
42864
- IS as db,
42865
- DS as dc,
42919
+ HI as da,
42920
+ I1 as db,
42921
+ D1 as dc,
42866
42922
  Ic as dd,
42867
42923
  Ru as de,
42868
42924
  Hs as df,
42869
42925
  ku as dg,
42870
- LS as dh,
42871
- HI as di,
42926
+ L1 as dh,
42927
+ GI as di,
42872
42928
  kr as dj,
42873
42929
  uo as dk,
42874
42930
  pg as dl,
42875
42931
  w0 as dm,
42876
42932
  q as dn,
42877
- GI as dp,
42878
- qI as dq,
42879
- XI as dr,
42880
- QI as ds,
42881
- YI as dt,
42882
- KI as du,
42883
- ZI as dv,
42884
- JI as dw,
42885
- eD as dx,
42886
- tD as dy,
42887
- iD as dz,
42888
- BD as e,
42933
+ qI as dp,
42934
+ XI as dq,
42935
+ QI as dr,
42936
+ YI as ds,
42937
+ KI as dt,
42938
+ ZI as du,
42939
+ JI as dv,
42940
+ eD as dw,
42941
+ tD as dx,
42942
+ iD as dy,
42943
+ sD as dz,
42944
+ FD as e,
42889
42945
  qg as e$,
42890
42946
  Go as e0,
42891
42947
  jv as e1,
@@ -42901,7 +42957,7 @@ export {
42901
42957
  Ja as eB,
42902
42958
  eh as eC,
42903
42959
  Mx as eD,
42904
- RI as eE,
42960
+ kI as eE,
42905
42961
  th as eF,
42906
42962
  Hv as eG,
42907
42963
  xi as eH,
@@ -42927,9 +42983,9 @@ export {
42927
42983
  $O as ea,
42928
42984
  Vy as eb,
42929
42985
  vg as ec,
42930
- mD as ed,
42986
+ gD as ed,
42931
42987
  H0 as ee,
42932
- gD as ef,
42988
+ _D as ef,
42933
42989
  $C as eg,
42934
42990
  WC as eh,
42935
42991
  G0 as ei,
@@ -42938,7 +42994,7 @@ export {
42938
42994
  I as el,
42939
42995
  gr as em,
42940
42996
  Yv as en,
42941
- TI as eo,
42997
+ AI as eo,
42942
42998
  $u as ep,
42943
42999
  ei as eq,
42944
43000
  Pi as er,
@@ -42950,7 +43006,7 @@ export {
42950
43006
  mo as ex,
42951
43007
  eu as ey,
42952
43008
  qu as ez,
42953
- jD as f,
43009
+ BD as f,
42954
43010
  et as f$,
42955
43011
  hw as f0,
42956
43012
  Ku as f1,
@@ -43006,7 +43062,7 @@ export {
43006
43062
  vi as fo,
43007
43063
  ge as fp,
43008
43064
  Mw as fq,
43009
- kI as fr,
43065
+ TI as fr,
43010
43066
  ma as fs,
43011
43067
  Ew as ft,
43012
43068
  e_ as fu,
@@ -43015,7 +43071,7 @@ export {
43015
43071
  Ge as fx,
43016
43072
  fh as fy,
43017
43073
  hl as fz,
43018
- ID as g,
43074
+ DD as g,
43019
43075
  yl as g$,
43020
43076
  Oe as g0,
43021
43077
  Xe as g1,
@@ -43080,7 +43136,7 @@ export {
43080
43136
  lw as gx,
43081
43137
  tr as gy,
43082
43138
  _c as gz,
43083
- cL as h,
43139
+ hL as h,
43084
43140
  hh as h$,
43085
43141
  ws as h0,
43086
43142
  Vu as h1,
@@ -43145,7 +43201,7 @@ export {
43145
43201
  ns as hx,
43146
43202
  Jg as hy,
43147
43203
  Sf as hz,
43148
- JS as i,
43204
+ J1 as i,
43149
43205
  hT as i0,
43150
43206
  Zi as i1,
43151
43207
  X0 as i2,
@@ -43154,19 +43210,19 @@ export {
43154
43210
  ZC as i5,
43155
43211
  J_ as j,
43156
43212
  V as k,
43157
- mI as l,
43213
+ gI as l,
43158
43214
  Ws as m,
43159
43215
  Tv as n,
43160
43216
  CM as o,
43161
43217
  ur as p,
43162
43218
  Cw as q,
43163
- MD as r,
43219
+ RD as r,
43164
43220
  om as s,
43165
- ND as t,
43221
+ $D as t,
43166
43222
  eC as u,
43167
43223
  Ut as v,
43168
- aD as w,
43169
- VS as x,
43170
- rD as y,
43224
+ lD as w,
43225
+ V1 as x,
43226
+ aD as y,
43171
43227
  We as z
43172
43228
  };