@needle-tools/engine 4.12.1 → 4.12.2
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/CHANGELOG.md +6 -1
- package/dist/{needle-engine.bundle-BPNuWGjI.min.js → needle-engine.bundle-DrIUla7B.min.js} +92 -93
- package/dist/{needle-engine.bundle-C4PyE3dQ.js → needle-engine.bundle-soFsvDTp.js} +436 -435
- package/dist/{needle-engine.bundle-BV9DUnnS.umd.cjs → needle-engine.bundle-zpJK5gi0.umd.cjs} +46 -47
- package/dist/needle-engine.d.ts +3 -1
- 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/debug/debug_overlay.js +5 -1
- package/lib/engine/debug/debug_overlay.js.map +1 -1
- package/lib/engine/webcomponents/buttons.d.ts +3 -1
- package/lib/engine/webcomponents/buttons.js +2 -2
- package/lib/engine/webcomponents/buttons.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.js +21 -16
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +7 -5
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.js +1 -1
- package/package.json +1 -1
- package/src/engine/debug/debug_overlay.ts +5 -1
- package/src/engine/webcomponents/buttons.ts +2 -2
- package/src/engine/webcomponents/needle-button.ts +23 -19
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +10 -9
- package/src/engine/webcomponents/needle-engine.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Vector2 as ee, Vector3 as y, Vector4 as me, Quaternion as V, PlaneGeometry as Jn, WebGLRenderer as Ar, PerspectiveCamera as ce, OrthographicCamera as ou, Scene as ki, Mesh as H, Texture as Fe, Uniform$1 as Hi, Color as se, ShaderMaterial as Gn, Box3 as Ci, ShadowMaterial as Kb, Euler as lt, MeshStandardMaterial as pt, Box3Helper as Wx, GridHelper as Nm, Object3D as M, Material as be, Matrix3 as Zb, Matrix4 as J, Layers as bo, Ray as Rs, MathUtils as Ps, AxesHelper as Pi, MeshBasicMaterial as xe, DoubleSide as Mi, BufferGeometry as
|
|
1
|
+
import { Vector2 as ee, Vector3 as y, Vector4 as me, Quaternion as V, PlaneGeometry as Jn, WebGLRenderer as Ar, PerspectiveCamera as ce, OrthographicCamera as ou, Scene as ki, Mesh as H, Texture as Fe, Uniform$1 as Hi, Color as se, ShaderMaterial as Gn, Box3 as Ci, ShadowMaterial as Kb, Euler as lt, MeshStandardMaterial as pt, Box3Helper as Wx, GridHelper as Nm, Object3D as M, Material as be, Matrix3 as Zb, Matrix4 as J, Layers as bo, Ray as Rs, MathUtils as Ps, AxesHelper as Pi, MeshBasicMaterial as xe, DoubleSide as Mi, BufferGeometry as yn, Group as Os, CylinderGeometry as Jb, SphereGeometry as ru, BoxGeometry as Ea, SpriteMaterial as Vx, Sprite as Hx, Shape as Gx, ExtrudeGeometry as qx, Fog as e0, DirectionalLight as jp, PointLight as $m, EdgesGeometry as Xx, LineSegments as t0, LineBasicMaterial as Wm, Line as Ta, BufferAttribute as mt, Raycaster as au, Sphere as lu, ArrayCamera as Qx, Plane as wr, SkinnedMesh as fo, InterleavedBufferAttribute as i0, Skeleton as Yx, Bone as Kx, WebGLCubeRenderTarget as Zx, CubeCamera as Jx, AnimationClip as Oi, FileLoader as Vm, TextureLoader as Sc, PropertyBinding as Aa, KeyframeTrack as eS, LinearSRGBColorSpace as Es, ShaderChunk as Kt, UniformsLib as tS, DataTexture as Hm, RGBAFormat as cu, EquirectangularReflectionMapping as Wn, SRGBColorSpace as Ts, Clock as iS, NeutralToneMapping as Ia, AgXToneMapping as hu, ACESFilmicToneMapping as du, NoToneMapping as vd, PCFSoftShadowMap$1 as nS, BasicNodeLibrary as sS, WebGLRenderTarget as qn, DepthTexture as n0, NearestFilter as wd, LoopRepeat as oS, LoopOnce as Bp, AnimationMixer as Gm, CompressedTexture as rS, FrontSide as vo, Camera as aS, Frustum as Ry, AudioListener as lS, PositionalAudio as cS, AudioLoader as Fp, EventDispatcher as qm, BackSide as uu, MeshDepthMaterial as hS, CustomBlending as dS, MaxEquation as uS, AlwaysStencilFunc as fS, GreaterEqualStencilFunc as pS, NotEqualStencilFunc as mS, GreaterStencilFunc as gS, LessEqualStencilFunc as yS, EqualStencilFunc as _S, LessStencilFunc as bS, NeverStencilFunc as Ey, InvertStencilOp as vS, DecrementWrapStencilOp as wS, IncrementWrapStencilOp as xS, DecrementStencilOp as SS, IncrementStencilOp as CS, ReplaceStencilOp as PS, ZeroStencilOp as OS, KeepStencilOp as kS, CubeTexture as s0, AmbientLight as MS, HemisphereLight as RS, RawShaderMaterial as o0, GLSL3 as ES, AlwaysDepth as TS, GreaterEqualDepth as AS, GreaterDepth as IS, LessEqualDepth as LS, LessDepth as DS, NotEqualDepth as jS, EqualDepth as BS, BatchedMesh as Ty, MeshPhysicalMaterial as Up, LinearFilter as xd, UnsignedByteType as FS, RingGeometry as US, Line3 as zS, AdditiveBlending as r0, BoxHelper as NS, SpotLight as $S, DirectionalLightHelper as WS, CameraHelper as VS, LOD as HS, Triangle as GS, NormalBlending as qS, ReinhardToneMapping as Xm, LinearToneMapping as Qm, HalfFloatType as wf, VideoTexture as XS, CubeUVReflectionMapping as a0, CompressedCubeTexture as QS, EquirectangularRefractionMapping as YS, CatmullRomCurve3 as KS, VectorKeyframeTrack as ZS, QuaternionKeyframeTrack as JS, Audio as e1, ShaderLib as Sd, UniformsUtils as l0, MirroredRepeatWrapping as Ay, MeshNormalMaterial as t1, AudioContext as i1, PMREMGenerator$1 as n1 } from "./three-BCCkyCA5.js";
|
|
2
2
|
import { createLoaders as Ym, getRaycastMesh as c0, LODsManager as Go, NEEDLE_progressive as We, addDracoAndKTX2Loaders as s1, configureLoader as o1, setKTX2TranscoderLocation as r1, setDracoDecoderLocation as a1 } from "./gltf-progressive-DPunMlEM.js";
|
|
3
3
|
import { GroundedSkybox as La, Font as l1, TextGeometry as c1, FontLoader as h1, GLTFLoader as As, TransformControlsGizmo as h0, EXRLoader as Km, RGBELoader as d0, Stats as d1, nodeFrame as Iy, OrbitControls as u0, PositionalAudioHelper as u1, HorizontalBlurShader as f1, VerticalBlurShader as p1, GLTFExporter as f0, strToU8 as p0, zipSync as m1, XRControllerModelFactory as g1, XRHandMeshModel as y1, Line2 as _1, LineGeometry as b1, LineMaterial as v1, TransformControls as w1, InteractiveGroup as x1, HTMLMesh as S1, VertexNormalsHelper as C1, OBJLoader as Zm, FBXLoader as m0, mergeVertices as P1 } from "./three-examples-D4rE49Ui.js";
|
|
4
4
|
import { fetchProfile as O1, MotionController as k1, $70d766613f57b014$export$2e2bcd8739ae039 as Ly, ByteBuffer as M1, v5 as Dy, md5 as jy, SIZE_PREFIX_LENGTH as g0, Builder as Jm, createNoise4D as R1, Matrix4 as xf, BatchedParticleRenderer as E1, ParticleSystem as T1, RenderMode as gs, ConstantColor as A1, Vector4 as I1, ConstantValue as L1, TrailParticle as By, WorkerBase as D1, MeshBVH as j1 } from "./vendor-DMZcbVO1.js";
|
|
@@ -580,8 +580,9 @@ function tC(s) {
|
|
|
580
580
|
}
|
|
581
581
|
function cr(s, e, t, i) {
|
|
582
582
|
if (tg) return;
|
|
583
|
-
const
|
|
584
|
-
|
|
583
|
+
const n = pe.Current;
|
|
584
|
+
let o = n?.domElement ?? document.querySelector("needle-engine");
|
|
585
|
+
if (n.isInAR && (o = n.arOverlayElement), !!o) {
|
|
585
586
|
if (Array.isArray(e)) {
|
|
586
587
|
let r = "";
|
|
587
588
|
for (let a = 0; a < e.length; a++) {
|
|
@@ -920,7 +921,7 @@ function JL(s, e, t) {
|
|
|
920
921
|
return s.lerp(e, t).normalize().multiplyScalar(o);
|
|
921
922
|
}
|
|
922
923
|
const Mf = new V(), R0 = new V().setFromAxisAngle(new y(0, 1, 0), Math.PI);
|
|
923
|
-
function
|
|
924
|
+
function eD(s, e) {
|
|
924
925
|
s.lookAt(e), s.quaternion.multiply(R0);
|
|
925
926
|
}
|
|
926
927
|
function gu(s, e, t = !0, i = !1) {
|
|
@@ -937,7 +938,7 @@ function gu(s, e, t = !0, i = !1) {
|
|
|
937
938
|
}
|
|
938
939
|
t && (n.y = o.y), s.lookAt(n), Number.isNaN(s.quaternion.x) && s.quaternion.copy(Mf);
|
|
939
940
|
}
|
|
940
|
-
function
|
|
941
|
+
function tD(s, e, t, i = 1) {
|
|
941
942
|
if (t) {
|
|
942
943
|
const n = z(0, 0, 0), o = e.x / window.innerWidth * 2 - 1, r = -(e.y / window.innerHeight) * 2 + 1;
|
|
943
944
|
n.set(
|
|
@@ -1012,7 +1013,7 @@ function Pc(s, e) {
|
|
|
1012
1013
|
s.parent.getWorldScale(t), s.scale.copy(e), s.scale.divide(t);
|
|
1013
1014
|
}
|
|
1014
1015
|
const bC = new y(), Qy = new V();
|
|
1015
|
-
function
|
|
1016
|
+
function iD(s) {
|
|
1016
1017
|
return ve(s, Qy), bC.set(0, 0, 1).applyQuaternion(Qy);
|
|
1017
1018
|
}
|
|
1018
1019
|
const vC = new Yi(() => new y(), 100), Yy = new V();
|
|
@@ -1047,7 +1048,7 @@ function Vp(s, e = !0) {
|
|
|
1047
1048
|
console.log(i + t.name + " <" + t.type + ">");
|
|
1048
1049
|
}));
|
|
1049
1050
|
}
|
|
1050
|
-
function
|
|
1051
|
+
function nD(s) {
|
|
1051
1052
|
let e = s?.name || "";
|
|
1052
1053
|
if (!s) return e;
|
|
1053
1054
|
let t = s.parent;
|
|
@@ -1170,7 +1171,7 @@ class xr {
|
|
|
1170
1171
|
function PC(s) {
|
|
1171
1172
|
return xr.copyTexture(s);
|
|
1172
1173
|
}
|
|
1173
|
-
function
|
|
1174
|
+
function sD(s, e = !1) {
|
|
1174
1175
|
return xr.textureToCanvas(s, e);
|
|
1175
1176
|
}
|
|
1176
1177
|
function OC(s) {
|
|
@@ -1544,10 +1545,10 @@ function L() {
|
|
|
1544
1545
|
let s = Qi();
|
|
1545
1546
|
return s || (s = window.location.hostname.endsWith(".local-credentialless.webcontainer.io")), Ef = s, s;
|
|
1546
1547
|
}
|
|
1547
|
-
function
|
|
1548
|
+
function oD(s) {
|
|
1548
1549
|
Hp = s;
|
|
1549
1550
|
}
|
|
1550
|
-
let ri, qo = null,
|
|
1551
|
+
let ri, qo = null, zn = null, Ol = !1, Jy = null;
|
|
1551
1552
|
const j0 = "terminal", DC = x("console");
|
|
1552
1553
|
DC && B0();
|
|
1553
1554
|
const jC = /* @__PURE__ */ Symbol("consoleParent");
|
|
@@ -1570,10 +1571,10 @@ function UC() {
|
|
|
1570
1571
|
e_ = s, e && zC();
|
|
1571
1572
|
}
|
|
1572
1573
|
function zC() {
|
|
1573
|
-
B0(),
|
|
1574
|
+
B0(), zn && (zn.setAttribute("error", "true"), zn.innerText = "🤬");
|
|
1574
1575
|
}
|
|
1575
1576
|
function NC() {
|
|
1576
|
-
|
|
1577
|
+
zn && (zn.removeAttribute("error"), zn.innerText = j0);
|
|
1577
1578
|
}
|
|
1578
1579
|
function $C(s = !1) {
|
|
1579
1580
|
if (ri !== void 0 || Ol) return;
|
|
@@ -1589,8 +1590,8 @@ function $C(s = !1) {
|
|
|
1589
1590
|
pluginOrder: ["default", "needle-console"]
|
|
1590
1591
|
});
|
|
1591
1592
|
const t = globalThis["needle:codegen_files"];
|
|
1592
|
-
if (t && t.length > 0 && ri.addPlugin(WC()), ri.addPlugin(qC()), ri.addPlugin(XC()), qo = oP(), qo && (qo[jC] = qo.parentElement, qo.style.position = "absolute", qo.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), ri.setSwitchPosition(20, 30),
|
|
1593
|
-
|
|
1593
|
+
if (t && t.length > 0 && ri.addPlugin(WC()), ri.addPlugin(qC()), ri.addPlugin(XC()), qo = oP(), qo && (qo[jC] = qo.parentElement, qo.style.position = "absolute", qo.style.zIndex = Number.MAX_SAFE_INTEGER.toString()), ri.setSwitchPosition(20, 30), zn = sP(), zn) {
|
|
1594
|
+
zn.innerText = j0, zn.addEventListener("click", NC);
|
|
1594
1595
|
const i = document.createElement("style"), n = 40;
|
|
1595
1596
|
i.innerHTML = `
|
|
1596
1597
|
#__vconsole .vc-switch {
|
|
@@ -1699,7 +1700,7 @@ function WC() {
|
|
|
1699
1700
|
}), s;
|
|
1700
1701
|
}
|
|
1701
1702
|
const Gp = "padding: 10px; font-family: monospace;", t_ = "margin-bottom: 10px;", Xo = "margin-bottom: 10px; margin-top: 15px;", VC = "width: 100%; border-collapse: collapse; border: 1px solid rgba(0,0,0,0.1); table-layout: fixed;", F0 = "border: 1px solid rgba(0,0,0,0.1); padding: 5px;", HC = F0, GC = F0 + " word-break: break-all;";
|
|
1702
|
-
function
|
|
1703
|
+
function Ln(s, e = !1) {
|
|
1703
1704
|
e && s.sort((i, n) => (n.value ? 1 : 0) - (i.value ? 1 : 0));
|
|
1704
1705
|
let t = `<table style='${VC}'>`;
|
|
1705
1706
|
t += "<tbody>";
|
|
@@ -1723,7 +1724,7 @@ function qC() {
|
|
|
1723
1724
|
return s.on("renderTab", function(e) {
|
|
1724
1725
|
let t = `<div style='${Gp}'>`;
|
|
1725
1726
|
const i = nP();
|
|
1726
|
-
t += `<h3 style='${t_}'>Device: ${i}</h3>`, t +=
|
|
1727
|
+
t += `<h3 style='${t_}'>Device: ${i}</h3>`, t += Ln([
|
|
1727
1728
|
{ label: "💻 Desktop", value: j.isDesktop() },
|
|
1728
1729
|
{ label: "📱 Mobile Device", value: j.isMobileDevice() },
|
|
1729
1730
|
{ label: "🍎 iOS", value: j.isiOS() },
|
|
@@ -1742,7 +1743,7 @@ function qC() {
|
|
|
1742
1743
|
const r = j.getChromeVersion();
|
|
1743
1744
|
r && n.push({ label: "🌐 Chrome Version", value: r });
|
|
1744
1745
|
const a = j.getSafariVersion();
|
|
1745
|
-
a && n.push({ label: "🧭 Safari Version", value: a }), n.length > 0 && (t +=
|
|
1746
|
+
a && n.push({ label: "🧭 Safari Version", value: a }), n.length > 0 && (t += Ln(n, !1)), t += "</div>", t += `<div style='${Gp} margin-top: 20px;'>`, t += `<h3 style='${t_}'>User Agent Info</h3>`;
|
|
1746
1747
|
const l = [
|
|
1747
1748
|
{ label: "User Agent", value: navigator.userAgent },
|
|
1748
1749
|
{ label: "Platform", value: navigator.platform },
|
|
@@ -1753,7 +1754,7 @@ function qC() {
|
|
|
1753
1754
|
{ label: "WebGPU", value: "gpu" in navigator ? "✅" : "❌" },
|
|
1754
1755
|
{ label: "WebGL 2", value: U0() }
|
|
1755
1756
|
];
|
|
1756
|
-
t +=
|
|
1757
|
+
t += Ln(l, !1), t += "</div>", e(t);
|
|
1757
1758
|
}), s;
|
|
1758
1759
|
}
|
|
1759
1760
|
function XC() {
|
|
@@ -1762,19 +1763,19 @@ function XC() {
|
|
|
1762
1763
|
return s.on("renderTab", async function(e) {
|
|
1763
1764
|
let t = `<div style='${Gp}'>`;
|
|
1764
1765
|
const i = QC();
|
|
1765
|
-
i.length > 0 && (t += `<h3 style='${Xo}'>General GPU Info</h3>`, t +=
|
|
1766
|
+
i.length > 0 && (t += `<h3 style='${Xo}'>General GPU Info</h3>`, t += Ln(i, !1));
|
|
1766
1767
|
const n = KC();
|
|
1767
|
-
n.length > 0 && (t += `<h3 style='${Xo}'>WebGL</h3>`, t +=
|
|
1768
|
+
n.length > 0 && (t += `<h3 style='${Xo}'>WebGL</h3>`, t += Ln(n, !1));
|
|
1768
1769
|
const o = ZC();
|
|
1769
|
-
o.length > 0 && (t += `<h3 style='${Xo}'>WebGL 2 Features</h3>`, t +=
|
|
1770
|
+
o.length > 0 && (t += `<h3 style='${Xo}'>WebGL 2 Features</h3>`, t += Ln(o, !1));
|
|
1770
1771
|
const r = JC();
|
|
1771
|
-
r.length > 0 && (t += `<h3 style='${Xo}'>WebGL Limits</h3>`, t +=
|
|
1772
|
+
r.length > 0 && (t += `<h3 style='${Xo}'>WebGL Limits</h3>`, t += Ln(r, !1));
|
|
1772
1773
|
const a = eP();
|
|
1773
|
-
a.length > 0 && (t += `<h3 style='${Xo}'>Texture Formats</h3>`, t +=
|
|
1774
|
+
a.length > 0 && (t += `<h3 style='${Xo}'>Texture Formats</h3>`, t += Ln(a, !1));
|
|
1774
1775
|
const l = await tP();
|
|
1775
|
-
if (l.length > 0 && (t += `<h3 style='${Xo}'>WebGPU</h3>`, t +=
|
|
1776
|
+
if (l.length > 0 && (t += `<h3 style='${Xo}'>WebGPU</h3>`, t += Ln(l, !1)), j.isSafari()) {
|
|
1776
1777
|
const c = iP();
|
|
1777
|
-
c.length > 0 && (t += `<h3 style='${Xo}'>Safari GPU Info</h3>`, t +=
|
|
1778
|
+
c.length > 0 && (t += `<h3 style='${Xo}'>Safari GPU Info</h3>`, t += Ln(c, !1));
|
|
1778
1779
|
}
|
|
1779
1780
|
t += "</div>", e(t);
|
|
1780
1781
|
}), s;
|
|
@@ -1912,11 +1913,11 @@ Co('if(!globalThis["NEEDLE_ENGINE_VERSION"]) globalThis["NEEDLE_ENGINE_VERSION"]
|
|
|
1912
1913
|
Co('if(!globalThis["NEEDLE_ENGINE_GENERATOR"]) globalThis["NEEDLE_ENGINE_GENERATOR"] = "unknown";');
|
|
1913
1914
|
Co('if(!globalThis["NEEDLE_PROJECT_BUILD_TIME"]) globalThis["NEEDLE_PROJECT_BUILD_TIME"] = "unknown";');
|
|
1914
1915
|
Co('if(!globalThis["NEEDLE_PUBLIC_KEY"]) globalThis["NEEDLE_PUBLIC_KEY"] = "unknown";');
|
|
1915
|
-
Co('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.12.
|
|
1916
|
+
Co('globalThis["__NEEDLE_ENGINE_VERSION__"] = "4.12.2";');
|
|
1916
1917
|
Co('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
|
|
1917
|
-
Co('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "
|
|
1918
|
+
Co('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Tue Feb 03 2026 12:48:47 GMT+0000 (Coordinated Universal Time)";');
|
|
1918
1919
|
Co('globalThis["__NEEDLE_PUBLIC_KEY__"] = "' + NEEDLE_PUBLIC_KEY + '";');
|
|
1919
|
-
const Xi = "4.12.
|
|
1920
|
+
const Xi = "4.12.2", Oc = "undefined", Md = "Tue Feb 03 2026 12:48:47 GMT+0000 (Coordinated Universal Time)";
|
|
1920
1921
|
N0 && console.log(`Engine version: ${Xi} (generator: ${Oc})
|
|
1921
1922
|
Project built at ${Md}`);
|
|
1922
1923
|
const hr = NEEDLE_PUBLIC_KEY, mo = "needle_isActiveInHierarchy", oa = "builtin_components", id = "needle_editor_guid";
|
|
@@ -1979,7 +1980,7 @@ function sg(s, e, t, i) {
|
|
|
1979
1980
|
}
|
|
1980
1981
|
}));
|
|
1981
1982
|
}
|
|
1982
|
-
function
|
|
1983
|
+
function rD(s, e, t) {
|
|
1983
1984
|
const i = og(s, e);
|
|
1984
1985
|
if (i)
|
|
1985
1986
|
for (let n = i.length - 1; n >= 0; n--) {
|
|
@@ -2033,7 +2034,7 @@ const ja = [];
|
|
|
2033
2034
|
function rg(s) {
|
|
2034
2035
|
ja.indexOf(s) === -1 && ja.push(s);
|
|
2035
2036
|
}
|
|
2036
|
-
function
|
|
2037
|
+
function aD(s) {
|
|
2037
2038
|
const e = ja.indexOf(s);
|
|
2038
2039
|
e !== -1 && ja.splice(e, 1);
|
|
2039
2040
|
}
|
|
@@ -2041,7 +2042,7 @@ const Ba = [];
|
|
|
2041
2042
|
function G0(s) {
|
|
2042
2043
|
Ba.indexOf(s) === -1 && Ba.push(s);
|
|
2043
2044
|
}
|
|
2044
|
-
function
|
|
2045
|
+
function lD(s) {
|
|
2045
2046
|
const e = Ba.indexOf(s);
|
|
2046
2047
|
e !== -1 && Ba.splice(e, 1);
|
|
2047
2048
|
}
|
|
@@ -2160,7 +2161,7 @@ class wh extends KeyboardEvent {
|
|
|
2160
2161
|
super.stopImmediatePropagation(), this.source?.stopImmediatePropagation();
|
|
2161
2162
|
}
|
|
2162
2163
|
}
|
|
2163
|
-
class
|
|
2164
|
+
class cD {
|
|
2164
2165
|
key;
|
|
2165
2166
|
keyType;
|
|
2166
2167
|
source;
|
|
@@ -3591,7 +3592,7 @@ function Po(s, e) {
|
|
|
3591
3592
|
}
|
|
3592
3593
|
}
|
|
3593
3594
|
}
|
|
3594
|
-
function
|
|
3595
|
+
function Mn(s, e) {
|
|
3595
3596
|
e === ue.ContextCreated && Qp.delete(s), X0(s, e);
|
|
3596
3597
|
}
|
|
3597
3598
|
function X0(s, e) {
|
|
@@ -3642,10 +3643,10 @@ function bP(s) {
|
|
|
3642
3643
|
return typeof s.guid == "function" ? s.guid() : null;
|
|
3643
3644
|
}
|
|
3644
3645
|
let lg;
|
|
3645
|
-
function
|
|
3646
|
+
function hD() {
|
|
3646
3647
|
return lg;
|
|
3647
3648
|
}
|
|
3648
|
-
function
|
|
3649
|
+
function dD(s) {
|
|
3649
3650
|
lg = s;
|
|
3650
3651
|
}
|
|
3651
3652
|
function vP(s, e) {
|
|
@@ -3734,12 +3735,12 @@ class SP extends xP {
|
|
|
3734
3735
|
}
|
|
3735
3736
|
}
|
|
3736
3737
|
}
|
|
3737
|
-
var
|
|
3738
|
+
var Dn = /* @__PURE__ */ ((s) => (s[s.OnConnection = 0] = "OnConnection", s[s.OnRoomJoin = 1] = "OnRoomJoin", s[s.Queued = 2] = "Queued", s[s.Immediate = 3] = "Immediate", s))(Dn || {});
|
|
3738
3739
|
const d_ = "https://urls.needle.tools/default-networking-backend/index";
|
|
3739
3740
|
let ji = "wss://networking.needle.tools/socket";
|
|
3740
3741
|
const gi = !!x("debugnet"), Ch = !!(gi || x("debugowner")), Ph = x("debugnetbin");
|
|
3741
3742
|
var CP = /* @__PURE__ */ ((s) => (s.ConnectionInfo = "connection-start-info", s))(CP || {}), ie = /* @__PURE__ */ ((s) => (s.Join = "join-room", s.Leave = "leave-room", s.JoinedRoom = "joined-room", s.LeftRoom = "left-room", s.UserJoinedRoom = "user-joined-room", s.UserLeftRoom = "user-left-room", s.RoomStateSent = "room-state-sent", s))(ie || {});
|
|
3742
|
-
class
|
|
3743
|
+
class uD {
|
|
3743
3744
|
room;
|
|
3744
3745
|
// room name
|
|
3745
3746
|
viewId;
|
|
@@ -3747,11 +3748,11 @@ class u2 {
|
|
|
3747
3748
|
inRoom;
|
|
3748
3749
|
// connection ids
|
|
3749
3750
|
}
|
|
3750
|
-
class
|
|
3751
|
+
class fD {
|
|
3751
3752
|
room;
|
|
3752
3753
|
// room name
|
|
3753
3754
|
}
|
|
3754
|
-
class
|
|
3755
|
+
class pD {
|
|
3755
3756
|
userId;
|
|
3756
3757
|
}
|
|
3757
3758
|
var PP = /* @__PURE__ */ ((s) => (s.RequestHasOwner = "request-has-owner", s.ResponseHasOwner = "response-has-owner", s.RequestIsOwner = "request-is-owner", s.ResponseIsOwner = "response-is-owner", s.RequestOwnership = "request-ownership", s.GainedOwnership = "gained-ownership", s.RemoveOwnership = "remove-ownership", s.LostOwnership = "lost-ownership", s.GainedOwnershipBroadcast = "gained-ownership-broadcast", s.LostOwnershipBroadcast = "lost-ownership-broadcast", s))(PP || {});
|
|
@@ -3912,15 +3913,15 @@ class OP {
|
|
|
3912
3913
|
}
|
|
3913
3914
|
/** Joins a networked room. If you don't want to manage a connection yourself you can use a `SyncedRoom` component as well */
|
|
3914
3915
|
joinRoom(e, t = !1) {
|
|
3915
|
-
return e ? e.length > 1024 ? (console.error('Room name too long, can not join: "' + e + '". Max length is 1024 characters.'), !1) : (this.isInRoom && this.currentRoomName !== e && console.warn("Needle Engine is already connected to a networking room. Connecting to multiple rooms is not supported"), this.connect(), gi && console.log("join: " + e), this.send("join-room", { room: e, viewOnly: t },
|
|
3916
|
+
return e ? e.length > 1024 ? (console.error('Room name too long, can not join: "' + e + '". Max length is 1024 characters.'), !1) : (this.isInRoom && this.currentRoomName !== e && console.warn("Needle Engine is already connected to a networking room. Connecting to multiple rooms is not supported"), this.connect(), gi && console.log("join: " + e), this.send("join-room", { room: e, viewOnly: t }, Dn.OnConnection), !0) : (console.error('Missing room name, can not join: "' + e + '"'), !1);
|
|
3916
3917
|
}
|
|
3917
3918
|
/** Use to leave a room that you are currently connected to (use `leaveRoom()` to disconnect from the currently active room but you can also specify a room name) */
|
|
3918
3919
|
leaveRoom(e = null) {
|
|
3919
3920
|
return e || (e = this.currentRoomName), e ? (this.send("leave-room", { room: e }), !0) : (console.error('Missing room name, can not join: "' + e + '"'), !1);
|
|
3920
3921
|
}
|
|
3921
3922
|
/** Send a message to the networking backend - it will broadcasted to all connected users in the same room by default */
|
|
3922
|
-
send(e, t = null, i =
|
|
3923
|
-
if (t === null && (t = {}), i ===
|
|
3923
|
+
send(e, t = null, i = Dn.Queued) {
|
|
3924
|
+
if (t === null && (t = {}), i === Dn.Queued) {
|
|
3924
3925
|
this._defaultMessagesBuffer.push({ key: e, value: t });
|
|
3925
3926
|
return;
|
|
3926
3927
|
}
|
|
@@ -3947,7 +3948,7 @@ class OP {
|
|
|
3947
3948
|
for (const i in this._defaultMessagesBuffer) {
|
|
3948
3949
|
const n = this._defaultMessagesBuffer[i];
|
|
3949
3950
|
if (e <= 1) {
|
|
3950
|
-
this.sendWithWebsocket(n.key, n.value,
|
|
3951
|
+
this.sendWithWebsocket(n.key, n.value, Dn.Immediate);
|
|
3951
3952
|
break;
|
|
3952
3953
|
}
|
|
3953
3954
|
const o = this.toMessage(n.key, n.value);
|
|
@@ -4070,7 +4071,7 @@ class OP {
|
|
|
4070
4071
|
` + ji);
|
|
4071
4072
|
const o = await import("./vendor-DMZcbVO1.js").then((c) => c.index), r = o.default?.WebsocketBuilder ?? o.WebsocketBuilder, a = o.default?.ExponentialBackoff ?? o.ExponentialBackoff, l = new r(ji).withMaxRetries(10).withBackoff(new a(2e3, 4)).onOpen(() => {
|
|
4072
4073
|
this._connectingToWebsocketPromise = null, this._ws = l, this.connected = !0, L() || gi ? console.log(`Connected to networking backend
|
|
4073
|
-
` + ji) : console.debug("Connected to networking backend", ji), n(!0), this.onSendQueued(
|
|
4074
|
+
` + ji) : console.debug("Connected to networking backend", ji), n(!0), this.onSendQueued(Dn.OnConnection);
|
|
4074
4075
|
}).onClose((c) => {
|
|
4075
4076
|
this._connectingToWebsocketPromise = null, this.connected = !1, this._isInRoom = !1, n(!1);
|
|
4076
4077
|
let h = "Websocket connection closed...";
|
|
@@ -4138,7 +4139,7 @@ class OP {
|
|
|
4138
4139
|
a.searchParams.has("room") && a.searchParams.delete("room"), a.searchParams.set("view", this._currentRoomViewId), console.debug(`Room view id: ${this._currentRoomViewId}
|
|
4139
4140
|
${a.href}`);
|
|
4140
4141
|
}
|
|
4141
|
-
this.onSendQueued(
|
|
4142
|
+
this.onSendQueued(Dn.OnRoomJoin), li.sendEvent(this.context, "networking", {
|
|
4142
4143
|
event: "joined_room",
|
|
4143
4144
|
room: this._currentRoomName
|
|
4144
4145
|
});
|
|
@@ -4190,7 +4191,7 @@ ${a.href}`);
|
|
|
4190
4191
|
data: t
|
|
4191
4192
|
};
|
|
4192
4193
|
}
|
|
4193
|
-
sendWithWebsocket(e, t, i =
|
|
4194
|
+
sendWithWebsocket(e, t, i = Dn.OnRoomJoin) {
|
|
4194
4195
|
if (!this._ws) {
|
|
4195
4196
|
const o = this._waitingForSocket[i] || [];
|
|
4196
4197
|
o.push(() => this.sendWithWebsocket(e, t, i)), this._waitingForSocket[i] = o;
|
|
@@ -4368,7 +4369,7 @@ class Xa {
|
|
|
4368
4369
|
static createText(e, t) {
|
|
4369
4370
|
let i = null;
|
|
4370
4371
|
const n = t?.font || RP(t?.familyFamily || null);
|
|
4371
|
-
n instanceof l1 ? i = this.#t(e, n, t) : i == null && (i = new
|
|
4372
|
+
n instanceof l1 ? i = this.#t(e, n, t) : i == null && (i = new yn());
|
|
4372
4373
|
const o = t?.color || 16777215, r = new H(i, t?.material ?? new pt({ color: o }));
|
|
4373
4374
|
return this.applyDefaultObjectOptions(r, t), n instanceof Promise ? n.then((a) => {
|
|
4374
4375
|
r.geometry = this.#t(e, a, t), t?.onGeometry && t.onGeometry(r);
|
|
@@ -6404,7 +6405,7 @@ function ev() {
|
|
|
6404
6405
|
}
|
|
6405
6406
|
let jr = !0;
|
|
6406
6407
|
bu === 0 && (jr = !1);
|
|
6407
|
-
function
|
|
6408
|
+
function mD(s) {
|
|
6408
6409
|
jr = s;
|
|
6409
6410
|
}
|
|
6410
6411
|
function HP() {
|
|
@@ -6415,7 +6416,7 @@ function GP(s, e) {
|
|
|
6415
6416
|
s && (s[tv] = e, mr && console.warn("Set disposable", e, s));
|
|
6416
6417
|
}
|
|
6417
6418
|
const iv = /* @__PURE__ */ Symbol("disposed");
|
|
6418
|
-
function
|
|
6419
|
+
function gD(s) {
|
|
6419
6420
|
return s[iv] === !0;
|
|
6420
6421
|
}
|
|
6421
6422
|
function Te(s) {
|
|
@@ -6432,7 +6433,7 @@ function Te(s) {
|
|
|
6432
6433
|
Te(s.geometry), Te(s.material), Te(s.customDepthMaterial), Te(s.customDistanceMaterial), s.visible = !1;
|
|
6433
6434
|
else if (s instanceof M)
|
|
6434
6435
|
s.visible = !1;
|
|
6435
|
-
else if (s instanceof
|
|
6436
|
+
else if (s instanceof yn) {
|
|
6436
6437
|
Xr(s);
|
|
6437
6438
|
for (const e of Object.keys(s.attributes)) {
|
|
6438
6439
|
const t = s.attributes[e];
|
|
@@ -6461,7 +6462,7 @@ function Te(s) {
|
|
|
6461
6462
|
function Xr(s) {
|
|
6462
6463
|
s && ((mr || ev() || bu) && console.warn("🧨 FREE", s), s instanceof ImageBitmap || "dispose" in s && typeof s.dispose == "function" && s.dispose());
|
|
6463
6464
|
}
|
|
6464
|
-
function
|
|
6465
|
+
function yD(s) {
|
|
6465
6466
|
}
|
|
6466
6467
|
const qP = /* @__PURE__ */ new Set();
|
|
6467
6468
|
function nv(s, e, t = null, i) {
|
|
@@ -6472,7 +6473,7 @@ function nv(s, e, t = null, i) {
|
|
|
6472
6473
|
i.has(o) || t?.call(null, o) !== !1 && (i.add(o), e && nv(o, !0, t, i));
|
|
6473
6474
|
return i;
|
|
6474
6475
|
}
|
|
6475
|
-
function
|
|
6476
|
+
function _D(s) {
|
|
6476
6477
|
return s[Vl];
|
|
6477
6478
|
}
|
|
6478
6479
|
const mr = x("debugresourceusers") || x("debugmemory"), Ec = /* @__PURE__ */ Symbol("needle-resource-users"), Vl = /* @__PURE__ */ Symbol("needle-resource-users-count");
|
|
@@ -6551,7 +6552,7 @@ class dg {
|
|
|
6551
6552
|
}
|
|
6552
6553
|
}
|
|
6553
6554
|
const Tc = /* @__PURE__ */ Symbol("NEEDLE_NEED_UPDATE_INSTANCE"), sv = /* @__PURE__ */ Symbol("isUsingInstancing"), ov = /* @__PURE__ */ Symbol("instancingRenderer"), Hl = /* @__PURE__ */ Symbol("instancingAutoUpdateBounds");
|
|
6554
|
-
class
|
|
6555
|
+
class _n {
|
|
6555
6556
|
/** Is this object rendered using a InstancedMesh */
|
|
6556
6557
|
static isUsingInstancing(e) {
|
|
6557
6558
|
return e[sv] === !0;
|
|
@@ -6563,7 +6564,7 @@ class yn {
|
|
|
6563
6564
|
return e[ov] || null;
|
|
6564
6565
|
}
|
|
6565
6566
|
setAutoUpdateBounds(e, t) {
|
|
6566
|
-
const i =
|
|
6567
|
+
const i = _n.getRenderer(e);
|
|
6567
6568
|
i && (i[Hl] = t);
|
|
6568
6569
|
}
|
|
6569
6570
|
// TODO: change this so it does not set matrix world directly but some flag that is only used by instancing
|
|
@@ -6571,7 +6572,7 @@ class yn {
|
|
|
6571
6572
|
static markDirty(e, t = !0) {
|
|
6572
6573
|
if (e && (this.isUsingInstancing(e) && (e[Tc] = !0, e.matrixWorldNeedsUpdate = !0), t))
|
|
6573
6574
|
for (const i of e.children)
|
|
6574
|
-
|
|
6575
|
+
_n.markDirty(i, !0);
|
|
6575
6576
|
}
|
|
6576
6577
|
}
|
|
6577
6578
|
var Td;
|
|
@@ -6834,7 +6835,7 @@ function vu(s, e, t = !0, i) {
|
|
|
6834
6835
|
}
|
|
6835
6836
|
function cv(s, e, t) {
|
|
6836
6837
|
const i = new iO(s);
|
|
6837
|
-
t?.saveInRoom === !1 && (i.dontSave = !0), e.send("instance-destroyed", i,
|
|
6838
|
+
t?.saveInRoom === !1 && (i.dontSave = !0), e.send("instance-destroyed", i, Dn.Queued);
|
|
6838
6839
|
}
|
|
6839
6840
|
function nO(s) {
|
|
6840
6841
|
s.connection.beginListen("instance-destroyed", (e) => {
|
|
@@ -6843,7 +6844,7 @@ function nO(s) {
|
|
|
6843
6844
|
t && Ki(t);
|
|
6844
6845
|
});
|
|
6845
6846
|
}
|
|
6846
|
-
class
|
|
6847
|
+
class bD {
|
|
6847
6848
|
/** File to download */
|
|
6848
6849
|
filename;
|
|
6849
6850
|
/** Checksum to verify its the correct file */
|
|
@@ -7117,15 +7118,15 @@ class yO {
|
|
|
7117
7118
|
return null;
|
|
7118
7119
|
}
|
|
7119
7120
|
}
|
|
7120
|
-
const
|
|
7121
|
+
const jn = x("debugserializer");
|
|
7121
7122
|
class _O {
|
|
7122
7123
|
register(e, t) {
|
|
7123
7124
|
if (this.typeMap.has(e)) {
|
|
7124
7125
|
const i = this.typeMap.get(e);
|
|
7125
7126
|
if (i === t) return;
|
|
7126
|
-
|
|
7127
|
+
jn && console.warn("Type: " + e + " is already registered", t, i);
|
|
7127
7128
|
}
|
|
7128
|
-
|
|
7129
|
+
jn && console.log("Register type serializer", t.name, t, e), this.typeMap.set(e, t);
|
|
7129
7130
|
}
|
|
7130
7131
|
/** type > serializer map */
|
|
7131
7132
|
typeMap = /* @__PURE__ */ new Map();
|
|
@@ -7136,22 +7137,22 @@ class _O {
|
|
|
7136
7137
|
getSerializerForConstructor(e, t = 0) {
|
|
7137
7138
|
if (t > 20) return;
|
|
7138
7139
|
if (!e || !e.constructor) {
|
|
7139
|
-
|
|
7140
|
+
jn && console.log("invalid type");
|
|
7140
7141
|
return;
|
|
7141
7142
|
}
|
|
7142
7143
|
const i = e.name, n = this.getSerializer(e);
|
|
7143
7144
|
if (n !== void 0)
|
|
7144
|
-
return
|
|
7145
|
+
return jn && console.log("FOUND SERIALIZER", n?.name, e.name, e.constructor.name, "for type: " + i, n, e, this.typeMap), n;
|
|
7145
7146
|
const o = Object.getPrototypeOf(e);
|
|
7146
7147
|
if (o && o !== e) {
|
|
7147
7148
|
const r = this.getSerializerForConstructor(o, ++t);
|
|
7148
7149
|
if (r) {
|
|
7149
7150
|
const a = o.constructor || o.prototype;
|
|
7150
|
-
|
|
7151
|
+
jn && console.log("FOUND SERIALIZER(in constructor) " + a.constructor.name, a.name, a, r), this.register(a, r);
|
|
7151
7152
|
}
|
|
7152
7153
|
return r;
|
|
7153
7154
|
}
|
|
7154
|
-
|
|
7155
|
+
jn && console.warn("No serializer found for " + i, e, e.name, e.constructor.name);
|
|
7155
7156
|
}
|
|
7156
7157
|
}
|
|
7157
7158
|
const Ld = new _O();
|
|
@@ -7184,7 +7185,7 @@ class bO {
|
|
|
7184
7185
|
if (this.isDevMode && this.cache[e] === void 0) {
|
|
7185
7186
|
this.cache[e] = Object.keys(t);
|
|
7186
7187
|
const i = t;
|
|
7187
|
-
i.$serializedTypes && Object.keys(i.$serializedTypes) && this.cache[e].push(...Object.keys(i.$serializedTypes)),
|
|
7188
|
+
i.$serializedTypes && Object.keys(i.$serializedTypes) && this.cache[e].push(...Object.keys(i.$serializedTypes)), jn && console.log("registerDefinedKeys for " + e, this.cache[e], t);
|
|
7188
7189
|
}
|
|
7189
7190
|
}
|
|
7190
7191
|
getDefinedKey(e, t) {
|
|
@@ -7258,7 +7259,7 @@ function nm(s, e, t) {
|
|
|
7258
7259
|
return h ? sm(a, h, t, void 0, s[n]) : sm(a, l, t, void 0, s[n]);
|
|
7259
7260
|
};
|
|
7260
7261
|
const r = i[n], a = e[n];
|
|
7261
|
-
if (
|
|
7262
|
+
if (jn && console.log(n, a, s, r), !(s[n] !== void 0 && a === void 0) && (t.type = void 0, t.path = n, t.serializable = r, !(s.onBeforeDeserializeMember !== void 0 && s.onBeforeDeserializeMember(n, a, t) === !0))) {
|
|
7262
7263
|
if (r === null)
|
|
7263
7264
|
s[n] = a;
|
|
7264
7265
|
else {
|
|
@@ -7341,14 +7342,14 @@ function SO(s, e) {
|
|
|
7341
7342
|
if (typeof i == "object" && i !== null && i !== void 0) {
|
|
7342
7343
|
const n = s[t];
|
|
7343
7344
|
if (!n) {
|
|
7344
|
-
|
|
7345
|
+
jn && console.log(t, "is undefined on", s);
|
|
7345
7346
|
continue;
|
|
7346
7347
|
}
|
|
7347
7348
|
for (const o of Object.keys(i))
|
|
7348
7349
|
if (n[o] === void 0 && k_(i[o]) && !k_(n)) {
|
|
7349
7350
|
const a = CO(n, o);
|
|
7350
7351
|
if (a && (a?.writable === void 0 || a?.writable === !1) && a.set === void 0) {
|
|
7351
|
-
|
|
7352
|
+
jn && console.warn('Property is not writable "' + o + '"', n, a, i[o], n[o]);
|
|
7352
7353
|
continue;
|
|
7353
7354
|
}
|
|
7354
7355
|
n[o] = i[o];
|
|
@@ -7380,7 +7381,7 @@ function sm(s, e, t, i, n) {
|
|
|
7380
7381
|
} catch (h) {
|
|
7381
7382
|
console.error("Error in callback", h, s);
|
|
7382
7383
|
}
|
|
7383
|
-
if (t.type = r, !o && n && (n instanceof be || n instanceof H || n instanceof
|
|
7384
|
+
if (t.type = r, !o && n && (n instanceof be || n instanceof H || n instanceof yn || n instanceof Oi))
|
|
7384
7385
|
return n;
|
|
7385
7386
|
if (i || (i = {
|
|
7386
7387
|
serializer: Ld.getSerializerForConstructor(r)
|
|
@@ -7833,7 +7834,7 @@ function zO(s, e) {
|
|
|
7833
7834
|
s[sv] = e;
|
|
7834
7835
|
}
|
|
7835
7836
|
function yg(s) {
|
|
7836
|
-
return
|
|
7837
|
+
return _n.isUsingInstancing(s);
|
|
7837
7838
|
}
|
|
7838
7839
|
function xv(s, e) {
|
|
7839
7840
|
return Cc(s, e, !0, !0);
|
|
@@ -8727,7 +8728,7 @@ function* Ov(s, e = null) {
|
|
|
8727
8728
|
for (; t.time - i < s; )
|
|
8728
8729
|
yield;
|
|
8729
8730
|
}
|
|
8730
|
-
function*
|
|
8731
|
+
function* vD(s) {
|
|
8731
8732
|
for (let e = 0; e < s; e++)
|
|
8732
8733
|
yield;
|
|
8733
8734
|
}
|
|
@@ -8737,7 +8738,7 @@ function* KO(s) {
|
|
|
8737
8738
|
yield;
|
|
8738
8739
|
}
|
|
8739
8740
|
const A_ = "NEEDLE_lightmaps", Qr = x("debuglightmapsextension") || x("debuglightmaps");
|
|
8740
|
-
var
|
|
8741
|
+
var Bn = /* @__PURE__ */ ((s) => (s[s.Lightmap = 0] = "Lightmap", s[s.Skybox = 1] = "Skybox", s[s.Reflection = 2] = "Reflection", s))(Bn || {});
|
|
8741
8742
|
class ZO {
|
|
8742
8743
|
get name() {
|
|
8743
8744
|
return A_;
|
|
@@ -8780,7 +8781,7 @@ class ZO {
|
|
|
8780
8781
|
}
|
|
8781
8782
|
resolveTexture(e, t) {
|
|
8782
8783
|
const i = t;
|
|
8783
|
-
Qr && console.log("Light Texture loaded:", i), i?.isTexture && (this.registry ? (i.colorSpace = Es, this.registry.registerTexture(this.source, e.type, i, e.index)) : console.log(
|
|
8784
|
+
Qr && console.log("Light Texture loaded:", i), i?.isTexture && (this.registry ? (i.colorSpace = Es, this.registry.registerTexture(this.source, e.type, i, e.index)) : console.log(Bn[e.type], e.pointer, i));
|
|
8784
8785
|
}
|
|
8785
8786
|
}
|
|
8786
8787
|
const Yr = !!x("debuglightmaps");
|
|
@@ -8794,27 +8795,27 @@ class JO {
|
|
|
8794
8795
|
this.context = e;
|
|
8795
8796
|
}
|
|
8796
8797
|
registerTexture(e, t, i, n) {
|
|
8797
|
-
Yr && console.log("Registering ",
|
|
8798
|
+
Yr && console.log("Registering ", Bn[t] + ' "' + e + '"', i), this.map.has(e) || this.map.set(e, /* @__PURE__ */ new Map());
|
|
8798
8799
|
const o = this.map.get(e), r = o?.get(t) ?? [];
|
|
8799
8800
|
r.length < n && (r.length = n + 1), GP(i, !1), r[n] = i, o?.set(t, r);
|
|
8800
8801
|
}
|
|
8801
8802
|
tryGetLightmap(e, t = 0) {
|
|
8802
|
-
return this.tryGet(e,
|
|
8803
|
+
return this.tryGet(e, Bn.Lightmap, t);
|
|
8803
8804
|
}
|
|
8804
8805
|
tryGetSkybox(e) {
|
|
8805
|
-
return Yr && console.log("[Get Skybox]", e, this.map), this.tryGet(e,
|
|
8806
|
+
return Yr && console.log("[Get Skybox]", e, this.map), this.tryGet(e, Bn.Skybox, 0);
|
|
8806
8807
|
}
|
|
8807
8808
|
tryGetReflection(e) {
|
|
8808
|
-
return Yr && console.log("[Get Reflection]", e, this.map), this.tryGet(e,
|
|
8809
|
+
return Yr && console.log("[Get Reflection]", e, this.map), this.tryGet(e, Bn.Reflection, 0);
|
|
8809
8810
|
}
|
|
8810
8811
|
tryGet(e, t, i) {
|
|
8811
8812
|
if (!e)
|
|
8812
8813
|
return Yr && console.warn("Missing source id"), null;
|
|
8813
8814
|
const n = this.map.get(e);
|
|
8814
8815
|
if (!n)
|
|
8815
|
-
return Yr && console.warn(`[Lighting] No ${
|
|
8816
|
+
return Yr && console.warn(`[Lighting] No ${Bn[t]} texture entry for`, e), null;
|
|
8816
8817
|
const o = n.get(t);
|
|
8817
|
-
return o === void 0 ? (Yr && console.warn(`[Lighting] No ${
|
|
8818
|
+
return o === void 0 ? (Yr && console.warn(`[Lighting] No ${Bn[t]} texture for`, e, "index", i), null) : !o?.length || o.length <= i ? null : o[i];
|
|
8818
8819
|
}
|
|
8819
8820
|
}
|
|
8820
8821
|
Kt.lights_fragment_maps = Kt.lights_fragment_maps.replace("vec4 lightMapTexel = texture2D( lightMap, vLightMapUv );", `
|
|
@@ -9632,7 +9633,7 @@ async function F_(s) {
|
|
|
9632
9633
|
}
|
|
9633
9634
|
return Th.set(s, null), null;
|
|
9634
9635
|
}
|
|
9635
|
-
class
|
|
9636
|
+
class mn {
|
|
9636
9637
|
static _instance;
|
|
9637
9638
|
/**
|
|
9638
9639
|
* Get access to the default HTML button factory.
|
|
@@ -9648,11 +9649,11 @@ class zn {
|
|
|
9648
9649
|
* If you want to create a new factory and create new button instances instead of shared buttons, use `ButtonsFactory.create()` instead
|
|
9649
9650
|
*/
|
|
9650
9651
|
static getOrCreate() {
|
|
9651
|
-
return this._instance || (this._instance = new
|
|
9652
|
+
return this._instance || (this._instance = new mn()), this._instance;
|
|
9652
9653
|
}
|
|
9653
9654
|
/** create a new buttons factory */
|
|
9654
9655
|
static create() {
|
|
9655
|
-
return new
|
|
9656
|
+
return new mn();
|
|
9656
9657
|
}
|
|
9657
9658
|
_fullscreenButton;
|
|
9658
9659
|
/**
|
|
@@ -9720,12 +9721,12 @@ class zn {
|
|
|
9720
9721
|
* The QR code will be generated with the current URL when the button is clicked
|
|
9721
9722
|
* @returns the QR code button element
|
|
9722
9723
|
*/
|
|
9723
|
-
createQRCode() {
|
|
9724
|
+
createQRCode(e) {
|
|
9724
9725
|
if (this._qrButton) return this._qrButton;
|
|
9725
|
-
const
|
|
9726
|
-
this._qrButton =
|
|
9727
|
-
const
|
|
9728
|
-
|
|
9726
|
+
const t = this, i = document.createElement("button");
|
|
9727
|
+
this._qrButton = i, i.innerText = "QR Code", i.prepend(Ft("qr_code")), i.title = "Scan this QR code with your phone to open this page", this.hideElementDuringXRSession(i);
|
|
9728
|
+
const n = document.createElement("div");
|
|
9729
|
+
n.style.cssText = `
|
|
9729
9730
|
position: fixed;
|
|
9730
9731
|
display: inline-block;
|
|
9731
9732
|
padding: 0.5rem;
|
|
@@ -9735,36 +9736,36 @@ class zn {
|
|
|
9735
9736
|
z-index: 1000;
|
|
9736
9737
|
box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
|
|
9737
9738
|
`;
|
|
9738
|
-
const
|
|
9739
|
-
|
|
9740
|
-
if (
|
|
9741
|
-
L() && window.location.href.includes("://localhost") && _e("To access your website from another device in the same local network you have to use the IP address instead of localhost. The IP address is logged in your development server console when you start the server."),
|
|
9739
|
+
const o = document.createElement("div");
|
|
9740
|
+
o.classList.add("qr-code-container"), n.appendChild(o), i.addEventListener("click", () => {
|
|
9741
|
+
if (n.parentNode) return a();
|
|
9742
|
+
L() && window.location.href.includes("://localhost") && _e("To access your website from another device in the same local network you have to use the IP address instead of localhost. The IP address is logged in your development server console when you start the server."), r();
|
|
9742
9743
|
});
|
|
9743
|
-
async function
|
|
9744
|
-
await
|
|
9745
|
-
const c = document.body.querySelector("needle-engine") || document.body;
|
|
9746
|
-
|
|
9747
|
-
const
|
|
9748
|
-
|
|
9749
|
-
const
|
|
9750
|
-
|
|
9751
|
-
|
|
9752
|
-
}), window.addEventListener("resize",
|
|
9753
|
-
}
|
|
9754
|
-
function
|
|
9755
|
-
|
|
9756
|
-
}
|
|
9757
|
-
async function
|
|
9758
|
-
const
|
|
9759
|
-
text:
|
|
9744
|
+
async function r() {
|
|
9745
|
+
await l();
|
|
9746
|
+
const c = document.body.querySelector("needle-engine"), h = e?.anchorElement?.parentElement || c || document.body;
|
|
9747
|
+
h.appendChild(n);
|
|
9748
|
+
const d = o.getBoundingClientRect(), f = i.getBoundingClientRect();
|
|
9749
|
+
n.style.left = f.left + f.width * 0.5 - d.width * 0.5 + "px";
|
|
9750
|
+
const p = f.top < d.height, g = "1.3rem";
|
|
9751
|
+
p ? n.style.top = `calc(${f.bottom}px + ${n.style.padding} + 0.0rem)` : n.style.top = `calc(${f.top - d.height}px - ${n.style.padding} - ${g})`, n.style.opacity = "0", n.style.pointerEvents = "all", n.style.transition = "opacity 0.2s ease-in-out", setTimeout(() => {
|
|
9752
|
+
n.style.opacity = "1", window.addEventListener("click", a, { once: !0 });
|
|
9753
|
+
}), window.addEventListener("resize", a), window.addEventListener("scroll", a), document.fullscreenElement ? document.fullscreenElement.appendChild(n) : h.appendChild(n);
|
|
9754
|
+
}
|
|
9755
|
+
function a() {
|
|
9756
|
+
n.style.pointerEvents = "none", n.style.transition = "opacity 0.2s", n.style.opacity = "0", setTimeout(() => n.parentNode?.removeChild(n), 500), window.removeEventListener("click", a), window.removeEventListener("resize", a), window.removeEventListener("scroll", a);
|
|
9757
|
+
}
|
|
9758
|
+
async function l() {
|
|
9759
|
+
const h = await xk({
|
|
9760
|
+
text: t.qrButtonUrl,
|
|
9760
9761
|
width: 200,
|
|
9761
9762
|
height: 200
|
|
9762
9763
|
});
|
|
9763
|
-
|
|
9764
|
+
o.innerHTML = "", o.appendChild(h);
|
|
9764
9765
|
}
|
|
9765
|
-
return
|
|
9766
|
-
|
|
9767
|
-
}, { once: !0 }),
|
|
9766
|
+
return i.addEventListener("pointerenter", () => {
|
|
9767
|
+
l();
|
|
9768
|
+
}, { once: !0 }), i;
|
|
9768
9769
|
}
|
|
9769
9770
|
hideElementDuringXRSession(e) {
|
|
9770
9771
|
rg((t) => {
|
|
@@ -10254,10 +10255,10 @@ let kk = class {
|
|
|
10254
10255
|
*/
|
|
10255
10256
|
showQRCodeButton(e) {
|
|
10256
10257
|
if (e === "desktop-only" && (e = !j.isMobileDevice()), e) {
|
|
10257
|
-
const t =
|
|
10258
|
+
const t = mn.getOrCreate().createQRCode();
|
|
10258
10259
|
return t.style.display = "", this._menu.appendChild(t), t;
|
|
10259
10260
|
} else {
|
|
10260
|
-
const t =
|
|
10261
|
+
const t = mn.getOrCreate().qrButton;
|
|
10261
10262
|
return t && (t.style.display = "none"), t ?? null;
|
|
10262
10263
|
}
|
|
10263
10264
|
}
|
|
@@ -10269,7 +10270,7 @@ let kk = class {
|
|
|
10269
10270
|
this._muteButton?.remove();
|
|
10270
10271
|
return;
|
|
10271
10272
|
}
|
|
10272
|
-
this._muteButton =
|
|
10273
|
+
this._muteButton = mn.getOrCreate().createMuteButton(this._context), this._muteButton.setAttribute("priority", "100"), this._menu.appendChild(this._muteButton);
|
|
10273
10274
|
}
|
|
10274
10275
|
_muteButton;
|
|
10275
10276
|
showFullscreenOption(e) {
|
|
@@ -10277,7 +10278,7 @@ let kk = class {
|
|
|
10277
10278
|
this._fullscreenButton?.remove();
|
|
10278
10279
|
return;
|
|
10279
10280
|
}
|
|
10280
|
-
this._fullscreenButton =
|
|
10281
|
+
this._fullscreenButton = mn.getOrCreate().createFullscreenButton(this._context), this._fullscreenButton && (this._fullscreenButton.setAttribute("priority", "150"), this._menu.appendChild(this._fullscreenButton));
|
|
10281
10282
|
}
|
|
10282
10283
|
_fullscreenButton;
|
|
10283
10284
|
appendChild(e) {
|
|
@@ -10947,8 +10948,8 @@ class Cu extends HTMLElement {
|
|
|
10947
10948
|
}
|
|
10948
10949
|
}
|
|
10949
10950
|
customElements.get(or) || customElements.define(or, Cu);
|
|
10950
|
-
const Ye = x("debugcontext"), Mk = x("stats"), Rk = x("debugactive"), Ek = x("debugframerate"), Tk = x("debugcoroutine"),
|
|
10951
|
-
class
|
|
10951
|
+
const Ye = x("debugcontext"), Mk = x("stats"), Rk = x("debugactive"), Ek = x("debugframerate"), Tk = x("debugcoroutine"), xD = {};
|
|
10952
|
+
class SD {
|
|
10952
10953
|
name;
|
|
10953
10954
|
/** for debugging only */
|
|
10954
10955
|
alias;
|
|
@@ -11435,7 +11436,7 @@ class N {
|
|
|
11435
11436
|
* or when the web component is removed from the DOM
|
|
11436
11437
|
*/
|
|
11437
11438
|
clear() {
|
|
11438
|
-
pe.dispatchCallback(ue.ContextClearing, this),
|
|
11439
|
+
pe.dispatchCallback(ue.ContextClearing, this), Mn(this, ue.ContextClearing), Ki(this.scene, !0, !0), this.scene = new ki(), this.addressables?.dispose(), this.lightmaps?.clear(), this.physics?.engine?.clearCaches(), this.lodsManager.disable(), this._onBeforeRenderListeners.clear(), this._onAfterRenderListeners.clear(), this.isManagedExternally || this.renderer && (this.renderer.renderLists.dispose(), this.renderer.state.reset(), this.renderer.resetState()), pe.dispatchCallback(ue.ContextCleared, this);
|
|
11439
11440
|
}
|
|
11440
11441
|
/**
|
|
11441
11442
|
* Dispose all allocated resources and clears the scene. This is automatically called e.g. when the `<needle-engine>` component is removed from the DOM.
|
|
@@ -11448,14 +11449,14 @@ class N {
|
|
|
11448
11449
|
this.internalOnDestroy();
|
|
11449
11450
|
}
|
|
11450
11451
|
internalOnDestroy() {
|
|
11451
|
-
N.Current = this, pe.dispatchCallback(ue.ContextDestroying, this),
|
|
11452
|
+
N.Current = this, pe.dispatchCallback(ue.ContextDestroying, this), Mn(this, ue.ContextDestroying), this.clear(), this.renderer?.setAnimationLoop(null), this.renderer && (this.renderer.setClearAlpha(0), this.renderer.clear(), this.isManagedExternally || (Ye && console.log("Disposing renderer"), this.renderer.dispose())), this.scene = null, this.renderer = null, this.input.dispose(), this.menu.onDestroy(), this.animations.onDestroy();
|
|
11452
11453
|
for (const e of this._disposeCallbacks)
|
|
11453
11454
|
try {
|
|
11454
11455
|
e();
|
|
11455
11456
|
} catch (t) {
|
|
11456
11457
|
console.error("Error in on dispose callback:", t, e);
|
|
11457
11458
|
}
|
|
11458
|
-
this.domElement?.parentElement && this.domElement.parentElement.removeChild(this.domElement), this._isCreated = !1, pe.dispatchCallback(ue.ContextDestroyed, this),
|
|
11459
|
+
this.domElement?.parentElement && this.domElement.parentElement.removeChild(this.domElement), this._isCreated = !1, pe.dispatchCallback(ue.ContextDestroyed, this), Mn(this, ue.ContextDestroyed), pe.unregister(this), N.Current === this && (N.Current = null);
|
|
11459
11460
|
}
|
|
11460
11461
|
/** @internal Automatically called by components when you call `startCoroutine`. Use `startCoroutine` instead */
|
|
11461
11462
|
registerCoroutineUpdate(e, t, i) {
|
|
@@ -11665,7 +11666,7 @@ Possible solutions:
|
|
|
11665
11666
|
if (e?.abortSignal?.aborted)
|
|
11666
11667
|
return !1;
|
|
11667
11668
|
const c = this.rootSourceId;
|
|
11668
|
-
return c && this.sceneLighting.enable(c),
|
|
11669
|
+
return c && this.sceneLighting.enable(c), Mn(this, ue.ContextCreated), Ye && console.log("Context Created...", this.renderer, this.renderer.domElement), this._isCreating = !1, !this.isManagedExternally && !e?.abortSignal?.aborted && this.restartRenderLoop(), !0;
|
|
11669
11670
|
}
|
|
11670
11671
|
rootSceneSourceIdentifiers = [];
|
|
11671
11672
|
async internalLoadInitialContent(e, t) {
|
|
@@ -11823,7 +11824,7 @@ Possible solutions:
|
|
|
11823
11824
|
this._accumulatedTime = 0;
|
|
11824
11825
|
}
|
|
11825
11826
|
if (this._stats?.begin(), N.Current = this, this.onHandlePaused()) return !1;
|
|
11826
|
-
for (N.Current = this, this.time.update(), Ek && console.log("FPS", this.time.smoothedFps.toFixed(0)), Ad(this), nd(this.scene), rv(this),
|
|
11827
|
+
for (N.Current = this, this.time.update(), Ek && console.log("FPS", this.time.smoothedFps.toFixed(0)), Ad(this), nd(this.scene), rv(this), Mn(
|
|
11827
11828
|
this,
|
|
11828
11829
|
-1
|
|
11829
11830
|
/* Start */
|
|
@@ -11848,7 +11849,7 @@ Possible solutions:
|
|
|
11848
11849
|
this.executeCoroutines(
|
|
11849
11850
|
0
|
|
11850
11851
|
/* EarlyUpdate */
|
|
11851
|
-
),
|
|
11852
|
+
), Mn(
|
|
11852
11853
|
this,
|
|
11853
11854
|
0
|
|
11854
11855
|
/* EarlyUpdate */
|
|
@@ -11860,7 +11861,7 @@ Possible solutions:
|
|
|
11860
11861
|
this.executeCoroutines(
|
|
11861
11862
|
1
|
|
11862
11863
|
/* Update */
|
|
11863
|
-
),
|
|
11864
|
+
), Mn(
|
|
11864
11865
|
this,
|
|
11865
11866
|
1
|
|
11866
11867
|
/* Update */
|
|
@@ -11872,7 +11873,7 @@ Possible solutions:
|
|
|
11872
11873
|
if (this.executeCoroutines(
|
|
11873
11874
|
2
|
|
11874
11875
|
/* LateUpdate */
|
|
11875
|
-
),
|
|
11876
|
+
), Mn(
|
|
11876
11877
|
this,
|
|
11877
11878
|
2
|
|
11878
11879
|
/* LateUpdate */
|
|
@@ -11885,7 +11886,7 @@ Possible solutions:
|
|
|
11885
11886
|
if (this.executeCoroutines(
|
|
11886
11887
|
3
|
|
11887
11888
|
/* OnBeforeRender */
|
|
11888
|
-
),
|
|
11889
|
+
), Mn(
|
|
11889
11890
|
this,
|
|
11890
11891
|
3
|
|
11891
11892
|
/* OnBeforeRender */
|
|
@@ -11924,7 +11925,7 @@ Possible solutions:
|
|
|
11924
11925
|
if (this.executeCoroutines(
|
|
11925
11926
|
4
|
|
11926
11927
|
/* OnAfterRender */
|
|
11927
|
-
),
|
|
11928
|
+
), Mn(
|
|
11928
11929
|
this,
|
|
11929
11930
|
4
|
|
11930
11931
|
/* OnAfterRender */
|
|
@@ -12031,10 +12032,10 @@ Target Framerate: ` + this.targetFrameRate);
|
|
|
12031
12032
|
function Tv(s, e) {
|
|
12032
12033
|
return Ds(s, ue.ContextCreated, e), () => Po(s, ue.ContextCreated);
|
|
12033
12034
|
}
|
|
12034
|
-
function
|
|
12035
|
+
function CD(s, e) {
|
|
12035
12036
|
return Ds(s, ue.ContextClearing, e), () => Po(s, ue.ContextClearing);
|
|
12036
12037
|
}
|
|
12037
|
-
function
|
|
12038
|
+
function PD(s, e) {
|
|
12038
12039
|
return Ds(s, ue.ContextDestroying, e), () => Po(s, ue.ContextDestroying);
|
|
12039
12040
|
}
|
|
12040
12041
|
function wg(s, e) {
|
|
@@ -12043,17 +12044,17 @@ function wg(s, e) {
|
|
|
12043
12044
|
function Ak(s, e) {
|
|
12044
12045
|
return Ds(s, Se.Update, e), () => Po(s, Se.Update);
|
|
12045
12046
|
}
|
|
12046
|
-
function
|
|
12047
|
+
function OD(s, e) {
|
|
12047
12048
|
return Ds(s, Se.OnBeforeRender, e), () => Po(s, Se.OnBeforeRender);
|
|
12048
12049
|
}
|
|
12049
|
-
function
|
|
12050
|
+
function kD(s, e) {
|
|
12050
12051
|
return Ds(s, Se.OnAfterRender, e), () => Po(s, Se.OnAfterRender);
|
|
12051
12052
|
}
|
|
12052
12053
|
const Rt = x("debuglicense"), Av = [];
|
|
12053
|
-
let
|
|
12054
|
-
Rt && console.log("License Type: " +
|
|
12054
|
+
let bn = "basic";
|
|
12055
|
+
Rt && console.log("License Type: " + bn);
|
|
12055
12056
|
function ks() {
|
|
12056
|
-
switch (
|
|
12057
|
+
switch (bn) {
|
|
12057
12058
|
case "pro":
|
|
12058
12059
|
case "enterprise":
|
|
12059
12060
|
return !0;
|
|
@@ -12061,10 +12062,10 @@ function ks() {
|
|
|
12061
12062
|
return !1;
|
|
12062
12063
|
}
|
|
12063
12064
|
function Pu() {
|
|
12064
|
-
return
|
|
12065
|
+
return bn === "indie";
|
|
12065
12066
|
}
|
|
12066
12067
|
function xg() {
|
|
12067
|
-
return
|
|
12068
|
+
return bn === "edu";
|
|
12068
12069
|
}
|
|
12069
12070
|
function yo() {
|
|
12070
12071
|
return ks() || Pu() || xg();
|
|
@@ -12127,7 +12128,7 @@ var li;
|
|
|
12127
12128
|
let l = a?.domElement;
|
|
12128
12129
|
if (l || (l = document.querySelector("needle-engine")), !l && !a) return !1;
|
|
12129
12130
|
const c = l?.getAttribute("no-telemetry");
|
|
12130
|
-
return (c === "" || c === "true" || c === "1") && (
|
|
12131
|
+
return (c === "" || c === "true" || c === "1") && (bn === "pro" || bn === "enterprise") ? (Rt && console.debug("Telemetry is disabled via no-telemetry attribute"), !1) : !0;
|
|
12131
12132
|
}
|
|
12132
12133
|
s.isAllowed = t;
|
|
12133
12134
|
const i = "dabb8317376f";
|
|
@@ -12210,18 +12211,18 @@ pe.registerCallback(ue.ContextRegistered, (s) => {
|
|
|
12210
12211
|
let zd, dm = !1, um = "";
|
|
12211
12212
|
async function Lk() {
|
|
12212
12213
|
if (zd) return zd;
|
|
12213
|
-
if (
|
|
12214
|
+
if (bn === "basic")
|
|
12214
12215
|
try {
|
|
12215
12216
|
const s = "https://needle.tools/api/v1/needle-engine/check?location=" + encodeURIComponent(window.location.href) + "&version=" + Xi + "&generator=" + encodeURIComponent(Oc), e = await fetch(s, {
|
|
12216
12217
|
method: "GET"
|
|
12217
12218
|
}).catch((t) => {
|
|
12218
12219
|
Rt && console.error("License check failed", t);
|
|
12219
12220
|
});
|
|
12220
|
-
e?.status === 200 ? (dm = !1, Rt && console.log("License check succeeded"),
|
|
12221
|
+
e?.status === 200 ? (dm = !1, Rt && console.log("License check succeeded"), bn = "pro", Ah(!0)) : e?.status === 403 ? (Ah(!1), dm = !0, um = await e.text()) : (Ah(!1), Rt && console.log("License check failed with status " + e?.status));
|
|
12221
12222
|
} catch (s) {
|
|
12222
12223
|
Ah(!1), Rt && console.error("License check failed", s);
|
|
12223
12224
|
}
|
|
12224
|
-
else Rt && console.log('Runtime license check is skipped because license is already applied as "' +
|
|
12225
|
+
else Rt && console.log('Runtime license check is skipped because license is already applied as "' + bn + '"');
|
|
12225
12226
|
}
|
|
12226
12227
|
zd = Lk();
|
|
12227
12228
|
async function Dk(s) {
|
|
@@ -12297,7 +12298,7 @@ function fm(s) {
|
|
|
12297
12298
|
padding: 10px;
|
|
12298
12299
|
padding-left: 30px;
|
|
12299
12300
|
`;
|
|
12300
|
-
if (
|
|
12301
|
+
if (bn === "edu")
|
|
12301
12302
|
console.log("%c This project is supported by Needle for Education – https://needle.tools", e);
|
|
12302
12303
|
else
|
|
12303
12304
|
return;
|
|
@@ -12373,7 +12374,7 @@ async function Fk(s) {
|
|
|
12373
12374
|
const e = "https://needle.tools/api/v1/needle-engine/ping";
|
|
12374
12375
|
if (e) {
|
|
12375
12376
|
const t = window.location.href.split("?")[0], n = {
|
|
12376
|
-
license:
|
|
12377
|
+
license: bn,
|
|
12377
12378
|
url: t,
|
|
12378
12379
|
hostname: window.location.hostname,
|
|
12379
12380
|
pathname: window.location.pathname,
|
|
@@ -12451,7 +12452,7 @@ function H_(s) {
|
|
|
12451
12452
|
const _o = x("debughotreload");
|
|
12452
12453
|
let Ac = !1;
|
|
12453
12454
|
const dc = /* @__PURE__ */ new Map();
|
|
12454
|
-
function
|
|
12455
|
+
function MD() {
|
|
12455
12456
|
return Ac;
|
|
12456
12457
|
}
|
|
12457
12458
|
function G_() {
|
|
@@ -12493,7 +12494,7 @@ function $k() {
|
|
|
12493
12494
|
s.apply(console, e);
|
|
12494
12495
|
};
|
|
12495
12496
|
}
|
|
12496
|
-
function
|
|
12497
|
+
function RD(s) {
|
|
12497
12498
|
_o && console.log("[HMR] Apply changes", s, Object.keys(s)), $k();
|
|
12498
12499
|
for (const e of Object.keys(s))
|
|
12499
12500
|
try {
|
|
@@ -13247,7 +13248,7 @@ class E {
|
|
|
13247
13248
|
return !1;
|
|
13248
13249
|
}
|
|
13249
13250
|
}
|
|
13250
|
-
const
|
|
13251
|
+
const ED = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
13251
13252
|
__proto__: null,
|
|
13252
13253
|
Behaviour: E,
|
|
13253
13254
|
Component: E,
|
|
@@ -13608,7 +13609,7 @@ function Xk(s) {
|
|
|
13608
13609
|
const e = s[hd];
|
|
13609
13610
|
return e !== void 0 && e.size > 0;
|
|
13610
13611
|
}
|
|
13611
|
-
class
|
|
13612
|
+
class AD {
|
|
13612
13613
|
_context;
|
|
13613
13614
|
get context() {
|
|
13614
13615
|
return this._context ?? N.Current;
|
|
@@ -13649,7 +13650,7 @@ function Qk(s, e) {
|
|
|
13649
13650
|
}
|
|
13650
13651
|
var ir = /* @__PURE__ */ ((s) => (s[s.If = 1] = "If", s[s.IfNot = 2] = "IfNot", s[s.Greater = 3] = "Greater", s[s.Less = 4] = "Less", s[s.Equals = 6] = "Equals", s[s.NotEqual = 7] = "NotEqual", s))(ir || {}), Bv = /* @__PURE__ */ ((s) => (s[s.Float = 1] = "Float", s[s.Int = 3] = "Int", s[s.Bool = 4] = "Bool", s[s.Trigger = 9] = "Trigger", s))(Bv || {});
|
|
13651
13652
|
const it = x("debuganimatorcontroller"), Lh = x("debugrootmotion");
|
|
13652
|
-
class
|
|
13653
|
+
class vn {
|
|
13653
13654
|
/**
|
|
13654
13655
|
* Creates an AnimatorController from a set of animation clips.
|
|
13655
13656
|
* Each clip becomes a state in the controller's state machine.
|
|
@@ -13700,7 +13701,7 @@ class bn {
|
|
|
13700
13701
|
}
|
|
13701
13702
|
}]
|
|
13702
13703
|
};
|
|
13703
|
-
return new
|
|
13704
|
+
return new vn(n);
|
|
13704
13705
|
}
|
|
13705
13706
|
/**
|
|
13706
13707
|
* Plays an animation state by name or hash.
|
|
@@ -13956,8 +13957,8 @@ class bn {
|
|
|
13956
13957
|
if (typeof this.model == "string")
|
|
13957
13958
|
return console.warn("AnimatorController has not been resolved, can not create model from string", this.model), null;
|
|
13958
13959
|
it && console.warn("AnimatorController clone()", this.model);
|
|
13959
|
-
const e = pu(this.model, (i, n, o) => o == null ? !0 : !(o.type === "Object3D" || o.isObject3D === !0 || CC(o) || o.tracks !== void 0 || o instanceof
|
|
13960
|
-
return console.assert(e !== this.model), new
|
|
13960
|
+
const e = pu(this.model, (i, n, o) => o == null ? !0 : !(o.type === "Object3D" || o.isObject3D === !0 || CC(o) || o.tracks !== void 0 || o instanceof vn));
|
|
13961
|
+
return console.assert(e !== this.model), new vn(e);
|
|
13961
13962
|
}
|
|
13962
13963
|
/**
|
|
13963
13964
|
* Updates the controller's state machine and animations.
|
|
@@ -14353,11 +14354,11 @@ class Kk extends sn {
|
|
|
14353
14354
|
onSerialize(e, t) {
|
|
14354
14355
|
}
|
|
14355
14356
|
onDeserialize(e, t) {
|
|
14356
|
-
if (t.type ===
|
|
14357
|
-
return new
|
|
14357
|
+
if (t.type === vn && e?.__type === "AnimatorController")
|
|
14358
|
+
return new vn(e);
|
|
14358
14359
|
}
|
|
14359
14360
|
}
|
|
14360
|
-
new Kk(
|
|
14361
|
+
new Kk(vn);
|
|
14361
14362
|
var Zk = Object.defineProperty, Jk = Object.getOwnPropertyDescriptor, ku = (s, e, t, i) => {
|
|
14362
14363
|
for (var n = i > 1 ? void 0 : i ? Jk(e, t) : e, o = s.length - 1, r; o >= 0; o--)
|
|
14363
14364
|
(r = s[o]) && (n = (i ? r(e, t, n) : r(n)) || n);
|
|
@@ -14375,7 +14376,7 @@ class Tt extends E {
|
|
|
14375
14376
|
hasRootMotion = !1;
|
|
14376
14377
|
keepAnimatorControllerStateOnDisable = !1;
|
|
14377
14378
|
set runtimeAnimatorController(e) {
|
|
14378
|
-
this._animatorController && this._animatorController.model === e || (e ? e instanceof
|
|
14379
|
+
this._animatorController && this._animatorController.model === e || (e ? e instanceof vn ? (e.animator && e.animator !== this && (console.warn("AnimatorController can not be bound to multiple animators", e.model?.name), e.model || console.error("AnimatorController has no model"), e = new vn(e.model)), this._animatorController = e, this._animatorController.bind(this)) : (Ui && console.log("Assign animator controller", e, this), this._animatorController = new vn(e), this.__didAwake && this._animatorController.bind(this)) : this._animatorController = null);
|
|
14379
14380
|
}
|
|
14380
14381
|
/**
|
|
14381
14382
|
* Gets the current animator controller instance
|
|
@@ -15141,7 +15142,7 @@ function rM(s, e, t, i, n) {
|
|
|
15141
15142
|
};
|
|
15142
15143
|
}
|
|
15143
15144
|
}
|
|
15144
|
-
const
|
|
15145
|
+
const LD = function(s) {
|
|
15145
15146
|
return function(e, t, i) {
|
|
15146
15147
|
let n = "";
|
|
15147
15148
|
typeof t == "string" ? n = t : n = t.name;
|
|
@@ -15499,15 +15500,15 @@ new y();
|
|
|
15499
15500
|
new y();
|
|
15500
15501
|
const eo = x("debugsync"), Ic = "STRS";
|
|
15501
15502
|
Y0(Ic, vs.getRootAsSyncedTransformModel);
|
|
15502
|
-
const
|
|
15503
|
+
const Rn = new Jm();
|
|
15503
15504
|
function Uv(s, e, t = !0) {
|
|
15504
|
-
|
|
15505
|
-
const i =
|
|
15506
|
-
vs.startSyncedTransformModel(
|
|
15505
|
+
Rn.clear();
|
|
15506
|
+
const i = Rn.createString(s);
|
|
15507
|
+
vs.startSyncedTransformModel(Rn), vs.addGuid(Rn, i), vs.addFast(Rn, t);
|
|
15507
15508
|
const n = e.worldPosition, o = e.worldEuler, r = e.gameObject.scale;
|
|
15508
|
-
vs.addTransform(
|
|
15509
|
-
const a = vs.endSyncedTransformModel(
|
|
15510
|
-
return
|
|
15509
|
+
vs.addTransform(Rn, Fv.createTransform(Rn, n.x, n.y, n.z, o.x, o.y, o.z, r.x, r.y, r.z));
|
|
15510
|
+
const a = vs.endSyncedTransformModel(Rn);
|
|
15511
|
+
return Rn.finish(a, Ic), Rn.asUint8Array();
|
|
15511
15512
|
}
|
|
15512
15513
|
let pm = 0, uc = 0;
|
|
15513
15514
|
Ak((s) => {
|
|
@@ -15592,7 +15593,7 @@ class Kn extends E {
|
|
|
15592
15593
|
eo && console.log("new data", this.context.connection.connectionId, this.context.time.frameCount, this.guid, e), this.receivedUpdate = !0, this._receivedFastUpdate = e.fast();
|
|
15593
15594
|
const t = e.transform();
|
|
15594
15595
|
if (t) {
|
|
15595
|
-
|
|
15596
|
+
_n.markDirty(this.gameObject, !0);
|
|
15596
15597
|
const i = t.position();
|
|
15597
15598
|
i && (this.interpolatePosition && this._targetPosition?.set(i.x(), i.y(), i.z()), (!this.interpolatePosition || !this._receivedDataBefore) && this.setWorldPosition(i.x(), i.y(), i.z()));
|
|
15598
15599
|
const n = t.rotation();
|
|
@@ -15636,7 +15637,7 @@ class Kn extends E {
|
|
|
15636
15637
|
const e = this.worldPosition, t = this.worldQuaternion, i = this.gameObject.scale;
|
|
15637
15638
|
if (this._model.isOwned && !this.receivedUpdate) {
|
|
15638
15639
|
const r = this._model.hasOwnership || this.fastMode ? 1e-4 : 1e-3;
|
|
15639
|
-
(e.distanceTo(this.lastPosition) > r || t.angleTo(this.lastRotation) > r || i.distanceTo(this.lastScale) > r) && (this._model.hasOwnership ? this._needsUpdate = !0 : (eo && console.log(this.guid, "reset because not owned but", this.gameObject.name, this.lastPosition), this.worldPosition = this.lastPosition, e.copy(this.lastPosition), this.worldQuaternion = this.lastRotation, t.copy(this.lastRotation), this.gameObject.scale.copy(this.lastScale),
|
|
15640
|
+
(e.distanceTo(this.lastPosition) > r || t.angleTo(this.lastRotation) > r || i.distanceTo(this.lastScale) > r) && (this._model.hasOwnership ? this._needsUpdate = !0 : (eo && console.log(this.guid, "reset because not owned but", this.gameObject.name, this.lastPosition), this.worldPosition = this.lastPosition, e.copy(this.lastPosition), this.worldQuaternion = this.lastRotation, t.copy(this.lastRotation), this.gameObject.scale.copy(this.lastScale), _n.markDirty(this.gameObject, !0), this._needsUpdate = !1));
|
|
15640
15641
|
}
|
|
15641
15642
|
if (this._model && !this._model.hasOwnership && this._model.isOwned && this._receivedDataBefore) {
|
|
15642
15643
|
const r = this._receivedFastUpdate || this.fastMode ? 0.5 : 0.3;
|
|
@@ -15649,7 +15650,7 @@ class Kn extends E {
|
|
|
15649
15650
|
const l = this.worldQuaternion;
|
|
15650
15651
|
l.slerp(this._targetRotation, r), this.worldQuaternion = l, a = !0;
|
|
15651
15652
|
}
|
|
15652
|
-
a &&
|
|
15653
|
+
a && _n.markDirty(this.gameObject, !0);
|
|
15653
15654
|
}
|
|
15654
15655
|
if (this.receivedUpdate = !1, this.lastPosition.copy(e), this.lastRotation.copy(t), this.lastScale.copy(i), !this._model || !this._model || this._model.hasOwnership === void 0 || !this._model.hasOwnership)
|
|
15655
15656
|
return;
|
|
@@ -15928,7 +15929,7 @@ class dM extends sn {
|
|
|
15928
15929
|
return e.a !== void 0 ? { r: e.r, g: e.g, b: e.b, a: e.a } : { r: e.r, g: e.g, b: e.b };
|
|
15929
15930
|
}
|
|
15930
15931
|
}
|
|
15931
|
-
const
|
|
15932
|
+
const DD = new dM();
|
|
15932
15933
|
class uM extends sn {
|
|
15933
15934
|
constructor() {
|
|
15934
15935
|
super([lt], "EulerSerializer");
|
|
@@ -15945,7 +15946,7 @@ class uM extends sn {
|
|
|
15945
15946
|
return { x: e.x, y: e.y, z: e.z, order: e.order };
|
|
15946
15947
|
}
|
|
15947
15948
|
}
|
|
15948
|
-
const
|
|
15949
|
+
const jD = new uM();
|
|
15949
15950
|
class fM extends sn {
|
|
15950
15951
|
constructor() {
|
|
15951
15952
|
super(M, "ObjectSerializer");
|
|
@@ -16123,7 +16124,7 @@ Could not find method ${r.method} on object ${l.name}`, l, typeof l[r.method]);
|
|
|
16123
16124
|
// };
|
|
16124
16125
|
// }
|
|
16125
16126
|
}
|
|
16126
|
-
const
|
|
16127
|
+
const BD = new gM(), Nd = /* @__PURE__ */ new WeakMap(), yM = Fe.prototype.clone;
|
|
16127
16128
|
Fe.prototype.clone = function() {
|
|
16128
16129
|
const s = yM.call(this);
|
|
16129
16130
|
return Nd.has(s) || Nd.set(s, this), s;
|
|
@@ -17676,7 +17677,7 @@ class co extends E {
|
|
|
17676
17677
|
e && (e.removeFromParent(), e.filter && e.filter.disconnect(), e.gain && e.gain.disconnect());
|
|
17677
17678
|
}
|
|
17678
17679
|
}
|
|
17679
|
-
var AM = Object.defineProperty, IM = Object.getOwnPropertyDescriptor,
|
|
17680
|
+
var AM = Object.defineProperty, IM = Object.getOwnPropertyDescriptor, xn = (s, e, t, i) => {
|
|
17680
17681
|
for (var n = i > 1 ? void 0 : i ? IM(e, t) : e, o = s.length - 1, r; o >= 0; o--)
|
|
17681
17682
|
(r = s[o]) && (n = (i ? r(e, t, n) : r(n)) || n);
|
|
17682
17683
|
return i && n && AM(e, t, n), n;
|
|
@@ -17975,37 +17976,37 @@ Using the assigned clip instead:`, this.clip), e = this.clip);
|
|
|
17975
17976
|
this.helper && (this.isPlaying && this.helper.update(), this.helper.visible = this.isPlaying), this._needUpdateSpatialDistanceSettings && this.applySpatialDistanceSettings(), this.sound && !this.sound.isPlaying && this.shouldPlay && !this._hasEnded && (this._hasEnded = !0, xt && console.log("Audio clip ended", this.clip), this.dispatchEvent(new CustomEvent("ended", { detail: this })));
|
|
17976
17977
|
}
|
|
17977
17978
|
};
|
|
17978
|
-
|
|
17979
|
+
xn([
|
|
17979
17980
|
u(URL)
|
|
17980
17981
|
], on.prototype, "clip", 2);
|
|
17981
|
-
|
|
17982
|
+
xn([
|
|
17982
17983
|
u()
|
|
17983
17984
|
], on.prototype, "playOnAwake", 2);
|
|
17984
|
-
|
|
17985
|
+
xn([
|
|
17985
17986
|
u()
|
|
17986
17987
|
], on.prototype, "preload", 2);
|
|
17987
|
-
|
|
17988
|
+
xn([
|
|
17988
17989
|
u()
|
|
17989
17990
|
], on.prototype, "playInBackground", 2);
|
|
17990
|
-
|
|
17991
|
+
xn([
|
|
17991
17992
|
u()
|
|
17992
17993
|
], on.prototype, "loop", 1);
|
|
17993
|
-
|
|
17994
|
+
xn([
|
|
17994
17995
|
u()
|
|
17995
17996
|
], on.prototype, "spatialBlend", 1);
|
|
17996
|
-
|
|
17997
|
+
xn([
|
|
17997
17998
|
u()
|
|
17998
17999
|
], on.prototype, "minDistance", 1);
|
|
17999
|
-
|
|
18000
|
+
xn([
|
|
18000
18001
|
u()
|
|
18001
18002
|
], on.prototype, "maxDistance", 1);
|
|
18002
|
-
|
|
18003
|
+
xn([
|
|
18003
18004
|
u()
|
|
18004
18005
|
], on.prototype, "volume", 1);
|
|
18005
|
-
|
|
18006
|
+
xn([
|
|
18006
18007
|
u()
|
|
18007
18008
|
], on.prototype, "pitch", 1);
|
|
18008
|
-
|
|
18009
|
+
xn([
|
|
18009
18010
|
u()
|
|
18010
18011
|
], on.prototype, "rollOffMode", 2);
|
|
18011
18012
|
let Ji = on;
|
|
@@ -18118,7 +18119,7 @@ var Rg = /* @__PURE__ */ ((s) => (s[s.None = 0] = "None", s[s.DontExport = 1] =
|
|
|
18118
18119
|
function BM(s) {
|
|
18119
18120
|
return s && s.isComponent;
|
|
18120
18121
|
}
|
|
18121
|
-
const
|
|
18122
|
+
const FD = /* @__PURE__ */ Symbol("object"), Kf = new Yi(() => new y(), 20);
|
|
18122
18123
|
class FM {
|
|
18123
18124
|
_point;
|
|
18124
18125
|
_normal;
|
|
@@ -19090,7 +19091,7 @@ var nR = Object.defineProperty, fi = (s, e, t, i) => {
|
|
|
19090
19091
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
19091
19092
|
return n && nR(e, t, n), n;
|
|
19092
19093
|
};
|
|
19093
|
-
class
|
|
19094
|
+
class Sn extends E {
|
|
19094
19095
|
/**
|
|
19095
19096
|
* Identifies this component as a collider.
|
|
19096
19097
|
* @internal
|
|
@@ -19143,20 +19144,20 @@ class xn extends E {
|
|
|
19143
19144
|
}
|
|
19144
19145
|
fi([
|
|
19145
19146
|
u(Ke)
|
|
19146
|
-
],
|
|
19147
|
+
], Sn.prototype, "attachedRigidbody");
|
|
19147
19148
|
fi([
|
|
19148
19149
|
u()
|
|
19149
|
-
],
|
|
19150
|
+
], Sn.prototype, "isTrigger");
|
|
19150
19151
|
fi([
|
|
19151
19152
|
u()
|
|
19152
|
-
],
|
|
19153
|
+
], Sn.prototype, "sharedMaterial");
|
|
19153
19154
|
fi([
|
|
19154
19155
|
u()
|
|
19155
|
-
],
|
|
19156
|
+
], Sn.prototype, "membership");
|
|
19156
19157
|
fi([
|
|
19157
19158
|
u()
|
|
19158
|
-
],
|
|
19159
|
-
class qc extends
|
|
19159
|
+
], Sn.prototype, "filter");
|
|
19160
|
+
class qc extends Sn {
|
|
19160
19161
|
radius = 0.5;
|
|
19161
19162
|
center = new y(0, 0, 0);
|
|
19162
19163
|
/**
|
|
@@ -19185,7 +19186,7 @@ fi([
|
|
|
19185
19186
|
fi([
|
|
19186
19187
|
u(y)
|
|
19187
19188
|
], qc.prototype, "center");
|
|
19188
|
-
const Ig = class Qv extends
|
|
19189
|
+
const Ig = class Qv extends Sn {
|
|
19189
19190
|
/**
|
|
19190
19191
|
* Creates and adds a BoxCollider to the given object.
|
|
19191
19192
|
* @param obj The object to add the collider to
|
|
@@ -19239,7 +19240,7 @@ fi([
|
|
|
19239
19240
|
u(y)
|
|
19240
19241
|
], Ig.prototype, "center");
|
|
19241
19242
|
let Lg = Ig;
|
|
19242
|
-
class Ur extends
|
|
19243
|
+
class Ur extends Sn {
|
|
19243
19244
|
sharedMesh;
|
|
19244
19245
|
convex = !1;
|
|
19245
19246
|
/**
|
|
@@ -19281,7 +19282,7 @@ fi([
|
|
|
19281
19282
|
fi([
|
|
19282
19283
|
u()
|
|
19283
19284
|
], Ur.prototype, "convex");
|
|
19284
|
-
class xo extends
|
|
19285
|
+
class xo extends Sn {
|
|
19285
19286
|
center = new y(0, 0, 0);
|
|
19286
19287
|
radius = 0.5;
|
|
19287
19288
|
height = 2;
|
|
@@ -19912,7 +19913,7 @@ const ko = class zi extends E {
|
|
|
19912
19913
|
for (const t of this._draggingRigidbodies)
|
|
19913
19914
|
t.wakeUp(), t.resetVelocities(), t.resetForcesAndTorques();
|
|
19914
19915
|
const e = this._targetObject || this.gameObject;
|
|
19915
|
-
|
|
19916
|
+
_n.markDirty(e);
|
|
19916
19917
|
}
|
|
19917
19918
|
/**
|
|
19918
19919
|
* Called when the last pointer has been removed from this object.
|
|
@@ -20301,7 +20302,7 @@ class ew {
|
|
|
20301
20302
|
_rbs = [];
|
|
20302
20303
|
_groundLine;
|
|
20303
20304
|
_groundMarker;
|
|
20304
|
-
static geometry = new
|
|
20305
|
+
static geometry = new yn().setFromPoints([new y(0, 0, 0), new y(0, -1, 0)]);
|
|
20305
20306
|
constructor(e) {
|
|
20306
20307
|
this._camera = e;
|
|
20307
20308
|
const t = new Ta(ew.geometry), i = t.material;
|
|
@@ -20369,7 +20370,7 @@ class ew {
|
|
|
20369
20370
|
}
|
|
20370
20371
|
}
|
|
20371
20372
|
var dR = /* @__PURE__ */ ((s) => (s.File_Spawned = "file-spawned", s))(dR || {});
|
|
20372
|
-
class
|
|
20373
|
+
class UD {
|
|
20373
20374
|
guid;
|
|
20374
20375
|
file_name;
|
|
20375
20376
|
file_hash;
|
|
@@ -20807,7 +20808,7 @@ class vR {
|
|
|
20807
20808
|
}
|
|
20808
20809
|
typeof window < "u" && window.addEventListener("unhandledrejection", (s) => {
|
|
20809
20810
|
});
|
|
20810
|
-
const
|
|
20811
|
+
const En = gt, Bh = "$___Export_Components", wR = "NEEDLE_components";
|
|
20811
20812
|
class xR {
|
|
20812
20813
|
[oa];
|
|
20813
20814
|
}
|
|
@@ -20852,18 +20853,18 @@ class iw {
|
|
|
20852
20853
|
return !i || i.length <= 0 ? !1 : (delete e.userData.components, e[Bh] = i, !0);
|
|
20853
20854
|
}
|
|
20854
20855
|
afterSerializeUserData(e, t) {
|
|
20855
|
-
if (e.type === "Scene" &&
|
|
20856
|
+
if (e.type === "Scene" && En && console.log("DONE", JSON.stringify(t)), e[Bh] === void 0) return;
|
|
20856
20857
|
const i = e[Bh];
|
|
20857
20858
|
delete e[Bh], i !== null && (e.userData.components = i);
|
|
20858
20859
|
}
|
|
20859
20860
|
writeNode(e, t) {
|
|
20860
20861
|
const i = this.writer.json.nodes.length;
|
|
20861
|
-
|
|
20862
|
+
En && console.log(e.name, i, e.uuid);
|
|
20862
20863
|
const n = new SR(e, i, t);
|
|
20863
20864
|
this.exportContext[i] = n, this.objectToNodeMap[e.uuid] = i;
|
|
20864
20865
|
}
|
|
20865
20866
|
afterParse(e) {
|
|
20866
|
-
|
|
20867
|
+
En && console.log("AFTER", e);
|
|
20867
20868
|
for (const t in this.exportContext) {
|
|
20868
20869
|
const i = this.exportContext[t], n = i.node, o = i.nodeDef, r = i.nodeIndex, a = n.userData?.components;
|
|
20869
20870
|
if (!a || a.length <= 0) continue;
|
|
@@ -20875,7 +20876,7 @@ class iw {
|
|
|
20875
20876
|
const d = Qn().writeBuiltinComponentData(h, this.context);
|
|
20876
20877
|
d !== null && c.push(d);
|
|
20877
20878
|
}
|
|
20878
|
-
c.length > 0 && (l[oa] = c,
|
|
20879
|
+
c.length > 0 && (l[oa] = c, En && console.log("DID WRITE", n, "nodeIndex", r, c));
|
|
20879
20880
|
}
|
|
20880
20881
|
}
|
|
20881
20882
|
// -------------------------------------
|
|
@@ -20885,14 +20886,14 @@ class iw {
|
|
|
20885
20886
|
/** The loaded gltf */
|
|
20886
20887
|
gltf = null;
|
|
20887
20888
|
beforeRoot() {
|
|
20888
|
-
return
|
|
20889
|
+
return En && console.log("BEGIN LOAD"), this.nodeToObjectMap = {}, null;
|
|
20889
20890
|
}
|
|
20890
20891
|
async afterRoot(e) {
|
|
20891
20892
|
this.gltf = e;
|
|
20892
20893
|
const t = e.parser, i = t?.extensions;
|
|
20893
20894
|
if (!i) return;
|
|
20894
20895
|
const n = i[this.name];
|
|
20895
|
-
|
|
20896
|
+
En && console.log("After root", e, this.parser, i);
|
|
20896
20897
|
const o = [];
|
|
20897
20898
|
if (n === !0) {
|
|
20898
20899
|
const r = t.json.nodes;
|
|
@@ -20906,7 +20907,7 @@ class iw {
|
|
|
20906
20907
|
if (!h) continue;
|
|
20907
20908
|
const d = h[this.name];
|
|
20908
20909
|
if (!d) continue;
|
|
20909
|
-
|
|
20910
|
+
En && console.log("NODE", l);
|
|
20910
20911
|
const f = this.nodeToObjectMap[c];
|
|
20911
20912
|
if (!f) {
|
|
20912
20913
|
console.error("Could not find object for node index: " + c, l, t);
|
|
@@ -20930,10 +20931,10 @@ class iw {
|
|
|
20930
20931
|
const o = n[oa];
|
|
20931
20932
|
if (o) {
|
|
20932
20933
|
const r = new Array();
|
|
20933
|
-
|
|
20934
|
+
En && console.log(i.name, o);
|
|
20934
20935
|
for (const a in o) {
|
|
20935
20936
|
const l = o[a];
|
|
20936
|
-
if (
|
|
20937
|
+
if (En && console.log("Serialized data", JSON.parse(JSON.stringify(l))), (l?.name === "MeshRenderer" || l?.name === "SkinnedMeshRenderer") && !l.sharedMaterials) {
|
|
20937
20938
|
let c = !1;
|
|
20938
20939
|
if ("mesh" in t) {
|
|
20939
20940
|
const h = t.mesh;
|
|
@@ -20942,7 +20943,7 @@ class iw {
|
|
|
20942
20943
|
d?.primitives && (l.sharedMaterials = d.primitives.map((f) => "/materials/" + (f.material ?? 0)), c = !0);
|
|
20943
20944
|
}
|
|
20944
20945
|
}
|
|
20945
|
-
!c && (
|
|
20946
|
+
!c && (En || L()) && console.warn(`[NEEDLE_components] Component '${l.name}' on object '${i.name}' is not added to a mesh or failed to retrieve materials from glTF.`);
|
|
20946
20947
|
}
|
|
20947
20948
|
l && this.parser && r.push(
|
|
20948
20949
|
pg(this.parser, l).catch((c) => console.error(`Error while resolving references (see console for details)
|
|
@@ -21060,7 +21061,7 @@ class ym extends E {
|
|
|
21060
21061
|
_hemisphereLightObj;
|
|
21061
21062
|
awake() {
|
|
21062
21063
|
if (this.sourceId) {
|
|
21063
|
-
const t = this.environmentReflectionSource === lm.Skybox ?
|
|
21064
|
+
const t = this.environmentReflectionSource === lm.Skybox ? Bn.Skybox : Bn.Reflection, i = this.context.lightmaps.tryGet(this.sourceId, t, 0);
|
|
21064
21065
|
this._hasReflection = i != null, i && this.context.sceneLighting.internalRegisterReflection(this.sourceId, i);
|
|
21065
21066
|
}
|
|
21066
21067
|
this.enabled = !1, this.context.sceneLighting.internalRegisterSceneLightSettings(this), ca && window.addEventListener("keydown", (t) => {
|
|
@@ -21100,7 +21101,7 @@ class ym extends E {
|
|
|
21100
21101
|
}
|
|
21101
21102
|
}
|
|
21102
21103
|
var nw = /* @__PURE__ */ ((s) => (s[s.INT = 5124] = "INT", s[s.FLOAT = 5126] = "FLOAT", s[s.FLOAT_VEC2 = 35664] = "FLOAT_VEC2", s[s.FLOAT_VEC3 = 35665] = "FLOAT_VEC3", s[s.FLOAT_VEC4 = 35666] = "FLOAT_VEC4", s[s.INT_VEC2 = 35667] = "INT_VEC2", s[s.INT_VEC3 = 35668] = "INT_VEC3", s[s.INT_VEC4 = 35669] = "INT_VEC4", s[s.BOOL = 35670] = "BOOL", s[s.BOOL_VEC2 = 35671] = "BOOL_VEC2", s[s.BOOL_VEC3 = 35672] = "BOOL_VEC3", s[s.BOOL_VEC4 = 35673] = "BOOL_VEC4", s[s.FLOAT_MAT2 = 35674] = "FLOAT_MAT2", s[s.FLOAT_MAT3 = 35675] = "FLOAT_MAT3", s[s.FLOAT_MAT4 = 35676] = "FLOAT_MAT4", s[s.SAMPLER_2D = 35678] = "SAMPLER_2D", s[s.SAMPLER_3D = 35680] = "SAMPLER_3D", s[s.SAMPLER_CUBE = 35681] = "SAMPLER_CUBE", s[s.UNKNOWN = 0] = "UNKNOWN", s))(nw || {});
|
|
21103
|
-
const
|
|
21104
|
+
const In = x("debugcustomshader"), Zr = "NEEDLE_techniques_webgl";
|
|
21104
21105
|
class OR {
|
|
21105
21106
|
objectToWorldMatrix = new J();
|
|
21106
21107
|
worldToObjectMatrix = new J();
|
|
@@ -21118,7 +21119,7 @@ class Ee extends o0 {
|
|
|
21118
21119
|
return sw(e), e;
|
|
21119
21120
|
}
|
|
21120
21121
|
constructor(e, ...t) {
|
|
21121
|
-
super(...t), this.identifier = e,
|
|
21122
|
+
super(...t), this.identifier = e, In && console.log(this), this.type = "NEEDLE_CUSTOM_SHADER", this.uniforms[this._objToWorldName] || (this.uniforms[this._objToWorldName] = { value: [] }), this.uniforms[this._worldToObjectName] || (this.uniforms[this._worldToObjectName] = { value: [] }), this.uniforms[this._viewProjectionName] || (this.uniforms[this._viewProjectionName] = { value: [] }), this.uniforms[this._sphericalHarmonicsName], (this.depthTextureUniform || this.opaqueTextureUniform) && N.Current.pre_render_callbacks.push(this.onBeforeRenderSceneCallback);
|
|
21122
21123
|
}
|
|
21123
21124
|
dispose() {
|
|
21124
21125
|
super.dispose();
|
|
@@ -21245,22 +21246,22 @@ class kR {
|
|
|
21245
21246
|
loadMaterial(e) {
|
|
21246
21247
|
const t = this.parser.json.materials[e];
|
|
21247
21248
|
if (!t)
|
|
21248
|
-
return
|
|
21249
|
+
return In && console.log(e, this.parser.json.materials), null;
|
|
21249
21250
|
if (!t.extensions || !t.extensions[Zr])
|
|
21250
|
-
return
|
|
21251
|
-
|
|
21251
|
+
return In && console.log(`Material ${e} does not use NEEDLE_techniques_webgl`), null;
|
|
21252
|
+
In && console.log(`Material ${e} uses NEEDLE_techniques_webgl`, t);
|
|
21252
21253
|
const i = t.extensions[Zr].technique;
|
|
21253
21254
|
if (i < 0)
|
|
21254
21255
|
return console.debug(`Material ${e} does not have a valid technique index`), null;
|
|
21255
21256
|
const n = this.parser.json.extensions[Zr];
|
|
21256
21257
|
if (!n)
|
|
21257
|
-
return
|
|
21258
|
-
|
|
21258
|
+
return In ? console.error("Missing shader data", this.parser.json.extensions) : console.debug("Missing custom shader data in parser.json.extensions"), null;
|
|
21259
|
+
In && console.log(n);
|
|
21259
21260
|
const o = n.techniques[i];
|
|
21260
21261
|
return o ? new Promise(async (r, a) => {
|
|
21261
21262
|
const l = await lk(n, o.program), c = l?.fragmentShader, h = l?.vertexShader;
|
|
21262
21263
|
if (!c || !h) return a();
|
|
21263
|
-
|
|
21264
|
+
In && console.log("loadMaterial", t, l);
|
|
21264
21265
|
const d = {}, f = o.uniforms;
|
|
21265
21266
|
(h.includes("_Time") || c.includes("_Time")) && (d._Time = { value: new me(0, 0, 0, 0) }), (h.includes("_SinTime") || c.includes("_SinTime")) && (d._SinTime = { value: new me(0, 0, 0, 0) }), (h.includes("_CosTime") || c.includes("_CosTime")) && (d._CosTime = { value: new me(0, 0, 0, 0) }), (h.includes("unity_DeltaTime") || c.includes("unity_DeltaTime")) && (d.unity_DeltaTime = { value: new me(0, 0, 0, 0) });
|
|
21266
21267
|
for (const w in f) {
|
|
@@ -21300,7 +21301,7 @@ class kR {
|
|
|
21300
21301
|
if (t.extensions && t.extensions[Zr]) {
|
|
21301
21302
|
const w = t.extensions[Zr];
|
|
21302
21303
|
if (w.technique === i) {
|
|
21303
|
-
|
|
21304
|
+
In && console.log(t.name, "Material Properties", w);
|
|
21304
21305
|
for (const b in w.values) {
|
|
21305
21306
|
const v = w.values[b];
|
|
21306
21307
|
if (typeof v == "string") {
|
|
@@ -21380,13 +21381,13 @@ class kR {
|
|
|
21380
21381
|
const b = w, v = f[w].type;
|
|
21381
21382
|
d[b]?.value === void 0 && (v === nw.SAMPLER_2D ? (d[b] = { value: sk }, console.warn("Missing/unassigned texture, fallback to white: " + b)) : b === "unity_OrthoParams" || console.warn("TODO: EXPECTED UNIFORM / fallback NOT SET: " + b, f[w]));
|
|
21382
21383
|
}
|
|
21383
|
-
|
|
21384
|
+
In && console.log(g.uuid, d), sw(g), r(g);
|
|
21384
21385
|
}) : null;
|
|
21385
21386
|
}
|
|
21386
21387
|
}
|
|
21387
21388
|
function sw(s) {
|
|
21388
21389
|
if (s.uniforms) {
|
|
21389
|
-
|
|
21390
|
+
In && console.log("Uniforms:", s.uniforms);
|
|
21390
21391
|
for (const t in s.uniforms)
|
|
21391
21392
|
e(t, t), t === "_Color" && e("color", t);
|
|
21392
21393
|
}
|
|
@@ -21404,10 +21405,10 @@ let Gd;
|
|
|
21404
21405
|
const RR = import("./vendor-DMZcbVO1.js").then((s) => s.index$2).then(async (s) => (Gd = s.GLTFAnimationPointerExtension, Gd)).catch((s) => {
|
|
21405
21406
|
console.warn("Failed to import GLTFLoaderAnimationPointer. Please use @needle-tools/three-animationpointer for full KHR_animation support", s);
|
|
21406
21407
|
}), Pr = new Array();
|
|
21407
|
-
function
|
|
21408
|
+
function zD(s) {
|
|
21408
21409
|
Pr.includes(s) || Pr.push(s);
|
|
21409
21410
|
}
|
|
21410
|
-
function
|
|
21411
|
+
function ND(s) {
|
|
21411
21412
|
const e = Pr.indexOf(s);
|
|
21412
21413
|
e >= 0 && Pr.splice(e, 1);
|
|
21413
21414
|
}
|
|
@@ -22070,7 +22071,7 @@ const ts = class fd extends E {
|
|
|
22070
22071
|
*/
|
|
22071
22072
|
static isInstanced(e) {
|
|
22072
22073
|
const t = Qa(e, fd);
|
|
22073
|
-
return t ? t.isInstancingActive :
|
|
22074
|
+
return t ? t.isInstancingActive : _n.isUsingInstancing(e);
|
|
22074
22075
|
}
|
|
22075
22076
|
/** Set the rendering state only of an object (makes it visible or invisible) without affecting component state or child hierarchy visibility! You can also just enable/disable the Renderer component on that object for the same effect!
|
|
22076
22077
|
*
|
|
@@ -22268,7 +22269,7 @@ const ts = class fd extends E {
|
|
|
22268
22269
|
return !0;
|
|
22269
22270
|
}
|
|
22270
22271
|
start() {
|
|
22271
|
-
if (this.enableInstancing && !hb && (this.setInstancingEnabled(!0),
|
|
22272
|
+
if (this.enableInstancing && !hb && (this.setInstancingEnabled(!0), _n.markDirty(this.gameObject)), this.gameObject.frustumCulled = this.allowOcclusionWhenDynamic, this.isMultiMaterialObject(this.gameObject))
|
|
22272
22273
|
for (let e = 0; e < this.gameObject.children.length; e++) {
|
|
22273
22274
|
const t = this.gameObject.children[e];
|
|
22274
22275
|
t.frustumCulled = this.allowOcclusionWhenDynamic;
|
|
@@ -24826,7 +24827,7 @@ class _E {
|
|
|
24826
24827
|
return this.sortedActions || this.organize(), this.sortedActions[e.uuid];
|
|
24827
24828
|
}
|
|
24828
24829
|
}
|
|
24829
|
-
const
|
|
24830
|
+
const Fn = x("debugusdzanimation"), xm = x("debugusdzanimationserialization");
|
|
24830
24831
|
class ur {
|
|
24831
24832
|
_start;
|
|
24832
24833
|
get start() {
|
|
@@ -25077,7 +25078,7 @@ class Wg {
|
|
|
25077
25078
|
const i = e.uuid + (t?.uuid ?? "-rest");
|
|
25078
25079
|
if (this.rootAndClipToRegisteredAnimationMap.has(i))
|
|
25079
25080
|
return this.rootAndClipToRegisteredAnimationMap.get(i);
|
|
25080
|
-
|
|
25081
|
+
Fn && console.log("registerAnimation", e, t);
|
|
25081
25082
|
const n = this.injectRestPoses ? 1 : 0, o = (this.rootToRegisteredClip.get(e)?.length ?? 0) + n, r = this.rootTargetMap.get(e), a = new Set(r);
|
|
25082
25083
|
if (t && t.tracks)
|
|
25083
25084
|
for (const c of t.tracks) {
|
|
@@ -25096,7 +25097,7 @@ class Wg {
|
|
|
25096
25097
|
let p = f[o];
|
|
25097
25098
|
p || (p = new $e(e, d, t), f[o] = p), p.addTrack(c), r?.includes(d) || r?.push(d);
|
|
25098
25099
|
}
|
|
25099
|
-
|
|
25100
|
+
Fn && console.log("Unregistered nodes for this clip", a, "clip", t, "at slot", o, "for root", e, "targets", r);
|
|
25100
25101
|
for (const c of a) {
|
|
25101
25102
|
const h = this.dict.get(c);
|
|
25102
25103
|
if (!h) continue;
|
|
@@ -25106,10 +25107,10 @@ class Wg {
|
|
|
25106
25107
|
h[0] = f;
|
|
25107
25108
|
}
|
|
25108
25109
|
let d = h[o];
|
|
25109
|
-
d || (
|
|
25110
|
+
d || (Fn && console.log("Adding padding clip for ", c, t, "at slot", o), d = new $e(e, c, t), h[o] = d);
|
|
25110
25111
|
}
|
|
25111
25112
|
const l = new ur(this, e, t);
|
|
25112
|
-
if (this.rootAndClipToRegisteredAnimationMap.set(i, l),
|
|
25113
|
+
if (this.rootAndClipToRegisteredAnimationMap.set(i, l), Fn && console.log({ root: e, clip: t, info: l }), t) {
|
|
25113
25114
|
const c = this.rootToRegisteredClip.get(e);
|
|
25114
25115
|
if (c ? c.push(t) : this.rootToRegisteredClip.set(e, [t]), !this.clipToStartTime.get(t)) {
|
|
25115
25116
|
this.lastClipEndTime == null && (this.lastClipEndTime = $e.restPoseClipDuration);
|
|
@@ -25121,10 +25122,10 @@ class Wg {
|
|
|
25121
25122
|
return l;
|
|
25122
25123
|
}
|
|
25123
25124
|
onAfterHierarchy(e) {
|
|
25124
|
-
|
|
25125
|
+
Fn && console.log("Animation clips per animation target node", this.dict);
|
|
25125
25126
|
}
|
|
25126
25127
|
onAfterBuildDocument(e) {
|
|
25127
|
-
|
|
25128
|
+
Fn && console.log("Animation data", { dict: this.dict, rootTargetMap: this.rootTargetMap, rootToRegisteredClip: this.rootToRegisteredClip });
|
|
25128
25129
|
for (const t of this.rootTargetMap.keys()) {
|
|
25129
25130
|
const i = this.rootTargetMap.get(t);
|
|
25130
25131
|
if (!i) continue;
|
|
@@ -25210,7 +25211,7 @@ class bE {
|
|
|
25210
25211
|
for (const si of Z)
|
|
25211
25212
|
Pe++, si || (oe.has(fe) || oe.set(fe, []), oe.get(fe).push(Pe));
|
|
25212
25213
|
}
|
|
25213
|
-
|
|
25214
|
+
Fn && console.log("Bone count: ", k.size, "TransformData entries per bone: ", W, "Undefined bone entries: ", oe), console.assert(q, "All bones should have the same number of TransformData entries", k), console.assert(oe.size === 0, "All TransformData entries should be set", oe);
|
|
25214
25215
|
const re = [];
|
|
25215
25216
|
for (const [fe, Z] of k)
|
|
25216
25217
|
for (let Pe = 0; Pe < Z.length; Pe++) {
|
|
@@ -25261,7 +25262,7 @@ class bE {
|
|
|
25261
25262
|
return W.join(", ");
|
|
25262
25263
|
}, f = function(k) {
|
|
25263
25264
|
const W = /* @__PURE__ */ new Map();
|
|
25264
|
-
if (
|
|
25265
|
+
if (Fn) {
|
|
25265
25266
|
const q = new Array();
|
|
25266
25267
|
for (const [oe, re] of o)
|
|
25267
25268
|
q.push(oe.uuid + ": " + re.length + " " + re.map((fe) => fe.clip?.uuid.substring(0, 6)).join(" "));
|
|
@@ -25312,7 +25313,7 @@ class bE {
|
|
|
25312
25313
|
const B = _.map((k) => '"' + Ra(k.bone, v) + '"').join(", "), G = _.map((k) => pb(k.inverse.clone().invert())).join(", ");
|
|
25313
25314
|
e.beginBlock('def Skeleton "Rig"'), e.appendLine(`uniform matrix4d[] bindTransforms = [${G}]`), e.appendLine(`uniform token[] joints = [${B}]`), e.appendLine('uniform token purpose = "guide"'), e.appendLine(`uniform matrix4d[] restTransforms = [${O.map((k) => pb(k)).join(", ")}]`);
|
|
25314
25315
|
const X = p(_.map((k) => k.bone));
|
|
25315
|
-
if (
|
|
25316
|
+
if (Fn) {
|
|
25316
25317
|
let k = 1e7, W = 0;
|
|
25317
25318
|
for (const q of X.position?.keys() ?? [])
|
|
25318
25319
|
k = Math.min(k, q), W = Math.max(W, q);
|
|
@@ -25386,7 +25387,7 @@ class bE {
|
|
|
25386
25387
|
const w = !g.clip, b = d === "position" && (g.pos || w), v = d === "rotation" && (g.rot || w), I = d === "scale" && (g.scale || w);
|
|
25387
25388
|
if (b || v || I) {
|
|
25388
25389
|
const O = g.clip?.name ?? "rest", R = g.getDuration();
|
|
25389
|
-
|
|
25390
|
+
Fn && console.log("Write .timeSamples:", O, _, R, h), e.appendLine("# " + O + ": start=" + l.format(_ * $e.frameRate) + ", length=" + l.format(R * $e.frameRate) + ", frames=" + g.getFrames());
|
|
25390
25391
|
}
|
|
25391
25392
|
if (b)
|
|
25392
25393
|
for (const { time: O, translation: R } of g.getValues(m, !0, !1, !1)) {
|
|
@@ -25852,7 +25853,7 @@ Ue([
|
|
|
25852
25853
|
Ue([
|
|
25853
25854
|
u()
|
|
25854
25855
|
], Or.prototype, "toggleOnClick");
|
|
25855
|
-
const Vg = class
|
|
25856
|
+
const Vg = class An extends E {
|
|
25856
25857
|
animator;
|
|
25857
25858
|
stateName;
|
|
25858
25859
|
// Not editable from the outside yet, but from code
|
|
@@ -25888,22 +25889,22 @@ const Vg = class Tn extends E {
|
|
|
25888
25889
|
static rootsWithExclusivePlayback = /* @__PURE__ */ new Set();
|
|
25889
25890
|
// Cleanup. TODO This is not the best way as it's called multiple times (once for each component).
|
|
25890
25891
|
afterSerialize() {
|
|
25891
|
-
if (
|
|
25892
|
+
if (An.rootsWithExclusivePlayback.size > 1) {
|
|
25892
25893
|
const e = 'Multiple root objects targeted by more than one animation. To work around QuickLook bug FB13410767, animations will be set as "exclusive" and activating them will stop other animations being marked as exclusive.';
|
|
25893
|
-
L() && _e(e), console.warn(e, ...
|
|
25894
|
+
L() && _e(e), console.warn(e, ...An.rootsWithExclusivePlayback);
|
|
25894
25895
|
}
|
|
25895
|
-
|
|
25896
|
+
An.animationActions = [], An.rootsWithExclusivePlayback = /* @__PURE__ */ new Set();
|
|
25896
25897
|
}
|
|
25897
25898
|
afterCreateDocument(e, t) {
|
|
25898
25899
|
if (this.animationSequence === void 0 && this.animationLoopAfterSequence === void 0 || !this.stateAnimationModel || !this.target) return;
|
|
25899
25900
|
const i = t.document, n = t.extensions.find((a) => a instanceof Wg);
|
|
25900
25901
|
if (!n) return;
|
|
25901
25902
|
const o = n.getClipCount(this.target) > 1;
|
|
25902
|
-
o && (L() && console.warn("Setting exclusive playback for " + this.target.name + "@" + this.stateName + " because it has " + n.getClipCount(this.target) + " animations. This works around QuickLook bug FB13410767."),
|
|
25903
|
+
o && (L() && console.warn("Setting exclusive playback for " + this.target.name + "@" + this.stateName + " because it has " + n.getClipCount(this.target) + " animations. This works around QuickLook bug FB13410767."), An.rootsWithExclusivePlayback.add(this.target));
|
|
25903
25904
|
const r = this.name ? this.name : "";
|
|
25904
25905
|
i.traverse((a) => {
|
|
25905
25906
|
if (a.uuid === this.target?.uuid) {
|
|
25906
|
-
const l =
|
|
25907
|
+
const l = An.getActionForSequences(
|
|
25907
25908
|
i,
|
|
25908
25909
|
a,
|
|
25909
25910
|
this.animationSequence,
|
|
@@ -25920,8 +25921,8 @@ const Vg = class Tn extends E {
|
|
|
25920
25921
|
}
|
|
25921
25922
|
static getActionForSequences(e, t, i, n, o) {
|
|
25922
25923
|
const r = (l, c) => {
|
|
25923
|
-
let h =
|
|
25924
|
-
return h || (h = ge.startAnimationAction(l, c),
|
|
25924
|
+
let h = An.animationActions.find((d) => d.affectedObjects == l && d.start == c.start && d.duration == c.duration && d.animationSpeed == c.speed);
|
|
25925
|
+
return h || (h = ge.startAnimationAction(l, c), An.animationActions.push(h)), h;
|
|
25925
25926
|
}, a = ge.sequence();
|
|
25926
25927
|
if (i && i.length > 0)
|
|
25927
25928
|
for (const l of i)
|
|
@@ -26053,7 +26054,7 @@ const Vg = class Tn extends E {
|
|
|
26053
26054
|
}
|
|
26054
26055
|
createAnimation(e, t, i) {
|
|
26055
26056
|
if (!this.target || !this.animator && !this.animation) return;
|
|
26056
|
-
const n =
|
|
26057
|
+
const n = An.getAndRegisterAnimationSequences(e, this.target, this.stateName);
|
|
26057
26058
|
n && (this.animationSequence = n.animationSequence, this.animationLoopAfterSequence = n.animationLoopAfterSequence, this.randomOffsetNormalized = n.randomTimeOffset, this.stateAnimationModel = t);
|
|
26058
26059
|
}
|
|
26059
26060
|
};
|
|
@@ -26131,7 +26132,7 @@ class vr {
|
|
|
26131
26132
|
}
|
|
26132
26133
|
_sendToQuestButton;
|
|
26133
26134
|
get qrButton() {
|
|
26134
|
-
return
|
|
26135
|
+
return mn.getOrCreate().createQRCode();
|
|
26135
26136
|
}
|
|
26136
26137
|
/** get or create the quicklook button
|
|
26137
26138
|
* Behaviour of the button:
|
|
@@ -26195,7 +26196,7 @@ class vr {
|
|
|
26195
26196
|
* @deprecated please use ButtonsFactory.getOrCreate().createQRCode(). This method will be removed in a future update
|
|
26196
26197
|
*/
|
|
26197
26198
|
createQRCode() {
|
|
26198
|
-
return
|
|
26199
|
+
return mn.getOrCreate().createQRCode();
|
|
26199
26200
|
}
|
|
26200
26201
|
updateSessionSupported(e, t) {
|
|
26201
26202
|
if (!(t === "immersive-ar" && j.isiOS() && !j.isVisionOS())) {
|
|
@@ -26235,7 +26236,7 @@ class kr {
|
|
|
26235
26236
|
if (e.__cached_geometry) return e.__cached_geometry;
|
|
26236
26237
|
if (e.guid && kr.cache[e.guid])
|
|
26237
26238
|
return pc && console.log("Take cached geometry for sprite", e.guid), kr.cache[e.guid];
|
|
26238
|
-
const t = new
|
|
26239
|
+
const t = new yn();
|
|
26239
26240
|
e.__cached_geometry = t;
|
|
26240
26241
|
const i = new Float32Array(e.triangles.length * 3), n = new Float32Array(e.triangles.length * 2);
|
|
26241
26242
|
for (let o = 0; o < e.triangles.length; o += 1) {
|
|
@@ -26935,7 +26936,7 @@ class ME {
|
|
|
26935
26936
|
}
|
|
26936
26937
|
for (const t in this.changedProperties) {
|
|
26937
26938
|
const i = this.changedProperties[t];
|
|
26938
|
-
ao && console.log("SEND", this.comp.guid, this.networkingKey), e.send(this.networkingKey, { guid: this.comp.guid, property: t, data: i },
|
|
26939
|
+
ao && console.log("SEND", this.comp.guid, this.networkingKey), e.send(this.networkingKey, { guid: this.comp.guid, property: t, data: i }, Dn.Queued), delete this.changedProperties[t];
|
|
26939
26940
|
}
|
|
26940
26941
|
};
|
|
26941
26942
|
onHandleReceiving = (e) => {
|
|
@@ -27036,7 +27037,7 @@ const Xt = x("debugplayersync"), $u = class Aw extends E {
|
|
|
27036
27037
|
const i = ne.getOrCreateFromUrl(e);
|
|
27037
27038
|
if (!i.asset) {
|
|
27038
27039
|
const r = await i.loadAssetAsync();
|
|
27039
|
-
r && S.getOrAddComponent(r,
|
|
27040
|
+
r && S.getOrAddComponent(r, gn);
|
|
27040
27041
|
}
|
|
27041
27042
|
const n = new Aw();
|
|
27042
27043
|
n._internalInit(t), n.asset = i;
|
|
@@ -27070,7 +27071,7 @@ const Xt = x("debugplayersync"), $u = class Aw extends E {
|
|
|
27070
27071
|
this.gameObject.guid || console.warn("PlayerSync: gameObject has no guid! This might cause issues with syncing the player state."), this._localInstance = this.asset?.instantiateSynced({ parent: this.gameObject, deleteOnDisconnect: !0 }, !0);
|
|
27071
27072
|
const e = await this._localInstance;
|
|
27072
27073
|
if (e) {
|
|
27073
|
-
const t = S.getComponentsInChildren(e,
|
|
27074
|
+
const t = S.getComponentsInChildren(e, gn);
|
|
27074
27075
|
if (Xt && console.log(`PlayerSync.createInstance: found ${t?.length} PlayerState components. Owner: ${this.context.connection.connectionId}`), t?.length) {
|
|
27075
27076
|
for (const i of t)
|
|
27076
27077
|
i.owner = this.context.connection.connectionId;
|
|
@@ -27095,8 +27096,8 @@ const Xt = x("debugplayersync"), $u = class Aw extends E {
|
|
|
27095
27096
|
watchTabVisible() {
|
|
27096
27097
|
window.addEventListener("visibilitychange", (e) => {
|
|
27097
27098
|
if (document.visibilityState === "visible")
|
|
27098
|
-
for (let t =
|
|
27099
|
-
const i =
|
|
27099
|
+
for (let t = gn.all.length - 1; t >= 0; t--) {
|
|
27100
|
+
const i = gn.all[t];
|
|
27100
27101
|
(!i.owner || !this.context.connection.userIsInRoom(i.owner)) && i.doDestroy();
|
|
27101
27102
|
}
|
|
27102
27103
|
});
|
|
@@ -27242,7 +27243,7 @@ const Cm = class Ot extends E {
|
|
|
27242
27243
|
Nu([
|
|
27243
27244
|
Tw(Cm.prototype.onOwnerChange)
|
|
27244
27245
|
], Cm.prototype, "owner");
|
|
27245
|
-
let
|
|
27246
|
+
let gn = Cm;
|
|
27246
27247
|
var LE = Object.defineProperty, nl = (s, e, t, i) => {
|
|
27247
27248
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
27248
27249
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -27303,7 +27304,7 @@ class Mr extends E {
|
|
|
27303
27304
|
async onEnterXR(e) {
|
|
27304
27305
|
if (!this.activeAndEnabled) return;
|
|
27305
27306
|
El && console.warn("AVATAR ENTER XR", this.guid, this.sourceId, this, this.activeAndEnabled), this._syncTransforms && (this._syncTransforms.length = 0), await this.prepareAvatar();
|
|
27306
|
-
const t =
|
|
27307
|
+
const t = gn.getFor(this);
|
|
27307
27308
|
if (t?.owner) {
|
|
27308
27309
|
const i = this.gameObject.addComponent(Be);
|
|
27309
27310
|
i.avatar = this.gameObject, i.connectionId = t.owner, this.context.players.setPlayerView(t.owner, this.head?.asset, go.Headset);
|
|
@@ -27315,7 +27316,7 @@ class Mr extends E {
|
|
|
27315
27316
|
}
|
|
27316
27317
|
onUpdateXR(e) {
|
|
27317
27318
|
if (!this.activeAndEnabled) return;
|
|
27318
|
-
const t =
|
|
27319
|
+
const t = gn.isLocalPlayer(this);
|
|
27319
27320
|
if (!t) return;
|
|
27320
27321
|
const i = e.xr;
|
|
27321
27322
|
if (i.rig && i.rig.gameObject !== this.gameObject.parent && (this.gameObject.position.set(0, 0, 0), this.gameObject.rotation.set(0, 0, 0), this.gameObject.scale.set(1, 1, 1), i.rig.gameObject.add(this.gameObject)), this._syncTransforms && t)
|
|
@@ -27347,7 +27348,7 @@ class Mr extends E {
|
|
|
27347
27348
|
}
|
|
27348
27349
|
updateRemoteAvatarVisibility() {
|
|
27349
27350
|
if (this.context.connection.isConnected) {
|
|
27350
|
-
const e =
|
|
27351
|
+
const e = gn.getFor(this);
|
|
27351
27352
|
if (e && e.isLocalPlayer == !1) {
|
|
27352
27353
|
const t = K.getXRSync(this.context);
|
|
27353
27354
|
if (t && t.hasState(e.owner)) {
|
|
@@ -27396,7 +27397,7 @@ class Mr extends E {
|
|
|
27396
27397
|
e?.isMesh && this._leftHandMeshes.push(e);
|
|
27397
27398
|
}), this._rightHandMeshes = [], this.rightHand.asset?.traverse((e) => {
|
|
27398
27399
|
e?.isMesh && this._rightHandMeshes.push(e);
|
|
27399
|
-
}),
|
|
27400
|
+
}), gn.isLocalPlayer(this.gameObject) && (this._syncTransforms = S.getComponentsInChildren(this.gameObject, Kn));
|
|
27400
27401
|
}
|
|
27401
27402
|
async loadAvatarObjects(e, t, i) {
|
|
27402
27403
|
const n = e.loadAssetAsync(), o = t.loadAssetAsync(), r = i.loadAssetAsync(), a = new Array();
|
|
@@ -28060,7 +28061,7 @@ const Tl = x("debugwebxr"), zE = x("debugusdz"), ht = class ua extends E {
|
|
|
28060
28061
|
if (t && t.createQRCodeButton === !1)
|
|
28061
28062
|
L() && console.warn("WebXR: QRCode button is disabled in the Needle Menu component");
|
|
28062
28063
|
else if (!j.isMobileDevice()) {
|
|
28063
|
-
const i =
|
|
28064
|
+
const i = mn.getOrCreate().createQRCode();
|
|
28064
28065
|
this.addButton(i, 50);
|
|
28065
28066
|
}
|
|
28066
28067
|
}
|
|
@@ -28309,7 +28310,7 @@ class Dw {
|
|
|
28309
28310
|
return "Physics";
|
|
28310
28311
|
}
|
|
28311
28312
|
onExportObject(e, t, i) {
|
|
28312
|
-
const n = S.getComponents(e, Ke).filter((l) => l.enabled), o = S.getComponents(e,
|
|
28313
|
+
const n = S.getComponents(e, Ke).filter((l) => l.enabled), o = S.getComponents(e, Sn).filter((l) => l.enabled && !l.isTrigger);
|
|
28313
28314
|
let r = n.length > 0 ? n[0] : null;
|
|
28314
28315
|
const a = o.length > 0 ? o[0] : null;
|
|
28315
28316
|
a && !r && (r = new Ke(), r.isKinematic = !0), r && t.addEventListener("serialize", (l, c) => {
|
|
@@ -28354,7 +28355,7 @@ _0.prototype.interactable = {
|
|
|
28354
28355
|
this.interactable = s;
|
|
28355
28356
|
}
|
|
28356
28357
|
};
|
|
28357
|
-
class
|
|
28358
|
+
class wn extends E {
|
|
28358
28359
|
/** Is this object on the root of the UI hierarchy ? */
|
|
28359
28360
|
isRoot() {
|
|
28360
28361
|
return this.Root?.gameObject === this.gameObject;
|
|
@@ -28407,7 +28408,7 @@ class vn extends E {
|
|
|
28407
28408
|
if (!e) return;
|
|
28408
28409
|
this.removeShadowComponent();
|
|
28409
28410
|
const i = this.isRoot() ? this.gameObject : this.gameObject.parent;
|
|
28410
|
-
if (this._parentComponent = S.getComponentInParent(i,
|
|
28411
|
+
if (this._parentComponent = S.getComponentInParent(i, wn), !this._parentComponent) {
|
|
28411
28412
|
console.warn(`Component "${this.name}" doesn't have a UI parent anywhere. Do you have an UI element outside a Canvas? UI components must be a child of a Canvas component`, this);
|
|
28412
28413
|
return;
|
|
28413
28414
|
}
|
|
@@ -28443,7 +28444,7 @@ class vn extends E {
|
|
|
28443
28444
|
this.shadowComponent && (this.shadowComponent.interactable = e);
|
|
28444
28445
|
}
|
|
28445
28446
|
}
|
|
28446
|
-
class Vu extends
|
|
28447
|
+
class Vu extends wn {
|
|
28447
28448
|
awake() {
|
|
28448
28449
|
super.awake();
|
|
28449
28450
|
}
|
|
@@ -28464,7 +28465,7 @@ class HE {
|
|
|
28464
28465
|
width;
|
|
28465
28466
|
height;
|
|
28466
28467
|
}
|
|
28467
|
-
const hn = new y(), Al = new J(), Hh = new V(), sl = class jw extends
|
|
28468
|
+
const hn = new y(), Al = new J(), Hh = new V(), sl = class jw extends wn {
|
|
28468
28469
|
get parent() {
|
|
28469
28470
|
return this._parentRectTransform;
|
|
28470
28471
|
}
|
|
@@ -28564,7 +28565,7 @@ const hn = new y(), Al = new J(), Hh = new V(), sl = class jw extends vn {
|
|
|
28564
28565
|
if (!t) return;
|
|
28565
28566
|
this.gameObject.parent ? this._parentRectTransform = S.getComponentInParent(this.gameObject.parent, jw) : this._parentRectTransform = void 0, this._transformNeedsUpdate = !1, mp && console.warn("RectTransform → ApplyTransform", this.name + " because " + e), this.isRoot() ? this.Root.screenspace || (t.rotation.y = Math.PI) : (t.matrix.identity(), t.matrixAutoUpdate = !1, hn.set(0, 0, 0), this.applyPivot(hn), t.matrix.setPosition(hn.x, hn.y, 0), (this.gameObject.quaternion.x || this.gameObject.quaternion.y || this.gameObject.quaternion.z) && (Hh.copy(this.gameObject.quaternion), Hh.x *= -1, Hh.z *= -1, Al.makeRotationFromQuaternion(Hh), t.matrix.premultiply(Al)), hn.set(0, 0, 0), this.applyAnchoring(hn), this.canvas?.screenspace ? hn.z += 0.1 : hn.z += 0.01, Al.identity(), Al.setPosition(hn.x, hn.y, hn.z), t.matrix.premultiply(Al), t.matrix.scale(this.gameObject.scale)), this.lastMatrix.copy(this.gameObject.matrix);
|
|
28566
28567
|
const i = !0;
|
|
28567
|
-
for (const n of _g(this.gameObject,
|
|
28568
|
+
for (const n of _g(this.gameObject, wn, i, 1)) {
|
|
28568
28569
|
if (n === this || !n.activeAndEnabled) continue;
|
|
28569
28570
|
const o = n;
|
|
28570
28571
|
o.onParentRectTransformChanged && o.onParentRectTransformChanged(this);
|
|
@@ -28684,7 +28685,7 @@ const Yo = {
|
|
|
28684
28685
|
backgroundOpacity: 1,
|
|
28685
28686
|
borderColor: new se(1, 1, 1),
|
|
28686
28687
|
borderOpacity: 1
|
|
28687
|
-
}, Yg = class Yl extends
|
|
28688
|
+
}, Yg = class Yl extends wn {
|
|
28688
28689
|
get isGraphic() {
|
|
28689
28690
|
return !0;
|
|
28690
28691
|
}
|
|
@@ -29617,7 +29618,7 @@ const yp = x("debuguilayout"), nn = class Hw extends Vu {
|
|
|
29617
29618
|
*_updateRenderSettingsDelayed() {
|
|
29618
29619
|
if (yield, this._updateRenderSettingsRoutine = void 0, this.shadowComponent) {
|
|
29619
29620
|
this.onUpdateRenderMode(), $d(this.shadowComponent, this);
|
|
29620
|
-
for (const e of S.getComponentsInChildren(this.gameObject,
|
|
29621
|
+
for (const e of S.getComponentsInChildren(this.gameObject, wn))
|
|
29621
29622
|
$d(e.shadowComponent, this);
|
|
29622
29623
|
}
|
|
29623
29624
|
}
|
|
@@ -29706,7 +29707,7 @@ class Rr extends E {
|
|
|
29706
29707
|
_buffer = [];
|
|
29707
29708
|
applyChangesNow() {
|
|
29708
29709
|
this._buffer.length = 0;
|
|
29709
|
-
for (const e of S.getComponentsInChildren(this.gameObject,
|
|
29710
|
+
for (const e of S.getComponentsInChildren(this.gameObject, wn, this._buffer)) {
|
|
29710
29711
|
const t = e;
|
|
29711
29712
|
t.setAlphaFactor && t.setAlphaFactor(this._alpha);
|
|
29712
29713
|
}
|
|
@@ -29742,7 +29743,7 @@ class Gw {
|
|
|
29742
29743
|
if (!S.isActiveInHierarchy(d)) {
|
|
29743
29744
|
const f = S.isActiveSelf(d);
|
|
29744
29745
|
S.setActive(d, !0);
|
|
29745
|
-
const p = S.getComponent(d,
|
|
29746
|
+
const p = S.getComponent(d, wn);
|
|
29746
29747
|
p && (p.onEnable(), l.push(() => {
|
|
29747
29748
|
p.onDisable();
|
|
29748
29749
|
}));
|
|
@@ -30064,7 +30065,7 @@ const pi = class nr extends E {
|
|
|
30064
30065
|
if (L() && l && c) {
|
|
30065
30066
|
const O = l.animatedRoots;
|
|
30066
30067
|
for (const R of O) {
|
|
30067
|
-
const A = S.getComponentsInChildren(R, Ke).filter((B) => B.enabled), D = S.getComponents(R,
|
|
30068
|
+
const A = S.getComponentsInChildren(R, Ke).filter((B) => B.enabled), D = S.getComponents(R, Sn).filter((B) => B.enabled && !B.isTrigger);
|
|
30068
30069
|
(A.length > 0 || D.length > 0) && console.error("An animated object has physics components in its child hierarchy. This can lead to undefined behaviour due to a bug in Apple's QuickLook (FB15925487). Remove the physics components from child objects or verify that you get the expected results.", R);
|
|
30069
30070
|
}
|
|
30070
30071
|
}
|
|
@@ -32134,7 +32135,7 @@ C([
|
|
|
32134
32135
|
C([
|
|
32135
32136
|
u()
|
|
32136
32137
|
], ss.prototype, "zMultiplier");
|
|
32137
|
-
class
|
|
32138
|
+
class Cn {
|
|
32138
32139
|
enabled;
|
|
32139
32140
|
range;
|
|
32140
32141
|
separateAxes;
|
|
@@ -32155,31 +32156,31 @@ class Sn {
|
|
|
32155
32156
|
}
|
|
32156
32157
|
C([
|
|
32157
32158
|
u()
|
|
32158
|
-
],
|
|
32159
|
+
], Cn.prototype, "enabled");
|
|
32159
32160
|
C([
|
|
32160
32161
|
u()
|
|
32161
|
-
],
|
|
32162
|
+
], Cn.prototype, "range");
|
|
32162
32163
|
C([
|
|
32163
32164
|
u()
|
|
32164
|
-
],
|
|
32165
|
+
], Cn.prototype, "separateAxes");
|
|
32165
32166
|
C([
|
|
32166
32167
|
u(Y)
|
|
32167
|
-
],
|
|
32168
|
+
], Cn.prototype, "x");
|
|
32168
32169
|
C([
|
|
32169
32170
|
u()
|
|
32170
|
-
],
|
|
32171
|
+
], Cn.prototype, "xMultiplier");
|
|
32171
32172
|
C([
|
|
32172
32173
|
u(Y)
|
|
32173
|
-
],
|
|
32174
|
+
], Cn.prototype, "y");
|
|
32174
32175
|
C([
|
|
32175
32176
|
u()
|
|
32176
|
-
],
|
|
32177
|
+
], Cn.prototype, "yMultiplier");
|
|
32177
32178
|
C([
|
|
32178
32179
|
u(Y)
|
|
32179
|
-
],
|
|
32180
|
+
], Cn.prototype, "z");
|
|
32180
32181
|
C([
|
|
32181
32182
|
u()
|
|
32182
|
-
],
|
|
32183
|
+
], Cn.prototype, "zMultiplier");
|
|
32183
32184
|
class vt {
|
|
32184
32185
|
enabled;
|
|
32185
32186
|
dampen;
|
|
@@ -32457,7 +32458,7 @@ var OT = Object.defineProperty, ze = (s, e, t, i) => {
|
|
|
32457
32458
|
};
|
|
32458
32459
|
const so = x("debugparticles"), kT = x("noprogressive"), MT = x("debugprogressive");
|
|
32459
32460
|
var Rm = /* @__PURE__ */ ((s) => (s[s.Birth = 0] = "Birth", s[s.Collision = 1] = "Collision", s[s.Death = 2] = "Death", s[s.Trigger = 3] = "Trigger", s[s.Manual = 4] = "Manual", s))(Rm || {});
|
|
32460
|
-
class
|
|
32461
|
+
class Pn extends E {
|
|
32461
32462
|
renderMode;
|
|
32462
32463
|
particleMaterial;
|
|
32463
32464
|
trailMaterial;
|
|
@@ -32502,28 +32503,28 @@ class Cn extends E {
|
|
|
32502
32503
|
}
|
|
32503
32504
|
ze([
|
|
32504
32505
|
u()
|
|
32505
|
-
],
|
|
32506
|
+
], Pn.prototype, "renderMode");
|
|
32506
32507
|
ze([
|
|
32507
32508
|
u(be)
|
|
32508
|
-
],
|
|
32509
|
+
], Pn.prototype, "particleMaterial");
|
|
32509
32510
|
ze([
|
|
32510
32511
|
u(be)
|
|
32511
|
-
],
|
|
32512
|
+
], Pn.prototype, "trailMaterial");
|
|
32512
32513
|
ze([
|
|
32513
32514
|
u()
|
|
32514
|
-
],
|
|
32515
|
+
], Pn.prototype, "maxParticleSize");
|
|
32515
32516
|
ze([
|
|
32516
32517
|
u()
|
|
32517
|
-
],
|
|
32518
|
+
], Pn.prototype, "minParticleSize");
|
|
32518
32519
|
ze([
|
|
32519
32520
|
u()
|
|
32520
|
-
],
|
|
32521
|
+
], Pn.prototype, "velocityScale");
|
|
32521
32522
|
ze([
|
|
32522
32523
|
u()
|
|
32523
|
-
],
|
|
32524
|
+
], Pn.prototype, "cameraVelocityScale");
|
|
32524
32525
|
ze([
|
|
32525
32526
|
u()
|
|
32526
|
-
],
|
|
32527
|
+
], Pn.prototype, "lengthScale");
|
|
32527
32528
|
class Xh {
|
|
32528
32529
|
_curve;
|
|
32529
32530
|
_factor;
|
|
@@ -33073,7 +33074,7 @@ const Wt = class gd extends E {
|
|
|
33073
33074
|
}
|
|
33074
33075
|
/** @internal */
|
|
33075
33076
|
awake() {
|
|
33076
|
-
if (this._worldPositionFrame = -1, this._renderer = this.gameObject.getComponent(
|
|
33077
|
+
if (this._worldPositionFrame = -1, this._renderer = this.gameObject.getComponent(Pn), !this.main)
|
|
33077
33078
|
throw new Error("Not Supported: ParticleSystem needs a serialized MainModule. Creating new particle systems at runtime is currently not supported.");
|
|
33078
33079
|
this._container = new M(), this._container.matrixAutoUpdate = !1, this.context.scene.add(this._container), this._batchSystem = new E1(), this._batchSystem.name = this.gameObject.name, this._container.add(this._batchSystem), this._interface = new UT(this), this._particleSystem = new T1(this._interface), this._particleSystem.addBehavior(new DT(this)), this._particleSystem.addBehavior(new FT(this)), this._particleSystem.addBehavior(new AT(this)), this._particleSystem.addBehavior(new IT(this)), this._particleSystem.addBehavior(new BT(this)), this._particleSystem.addBehavior(new jT(this)), this._batchSystem.addSystem(this._particleSystem);
|
|
33079
33080
|
const e = this._particleSystem.emitter;
|
|
@@ -33198,7 +33199,7 @@ ze([
|
|
|
33198
33199
|
u(ss)
|
|
33199
33200
|
], Wt.prototype, "rotationOverLifetime");
|
|
33200
33201
|
ze([
|
|
33201
|
-
u(
|
|
33202
|
+
u(Cn)
|
|
33202
33203
|
], Wt.prototype, "rotationBySpeed");
|
|
33203
33204
|
ze([
|
|
33204
33205
|
u(Ii)
|
|
@@ -33275,7 +33276,7 @@ class Bc extends E {
|
|
|
33275
33276
|
;
|
|
33276
33277
|
}
|
|
33277
33278
|
tryAssignColor = () => {
|
|
33278
|
-
const e = S.getComponentInParent(this.gameObject,
|
|
33279
|
+
const e = S.getComponentInParent(this.gameObject, gn);
|
|
33279
33280
|
if (e && e.owner)
|
|
33280
33281
|
return this._didAssignPlayerColor = !0, this.assignUserColor(e.owner), !0;
|
|
33281
33282
|
const t = S.getComponentInParent(this.gameObject, Be);
|
|
@@ -33534,7 +33535,7 @@ var KT = Object.defineProperty, ZT = (s, e, t, i) => {
|
|
|
33534
33535
|
return n && KT(e, t, n), n;
|
|
33535
33536
|
};
|
|
33536
33537
|
const JT = x("debugpost"), Im = {};
|
|
33537
|
-
function
|
|
33538
|
+
function On(s, e) {
|
|
33538
33539
|
Im[s] = e;
|
|
33539
33540
|
}
|
|
33540
33541
|
function eA(s) {
|
|
@@ -33589,7 +33590,7 @@ class Ju extends ct {
|
|
|
33589
33590
|
iA([
|
|
33590
33591
|
u($)
|
|
33591
33592
|
], Ju.prototype, "preset");
|
|
33592
|
-
|
|
33593
|
+
On("Antialiasing", Ju);
|
|
33593
33594
|
var sA = Object.defineProperty, cy = (s, e, t, i) => {
|
|
33594
33595
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
33595
33596
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -33654,7 +33655,7 @@ cy([
|
|
|
33654
33655
|
u($)
|
|
33655
33656
|
], ef.prototype, "scatter");
|
|
33656
33657
|
let hy = ef;
|
|
33657
|
-
|
|
33658
|
+
On("Bloom", hy);
|
|
33658
33659
|
var oA = Object.defineProperty, rA = (s, e, t, i) => {
|
|
33659
33660
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
33660
33661
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -33675,7 +33676,7 @@ class tf extends ct {
|
|
|
33675
33676
|
rA([
|
|
33676
33677
|
u($)
|
|
33677
33678
|
], tf.prototype, "intensity");
|
|
33678
|
-
|
|
33679
|
+
On("ChromaticAberration", tf);
|
|
33679
33680
|
var nc = /* @__PURE__ */ ((s) => (s[s.None = 0] = "None", s[s.Neutral = 1] = "Neutral", s[s.ACES = 2] = "ACES", s[s.AgX = 3] = "AgX", s[s.KhronosNeutral = 4] = "KhronosNeutral", s))(nc || {});
|
|
33680
33681
|
const Tb = /* @__PURE__ */ new Map();
|
|
33681
33682
|
function Cp(s) {
|
|
@@ -33783,7 +33784,7 @@ ox([
|
|
|
33783
33784
|
ox([
|
|
33784
33785
|
u($)
|
|
33785
33786
|
], Er.prototype, "exposure");
|
|
33786
|
-
|
|
33787
|
+
On("Tonemapping", Er);
|
|
33787
33788
|
var cA = Object.defineProperty, nf = (s, e, t, i) => {
|
|
33788
33789
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
33789
33790
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -33832,7 +33833,7 @@ nf([
|
|
|
33832
33833
|
nf([
|
|
33833
33834
|
u($)
|
|
33834
33835
|
], Wr.prototype, "saturation");
|
|
33835
|
-
|
|
33836
|
+
On("ColorAdjustments", Wr);
|
|
33836
33837
|
var hA = Object.defineProperty, Vr = (s, e, t, i) => {
|
|
33837
33838
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
33838
33839
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -33900,7 +33901,7 @@ Vr([
|
|
|
33900
33901
|
Vr([
|
|
33901
33902
|
u($)
|
|
33902
33903
|
], os.prototype, "bokehScale");
|
|
33903
|
-
|
|
33904
|
+
On("DepthOfField", os);
|
|
33904
33905
|
class Kd extends ct {
|
|
33905
33906
|
effect;
|
|
33906
33907
|
constructor(e) {
|
|
@@ -33933,7 +33934,7 @@ class sf extends ct {
|
|
|
33933
33934
|
fA([
|
|
33934
33935
|
u($)
|
|
33935
33936
|
], sf.prototype, "granularity");
|
|
33936
|
-
|
|
33937
|
+
On("PixelationEffect", sf);
|
|
33937
33938
|
var pA = Object.defineProperty, ah = (s, e, t, i) => {
|
|
33938
33939
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
33939
33940
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -34001,7 +34002,7 @@ ah([
|
|
|
34001
34002
|
ah([
|
|
34002
34003
|
u($)
|
|
34003
34004
|
], Do.prototype, "luminanceInfluence");
|
|
34004
|
-
|
|
34005
|
+
On("ScreenSpaceAmbientOcclusion", Do);
|
|
34005
34006
|
var mA = Object.defineProperty, Hr = (s, e, t, i) => {
|
|
34006
34007
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
34007
34008
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -34077,7 +34078,7 @@ Hr([
|
|
|
34077
34078
|
Nt(),
|
|
34078
34079
|
u()
|
|
34079
34080
|
], rs.prototype, "quality");
|
|
34080
|
-
|
|
34081
|
+
On("ScreenSpaceAmbientOcclusionN8", rs);
|
|
34081
34082
|
var yA = Object.defineProperty, _A = Object.getOwnPropertyDescriptor, rx = (s, e, t, i) => {
|
|
34082
34083
|
for (var n = _A(e, t), o = s.length - 1, r; o >= 0; o--)
|
|
34083
34084
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -34232,7 +34233,7 @@ ul([
|
|
|
34232
34233
|
ul([
|
|
34233
34234
|
u($)
|
|
34234
34235
|
], $s.prototype, "resolutionScale");
|
|
34235
|
-
|
|
34236
|
+
On("TiltShiftEffect", $s);
|
|
34236
34237
|
var wA = Object.defineProperty, dy = (s, e, t, i) => {
|
|
34237
34238
|
for (var n = void 0, o = s.length - 1, r; o >= 0; o--)
|
|
34238
34239
|
(r = s[o]) && (n = r(e, t, n) || n);
|
|
@@ -34270,7 +34271,7 @@ dy([
|
|
|
34270
34271
|
dy([
|
|
34271
34272
|
u($)
|
|
34272
34273
|
], fl.prototype, "center");
|
|
34273
|
-
|
|
34274
|
+
On("Vignette", fl);
|
|
34274
34275
|
globalThis.NEEDLE_USE_POSTPROCESSING = globalThis.NEEDLE_USE_POSTPROCESSING !== void 0 ? globalThis.NEEDLE_USE_POSTPROCESSING : !0;
|
|
34275
34276
|
const hs = x("debugpost"), Op = /* @__PURE__ */ Symbol("needle:postprocessing-handler"), Il = /* @__PURE__ */ Symbol("needle:previous-autoclear-state"), Ll = /* @__PURE__ */ Symbol("needle:previous-tone-mapping");
|
|
34276
34277
|
class ax {
|
|
@@ -37085,7 +37086,7 @@ class KA {
|
|
|
37085
37086
|
if (wi && console.log(...t), t?.length)
|
|
37086
37087
|
for (const i of t) {
|
|
37087
37088
|
if (i.distance < 0.2) continue;
|
|
37088
|
-
const n = i.object, o =
|
|
37089
|
+
const n = i.object, o = gn.getFor(n);
|
|
37089
37090
|
let r = o?.owner;
|
|
37090
37091
|
if (r || (r = S.getComponentInParent(n, Be)?.connectionId), r) {
|
|
37091
37092
|
const a = this.context.players.getPlayerView(r);
|
|
@@ -37335,7 +37336,7 @@ class gl extends E {
|
|
|
37335
37336
|
this._debugLine?.removeFromParent(), this._debugLine = null;
|
|
37336
37337
|
const e = new Wm({
|
|
37337
37338
|
color: 6684927
|
|
37338
|
-
}), t = this.spline.length * 10, i = this._curve.getPoints(t), n = new
|
|
37339
|
+
}), t = this.spline.length * 10, i = this._curve.getPoints(t), n = new yn().setFromPoints(i);
|
|
37339
37340
|
this._debugLine = new Ta(n, e), this.gameObject?.add(this._debugLine);
|
|
37340
37341
|
}
|
|
37341
37342
|
}
|
|
@@ -37357,7 +37358,7 @@ var sI = Object.defineProperty, oI = Object.getOwnPropertyDescriptor, Bo = (s, e
|
|
|
37357
37358
|
(r = s[o]) && (n = (i ? r(e, t, n) : r(n)) || n);
|
|
37358
37359
|
return i && n && sI(e, t, n), n;
|
|
37359
37360
|
};
|
|
37360
|
-
class
|
|
37361
|
+
class kn extends E {
|
|
37361
37362
|
spline = null;
|
|
37362
37363
|
object = void 0;
|
|
37363
37364
|
useLookAt = !0;
|
|
@@ -37436,39 +37437,39 @@ class On extends E {
|
|
|
37436
37437
|
}
|
|
37437
37438
|
Bo([
|
|
37438
37439
|
Ze(gl)
|
|
37439
|
-
],
|
|
37440
|
+
], kn.prototype, "spline", 2);
|
|
37440
37441
|
Bo([
|
|
37441
37442
|
Ze(M)
|
|
37442
|
-
],
|
|
37443
|
+
], kn.prototype, "object", 2);
|
|
37443
37444
|
Bo([
|
|
37444
37445
|
Ze()
|
|
37445
|
-
],
|
|
37446
|
+
], kn.prototype, "useLookAt", 2);
|
|
37446
37447
|
Bo([
|
|
37447
37448
|
Ze(M)
|
|
37448
|
-
],
|
|
37449
|
+
], kn.prototype, "lookAt", 2);
|
|
37449
37450
|
Bo([
|
|
37450
37451
|
Ze()
|
|
37451
|
-
],
|
|
37452
|
+
], kn.prototype, "clamp", 2);
|
|
37452
37453
|
Bo([
|
|
37453
37454
|
Ze()
|
|
37454
|
-
],
|
|
37455
|
+
], kn.prototype, "position01", 1);
|
|
37455
37456
|
Bo([
|
|
37456
37457
|
Ze()
|
|
37457
|
-
],
|
|
37458
|
+
], kn.prototype, "autoRun", 2);
|
|
37458
37459
|
Bo([
|
|
37459
37460
|
Ze()
|
|
37460
|
-
],
|
|
37461
|
-
class
|
|
37461
|
+
], kn.prototype, "duration", 2);
|
|
37462
|
+
class Un {
|
|
37462
37463
|
bb = null;
|
|
37463
37464
|
bb_pos = 0;
|
|
37464
37465
|
__init(e, t) {
|
|
37465
37466
|
return this.bb_pos = e, this.bb = t, this;
|
|
37466
37467
|
}
|
|
37467
37468
|
static getRootAsSyncedCameraModel(e, t) {
|
|
37468
|
-
return (t || new
|
|
37469
|
+
return (t || new Un()).__init(e.readInt32(e.position()) + e.position(), e);
|
|
37469
37470
|
}
|
|
37470
37471
|
static getSizePrefixedRootAsSyncedCameraModel(e, t) {
|
|
37471
|
-
return e.setPosition(e.position() + g0), (t || new
|
|
37472
|
+
return e.setPosition(e.position() + g0), (t || new Un()).__init(e.readInt32(e.position()) + e.position(), e);
|
|
37472
37473
|
}
|
|
37473
37474
|
userId(e) {
|
|
37474
37475
|
const t = this.bb.__offset(this.bb_pos, 4);
|
|
@@ -37524,7 +37525,7 @@ var rI = Object.defineProperty, aI = (s, e, t, i) => {
|
|
|
37524
37525
|
return n && rI(e, t, n), n;
|
|
37525
37526
|
};
|
|
37526
37527
|
const Jd = "SCAM";
|
|
37527
|
-
Y0(Jd,
|
|
37528
|
+
Y0(Jd, Un.getRootAsSyncedCameraModel);
|
|
37528
37529
|
const mi = new Jm();
|
|
37529
37530
|
class lI {
|
|
37530
37531
|
userId;
|
|
@@ -37539,10 +37540,10 @@ class lI {
|
|
|
37539
37540
|
if (e) {
|
|
37540
37541
|
mi.clear();
|
|
37541
37542
|
const i = mi.createString(this.guid), n = mi.createString(this.userId);
|
|
37542
|
-
|
|
37543
|
+
Un.startSyncedCameraModel(mi), Un.addGuid(mi, i), Un.addUserId(mi, n);
|
|
37543
37544
|
const o = te(e), r = ng(e);
|
|
37544
|
-
|
|
37545
|
-
const a =
|
|
37545
|
+
Un.addPos(mi, yr.createVec3(mi, o.x, o.y, o.z)), Un.addRot(mi, yr.createVec3(mi, r.x, r.y, r.z));
|
|
37546
|
+
const a = Un.endSyncedCameraModel(mi);
|
|
37546
37547
|
mi.finish(a, Jd), t.sendBinary(mi.asUint8Array());
|
|
37547
37548
|
}
|
|
37548
37549
|
}
|
|
@@ -37612,7 +37613,7 @@ const gx = class Dm extends E {
|
|
|
37612
37613
|
} else
|
|
37613
37614
|
return;
|
|
37614
37615
|
const o = n.obj;
|
|
37615
|
-
this.context.players.setPlayerView(i, o, go.Browser), n.lastUpdate = this.context.time.realtimeSinceStartup,
|
|
37616
|
+
this.context.players.setPlayerView(i, o, go.Browser), n.lastUpdate = this.context.time.realtimeSinceStartup, _n.markDirty(o);
|
|
37616
37617
|
const r = e.pos();
|
|
37617
37618
|
r && Da(o, r.x(), r.y(), r.z());
|
|
37618
37619
|
const a = e.rot();
|
|
@@ -40046,7 +40047,7 @@ class No extends E {
|
|
|
40046
40047
|
else if (e instanceof Ji) {
|
|
40047
40048
|
if (!e.duration) return;
|
|
40048
40049
|
e.time = t * e.duration;
|
|
40049
|
-
} else if (e instanceof
|
|
40050
|
+
} else if (e instanceof kn)
|
|
40050
40051
|
e.position01 = t;
|
|
40051
40052
|
else if (e instanceof Ai)
|
|
40052
40053
|
e.intensity = t;
|
|
@@ -40094,7 +40095,7 @@ class No extends E {
|
|
|
40094
40095
|
// https://drafts.csswg.org/scroll-animations/#scroll-notation
|
|
40095
40096
|
}));
|
|
40096
40097
|
}
|
|
40097
|
-
|
|
40098
|
+
Tn.length = 0;
|
|
40098
40099
|
let o = 0;
|
|
40099
40100
|
const r = 1 / 60;
|
|
40100
40101
|
let a = 0;
|
|
@@ -40108,20 +40109,20 @@ class No extends E {
|
|
|
40108
40109
|
const p = jI(f), g = 1 - Math.abs(p - 0.5) * 2, _ = `marker${l}`;
|
|
40109
40110
|
if (p > 0 && p <= 1) {
|
|
40110
40111
|
const m = c.time + (d - c.time) * p;
|
|
40111
|
-
|
|
40112
|
-
} else l === 0 && p <= 0 ? (
|
|
40112
|
+
Tn.push({ name: _, time: m, weight: g }), o += g;
|
|
40113
|
+
} else l === 0 && p <= 0 ? (Tn.push({ name: _, time: 0, weight: 1 }), o += 1) : l === n.length - 1 && p >= 1 && (Tn.push({ name: _, time: i, weight: 1 }), o += 1);
|
|
40113
40114
|
}
|
|
40114
40115
|
}
|
|
40115
|
-
if (
|
|
40116
|
+
if (Tn.length <= 0 && a <= 0)
|
|
40116
40117
|
e.time = t * i;
|
|
40117
|
-
else if (
|
|
40118
|
-
let l =
|
|
40119
|
-
if (
|
|
40120
|
-
for (const h of
|
|
40118
|
+
else if (Tn.length > 0) {
|
|
40119
|
+
let l = Tn[0].time;
|
|
40120
|
+
if (Tn.length > 1)
|
|
40121
|
+
for (const h of Tn) {
|
|
40121
40122
|
const d = h.weight / Math.max(1e-5, o), f = Math.abs(h.time - l);
|
|
40122
40123
|
l += f * d;
|
|
40123
40124
|
}
|
|
40124
|
-
this.damping <= 0 || this._firstUpdate ? e.time = l : e.time = F.lerp(e.time, l, this.context.time.deltaTime / this.damping), Math.abs(e.time - l) > 1e-3 && (this._needsUpdate = !0), Dl && this.context.time.frame % 30 === 0 && console.log(`[ScrollFollow ] Timeline ${e.name}: ${l.toFixed(3)}`,
|
|
40125
|
+
this.damping <= 0 || this._firstUpdate ? e.time = l : e.time = F.lerp(e.time, l, this.context.time.deltaTime / this.damping), Math.abs(e.time - l) > 1e-3 && (this._needsUpdate = !0), Dl && this.context.time.frame % 30 === 0 && console.log(`[ScrollFollow ] Timeline ${e.name}: ${l.toFixed(3)}`, Tn.map((h) => `[${h.name} ${(h.weight * 100).toFixed(0)}%]`).join(", "));
|
|
40125
40126
|
}
|
|
40126
40127
|
}
|
|
40127
40128
|
}
|
|
@@ -40143,7 +40144,7 @@ vl([
|
|
|
40143
40144
|
vl([
|
|
40144
40145
|
u(de)
|
|
40145
40146
|
], No.prototype, "changed");
|
|
40146
|
-
const Ub = /* @__PURE__ */ new WeakMap(),
|
|
40147
|
+
const Ub = /* @__PURE__ */ new WeakMap(), Tn = [], Ep = new Array();
|
|
40147
40148
|
let Tp = !0;
|
|
40148
40149
|
function kx(s) {
|
|
40149
40150
|
return Tp ? (Tp = !1, Ep.length = 0, document.querySelectorAll("[data-timeline-marker]").forEach((t, i) => {
|
|
@@ -40378,7 +40379,7 @@ function NI(s, e) {
|
|
|
40378
40379
|
const r = new ce();
|
|
40379
40380
|
i.map = e, s.render(o, r);
|
|
40380
40381
|
}
|
|
40381
|
-
function
|
|
40382
|
+
function qD(s, e, t, i = "image/webp", n) {
|
|
40382
40383
|
return Ex({ context: s, width: e, height: t, mimeType: i, camera: n });
|
|
40383
40384
|
}
|
|
40384
40385
|
function Ex(s) {
|
|
@@ -41214,7 +41215,7 @@ class Ho extends E {
|
|
|
41214
41215
|
return !0;
|
|
41215
41216
|
}
|
|
41216
41217
|
createGeometry(e) {
|
|
41217
|
-
return "polygon" in e ? this.createPlaneGeometry(e.polygon) : "vertices" in e && "indices" in e ? this.createMeshGeometry(e.vertices, e.indices) : new
|
|
41218
|
+
return "polygon" in e ? this.createPlaneGeometry(e.polygon) : "vertices" in e && "indices" in e ? this.createMeshGeometry(e.vertices, e.indices) : new yn();
|
|
41218
41219
|
}
|
|
41219
41220
|
// we cache vertices-to-geometry, because it looks like when we get an update sometimes the geometry stays the same.
|
|
41220
41221
|
// so we don't want to re-create the geometry every time.
|
|
@@ -41223,7 +41224,7 @@ class Ho extends E {
|
|
|
41223
41224
|
const i = e.toString() + "_" + t.toString();
|
|
41224
41225
|
if (this._verticesCache.has(i))
|
|
41225
41226
|
return this._verticesCache.get(i);
|
|
41226
|
-
const n = new
|
|
41227
|
+
const n = new yn();
|
|
41227
41228
|
n.setIndex(new mt(t, 1)), n.setAttribute("position", new mt(e, 3));
|
|
41228
41229
|
const o = Array();
|
|
41229
41230
|
for (let r = 0; r < e.length; r += 3)
|
|
@@ -41231,7 +41232,7 @@ class Ho extends E {
|
|
|
41231
41232
|
return n.setAttribute("uv", new mt(e, 3)), n.computeVertexNormals(), this._verticesCache.set(i, n), n;
|
|
41232
41233
|
}
|
|
41233
41234
|
createPlaneGeometry(e) {
|
|
41234
|
-
const t = new
|
|
41235
|
+
const t = new yn(), i = [], n = [];
|
|
41235
41236
|
e.forEach((f) => {
|
|
41236
41237
|
i.push(f.x, f.y, f.z), n.push(f.x, f.z);
|
|
41237
41238
|
});
|
|
@@ -41386,7 +41387,7 @@ P.add("Networking", Qw);
|
|
|
41386
41387
|
P.add("OffsetConstraint", ll);
|
|
41387
41388
|
P.add("CameraTargetReachedEvent", Wd);
|
|
41388
41389
|
P.add("OrbitControls", ye);
|
|
41389
|
-
P.add("ParticleSystemRenderer",
|
|
41390
|
+
P.add("ParticleSystemRenderer", Pn);
|
|
41390
41391
|
P.add("ParticleSystem", Yd);
|
|
41391
41392
|
P.add("Attractor", rh);
|
|
41392
41393
|
P.add("PlayerColor", Bc);
|
|
@@ -41419,7 +41420,7 @@ P.add("SpatialTriggerReceiver", Ms);
|
|
|
41419
41420
|
P.add("SpatialTrigger", my);
|
|
41420
41421
|
P.add("SpectatorCamera", gy);
|
|
41421
41422
|
P.add("SplineContainer", gl);
|
|
41422
|
-
P.add("SplineWalker",
|
|
41423
|
+
P.add("SplineWalker", kn);
|
|
41423
41424
|
P.add("SpriteRenderer", Ei);
|
|
41424
41425
|
P.add("SyncedCamera", yx);
|
|
41425
41426
|
P.add("SyncedRoom", as);
|
|
@@ -41434,7 +41435,7 @@ P.add("MarkerTrackHandler", _y);
|
|
|
41434
41435
|
P.add("SignalTrackHandler", tu);
|
|
41435
41436
|
P.add("ControlTrackHandler", by);
|
|
41436
41437
|
P.add("TransformGizmo", yl);
|
|
41437
|
-
P.add("BaseUIComponent",
|
|
41438
|
+
P.add("BaseUIComponent", wn);
|
|
41438
41439
|
P.add("UIRootComponent", Vu);
|
|
41439
41440
|
P.add("Button", zo);
|
|
41440
41441
|
P.add("Canvas", Dc);
|
|
@@ -41479,7 +41480,7 @@ P.add("WebXRPlaneTracking", Ho);
|
|
|
41479
41480
|
P.add("XRRig", ky);
|
|
41480
41481
|
P.add("XRFlag", pn);
|
|
41481
41482
|
P.add("PlayerSync", Iw);
|
|
41482
|
-
P.add("PlayerState",
|
|
41483
|
+
P.add("PlayerState", gn);
|
|
41483
41484
|
P.add("PresentationMode", ZI);
|
|
41484
41485
|
const vc = gt, JI = x("debugtypestore");
|
|
41485
41486
|
JI && console.log(P);
|
|
@@ -41630,7 +41631,7 @@ Use import { NeedleEngineModelLoader } from "@needle-tools/engine" namespace to
|
|
|
41630
41631
|
}
|
|
41631
41632
|
}
|
|
41632
41633
|
}
|
|
41633
|
-
function
|
|
41634
|
+
function XD(s, e) {
|
|
41634
41635
|
return Lx(e?.context || N.Current, s, s, e?.seed || null, e?.onprogress);
|
|
41635
41636
|
}
|
|
41636
41637
|
async function oL(s, e, t, i) {
|
|
@@ -41717,7 +41718,7 @@ async function wc(s, e, t, i, n, o) {
|
|
|
41717
41718
|
animations: i.animations,
|
|
41718
41719
|
scenes: [i]
|
|
41719
41720
|
};
|
|
41720
|
-
else if (i instanceof
|
|
41721
|
+
else if (i instanceof yn) {
|
|
41721
41722
|
const r = new pt({
|
|
41722
41723
|
color: new se(14540253)
|
|
41723
41724
|
}), a = new H(i, r);
|
|
@@ -41776,7 +41777,7 @@ class hL {
|
|
|
41776
41777
|
this.onRequestedEndAR();
|
|
41777
41778
|
};
|
|
41778
41779
|
onBegin(e, t, i) {
|
|
41779
|
-
if (this.currentSession = i, this.arContainer = t, j.isMozillaXR()) {
|
|
41780
|
+
if (this.currentSession = i, this.arContainer = t, j.isMozillaXR() || j.isNeedleAppClip()) {
|
|
41780
41781
|
const n = e.domElement.children;
|
|
41781
41782
|
for (let o = 0; o < n?.length; o++) {
|
|
41782
41783
|
const r = n[o];
|
|
@@ -41816,10 +41817,8 @@ class hL {
|
|
|
41816
41817
|
this.currentSession && (this.currentSession.end(), this.currentSession = null);
|
|
41817
41818
|
}
|
|
41818
41819
|
ensureQuitARButton(e) {
|
|
41819
|
-
if (j.isNeedleAppClip())
|
|
41820
|
-
return;
|
|
41821
41820
|
const t = document.createElement("slot");
|
|
41822
|
-
t.setAttribute("name", "quit-ar"), this.appendElement(t, e), this._createdAROnlyElements.push(t), t.style.pointerEvents = "auto";
|
|
41821
|
+
t.style.display = "contents", t.setAttribute("name", "quit-ar"), this.appendElement(t, e), this._createdAROnlyElements.push(t), t.style.pointerEvents = "auto", j.isNeedleAppClip() && (t.style.display = "none");
|
|
41823
41822
|
const i = document.querySelector(`.${cL}`);
|
|
41824
41823
|
if (i) {
|
|
41825
41824
|
i.addEventListener("click", this.requestEndAR), Fl && i.addEventListener("click", () => console.log("Clicked quit-ar button"));
|
|
@@ -41857,7 +41856,7 @@ class hL {
|
|
|
41857
41856
|
}
|
|
41858
41857
|
const lr = x("debugloading"), Ul = x("debugloadingrendering");
|
|
41859
41858
|
x("debuglicense");
|
|
41860
|
-
class
|
|
41859
|
+
class QD {
|
|
41861
41860
|
className;
|
|
41862
41861
|
additionalClasses;
|
|
41863
41862
|
}
|
|
@@ -42213,7 +42212,7 @@ class zx extends HTMLElement {
|
|
|
42213
42212
|
<canvas></canvas>
|
|
42214
42213
|
</div>
|
|
42215
42214
|
<div class="content">
|
|
42216
|
-
<slot class="overlay-content"></slot>
|
|
42215
|
+
<slot class="overlay-content" style="display: contents;"></slot>
|
|
42217
42216
|
</div>
|
|
42218
42217
|
`, this.shadowRoot && this.shadowRoot.appendChild(e.content.cloneNode(!0)), this._context = new N({ domElement: this }), this.addEventListener("error", this.onError);
|
|
42219
42218
|
}
|
|
@@ -43192,7 +43191,7 @@ Error:`, r), null;
|
|
|
43192
43191
|
color: 7855479,
|
|
43193
43192
|
fog: !1
|
|
43194
43193
|
// vertexColors: VertexColors
|
|
43195
|
-
}), n = new
|
|
43194
|
+
}), n = new yn();
|
|
43196
43195
|
this.lines = new t0(n, i), this.lines.layers.disableAll(), this.lines.layers.enable(2);
|
|
43197
43196
|
}
|
|
43198
43197
|
this.lines.parent !== this.context?.scene && this.context?.scene.add(this.lines);
|
|
@@ -43422,7 +43421,7 @@ class _L {
|
|
|
43422
43421
|
}
|
|
43423
43422
|
}
|
|
43424
43423
|
}
|
|
43425
|
-
class
|
|
43424
|
+
class YD {
|
|
43426
43425
|
/**
|
|
43427
43426
|
* Use this method to quickly setup a scene to compare multiple models.
|
|
43428
43427
|
* @example
|
|
@@ -43478,14 +43477,14 @@ let zm = 0;
|
|
|
43478
43477
|
function qb(s) {
|
|
43479
43478
|
s ? zm++ : zm--;
|
|
43480
43479
|
}
|
|
43481
|
-
function
|
|
43480
|
+
function KD() {
|
|
43482
43481
|
return zm > 0;
|
|
43483
43482
|
}
|
|
43484
43483
|
const bL = {
|
|
43485
43484
|
binary: !0,
|
|
43486
43485
|
animations: !0
|
|
43487
43486
|
};
|
|
43488
|
-
async function
|
|
43487
|
+
async function ZD(s) {
|
|
43489
43488
|
if (!s.context)
|
|
43490
43489
|
throw new Error("No context provided to exportAsGLTF");
|
|
43491
43490
|
s.scene || (s.scene = s.context.scene);
|
|
@@ -43554,12 +43553,12 @@ function wL(s, e, t) {
|
|
|
43554
43553
|
}
|
|
43555
43554
|
const Qb = "needle-button", Dp = L();
|
|
43556
43555
|
class xL extends HTMLElement {
|
|
43557
|
-
static observedAttributes = ["ar", "vr", "quicklook"];
|
|
43556
|
+
static observedAttributes = ["ar", "vr", "quicklook", "qrcode"];
|
|
43558
43557
|
constructor() {
|
|
43559
|
-
super(), this.removeEventListener("click", this.#
|
|
43558
|
+
super(), this.removeEventListener("click", this.#a), this.addEventListener("click", this.#a);
|
|
43560
43559
|
}
|
|
43561
43560
|
attributeChangedCallback(e, t, i) {
|
|
43562
|
-
this.#
|
|
43561
|
+
this.#l();
|
|
43563
43562
|
}
|
|
43564
43563
|
#t;
|
|
43565
43564
|
#n;
|
|
@@ -43569,41 +43568,43 @@ class xL extends HTMLElement {
|
|
|
43569
43568
|
#e;
|
|
43570
43569
|
/** If AR or VR is requested we create and use the webxr button factory to create a button with default behaviour */
|
|
43571
43570
|
#i;
|
|
43571
|
+
#r;
|
|
43572
43572
|
#o;
|
|
43573
|
-
#
|
|
43573
|
+
#l() {
|
|
43574
43574
|
if (this.#e?.remove(), this.getAttribute("ar") != null)
|
|
43575
43575
|
this.#i ??= new vr(), this.#e = this.#i.createARButton();
|
|
43576
43576
|
else if (this.getAttribute("vr") != null)
|
|
43577
43577
|
this.#i ??= new vr(), this.#e = this.#i.createVRButton();
|
|
43578
43578
|
else if (this.getAttribute("quicklook") != null)
|
|
43579
43579
|
this.#i ??= new vr(), this.#e = this.#i.createQuicklookButton();
|
|
43580
|
+
else if (this.getAttribute("qrcode") != null)
|
|
43581
|
+
this.#r ??= new mn(), this.#e = this.#r.createQRCode({ anchorElement: this });
|
|
43580
43582
|
else {
|
|
43581
43583
|
Dp ? console.warn("No button type specified for <needle-button>. Use either ar, vr or quicklook attribute.") : console.debug("No button type specified for <needle-button>. Use either ar, vr or quicklook attribute.");
|
|
43582
43584
|
return;
|
|
43583
43585
|
}
|
|
43584
43586
|
this.#t ??= this.attachShadow({ mode: "open" }), this.#n ??= document.createElement("slot"), this.#s ??= document.createElement("style"), this.#s.innerHTML = `
|
|
43585
43587
|
button {
|
|
43586
|
-
all:
|
|
43587
|
-
cursor: inherit;
|
|
43588
|
-
color: inherit;
|
|
43589
|
-
font-family: inherit;
|
|
43590
|
-
gap: inherit;
|
|
43591
|
-
white-space: nowrap;
|
|
43588
|
+
all: unset;
|
|
43592
43589
|
}
|
|
43593
43590
|
`, this.getAttribute("unstyled") != null || (this.#s.innerHTML += `
|
|
43594
43591
|
:host {
|
|
43595
|
-
display: inline-
|
|
43596
|
-
|
|
43597
|
-
|
|
43592
|
+
display: inline-flex;
|
|
43593
|
+
align-items: center;
|
|
43594
|
+
justify-content: center;
|
|
43598
43595
|
width: fit-content;
|
|
43599
|
-
transition: background .2s;
|
|
43600
43596
|
|
|
43601
|
-
cursor: pointer;
|
|
43602
43597
|
padding: 0.4rem .5rem;
|
|
43603
|
-
border-radius:
|
|
43604
|
-
|
|
43598
|
+
border-radius: 100vw;
|
|
43599
|
+
|
|
43605
43600
|
background: rgba(245, 245, 245, .8);
|
|
43601
|
+
backdrop-filter: blur(10px);
|
|
43602
|
+
|
|
43603
|
+
cursor: pointer;
|
|
43604
|
+
color: black;
|
|
43606
43605
|
outline: rgba(0,0,0,.05) 1px solid;
|
|
43606
|
+
|
|
43607
|
+
transition: all .2s;
|
|
43607
43608
|
}
|
|
43608
43609
|
:host(:hover) {
|
|
43609
43610
|
background: rgba(255, 255, 255, 1);
|
|
@@ -43615,13 +43616,13 @@ class xL extends HTMLElement {
|
|
|
43615
43616
|
justify-content: center;
|
|
43616
43617
|
gap: .5rem;
|
|
43617
43618
|
}
|
|
43618
|
-
`), this.#n.innerHTML = this.#e.innerHTML, this.#n.style.cssText = "display: flex; align-items: center; justify-content: center;", this.#e.innerHTML = this.#n.outerHTML, this.#t.innerHTML = this.#e.outerHTML, this.#t.prepend(this.#s), Fd(hm, { element: this.#t }), this.#o?.disconnect(), this.#o ??= new MutationObserver(() => this.#
|
|
43619
|
+
`), this.#n.innerHTML = this.#e.innerHTML, this.#n.style.cssText = "display: flex; align-items: center; justify-content: center;", this.#e.innerHTML = this.#n.outerHTML, this.#t.innerHTML = this.#e.outerHTML, this.#t.prepend(this.#s), Fd(hm, { element: this.#t }), this.#o?.disconnect(), this.#o ??= new MutationObserver(() => this.#c()), this.#o.observe(this.#e, { attributes: !0 }), Dp && console.log("Needle Button updated", this);
|
|
43619
43620
|
}
|
|
43620
|
-
#
|
|
43621
|
+
#c() {
|
|
43621
43622
|
this.#e && (this.#e.style.display === "none" ? this.style.display = "none" : this.style.display === "none" && (this.style.display = ""));
|
|
43622
43623
|
}
|
|
43623
|
-
#
|
|
43624
|
-
Dp && console.log("Needle Button clicked"), !e.defaultPrevented && this.#e && this.#e.click();
|
|
43624
|
+
#a = (e) => {
|
|
43625
|
+
Dp && console.log("Needle Button clicked", { defaultPrevented: e.defaultPrevented, hasButton: !!this.#e }), !e.defaultPrevented && this.#e && this.#e.click();
|
|
43625
43626
|
};
|
|
43626
43627
|
}
|
|
43627
43628
|
typeof window < "u" && !window.customElements.get(Qb) && window.customElements.define(Qb, xL);
|
|
@@ -43782,7 +43783,7 @@ class CL {
|
|
|
43782
43783
|
}
|
|
43783
43784
|
class PL {
|
|
43784
43785
|
}
|
|
43785
|
-
const
|
|
43786
|
+
const JD = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
43786
43787
|
__proto__: null,
|
|
43787
43788
|
ActionBuilder: ge,
|
|
43788
43789
|
ActionCollection: _E,
|
|
@@ -43793,7 +43794,7 @@ const J2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
43793
43794
|
AnimationExtension: Wg,
|
|
43794
43795
|
AnimationTrackHandler: eu,
|
|
43795
43796
|
Animator: Tt,
|
|
43796
|
-
AnimatorController:
|
|
43797
|
+
AnimatorController: vn,
|
|
43797
43798
|
Antialiasing: Ju,
|
|
43798
43799
|
Attractor: rh,
|
|
43799
43800
|
AudioExtension: tl,
|
|
@@ -43811,7 +43812,7 @@ const J2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
43811
43812
|
Avatar_MustacheShake: Wv,
|
|
43812
43813
|
Avatar_POI: ka,
|
|
43813
43814
|
AxesHelper: Gc,
|
|
43814
|
-
BaseUIComponent:
|
|
43815
|
+
BaseUIComponent: wn,
|
|
43815
43816
|
BasicIKConstraint: Xv,
|
|
43816
43817
|
BehaviorExtension: Lw,
|
|
43817
43818
|
BehaviorModel: zt,
|
|
@@ -43907,7 +43908,7 @@ const J2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
43907
43908
|
ParticleBurst: Mm,
|
|
43908
43909
|
ParticleSubEmitter: ex,
|
|
43909
43910
|
ParticleSystem: Yd,
|
|
43910
|
-
ParticleSystemRenderer:
|
|
43911
|
+
ParticleSystemRenderer: Pn,
|
|
43911
43912
|
PhysicsExtension: Dw,
|
|
43912
43913
|
PixelationEffect: sf,
|
|
43913
43914
|
PlayAnimationOnClick: Xd,
|
|
@@ -43927,7 +43928,7 @@ const J2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
43927
43928
|
Renderer: di,
|
|
43928
43929
|
RendererLightmap: aw,
|
|
43929
43930
|
Rigidbody: Ke,
|
|
43930
|
-
RotationBySpeedModule:
|
|
43931
|
+
RotationBySpeedModule: Cn,
|
|
43931
43932
|
RotationOverLifetimeModule: ss,
|
|
43932
43933
|
SceneSwitcher: tt,
|
|
43933
43934
|
ScreenCapture: Gr,
|
|
@@ -43956,7 +43957,7 @@ const J2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
43956
43957
|
SphereCollider: qc,
|
|
43957
43958
|
SplineContainer: gl,
|
|
43958
43959
|
SplineData: Is,
|
|
43959
|
-
SplineWalker:
|
|
43960
|
+
SplineWalker: kn,
|
|
43960
43961
|
Sprite: Ro,
|
|
43961
43962
|
SpriteData: mc,
|
|
43962
43963
|
SpriteRenderer: Ei,
|
|
@@ -44139,7 +44140,7 @@ const kL = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
|
44139
44140
|
GenerateMeshBVHWorker: OL
|
|
44140
44141
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
44141
44142
|
export {
|
|
44142
|
-
|
|
44143
|
+
FD as $physicsKey,
|
|
44143
44144
|
ge as ActionBuilder,
|
|
44144
44145
|
_E as ActionCollection,
|
|
44145
44146
|
yi as ActionModel,
|
|
@@ -44153,7 +44154,7 @@ export {
|
|
|
44153
44154
|
Cr as AnimationUtils,
|
|
44154
44155
|
Tt as Animator,
|
|
44155
44156
|
ir as AnimatorConditionMode,
|
|
44156
|
-
|
|
44157
|
+
vn as AnimatorController,
|
|
44157
44158
|
Bv as AnimatorControllerParameterType,
|
|
44158
44159
|
Ih as AnimatorStateInfo,
|
|
44159
44160
|
Ju as Antialiasing,
|
|
@@ -44178,7 +44179,7 @@ export {
|
|
|
44178
44179
|
Gl as Axes,
|
|
44179
44180
|
Gc as AxesHelper,
|
|
44180
44181
|
Md as BUILD_TIME,
|
|
44181
|
-
|
|
44182
|
+
wn as BaseUIComponent,
|
|
44182
44183
|
Xv as BasicIKConstraint,
|
|
44183
44184
|
Lw as BehaviorExtension,
|
|
44184
44185
|
zt as BehaviorModel,
|
|
@@ -44188,7 +44189,7 @@ export {
|
|
|
44188
44189
|
al as BoxGizmo,
|
|
44189
44190
|
Mt as BoxHelperComponent,
|
|
44190
44191
|
zo as Button,
|
|
44191
|
-
|
|
44192
|
+
mn as ButtonsFactory,
|
|
44192
44193
|
WM as CallDirection,
|
|
44193
44194
|
oo as CallInfo,
|
|
44194
44195
|
xi as Camera,
|
|
@@ -44205,21 +44206,21 @@ export {
|
|
|
44205
44206
|
Oa as ClearFlags,
|
|
44206
44207
|
Py as ClickThrough,
|
|
44207
44208
|
ms as ClipExtrapolation,
|
|
44208
|
-
|
|
44209
|
+
Sn as Collider,
|
|
44209
44210
|
UM as Collision,
|
|
44210
44211
|
Pg as CollisionDetectionMode,
|
|
44211
44212
|
Wr as ColorAdjustments,
|
|
44212
44213
|
oh as ColorBySpeedModule,
|
|
44213
44214
|
oy as ColorOverLifetimeModule,
|
|
44214
|
-
|
|
44215
|
+
ED as Component,
|
|
44215
44216
|
E as Component$1,
|
|
44216
44217
|
dg as ComponentLifecycleEvents,
|
|
44217
|
-
|
|
44218
|
+
JD as Components,
|
|
44218
44219
|
CP as ConnectionEvents,
|
|
44219
44220
|
FM as ContactPoint,
|
|
44220
44221
|
Iu as ContactShadows,
|
|
44221
44222
|
N as Context,
|
|
44222
|
-
|
|
44223
|
+
SD as ContextArgs,
|
|
44223
44224
|
ue as ContextEvent,
|
|
44224
44225
|
pe as ContextRegistry,
|
|
44225
44226
|
by as ControlTrackHandler,
|
|
@@ -44249,7 +44250,7 @@ export {
|
|
|
44249
44250
|
DR as FieldWithDefault,
|
|
44250
44251
|
Pa as FileReference,
|
|
44251
44252
|
QO as FileReferenceSerializer,
|
|
44252
|
-
|
|
44253
|
+
UD as FileSpawnModel,
|
|
44253
44254
|
dR as File_Event,
|
|
44254
44255
|
qw as FixedJoint,
|
|
44255
44256
|
eh as Fog,
|
|
@@ -44271,7 +44272,7 @@ export {
|
|
|
44271
44272
|
fn as HideOnStart,
|
|
44272
44273
|
qu as HingeJoint,
|
|
44273
44274
|
$w as HorizontalLayoutGroup,
|
|
44274
|
-
|
|
44275
|
+
bD as HostData,
|
|
44275
44276
|
Ls as HoverAnimation,
|
|
44276
44277
|
ph as Image,
|
|
44277
44278
|
Ca as ImageReference,
|
|
@@ -44283,22 +44284,22 @@ export {
|
|
|
44283
44284
|
Sx as InputField,
|
|
44284
44285
|
Ma as InstanceHandle,
|
|
44285
44286
|
Ga as InstancingHandler,
|
|
44286
|
-
|
|
44287
|
+
_n as InstancingUtil,
|
|
44287
44288
|
tO as InstantiateEvent,
|
|
44288
44289
|
Ut as InstantiateIdProvider,
|
|
44289
44290
|
es as InstantiateOptions,
|
|
44290
44291
|
Kv as Interactable,
|
|
44291
44292
|
iu as InternalScreenshotUtils,
|
|
44292
|
-
|
|
44293
|
-
|
|
44293
|
+
uD as JoinedRoomResponse,
|
|
44294
|
+
cD as KeyEventArgs,
|
|
44294
44295
|
Si as Keyframe,
|
|
44295
44296
|
Xu as LODGroup,
|
|
44296
44297
|
nh as LODModel,
|
|
44297
|
-
|
|
44298
|
+
fD as LeftRoomResponse,
|
|
44298
44299
|
Ai as Light,
|
|
44299
44300
|
dk as LightData,
|
|
44300
44301
|
vt as LimitVelocityOverLifetimeModule,
|
|
44301
|
-
|
|
44302
|
+
QD as LoadingElementOptions,
|
|
44302
44303
|
Yv as LogStats,
|
|
44303
44304
|
Gi as LogType,
|
|
44304
44305
|
Ox as LookAt,
|
|
@@ -44348,7 +44349,7 @@ export {
|
|
|
44348
44349
|
ex as ParticleSubEmitter,
|
|
44349
44350
|
Yd as ParticleSystem,
|
|
44350
44351
|
$r as ParticleSystemBaseBehaviour,
|
|
44351
|
-
|
|
44352
|
+
Pn as ParticleSystemRenderer,
|
|
44352
44353
|
Om as ParticleSystemShapeType,
|
|
44353
44354
|
ho as PeerHandle,
|
|
44354
44355
|
wP as PeerNetworking,
|
|
@@ -44360,7 +44361,7 @@ export {
|
|
|
44360
44361
|
Or as PlayAudioOnClick,
|
|
44361
44362
|
qa as PlayableDirector,
|
|
44362
44363
|
Bc as PlayerColor,
|
|
44363
|
-
|
|
44364
|
+
gn as PlayerState,
|
|
44364
44365
|
IE as PlayerStateEvent,
|
|
44365
44366
|
Iw as PlayerSync,
|
|
44366
44367
|
ik as PlayerView,
|
|
@@ -44394,7 +44395,7 @@ export {
|
|
|
44394
44395
|
Ke as Rigidbody,
|
|
44395
44396
|
Qe as RigidbodyConstraints,
|
|
44396
44397
|
ie as RoomEvents,
|
|
44397
|
-
|
|
44398
|
+
Cn as RotationBySpeedModule,
|
|
44398
44399
|
ss as RotationOverLifetimeModule,
|
|
44399
44400
|
ym as SceneLightSettings,
|
|
44400
44401
|
tt as SceneSwitcher,
|
|
@@ -44403,7 +44404,7 @@ export {
|
|
|
44403
44404
|
rs as ScreenSpaceAmbientOcclusionN8,
|
|
44404
44405
|
No as ScrollFollow,
|
|
44405
44406
|
jo as SeeThrough,
|
|
44406
|
-
|
|
44407
|
+
Dn as SendQueue,
|
|
44407
44408
|
mv as SerializationContext,
|
|
44408
44409
|
Mw as SetActiveOnClick,
|
|
44409
44410
|
rf as ShadowCatcher,
|
|
@@ -44429,12 +44430,12 @@ export {
|
|
|
44429
44430
|
gl as SplineContainer,
|
|
44430
44431
|
Is as SplineData,
|
|
44431
44432
|
Yb as SplineUtils,
|
|
44432
|
-
|
|
44433
|
+
kn as SplineWalker,
|
|
44433
44434
|
Ro as Sprite,
|
|
44434
44435
|
mc as SpriteData,
|
|
44435
44436
|
Ei as SpriteRenderer,
|
|
44436
44437
|
Lc as SpriteSheet,
|
|
44437
|
-
|
|
44438
|
+
AD as StateMachineBehaviour,
|
|
44438
44439
|
Nv as StreamEndedEvent,
|
|
44439
44440
|
NM as StreamReceivedEvent,
|
|
44440
44441
|
Tm as SubEmitterSystem,
|
|
@@ -44444,7 +44445,7 @@ export {
|
|
|
44444
44445
|
Rw as TapGestureTrigger,
|
|
44445
44446
|
Xg as TeleportTarget,
|
|
44446
44447
|
_x as TestRunner,
|
|
44447
|
-
|
|
44448
|
+
YD as TestSceneUtils,
|
|
44448
44449
|
bx as TestSimulateUserData,
|
|
44449
44450
|
ti as Text,
|
|
44450
44451
|
zw as TextBuilder,
|
|
@@ -44472,7 +44473,7 @@ export {
|
|
|
44472
44473
|
Gw as USDZUIExtension,
|
|
44473
44474
|
bM as UriSerializer,
|
|
44474
44475
|
Lu as UsageMarker,
|
|
44475
|
-
|
|
44476
|
+
pD as UserJoinedOrLeftRoomModel,
|
|
44476
44477
|
Xi as VERSION,
|
|
44477
44478
|
Ow as VariantAction,
|
|
44478
44479
|
qe as VelocityOverLifetimeModule,
|
|
@@ -44486,7 +44487,7 @@ export {
|
|
|
44486
44487
|
lh as Volume,
|
|
44487
44488
|
$ as VolumeParameter,
|
|
44488
44489
|
ly as VolumeProfile,
|
|
44489
|
-
|
|
44490
|
+
vD as WaitForFrames,
|
|
44490
44491
|
KO as WaitForPromise,
|
|
44491
44492
|
Ov as WaitForSeconds,
|
|
44492
44493
|
po as Watch,
|
|
@@ -44506,24 +44507,24 @@ export {
|
|
|
44506
44507
|
ai as XRState,
|
|
44507
44508
|
ws as XRStateFlag,
|
|
44508
44509
|
PL as __Ignore,
|
|
44509
|
-
|
|
44510
|
+
yD as __internalNotifyObjectDestroyed,
|
|
44510
44511
|
mo as activeInHierarchyFieldName,
|
|
44511
44512
|
w0 as addAttributeChangeCallback,
|
|
44512
44513
|
Vn as addComponent,
|
|
44513
|
-
|
|
44514
|
+
zD as addCustomExtensionPlugin,
|
|
44514
44515
|
Sa as addNewComponent,
|
|
44515
44516
|
sg as addPatch,
|
|
44516
44517
|
gg as apply,
|
|
44517
|
-
|
|
44518
|
+
RD as applyHMRChanges,
|
|
44518
44519
|
MO as applyPrototypeExtensions,
|
|
44519
44520
|
nO as beginListenDestroy,
|
|
44520
44521
|
rO as beginListenInstantiate,
|
|
44521
44522
|
Q0 as binaryIdentifierCasts,
|
|
44522
|
-
|
|
44523
|
+
xD as build_scene_functions,
|
|
44523
44524
|
oa as builtinComponentKeyName,
|
|
44524
44525
|
Bx as calculateProgress01,
|
|
44525
44526
|
ZL as clearMessages,
|
|
44526
|
-
|
|
44527
|
+
DD as colorSerializer,
|
|
44527
44528
|
pO as compareAssociation,
|
|
44528
44529
|
Xf as componentSerializer,
|
|
44529
44530
|
PC as copyTexture,
|
|
@@ -44542,9 +44543,9 @@ export {
|
|
|
44542
44543
|
Cs as disposeStream,
|
|
44543
44544
|
id as editorGuidKeyName,
|
|
44544
44545
|
oc as enableSpatialConsole,
|
|
44545
|
-
|
|
44546
|
-
|
|
44547
|
-
|
|
44546
|
+
jD as euler,
|
|
44547
|
+
BD as eventListSerializer,
|
|
44548
|
+
ZD as exportAsGLTF,
|
|
44548
44549
|
xv as findByGuid,
|
|
44549
44550
|
$c as findObjectOfType,
|
|
44550
44551
|
DO as findObjectsOfType,
|
|
@@ -44553,7 +44554,7 @@ export {
|
|
|
44553
44554
|
RC as fitObjectIntoVolume,
|
|
44554
44555
|
$a as foreachComponent,
|
|
44555
44556
|
_g as foreachComponentEnumerator,
|
|
44556
|
-
|
|
44557
|
+
iD as forward,
|
|
44557
44558
|
xk as generateQRCode,
|
|
44558
44559
|
oO as generateSeed,
|
|
44559
44560
|
hi as getBoundingBox,
|
|
@@ -44570,11 +44571,11 @@ export {
|
|
|
44570
44571
|
Qn as getLoader,
|
|
44571
44572
|
wu as getOrAddComponent,
|
|
44572
44573
|
x as getParam,
|
|
44573
|
-
|
|
44574
|
+
nD as getParentHierarchyPath,
|
|
44574
44575
|
UL as getPath,
|
|
44575
|
-
|
|
44576
|
+
hD as getPeerOptions,
|
|
44576
44577
|
vP as getPeerjsInstance,
|
|
44577
|
-
|
|
44578
|
+
_D as getResourceUserCount,
|
|
44578
44579
|
mC as getTempColor,
|
|
44579
44580
|
_i as getTempQuaternion,
|
|
44580
44581
|
z as getTempVector,
|
|
@@ -44605,12 +44606,12 @@ export {
|
|
|
44605
44606
|
zL as isDesktop,
|
|
44606
44607
|
Na as isDestroyed,
|
|
44607
44608
|
L as isDevEnvironment,
|
|
44608
|
-
|
|
44609
|
-
|
|
44609
|
+
gD as isDisposed,
|
|
44610
|
+
KD as isExporting,
|
|
44610
44611
|
jM as isGLTFModel,
|
|
44611
44612
|
z1 as isHostedOnGlitch,
|
|
44612
44613
|
G_ as isHotReloadEnabled,
|
|
44613
|
-
|
|
44614
|
+
MD as isHotReloading,
|
|
44614
44615
|
$L as isIPad,
|
|
44615
44616
|
Ck as isIconElement,
|
|
44616
44617
|
Qi as isLocalNetwork,
|
|
@@ -44623,13 +44624,13 @@ export {
|
|
|
44623
44624
|
yg as isUsingInstancing,
|
|
44624
44625
|
qL as isiOS,
|
|
44625
44626
|
WL as isiPad,
|
|
44626
|
-
|
|
44627
|
+
XD as loadAsset,
|
|
44627
44628
|
zA as loadPMREM,
|
|
44628
44629
|
Lx as loadSync,
|
|
44629
44630
|
Vp as logHierarchy,
|
|
44630
|
-
|
|
44631
|
+
eD as lookAtInverse,
|
|
44631
44632
|
gu as lookAtObject,
|
|
44632
|
-
|
|
44633
|
+
tD as lookAtScreenPoint,
|
|
44633
44634
|
BL as makeId,
|
|
44634
44635
|
W1 as makeIdFromRandomWords,
|
|
44635
44636
|
en as makeNameSafe,
|
|
@@ -44638,12 +44639,12 @@ export {
|
|
|
44638
44639
|
LL as nameof,
|
|
44639
44640
|
N1 as nameofFactory,
|
|
44640
44641
|
pM as objectSerializer,
|
|
44641
|
-
|
|
44642
|
-
|
|
44643
|
-
|
|
44644
|
-
|
|
44645
|
-
|
|
44646
|
-
|
|
44642
|
+
lD as offXRSessionEnd,
|
|
44643
|
+
aD as offXRSessionStart,
|
|
44644
|
+
kD as onAfterRender,
|
|
44645
|
+
OD as onBeforeRender,
|
|
44646
|
+
CD as onClear,
|
|
44647
|
+
PD as onDestroy,
|
|
44647
44648
|
Tv as onInitialized,
|
|
44648
44649
|
wg as onStart,
|
|
44649
44650
|
Ak as onUpdate,
|
|
@@ -44652,13 +44653,13 @@ export {
|
|
|
44652
44653
|
oL as parseSync,
|
|
44653
44654
|
EC as placeOnSurface,
|
|
44654
44655
|
L0 as postprocessFBXMaterials,
|
|
44655
|
-
|
|
44656
|
+
LD as prefix,
|
|
44656
44657
|
$1 as pushState,
|
|
44657
44658
|
FL as randomNumber,
|
|
44658
44659
|
Y0 as registerBinaryType,
|
|
44659
44660
|
vg as registerComponent,
|
|
44660
44661
|
ow as registerComponentExtension,
|
|
44661
|
-
|
|
44662
|
+
On as registerCustomEffectType,
|
|
44662
44663
|
rw as registerExportExtensions,
|
|
44663
44664
|
_m as registerExtensions,
|
|
44664
44665
|
zk as registerHotReloadType,
|
|
@@ -44669,12 +44670,12 @@ export {
|
|
|
44669
44670
|
H1 as relativePathPrefix,
|
|
44670
44671
|
x0 as removeAttributeChangeCallback,
|
|
44671
44672
|
bv as removeComponent,
|
|
44672
|
-
|
|
44673
|
-
|
|
44673
|
+
ND as removeCustomImportExtensionType,
|
|
44674
|
+
rD as removePatch,
|
|
44674
44675
|
Ir as resolveUrl,
|
|
44675
44676
|
V1 as sanitizeString,
|
|
44676
44677
|
WI as saveImage,
|
|
44677
|
-
|
|
44678
|
+
qD as screenshot,
|
|
44678
44679
|
Ex as screenshot2,
|
|
44679
44680
|
cv as sendDestroyed,
|
|
44680
44681
|
u as serializable,
|
|
@@ -44686,14 +44687,14 @@ export {
|
|
|
44686
44687
|
Wp as setAutoFitEnabled,
|
|
44687
44688
|
qy as setCameraController,
|
|
44688
44689
|
NO as setDestroyed,
|
|
44689
|
-
|
|
44690
|
+
oD as setDevEnvironment,
|
|
44690
44691
|
GP as setDisposable,
|
|
44691
44692
|
kl as setDontDestroy,
|
|
44692
44693
|
Ny as setOrAddParamsToUrl,
|
|
44693
44694
|
jL as setParam,
|
|
44694
44695
|
Cd as setParamWithoutReload,
|
|
44695
|
-
|
|
44696
|
-
|
|
44696
|
+
dD as setPeerOptions,
|
|
44697
|
+
mD as setResourceTrackingEnabled,
|
|
44697
44698
|
b0 as setState,
|
|
44698
44699
|
I0 as setVisibleInCustomShadowRendering,
|
|
44699
44700
|
A0 as setWorldEuler,
|
|
@@ -44712,7 +44713,7 @@ export {
|
|
|
44712
44713
|
vu as syncDestroy,
|
|
44713
44714
|
Tw as syncField,
|
|
44714
44715
|
hv as syncInstantiate,
|
|
44715
|
-
|
|
44716
|
+
sD as textureToCanvas,
|
|
44716
44717
|
G1 as toSourceId,
|
|
44717
44718
|
_P as tryCastBinary,
|
|
44718
44719
|
pR as tryDetermineMimetypeFromBinary,
|