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