@needle-tools/engine 3.37.3-alpha → 3.37.5-alpha
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 +10 -0
- package/README.md +5 -3
- package/dist/needle-engine.js +325 -248
- package/dist/needle-engine.light.js +1614 -1537
- package/dist/needle-engine.light.min.js +111 -98
- package/dist/needle-engine.light.umd.cjs +146 -133
- package/dist/needle-engine.min.js +43 -30
- package/dist/needle-engine.umd.cjs +64 -51
- package/lib/engine/engine_physics.d.ts +2 -2
- package/lib/engine/engine_physics.js +4 -4
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_physics_rapier.d.ts +24 -4
- package/lib/engine/engine_physics_rapier.js +33 -12
- package/lib/engine/engine_physics_rapier.js.map +1 -1
- package/lib/engine/engine_types.d.ts +27 -4
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/extensions/NEEDLE_lighting_settings.d.ts +0 -1
- package/lib/engine/extensions/NEEDLE_lighting_settings.js +0 -6
- package/lib/engine/extensions/NEEDLE_lighting_settings.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js +14 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine-components/Collider.d.ts +25 -0
- package/lib/engine-components/Collider.js +25 -0
- package/lib/engine-components/Collider.js.map +1 -1
- package/lib/engine-components/OrbitControls.d.ts +16 -3
- package/lib/engine-components/OrbitControls.js +25 -9
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/ParticleSystem.d.ts +31 -1
- package/lib/engine-components/ParticleSystem.js +42 -1
- package/lib/engine-components/ParticleSystem.js.map +1 -1
- package/lib/engine-components/RigidBody.d.ts +3 -0
- package/lib/engine-components/RigidBody.js +5 -2
- package/lib/engine-components/RigidBody.js.map +1 -1
- package/lib/engine-components/SceneSwitcher.d.ts +22 -2
- package/lib/engine-components/SceneSwitcher.js +29 -3
- package/lib/engine-components/SceneSwitcher.js.map +1 -1
- package/lib/engine-components/SyncedTransform.js +3 -15
- package/lib/engine-components/SyncedTransform.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/codegen/register_types.ts +2 -2
- package/src/engine/engine_physics.ts +4 -4
- package/src/engine/engine_physics_rapier.ts +48 -14
- package/src/engine/engine_types.ts +29 -6
- package/src/engine/extensions/NEEDLE_lighting_settings.ts +0 -5
- package/src/engine/webcomponents/needle menu/needle-menu.ts +14 -1
- package/src/engine-components/Collider.ts +27 -4
- package/src/engine-components/OrbitControls.ts +29 -11
- package/src/engine-components/ParticleSystem.ts +44 -4
- package/src/engine-components/RigidBody.ts +5 -2
- package/src/engine-components/SceneSwitcher.ts +45 -5
- package/src/engine-components/SyncedTransform.ts +4 -17
package/dist/needle-engine.js
CHANGED
|
@@ -24508,7 +24508,7 @@ class S_ extends Lh {
|
|
|
24508
24508
|
A._backgroundMesh.visible = !(this._input === "none" || this._input === "transparent"), this._input === "inherit" ? this._value.set(this.getInheritedInput(A)) : this._input === "transparent" || this._input === "none" || this._value.set(this._input);
|
|
24509
24509
|
}
|
|
24510
24510
|
}
|
|
24511
|
-
class
|
|
24511
|
+
class Pn extends kt {
|
|
24512
24512
|
/**
|
|
24513
24513
|
*
|
|
24514
24514
|
* @param {string} propertyId
|
|
@@ -24695,7 +24695,7 @@ class k5 extends G_ {
|
|
|
24695
24695
|
super.computeOutputValue(A);
|
|
24696
24696
|
}
|
|
24697
24697
|
}
|
|
24698
|
-
class k_ extends
|
|
24698
|
+
class k_ extends Pn {
|
|
24699
24699
|
constructor() {
|
|
24700
24700
|
super("textContent"), this._needsUpdate = !1;
|
|
24701
24701
|
}
|
|
@@ -25702,7 +25702,7 @@ class md extends ZA.Object3D {
|
|
|
25702
25702
|
fontCastShadow: { m: "castShadow" },
|
|
25703
25703
|
fontReceiveShadow: { m: "receiveShadow" },
|
|
25704
25704
|
renderOrder: { m: "renderOrder" }
|
|
25705
|
-
}, this._children = e.children ? new e.children() : new
|
|
25705
|
+
}, this._children = e.children ? new e.children() : new Pn("children"), this._parent = new Lj(), this.addEventListener("added", this._rebuildParentUI), this.addEventListener("removed", this._rebuildParentUI), this._backgroundSide = new lJ("backgroundSide"), this._fontSide = new lJ("fontSide"), this._backgroundAlphaTest = new cJ("backgroundAlphaTest", 0.02), this._fontAlphaTest = new cJ("fontAlphaTest", 0.02), this._visible = new E5("visible", !0), this._backgroundCastShadow = new Cp("backgroundCastShadow"), this._fontCastShadow = new Cp("fontCastShadow"), this._backgroundReceiveShadow = new Cp("backgroundReceiveShadow"), this._fontReceiveShadow = new Cp("fontReceiveShadow"), this._renderOrder = new Rj(), this._segments = e.segments ? new e.segments() : new q_(), this._bounds = e.bounds ? new e.bounds() : new Pn("bounds"), this._order = new y5(), this._padding = new vj(), this._margin = new qj(), this._position = new m_(), this._flexDirection = e.flexDirection ? new e.flexDirection() : new MU(), this._justifyContent = e.justifyContent ? new e.justifyContent() : new UU(), this._alignItems = e.alignItems ? new e.alignItems() : new GU(), this._display = new Vj("flex"), this._boxSizing = new $j("border-box"), this._width = new G5(), this._height = new k5(), this._backgroundColor = e.backgroundColor ? new e.backgroundColor() : new S_(), this._backgroundOpacity = new m0("backgroundOpacity", 0.5), this._backgroundImage = new i5(), this._backgroundSize = new I5("cover"), this._color = e.color ? new e.color() : new Lh("color", "inherit"), this._fontOpacity = new m0("fontOpacity", "inherit"), this._whiteSpace = e.whiteSpace ? new e.whiteSpace() : new b_(), this._fontFamily = e.fontFamily ? new e.fontFamily() : new K_(), this._fontStyle = e.fontStyle ? new e.fontStyle() : new M_("normal"), this._fontWeight = e.fontWeight ? new e.fontWeight() : new U_(), this._fontSize = e.fontSize ? new e.fontSize() : new sV(), this._lineHeight = e.lineHeight ? new e.lineHeight() : new J_(), this._fontKerning = e.fontKerning ? new e.fontKerning() : new Xw(), this._letterSpacing = e.letterSpacing ? new e.letterSpacing() : new v_(), this._overflow = new n5("visible"), this._borderRadius = new B5(0), this._borderWidth = new Q5(0), this._borderColor = new Lh("borderColor", 16711935), this._borderOpacity = new m0("borderOpacity", 1), this._font = new Wj(), this._lineBreak = e.lineBreak ? new e.lineBreak() : new Pn("lineBreak"), this._textContent = e.textContent ? new e.textContent() : new k_(), this._glyphs = e.glyphs ? new e.glyphs() : new Pn("glyphs"), this._inlines = e.inlines ? new e.inlines() : new Pn("inlines"), this._layouter = e.layouter ? new e.layouter() : new Pn("layouter"), this._inlineJustificator = new c5(), this._textAlign = e.textAlign ? new e.textAlign() : new kU(), this._autoSize = e.autoSize ? new e.autoSize() : new Pn("autoSize"), this._renderer = e.renderer ? new e.renderer() : new Pn("renderer"), this._offset = new Nj(), this._invertAlpha = new nV(), this._fontSmooth = e.fontSmooth ? new e.fontSmooth() : new Fj(), this._components = [
|
|
25706
25706
|
this._textContent,
|
|
25707
25707
|
this._children,
|
|
25708
25708
|
this._parent,
|
|
@@ -28989,7 +28989,7 @@ function FBA(g, A) {
|
|
|
28989
28989
|
g.lookAt(A), g.quaternion.multiply(IX);
|
|
28990
28990
|
}
|
|
28991
28991
|
function $w(g, A, e = !0, t = !1) {
|
|
28992
|
-
const i =
|
|
28992
|
+
const i = _e(A), I = _e(g);
|
|
28993
28993
|
if (t) {
|
|
28994
28994
|
if (Ns(g, bt(A)), e) {
|
|
28995
28995
|
const o = I.y, s = I.sub(aT(g));
|
|
@@ -29010,7 +29010,7 @@ function TQ(g) {
|
|
|
29010
29010
|
return g instanceof MA ? A.copy(g) : g instanceof DOMPointReadOnly && A.set(g.x, g.y, g.z, g.w), A;
|
|
29011
29011
|
}
|
|
29012
29012
|
const ZU = new Rs(() => new w(), 100), yJ = Symbol("lastMatrixWorldUpdateKey");
|
|
29013
|
-
function
|
|
29013
|
+
function _e(g, A = null, e = !0) {
|
|
29014
29014
|
const t = A ?? ZU.get();
|
|
29015
29015
|
return g ? g.parent ? (e && g.updateWorldMatrix(!0, !1), g.matrixWorldNeedsUpdate && g[yJ] !== Date.now() && (g[yJ] = Date.now(), g.updateMatrixWorld()), t.setFromMatrixPosition(g.matrixWorld), t) : t.copy(g.position) : t.set(0, 0, 0);
|
|
29016
29016
|
}
|
|
@@ -29476,13 +29476,13 @@ function vBA(g) {
|
|
|
29476
29476
|
ok = g;
|
|
29477
29477
|
}
|
|
29478
29478
|
const lT = IA("debugdefines");
|
|
29479
|
-
OE('if(!globalThis[""3.37.
|
|
29479
|
+
OE('if(!globalThis[""3.37.5-alpha""]) globalThis[""3.37.5-alpha""] = "0.0.0";');
|
|
29480
29480
|
OE('if(!globalThis[""undefined""]) globalThis[""undefined""] = "unknown";');
|
|
29481
|
-
OE('if(!globalThis[""
|
|
29482
|
-
OE('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.37.
|
|
29481
|
+
OE('if(!globalThis[""Tue Apr 23 2024 09:16:03 GMT+0200 (Central European Summer Time)""]) globalThis[""Tue Apr 23 2024 09:16:03 GMT+0200 (Central European Summer Time)""] = "unknown";');
|
|
29482
|
+
OE('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.37.5-alpha";');
|
|
29483
29483
|
OE('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
|
|
29484
|
-
OE('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "
|
|
29485
|
-
const lC = "3.37.
|
|
29484
|
+
OE('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Tue Apr 23 2024 09:16:03 GMT+0200 (Central European Summer Time)";');
|
|
29485
|
+
const lC = "3.37.5-alpha", jU = "undefined", hT = "Tue Apr 23 2024 09:16:03 GMT+0200 (Central European Summer Time)";
|
|
29486
29486
|
lT && console.log(`Engine version: ${lC} (generator: ${jU})
|
|
29487
29487
|
Project built at ${hT}`);
|
|
29488
29488
|
const Ra = "needle_isActiveInHierarchy", GQ = "builtin_components", hf = "needle_editor_guid";
|
|
@@ -30353,24 +30353,24 @@ function ZX(g) {
|
|
|
30353
30353
|
const N = a + h._offset, y = N + f, U = y + k, H = U + G, x = new Uint8Array(g.buffer, g.byteOffset + N, f), K = new Uint8Array(g.buffer, g.byteOffset + y, k), O = new Uint8Array(g.buffer, g.byteOffset + U, G), b = new Uint8Array(g.buffer, g.byteOffset + H, M);
|
|
30354
30354
|
return e.globalData = { endpointCount: p, selectorCount: u, imageDescs: m, endpointsData: x, selectorsData: K, tablesData: O, extendedData: b }, e;
|
|
30355
30355
|
}
|
|
30356
|
-
let J0,
|
|
30356
|
+
let J0, Wn, nk;
|
|
30357
30357
|
const b0 = { env: { emscripten_notify_memory_growth: function(g) {
|
|
30358
|
-
nk = new Uint8Array(
|
|
30358
|
+
nk = new Uint8Array(Wn.exports.memory.buffer);
|
|
30359
30359
|
} } };
|
|
30360
30360
|
let jX = class {
|
|
30361
30361
|
init() {
|
|
30362
30362
|
return J0 || (J0 = typeof fetch < "u" ? fetch("data:application/wasm;base64," + JJ).then((A) => A.arrayBuffer()).then((A) => WebAssembly.instantiate(A, b0)).then(this._init) : WebAssembly.instantiate(Buffer.from(JJ, "base64"), b0).then(this._init), J0);
|
|
30363
30363
|
}
|
|
30364
30364
|
_init(A) {
|
|
30365
|
-
|
|
30365
|
+
Wn = A.instance, b0.env.emscripten_notify_memory_growth(0);
|
|
30366
30366
|
}
|
|
30367
30367
|
decode(A, e = 0) {
|
|
30368
|
-
if (!
|
|
30368
|
+
if (!Wn)
|
|
30369
30369
|
throw new Error("ZSTDDecoder: Await .init() before decoding.");
|
|
30370
|
-
const t = A.byteLength, i =
|
|
30371
|
-
nk.set(A, i), e = e || Number(
|
|
30372
|
-
const I =
|
|
30373
|
-
return
|
|
30370
|
+
const t = A.byteLength, i = Wn.exports.malloc(t);
|
|
30371
|
+
nk.set(A, i), e = e || Number(Wn.exports.ZSTD_findDecompressedSize(i, t));
|
|
30372
|
+
const I = Wn.exports.malloc(e), o = Wn.exports.ZSTD_decompress(I, e, i, t), s = nk.slice(I, I + o);
|
|
30373
|
+
return Wn.exports.free(i), Wn.exports.free(I), s;
|
|
30374
30374
|
}
|
|
30375
30375
|
};
|
|
30376
30376
|
const JJ = "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IAMNACAEQQNxBEADQCACRQ0FIAAgAkF/aiICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQXxqIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkF/aiICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AIAIhBANAIAMgASgCADYCACABQQRqIQEgA0EEaiEDIARBfGoiBEEDSw0ACyACQQNxIQILIAJFDQADQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohASACQX9qIgINAAsLIAAL8wICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgE2AgAgAyACIARrQXxxIgRqIgJBfGogATYCACAEQQlJDQAgAyABNgIIIAMgATYCBCACQXhqIAE2AgAgAkF0aiABNgIAIARBGUkNACADIAE2AhggAyABNgIUIAMgATYCECADIAE2AgwgAkFwaiABNgIAIAJBbGogATYCACACQWhqIAE2AgAgAkFkaiABNgIAIAQgA0EEcUEYciIEayICQSBJDQAgAa0iBUIghiAFhCEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCyAACy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAIajYCACADCy8BAn8gACgCBCAAKAIAQQJ0aiICLQACIQMgACACLwEAIAEgAi0AAxAFajYCACADCx8AIAAgASACKAIEEAg2AgAgARAEGiAAIAJBCGo2AgQLCAAgAGdBH3MLugUBDX8jAEEQayIKJAACfyAEQQNNBEAgCkEANgIMIApBDGogAyAEEAsaIAAgASACIApBDGpBBBAVIgBBbCAAEAMbIAAgACAESxsMAQsgAEEAIAEoAgBBAXRBAmoQECENQVQgAygAACIGQQ9xIgBBCksNABogAiAAQQVqNgIAIAMgBGoiAkF8aiEMIAJBeWohDiACQXtqIRAgAEEGaiELQQQh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ASIDNgLE4AEgACgCvOABIQQgACABNgK84AEgACABIAJqNgK44AEgACABIAQgA2tqNgLA4AELpgEBAX8gACAAKALs4QEQFjYCyOABIABCADcD+OABIABCADcDuOABIABBwOABakIANwMAIABBqNAAaiIBQYyAgOAANgIAIABBADYCmOIBIABCADcDiOEBIABCAzcDgOEBIABBrNABakHgEikCADcCACAAQbTQAWpB6BIoAgA2AgAgACABNgIMIAAgAEGYIGo2AgggACAAQaAwajYCBCAAIABBEGo2AgALYQEBf0G4fyEDAkAgAUEDSQ0AIAIgABAhIgFBA3YiADYCCCACIAFBAXE2AgQgAiABQQF2QQNxIgM2AgACQCADQX9qIgFBAksNAAJAIAFBAWsOAgEAAgtBbA8LIAAhAwsgAwsMACAAIAEgAkEAEC4LiAQCA38CfiADEBYhBCAAQQBBKBAQIQAgBCACSwRAIAQPCyABRQRAQX8PCwJAAkAgA0EBRg0AIAEoAAAiBkGo6r5pRg0AQXYhAyAGQXBxQdDUtMIBRw0BQQghAyACQQhJDQEgAEEAQSgQECEAIAEoAAQhASAAQQE2AhQgACABrTcDAEEADwsgASACIAMQLyIDIAJLDQAgACADNgIYQXIhAyABIARqIgVBf2otAAAiAkEIcQ0AIAJBIHEiBkUEQEFwIQMgBS0AACIFQacBSw0BIAVBB3GtQgEgBUEDdkEKaq2GIgdCA4h+IAd8IQggBEEBaiEECyACQQZ2IQMgAkECdiEFAkAgAkEDcUF/aiICQQJLBEBBACECDAELAkACQAJAIAJBAWsOAgECAAsgASAEai0AACECIARBAWohBAwCCyABIARqLwAAIQIgBEECaiEEDAELIAEgBGooAAAhAiAEQQRqIQQLIAVBAXEhBQJ+AkACQAJAIANBf2oiA0ECTQRAIANBAWsOAgIDAQtCfyAGRQ0DGiABIARqMQAADAMLIAEgBGovAACtQoACfAwCCyABIARqKAAArQwBCyABIARqKQAACyEHIAAgBTYCICAAIAI2AhwgACAHNwMAQQAhAyAAQQA2AhQgACAHIAggBhsiBzcDCCAAIAdCgIAIIAdCgIAIVBs+AhALIAMLWwEBf0G4fyEDIAIQFiICIAFNBH8gACACakF/ai0AACIAQQNxQQJ0QaAeaigCACACaiAAQQZ2IgFBAnRBsB5qKAIAaiAAQSBxIgBFaiABRSAAQQV2cWoFQbh/CwsdACAAKAKQ4gEQWiAAQQA2AqDiASAAQgA3A5DiAQu1AwEFfyMAQZACayIKJABBuH8hBgJAIAVFDQAgBCwAACIIQf8BcSEHAkAgCEF/TARAIAdBgn9qQQF2IgggBU8NAkFsIQYgB0GBf2oiBUGAAk8NAiAEQQFqIQdBACEGA0AgBiAFTwRAIAUhBiAIIQcMAwUgACAGaiAHIAZBAXZqIgQtAABBBHY6AAAgACAGQQFyaiAELQAAQQ9xOgAAIAZBAmohBgwBCwAACwALIAcgBU8NASAAIARBAWogByAKEFMiBhADDQELIAYhBEEAIQYgAUEAQTQQECEJQQAhBQNAIAQgBkcEQCAAIAZqIggtAAAiAUELSwRAQWwhBgwDBSAJIAFBAnRqIgEgASgCAEEBajYCACAGQQFqIQZBASAILQAAdEEBdSAFaiEFDAILAAsLQWwhBiAFRQ0AIAUQFEEBaiIBQQxLDQAgAyABNgIAQQFBASABdCAFayIDEBQiAXQgA0cNACAAIARqIAFBAWoiADoAACAJIABBAnRqIgAgACgCAEEBajYCACAJKAIEIgBBAkkgAEEBcXINACACIARBAWo2AgAgB0EBaiEGCyAKQZACaiQAIAYLxhEBDH8jAEHwAGsiBSQAQWwhCwJAIANBCkkNACACLwAAIQogAi8AAiEJIAIvAAQhByAFQQhqIAQQDgJAIAMgByAJIApqakEGaiIMSQ0AIAUtAAohCCAFQdgAaiACQQZqIgIgChAGIgsQAw0BIAVBQGsgAiAKaiICIAkQBiILEAMNASAFQShqIAIgCWoiAiAHEAYiCxADDQEgBUEQaiACIAdqIAMgDGsQBiILEAMNASAAIAFqIg9BfWohECAEQQRqIQZBASELIAAgAUEDakECdiIDaiIMIANqIgIgA2oiDiEDIAIhBCAMIQcDQCALIAMgEElxBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgCS0AAyELIAcgBiAFQUBrIAgQAkECdGoiCS8BADsAACAFQUBrIAktAAIQASAJLQADIQogBCAGIAVBKGogCBACQQJ0aiIJLwEAOwAAIAVBKGogCS0AAhABIAktAAMhCSADIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgDS0AAyENIAAgC2oiCyAGIAVB2ABqIAgQAkECdGoiAC8BADsAACAFQdgAaiAALQACEAEgAC0AAyEAIAcgCmoiCiAGIAVBQGsgCBACQQJ0aiIHLwEAOwAAIAVBQGsgBy0AAhABIActAAMhByAEIAlqIgkgBiAFQShqIAgQAkECdGoiBC8BADsAACAFQShqIAQtAAIQASAELQADIQQgAyANaiIDIAYgBUEQaiAIEAJBAnRqIg0vAQA7AAAgBUEQaiANLQACEAEgACALaiEAIAcgCmohByAEIAlqIQQgAyANLQADaiEDIAVB2ABqEA0gBUFAaxANciAFQShqEA1yIAVBEGoQDXJFIQsMAQsLIAQgDksgByACS3INAEFsIQsgACAMSw0BIAxBfWohCQNAQQAgACAJSSAFQdgAahAEGwRAIAAgBiAFQdgAaiAIEAJBAnRqIgovAQA7AAAgBUHYAGogCi0AAhABIAAgCi0AA2oiACAGIAVB2ABqIAgQAkECdGoiCi8BADsAACAFQdgAaiAKLQACEAEgACAKLQADaiEADAEFIAxBfmohCgNAIAVB2ABqEAQgACAKS3JFBEAgACAGIAVB2ABqIAgQAkECdGoiCS8BADsAACAFQdgAaiAJLQACEAEgACAJLQADaiEADAELCwNAIAAgCk0EQCAAIAYgBUHYAGogCBACQQJ0aiIJLwEAOwAAIAVB2ABqIAktAAIQASAAIAktAANqIQAMAQsLAkAgACAMTw0AIAAgBiAFQdgAaiAIEAIiAEECdGoiDC0AADoAACAMLQADQQFGBEAgBUHYAGogDC0AAhABDAELIAUoAlxBH0sNACAFQdgAaiAGIABBAnRqLQACEAEgBSgCXEEhSQ0AIAVBIDYCXAsgAkF9aiEMA0BBACAHIAxJIAVBQGsQBBsEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiIAIAYgBUFAayAIEAJBAnRqIgcvAQA7AAAgBUFAayAHLQACEAEgACAHLQADaiEHDAEFIAJBfmohDANAIAVBQGsQBCAHIAxLckUEQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwNAIAcgDE0EQCAHIAYgBUFAayAIEAJBAnRqIgAvAQA7AAAgBUFAayAALQACEAEgByAALQADaiEHDAELCwJAIAcgAk8NACAHIAYgBUFAayAIEAIiAEECdGoiAi0AADoAACACLQADQQFGBEAgBUFAayACLQACEAEMAQsgBSgCREEfSw0AIAVBQGsgBiAAQQJ0ai0AAhABIAUoAkRBIUkNACAFQSA2AkQLIA5BfWohAgNAQQAgBCACSSAFQShqEAQbBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2oiACAGIAVBKGogCBACQQJ0aiIELwEAOwAAIAVBKGogBC0AAhABIAAgBC0AA2ohBAwBBSAOQX5qIQIDQCAFQShqEAQgBCACS3JFBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsDQCAEIAJNBEAgBCAGIAVBKGogCBACQQJ0aiIALwEAOwAAIAVBKGogAC0AAhABIAQgAC0AA2ohBAwBCwsCQCAEIA5PDQAgBCAGIAVBKGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBKGogAi0AAhABDAELIAUoAixBH0sNACAFQShqIAYgAEECdGotAAIQASAFKAIsQSFJDQAgBUEgNgIsCwNAQQAgAyAQSSAFQRBqEAQbBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2oiACAGIAVBEGogCBACQQJ0aiICLwEAOwAAIAVBEGogAi0AAhABIAAgAi0AA2ohAwwBBSAPQX5qIQIDQCAFQRBqEAQgAyACS3JFBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsDQCADIAJNBEAgAyAGIAVBEGogCBACQQJ0aiIALwEAOwAAIAVBEGogAC0AAhABIAMgAC0AA2ohAwwBCwsCQCADIA9PDQAgAyAGIAVBEGogCBACIgBBAnRqIgItAAA6AAAgAi0AA0EBRgRAIAVBEGogAi0AAhABDAELIAUoAhRBH0sNACAFQRBqIAYgAEECdGotAAIQASAFKAIUQSFJDQAgBUEgNgIUCyABQWwgBUHYAGoQCiAFQUBrEApxIAVBKGoQCnEgBUEQahAKcRshCwwJCwAACwALAAALAAsAAAsACwAACwALQWwhCwsgBUHwAGokACALC7UEAQ5/IwBBEGsiBiQAIAZBBGogABAOQVQhBQJAIARB3AtJDQAgBi0ABCEHIANB8ARqQQBB7AAQECEIIAdBDEsNACADQdwJaiIJIAggBkEIaiAGQQxqIAEgAhAxIhAQA0UEQCAGKAIMIgQgB0sNASADQdwFaiEPIANBpAVqIREgAEEEaiESIANBqAVqIQEgBCEFA0AgBSICQX9qIQUgCCACQQJ0aigCAEUNAAsgAkEBaiEOQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgASALaiAKNgIAIAVBAWohBSAKIAxqIQoMAQsLIAEgCjYCAEEAIQUgBigCCCELA0AgBSALRkUEQCABIAUgCWotAAAiDEECdGoiDSANKAIAIg1BAWo2AgAgDyANQQF0aiINIAw6AAEgDSAFOgAAIAVBAWohBQwBCwtBACEBIANBADYCqAUgBEF/cyAHaiEJQQEhBQNAIAUgDk9FBEAgCCAFQQJ0IgtqKAIAIQwgAyALaiABNgIAIAwgBSAJanQgAWohASAFQQFqIQUMAQsLIAcgBEEBaiIBIAJrIgRrQQFqIQgDQEEBIQUgBCAIT0UEQANAIAUgDk9FBEAgBUECdCIJIAMgBEE0bGpqIAMgCWooAgAgBHY2AgAgBUEBaiEFDAELCyAEQQFqIQQMAQsLIBIgByAPIAogESADIAIgARBkIAZBAToABSAGIAc6AAYgACAGKAIENgIACyAQIQULIAZBEGokACAFC8ENAQt/IwBB8ABrIgUkAEFsIQkCQCADQQpJDQAgAi8AACEKIAIvAAIhDCACLwAEIQYgBUEIaiAEEA4CQCADIAYgCiAMampBBmoiDUkNACAFLQAKIQcgBUHYAGogAkEGaiICIAoQBiIJEAMNASAFQUBrIAIgCmoiAiAMEAYiCRADDQEgBUEoaiACIAxqIgIgBhAGIgkQAw0BIAVBEGogAiAGaiADIA1rEAYiCRADDQEgACABaiIOQX1qIQ8gBEEEaiEGQQEhCSAAIAFBA2pBAnYiAmoiCiACaiIMIAJqIg0hAyAMIQQgCiECA0AgCSADIA9JcQRAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAACAGIAVBQGsgBxACQQF0aiIILQAAIQsgBUFAayAILQABEAEgAiALOgAAIAYgBUEoaiAHEAJBAXRqIggtAAAhCyAFQShqIAgtAAEQASAEIAs6AAAgBiAFQRBqIAcQAkEBdGoiCC0AACELIAVBEGogCC0AARABIAMgCzoAACAGIAVB2ABqIAcQAkEBdGoiCC0AACELIAVB2ABqIAgtAAEQASAAIAs6AAEgBiAFQUBrIAcQAkEBdGoiCC0AACELIAVBQGsgCC0AARABIAIgCzoAASAGIAVBKGogBxACQQF0aiIILQAAIQsgBUEoaiAILQABEAEgBCALOgABIAYgBUEQaiAHEAJBAXRqIggtAAAhCyAFQRBqIAgtAAEQASADIAs6AAEgA0ECaiEDIARBAmohBCACQQJqIQIgAEECaiEAIAkgBUHYAGoQDUVxIAVBQGsQDUVxIAVBKGoQDUVxIAVBEGoQDUVxIQkMAQsLIAQgDUsgAiAMS3INAEFsIQkgACAKSw0BIApBfWohCQNAIAVB2ABqEAQgACAJT3JFBEAgBiAFQdgAaiAHEAJBAXRqIggtAAAhCyAFQdgAaiAILQABEAEgACALOgAAIAYgBUHYAGogBxACQQF0aiIILQAAIQsgBUHYAGogCC0AARABIAAgCzoAASAAQQJqIQAMAQsLA0AgBUHYAGoQBCAAIApPckUEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCwNAIAAgCkkEQCAGIAVB2ABqIAcQAkEBdGoiCS0AACEIIAVB2ABqIAktAAEQASAAIAg6AAAgAEEBaiEADAELCyAMQX1qIQADQCAFQUBrEAQgAiAAT3JFBEAgBiAFQUBrIAcQAkEBdGoiCi0AACEJIAVBQGsgCi0AARABIAIgCToAACAGIAVBQGsgBxACQQF0aiIKLQAAIQkgBUFAayAKLQABEAEgAiAJOgABIAJBAmohAgwBCwsDQCAFQUBrEAQgAiAMT3JFBEAgBiAFQUBrIAcQAkEBdGoiAC0AACEKIAVBQGsgAC0AARABIAIgCjoAACACQQFqIQIMAQsLA0AgAiAMSQRAIAYgBUFAayAHEAJBAXRqIgAtAAAhCiAFQUBrIAAtAAEQASACIAo6AAAgAkEBaiECDAELCyANQX1qIQADQCAFQShqEAQgBCAAT3JFBEAgBiAFQShqIAcQAkEBdGoiAi0AACEKIAVBKGogAi0AARABIAQgCjoAACAGIAVBKGogBxACQQF0aiICLQAAIQogBUEoaiACLQABEAEgBCAKOgABIARBAmohBAwBCwsDQCAFQShqEAQgBCANT3JFBEAgBiAFQShqIAcQAkEBdGoiAC0AACECIAVBKGogAC0AARABIAQgAjoAACAEQQFqIQQMAQsLA0AgBCANSQRAIAYgBUEoaiAHEAJBAXRqIgAtAAAhAiAFQShqIAAtAAEQASAEIAI6AAAgBEEBaiEEDAELCwNAIAVBEGoQBCADIA9PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIAYgBUEQaiAHEAJBAXRqIgAtAAAhAiAFQRBqIAAtAAEQASADIAI6AAEgA0ECaiEDDAELCwNAIAVBEGoQBCADIA5PckUEQCAGIAVBEGogBxACQQF0aiIALQAAIQIgBUEQaiAALQABEAEgAyACOgAAIANBAWohAwwBCwsDQCADIA5JBEAgBiAFQRBqIAcQAkEBdGoiAC0AACECIAVBEGogAC0AARABIAMgAjoAACADQQFqIQMMAQsLIAFBbCAFQdgAahAKIAVBQGsQCnEgBUEoahAKcSAFQRBqEApxGyEJDAELQWwhCQsgBUHwAGokACAJC8oCAQR/IwBBIGsiBSQAIAUgBBAOIAUtAAIhByAFQQhqIAIgAxAGIgIQA0UEQCAEQQRqIQIgACABaiIDQX1qIQQDQCAFQQhqEAQgACAET3JFBEAgAiAFQQhqIAcQAkEBdGoiBi0AACEIIAVBCGogBi0AARABIAAgCDoAACACIAVBCGogBxACQQF0aiIGLQAAIQggBUEIaiAGLQABEAEgACAIOgABIABBAmohAAwBCwsDQCAFQQhqEAQgACADT3JFBEAgAiAFQQhqIAcQAkEBdGoiBC0AACEGIAVBCGogBC0AARABIAAgBjoAACAAQQFqIQAMAQsLA0AgACADT0UEQCACIAVBCGogBxACQQF0aiIELQAAIQYgBUEIaiAELQABEAEgACAGOgAAIABBAWohAAwBCwsgAUFsIAVBCGoQChshAgsgBUEgaiQAIAILtgMBCX8jAEEQayIGJAAgBkEANgIMIAZBADYCCEFUIQQCQAJAIANBQGsiDCADIAZBCGogBkEMaiABIAIQMSICEAMNACAGQQRqIAAQDiAGKAIMIgcgBi0ABEEBaksNASAAQQRqIQogBkEAOgAFIAYgBzoABiAAIAYoAgQ2AgAgB0EBaiEJQQEhBANAIAQgCUkEQCADIARBAnRqIgEoAgAhACABIAU2AgAgACAEQX9qdCAFaiEFIARBAWohBAwBCwsgB0EBaiEHQQAhBSAGKAIIIQkDQCAFIAlGDQEgAyAFIAxqLQAAIgRBAnRqIgBBASAEdEEBdSILIAAoAgAiAWoiADYCACAHIARrIQhBACEEAkAgC0EDTQRAA0AgBCALRg0CIAogASAEakEBdGoiACAIOgABIAAgBToAACAEQQFqIQQMAAALAAsDQCABIABPDQEgCiABQQF0aiIEIAg6AAEgBCAFOgAAIAQgCDoAAyAEIAU6AAIgBCAIOgAFIAQgBToABCAEIAg6AAcgBCAFOgAGIAFBBGohAQwAAAsACyAFQQFqIQUMAAALAAsgAiEECyAGQRBqJAAgBAutAQECfwJAQYQgKAIAIABHIAAoAgBBAXYiAyABa0F4aiICQXhxQQhHcgR/IAIFIAMQJ0UNASACQQhqC0EQSQ0AIAAgACgCACICQQFxIAAgAWpBD2pBeHEiASAAa0EBdHI2AgAgASAANgIEIAEgASgCAEEBcSAAIAJBAXZqIAFrIgJBAXRyNgIAQYQgIAEgAkH/////B3FqQQRqQYQgKAIAIABGGyABNgIAIAEQJQsLygIBBX8CQAJAAkAgAEEIIABBCEsbZ0EfcyAAaUEBR2oiAUEESSAAIAF2cg0AIAFBAnRB/B5qKAIAIgJFDQADQCACQXhqIgMoAgBBAXZBeGoiBSAATwRAIAIgBUEIIAVBCEsbZ0Efc0ECdEGAH2oiASgCAEYEQCABIAIoAgQ2AgALDAMLIARBHksNASAEQQFqIQQgAigCBCICDQALC0EAIQMgAUEgTw0BA0AgAUECdEGAH2ooAgAiAkUEQCABQR5LIQIgAUEBaiEBIAJFDQEMAwsLIAIgAkF4aiIDKAIAQQF2QXhqIgFBCCABQQhLG2dBH3NBAnRBgB9qIgEoAgBGBEAgASACKAIENgIACwsgAigCACIBBEAgASACKAIENgIECyACKAIEIgEEQCABIAIoAgA2AgALIAMgAygCAEEBcjYCACADIAAQNwsgAwvhCwINfwV+IwBB8ABrIgckACAHIAAoAvDhASIINgJcIAEgAmohDSAIIAAoAoDiAWohDwJAAkAgBUUEQCABIQQMAQsgACgCxOABIRAgACgCwOABIREgACgCvOABIQ4gAEEBNgKM4QFBACEIA0AgCEEDRwRAIAcgCEECdCICaiAAIAJqQazQAWooAgA2AkQgCEEBaiEIDAELC0FsIQwgB0EYaiADIAQQBhADDQEgB0EsaiAHQRhqIAAoAgAQEyAHQTRqIAdBGGogACgCCBATIAdBPGogB0EYaiAAKAIEEBMgDUFgaiESIAEhBEEAIQwDQCAHKAIwIAcoAixBA3RqKQIAIhRCEIinQf8BcSEIIAcoAkAgBygCPEEDdGopAgAiFUIQiKdB/wFxIQsgBygCOCAHKAI0QQN0aikCACIWQiCIpyEJIBVCIIghFyAUQiCIpyECAkAgFkIQiKdB/wFxIgNBAk8EQAJAIAZFIANBGUlyRQRAIAkgB0EYaiADQSAgBygCHGsiCiAKIANLGyIKEAUgAyAKayIDdGohCSAHQRhqEAQaIANFDQEgB0EYaiADEAUgCWohCQwBCyAHQRhqIAMQBSAJaiEJIAdBGGoQBBoLIAcpAkQhGCAHIAk2AkQgByAYNwNIDAELAkAgA0UEQCACBEAgBygCRCEJDAMLIAcoAkghCQwBCwJAAkAgB0EYakEBEAUgCSACRWpqIgNBA0YEQCAHKAJEQX9qIgMgA0VqIQkMAQsgA0ECdCAHaigCRCIJIAlFaiEJIANBAUYNAQsgByAHKAJINgJMCwsgByAHKAJENgJIIAcgCTYCRAsgF6chAyALBEAgB0EYaiALEAUgA2ohAwsgCCALakEUTwRAIAdBGGoQBBoLIAgEQCAHQRhqIAgQBSACaiECCyAHQRhqEAQaIAcgB0EYaiAUQhiIp0H/AXEQCCAUp0H//wNxajYCLCAHIAdBGGogFUIYiKdB/wFxEAggFadB//8DcWo2AjwgB0EYahAEGiAHIAdBGGogFkIYiKdB/wFxEAggFqdB//8DcWo2AjQgByACNgJgIAcoAlwhCiAHIAk2AmggByADNgJkAkACQAJAIAQgAiADaiILaiASSw0AIAIgCmoiEyAPSw0AIA0gBGsgC0Egak8NAQsgByAHKQNoNwMQIAcgBykDYDcDCCAEIA0gB0EIaiAHQdwAaiAPIA4gESAQEB4hCwwBCyACIARqIQggBCAKEAcgAkERTwRAIARBEGohAgNAIAIgCkEQaiIKEAcgAkEQaiICIAhJDQALCyAIIAlrIQIgByATNgJcIAkgCCAOa0sEQCAJIAggEWtLBEBBbCELDAILIBAgAiAOayICaiIKIANqIBBNBEAgCCAKIAMQDxoMAgsgCCAKQQAgAmsQDyEIIAcgAiADaiIDNgJkIAggAmshCCAOIQILIAlBEE8EQCADIAhqIQMDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALDAELAkAgCUEHTQRAIAggAi0AADoAACAIIAItAAE6AAEgCCACLQACOgACIAggAi0AAzoAAyAIQQRqIAIgCUECdCIDQcAeaigCAGoiAhAXIAIgA0HgHmooAgBrIQIgBygCZCEDDAELIAggAhAMCyADQQlJDQAgAyAIaiEDIAhBCGoiCCACQQhqIgJrQQ9MBEADQCAIIAIQDCACQQhqIQIgCEEIaiIIIANJDQAMAgALAAsDQCAIIAIQByACQRBqIQIgCEEQaiIIIANJDQALCyAHQRhqEAQaIAsgDCALEAMiAhshDCAEIAQgC2ogAhshBCAFQX9qIgUNAAsgDBADDQFBbCEMIAdBGGoQBEECSQ0BQQAhCANAIAhBA0cEQCAAIAhBAnQiAmpBrNABaiACIAdqKAJENgIAIAhBAWohCAwBCwsgBygCXCEIC0G6fyEMIA8gCGsiACANIARrSw0AIAQEfyAEIAggABALIABqBUEACyABayEMCyAHQfAAaiQAIAwLkRcCFn8FfiMAQdABayIHJAAgByAAKALw4QEiCDYCvAEgASACaiESIAggACgCgOIBaiETAkACQCAFRQRAIAEhAwwBCyAAKALE4AEhESAAKALA4AEhFSAAKAK84AEhDyAAQQE2AozhAUEAIQgDQCAIQQNHBEAgByAIQQJ0IgJqIAAgAmpBrNABaigCADYCVCAIQQFqIQgMAQsLIAcgETYCZCAHIA82AmAgByABIA9rNgJoQWwhECAHQShqIAMgBBAGEAMNASAFQQQgBUEESBshFyAHQTxqIAdBKGogACgCABATIAdBxABqIAdBKGogACgCCBATIAdBzABqIAdB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IAdB0AFqJAAgEAslACAAQgA3AgAgAEEAOwEIIABBADoACyAAIAE2AgwgACACOgAKC7QFAQN/IwBBMGsiBCQAIABB/wFqIgVBfWohBgJAIAMvAQIEQCAEQRhqIAEgAhAGIgIQAw0BIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahASOgAAIAMgBEEIaiAEQRhqEBI6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0FIAEgBEEQaiAEQRhqEBI6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBSABIARBCGogBEEYahASOgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEjoAACABIAJqIABrIQIMAwsgAyAEQRBqIARBGGoQEjoAAiADIARBCGogBEEYahASOgADIANBBGohAwwAAAsACyAEQRhqIAEgAhAGIgIQAw0AIARBEGogBEEYaiADEBwgBEEIaiAEQRhqIAMQHCAAIQMDQAJAIARBGGoQBCADIAZPckUEQCADIARBEGogBEEYahAROgAAIAMgBEEIaiAEQRhqEBE6AAEgBEEYahAERQ0BIANBAmohAwsgBUF+aiEFAn8DQEG6fyECIAMiASAFSw0EIAEgBEEQaiAEQRhqEBE6AAAgAUEBaiEDIARBGGoQBEEDRgRAQQIhAiAEQQhqDAILIAMgBUsNBCABIARBCGogBEEYahAROgABIAFBAmohA0EDIQIgBEEYahAEQQNHDQALIARBEGoLIQUgAyAFIARBGGoQEToAACABIAJqIABrIQIMAgsgAyAEQRBqIARBGGoQEToAAiADIARBCGogBEEYahAROgADIANBBGohAwwAAAsACyAEQTBqJAAgAgtpAQF/An8CQAJAIAJBB00NACABKAAAQbfIwuF+Rw0AIAAgASgABDYCmOIBQWIgAEEQaiABIAIQPiIDEAMNAhogAEKBgICAEDcDiOEBIAAgASADaiACIANrECoMAQsgACABIAIQKgtBAAsLrQMBBn8jAEGAAWsiAyQAQWIhCAJAIAJBCUkNACAAQZjQAGogAUEIaiIEIAJBeGogAEGY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wOABCwutAgIEfwF+IwBBQGoiBCQAAkACQCACQQhJDQAgASgAAEFwcUHQ1LTCAUcNACABIAIQIiEBIABCADcDCCAAQQA2AgQgACABNgIADAELIARBGGogASACEC0iAxADBEAgACADEBoMAQsgAwRAIABBuH8QGgwBCyACIAQoAjAiA2shAiABIANqIQMDQAJAIAAgAyACIARBCGoQLCIFEAMEfyAFBSACIAVBA2oiBU8NAUG4fwsQGgwCCyAGQQFqIQYgAiAFayECIAMgBWohAyAEKAIMRQ0ACyAEKAI4BEAgAkEDTQRAIABBuH8QGgwCCyADQQRqIQMLIAQoAighAiAEKQMYIQcgAEEANgIEIAAgAyABazYCACAAIAIgBmytIAcgB0J/URs3AwgLIARBQGskAAslAQF/IwBBEGsiAiQAIAIgACABEFEgAigCACEAIAJBEGokACAAC30BBH8jAEGQBGsiBCQAIARB/wE2AggCQCAEQRBqIARBCGogBEEMaiABIAIQFSIGEAMEQCAGIQUMAQtBVCEFIAQoAgwiB0EGSw0AIAMgBEEQaiAEKAIIIAcQQSIFEAMNACAAIAEgBmogAiAGayADEDwhBQsgBEGQBGokACAFC4cBAgJ/An5BABAWIQMCQANAIAEgA08EQAJAIAAoAABBcHFB0NS0wgFGBEAgACABECIiAhADRQ0BQn4PCyAAIAEQVSIEQn1WDQMgBCAFfCIFIARUIQJCfiEEIAINAyAAIAEQUiICEAMNAwsgASACayEBIAAgAmohAAwBCwtCfiAFIAEbIQQLIAQLPwIBfwF+IwBBMGsiAiQAAn5CfiACQQhqIAAgARAtDQAaQgAgAigCHEEBRg0AGiACKQMICyEDIAJBMGokACADC40BAQJ/IwBBMGsiASQAAkAgAEUNACAAKAKI4gENACABIABB/OEBaigCADYCKCABIAApAvThATcDICAAEDAgACgCqOIBIQIgASABKAIoNgIYIAEgASkDIDcDECACIAFBEGoQGyAAQQA2AqjiASABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALKgECfyMAQRBrIgAkACAAQQA2AgggAEIANwMAIAAQWCEBIABBEGokACABC4cBAQN/IwBBEGsiAiQAAkAgACgCAEUgACgCBEVzDQAgAiAAKAIINgIIIAIgACkCADcDAAJ/IAIoAgAiAQRAIAIoAghBqOMJIAERBQAMAQtBqOMJECgLIgFFDQAgASAAKQIANwL04QEgAUH84QFqIAAoAgg2AgAgARBZIAEhAwsgAkEQaiQAIAMLywEBAn8jAEEgayIBJAAgAEGBgIDAADYCtOIBIABBADYCiOIBIABBADYC7OEBIABCADcDkOIBIABBADYCpOMJIABBADYC3OIBIABCADcCzOIBIABBADYCvOIBIABBADYCxOABIABCADcCnOIBIABBpOIBakIANwIAIABBrOIBakEANgIAIAFCADcCECABQgA3AhggASABKQMYNwMIIAEgASkDEDcDACABKAIIQQh2QQFxIQIgAEEANgLg4gEgACACNgKM4gEgAUEgaiQAC3YBA38jAEEwayIBJAAgAARAIAEgAEHE0AFqIgIoAgA2AiggASAAKQK80AE3AyAgACgCACEDIAEgAigCADYCGCABIAApArzQATcDECADIAFBEGoQGyABIAEoAig2AgggASABKQMgNwMAIAAgARAbCyABQTBqJAALzAEBAX8gACABKAK00AE2ApjiASAAIAEoAgQiAjYCwOABIAAgAjYCvOABIAAgAiABKAIIaiICNgK44AEgACACNgLE4AEgASgCuNABBEAgAEKBgICAEDcDiOEBIAAgAUGk0ABqNgIMIAAgAUGUIGo2AgggACABQZwwajYCBCAAIAFBDGo2AgAgAEGs0AFqIAFBqNABaigCADYCACAAQbDQAWogAUGs0AFqKAIANgIAIABBtNABaiABQbDQAWooAgA2AgAPCyAAQgA3A4jhAQs7ACACRQRAQbp/DwsgBEUEQEFsDwsgAiAEEGAEQCAAIAEgAiADIAQgBRBhDwsgACABIAIgAyAEIAUQZQtGAQF/IwBBEGsiBSQAIAVBCGogBBAOAn8gBS0ACQRAIAAgASACIAMgBBAyDAELIAAgASACIAMgBBA0CyEAIAVBEGokACAACzQAIAAgAyAEIAUQNiIFEAMEQCAFDwsgBSAESQR/IAEgAiADIAVqIAQgBWsgABA1BUG4fwsLRgEBfyMAQRBrIgUkACAFQQhqIAQQDgJ/IAUtAAkEQCAAIAEgAiADIAQQYgwBCyAAIAEgAiADIAQQNQshACAFQRBqJAAgAAtZAQF/QQ8hAiABIABJBEAgAUEE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", v0 = /* @__PURE__ */ new WeakMap();
|
|
@@ -44369,7 +44369,7 @@ const sm = Symbol("assetReference"), vr = class {
|
|
|
44369
44369
|
* @returns the AssetReference for the URL
|
|
44370
44370
|
*/
|
|
44371
44371
|
static getOrCreateFromUrl(A, e) {
|
|
44372
|
-
if (!e && (e =
|
|
44372
|
+
if (!e && (e = xe.Current, !e))
|
|
44373
44373
|
throw new Error('Context is required when sourceId is a string. When you call this method from a component you can call it with "getOrCreate(this, url)" where "this" is the component.');
|
|
44374
44374
|
const t = e.addressables, i = t.findAssetReference(A);
|
|
44375
44375
|
if (i)
|
|
@@ -44383,7 +44383,7 @@ const sm = Symbol("assetReference"), vr = class {
|
|
|
44383
44383
|
*/
|
|
44384
44384
|
static getOrCreate(A, e, t) {
|
|
44385
44385
|
if (typeof A == "string") {
|
|
44386
|
-
if (!t && (t =
|
|
44386
|
+
if (!t && (t = xe.Current, !t))
|
|
44387
44387
|
throw new Error('Context is required when sourceId is a string. When you call this method from a component you can call it with "getOrCreate(this, url)" where "this" is the component.');
|
|
44388
44388
|
} else
|
|
44389
44389
|
t = A.context, A = A.sourceId;
|
|
@@ -44426,7 +44426,7 @@ const sm = Symbol("assetReference"), vr = class {
|
|
|
44426
44426
|
}
|
|
44427
44427
|
/** frees previously allocated memory and destroys the current `asset` instance (if any) */
|
|
44428
44428
|
unload() {
|
|
44429
|
-
this.asset && (ia && console.log("Unload", this.asset), this.asset.scene && yn(this.asset.scene, !0, !0), yn(this.asset, !0, !0)), this.asset = null, this._rawBinary = void 0, this._glbRoot = null, this._loading = void 0,
|
|
44429
|
+
this.asset && (ia && console.log("Unload", this.asset), this.asset.scene && yn(this.asset.scene, !0, !0), yn(this.asset, !0, !0)), this.asset = null, this._rawBinary = void 0, this._glbRoot = null, this._loading = void 0, xe.Current && xe.Current.addressables.unregisterAssetReference(this);
|
|
44430
44430
|
}
|
|
44431
44431
|
/** loads the asset binary without creating an instance */
|
|
44432
44432
|
async preload() {
|
|
@@ -44449,7 +44449,7 @@ const sm = Symbol("assetReference"), vr = class {
|
|
|
44449
44449
|
return this.asset;
|
|
44450
44450
|
if (A && this._progressListeners.push(A), this._loading !== void 0)
|
|
44451
44451
|
return this._loading.then((i) => this.asset);
|
|
44452
|
-
const e =
|
|
44452
|
+
const e = xe.Current;
|
|
44453
44453
|
this._rawBinary ? (this._loading = pn().parseSync(e, this._rawBinary, this.uri, null), this.raiseProgressEvent(new ProgressEvent("progress", { loaded: this._rawBinary.byteLength, total: this._rawBinary.byteLength }))) : (ia && console.log("Load async", this.uri), this._loading = pn().loadSync(e, this._hashedUri, this.uri, null, (i) => {
|
|
44454
44454
|
this.raiseProgressEvent(i);
|
|
44455
44455
|
}));
|
|
@@ -44477,7 +44477,7 @@ const sm = Symbol("assetReference"), vr = class {
|
|
|
44477
44477
|
e(this, A);
|
|
44478
44478
|
}
|
|
44479
44479
|
async onInstantiate(A, e = !1, t) {
|
|
44480
|
-
const i =
|
|
44480
|
+
const i = xe.Current, I = new kn();
|
|
44481
44481
|
if (A instanceof uA ? I.parent = A : A && I.cloneAssign(A), I.parent || (I.parent = i.scene), this.mustLoad && await this.loadAssetAsync(), ia && console.log("Instantiate", this.uri, "parent:", A), this.asset) {
|
|
44482
44482
|
ia && console.log("Add to scene", this.asset);
|
|
44483
44483
|
let o = vr.currentlyInstantiating.get(this.uri);
|
|
@@ -44994,7 +44994,7 @@ class Zi {
|
|
|
44994
44994
|
this.set({ textContent: B }), C.tmuiNeedsUpdate = !0;
|
|
44995
44995
|
};
|
|
44996
44996
|
}
|
|
44997
|
-
return this.tmuiNeedsUpdate = !0, this.registerTimedObject(
|
|
44997
|
+
return this.tmuiNeedsUpdate = !0, this.registerTimedObject(xe.Current, o, A, this.textLabelCache), o;
|
|
44998
44998
|
}
|
|
44999
44999
|
static getBox(A) {
|
|
45000
45000
|
let e = this.boxesCache.pop();
|
|
@@ -45002,7 +45002,7 @@ class Zi {
|
|
|
45002
45002
|
const t = new Yt(1, 1, 1);
|
|
45003
45003
|
e = new lA(t);
|
|
45004
45004
|
}
|
|
45005
|
-
return this.registerTimedObject(
|
|
45005
|
+
return this.registerTimedObject(xe.Current, e, A, this.boxesCache), e;
|
|
45006
45006
|
}
|
|
45007
45007
|
static getLine(A) {
|
|
45008
45008
|
let e = this.linesCache.pop();
|
|
@@ -45011,15 +45011,15 @@ class Zi {
|
|
|
45011
45011
|
let t = e.geometry.getAttribute("position");
|
|
45012
45012
|
t || (t = new te(new Float32Array(2 * 3), 3), e.geometry.setAttribute("position", t));
|
|
45013
45013
|
}
|
|
45014
|
-
return e.frustumCulled = !1, this.registerTimedObject(
|
|
45014
|
+
return e.frustumCulled = !1, this.registerTimedObject(xe.Current, e, A, this.linesCache), e;
|
|
45015
45015
|
}
|
|
45016
45016
|
static getSphere(A, e, t) {
|
|
45017
45017
|
let i = this.spheresCache.pop();
|
|
45018
|
-
return i || (i = new lA(new vs(1, 8, 8))), i.scale.set(A, A, A), i.material.wireframe = t, this.registerTimedObject(
|
|
45018
|
+
return i || (i = new lA(new vs(1, 8, 8))), i.scale.set(A, A, A), i.material.wireframe = t, this.registerTimedObject(xe.Current, i, e, this.spheresCache), i;
|
|
45019
45019
|
}
|
|
45020
45020
|
static getArrowHead(A) {
|
|
45021
45021
|
let e = this.arrowHeadsCache.pop();
|
|
45022
|
-
return e || (e = new lA(new xi(0, 0.5, 1, 8))), this.registerTimedObject(
|
|
45022
|
+
return e || (e = new lA(new xi(0, 0.5, 1, 8))), this.registerTimedObject(xe.Current, e, A, this.arrowHeadsCache), e;
|
|
45023
45023
|
}
|
|
45024
45024
|
static registerTimedObject(A, e, t, i) {
|
|
45025
45025
|
const I = this.contextBeforeRenderCallbacks.get(A), o = this.contextPostRenderCallbacks.get(A);
|
|
@@ -45047,7 +45047,7 @@ class Zi {
|
|
|
45047
45047
|
}
|
|
45048
45048
|
e.traverse((s) => {
|
|
45049
45049
|
s.layers.disableAll(), s.layers.enable(2);
|
|
45050
|
-
}), e.renderOrder = 999999, e[Uk] = i, this.timedObjectsBuffer.push(e), this.timesBuffer.push(
|
|
45050
|
+
}), e.renderOrder = 999999, e[Uk] = i, this.timedObjectsBuffer.push(e), this.timesBuffer.push(xe.Current.time.realtimeSinceStartup + t), A.scene.add(e);
|
|
45051
45051
|
}
|
|
45052
45052
|
static onBeforeRender(A, e) {
|
|
45053
45053
|
this.tmuiNeedsUpdate && Lt.update();
|
|
@@ -45073,7 +45073,7 @@ class Zi {
|
|
|
45073
45073
|
r(Zi, "familyName", "needle-gizmos"), r(Zi, "linesCache", []), r(Zi, "spheresCache", []), r(Zi, "boxesCache", []), r(Zi, "arrowHeadsCache", []), r(Zi, "textLabelCache", []), r(Zi, "timedObjectsBuffer", new Array()), r(Zi, "timesBuffer", new Array()), r(Zi, "contextPostRenderCallbacks", /* @__PURE__ */ new Map()), r(Zi, "contextBeforeRenderCallbacks", /* @__PURE__ */ new Map()), r(Zi, "tmuiNeedsUpdate", !1);
|
|
45074
45074
|
const eg = IA("debuginput");
|
|
45075
45075
|
var ER = /* @__PURE__ */ ((g) => (g.Mouse = "mouse", g.Touch = "touch", g.Controller = "controller", g.Hand = "hand", g))(ER || {}), ci = /* @__PURE__ */ ((g) => (g.PointerDown = "pointerdown", g.PointerUp = "pointerup", g.PointerMove = "pointermove", g.KeyDown = "keydown", g.KeyUp = "keyup", g.KeyPressed = "keypress", g))(ci || {});
|
|
45076
|
-
class
|
|
45076
|
+
class Ca extends PointerEvent {
|
|
45077
45077
|
constructor(e, t, i) {
|
|
45078
45078
|
super(e, i);
|
|
45079
45079
|
/** the device index: mouse and touch are always 0, otherwise e.g. index of the connected Gamepad or XRController */
|
|
@@ -45278,7 +45278,7 @@ class GAA {
|
|
|
45278
45278
|
return;
|
|
45279
45279
|
const e = this.getPointerId(A);
|
|
45280
45280
|
eg && hi(`pointer down #${e}, identifier:${A.pointerId}`);
|
|
45281
|
-
const t = this.getAndUpdateSpatialObjectForScreenPosition(e, A.clientX, A.clientY), i = new
|
|
45281
|
+
const t = this.getAndUpdateSpatialObjectForScreenPosition(e, A.clientX, A.clientY), i = new Ca("pointerdown", A, { origin: this, mode: "screen", deviceIndex: 0, pointerId: e, button: A.button, clientX: A.clientX, clientY: A.clientY, pointerType: A.pointerType, buttonName: this.getButtonName(A), device: t, pressure: A.pressure });
|
|
45282
45282
|
this.onDown(i);
|
|
45283
45283
|
});
|
|
45284
45284
|
r(this, "onPointerMove", (A) => {
|
|
@@ -45288,13 +45288,13 @@ class GAA {
|
|
|
45288
45288
|
A.pointerType === "mouse" && (e = this.getFirstPressedButtonForPointer(0) ?? 0);
|
|
45289
45289
|
const t = this.getPointerId(A, e);
|
|
45290
45290
|
e === -1 && (e = t);
|
|
45291
|
-
const i = this.getAndUpdateSpatialObjectForScreenPosition(t, A.clientX, A.clientY), I = new
|
|
45291
|
+
const i = this.getAndUpdateSpatialObjectForScreenPosition(t, A.clientX, A.clientY), I = new Ca("pointermove", A, { origin: this, mode: "screen", deviceIndex: 0, pointerId: t, button: e, clientX: A.clientX, clientY: A.clientY, pointerType: A.pointerType, buttonName: this.getButtonName(A), device: i, pressure: A.pressure });
|
|
45292
45292
|
this.onMove(I);
|
|
45293
45293
|
});
|
|
45294
45294
|
r(this, "onPointerUp", (A) => {
|
|
45295
45295
|
if (this.context.isInAR)
|
|
45296
45296
|
return;
|
|
45297
|
-
const e = this.getPointerId(A), t = new
|
|
45297
|
+
const e = this.getPointerId(A), t = new Ca("pointerup", A, { origin: this, mode: "screen", deviceIndex: 0, pointerId: e, button: A.button, clientX: A.clientX, clientY: A.clientY, pointerType: A.pointerType, buttonName: this.getButtonName(A), device: this.getAndUpdateSpatialObjectForScreenPosition(e, A.clientX, A.clientY), pressure: A.pressure });
|
|
45298
45298
|
this.onUp(t), this._pointerIds[e] = -1, eg && console.log("ID=" + e, "PointerId=" + A.pointerId, "ALL:", [...this._pointerIds]);
|
|
45299
45299
|
});
|
|
45300
45300
|
r(this, "onPointerCancel", (A) => {
|
|
@@ -45304,21 +45304,21 @@ class GAA {
|
|
|
45304
45304
|
r(this, "onTouchStart", (A) => {
|
|
45305
45305
|
if (this.context.isInAR)
|
|
45306
45306
|
for (let e = 0; e < A.changedTouches.length; e++) {
|
|
45307
|
-
const t = A.changedTouches[e], i = this.getPointerIndex(t.identifier), I = this.getAndUpdateSpatialObjectForScreenPosition(i, t.clientX, t.clientY), o = new
|
|
45307
|
+
const t = A.changedTouches[e], i = this.getPointerIndex(t.identifier), I = this.getAndUpdateSpatialObjectForScreenPosition(i, t.clientX, t.clientY), o = new Ca("pointerdown", A, { origin: this, mode: "screen", deviceIndex: 0, pointerId: i, button: 0, clientX: t.clientX, clientY: t.clientY, pointerType: "touch", buttonName: "unknown", device: I, pressure: t.force });
|
|
45308
45308
|
this.onDown(o);
|
|
45309
45309
|
}
|
|
45310
45310
|
});
|
|
45311
45311
|
r(this, "onTouchMove", (A) => {
|
|
45312
45312
|
if (this.context.isInAR)
|
|
45313
45313
|
for (let e = 0; e < A.changedTouches.length; e++) {
|
|
45314
|
-
const t = A.changedTouches[e], i = this.getPointerIndex(t.identifier), I = this.getAndUpdateSpatialObjectForScreenPosition(i, t.clientX, t.clientY), o = new
|
|
45314
|
+
const t = A.changedTouches[e], i = this.getPointerIndex(t.identifier), I = this.getAndUpdateSpatialObjectForScreenPosition(i, t.clientX, t.clientY), o = new Ca("pointermove", A, { origin: this, mode: "screen", deviceIndex: 0, pointerId: i, button: 0, clientX: t.clientX, clientY: t.clientY, pointerType: "touch", buttonName: "unknown", device: I, pressure: t.force });
|
|
45315
45315
|
this.onMove(o);
|
|
45316
45316
|
}
|
|
45317
45317
|
});
|
|
45318
45318
|
r(this, "onTouchEnd", (A) => {
|
|
45319
45319
|
if (this.context.isInAR)
|
|
45320
45320
|
for (let e = 0; e < A.changedTouches.length; e++) {
|
|
45321
|
-
const t = A.changedTouches[e], i = this.getPointerIndex(t.identifier), I = new
|
|
45321
|
+
const t = A.changedTouches[e], i = this.getPointerIndex(t.identifier), I = new Ca("pointerup", A, { origin: this, mode: "screen", deviceIndex: 0, pointerId: i, button: 0, clientX: t.clientX, clientY: t.clientY, pointerType: "touch", buttonName: "unknown", device: this.getAndUpdateSpatialObjectForScreenPosition(i, t.clientX, t.clientY), pressure: t.force });
|
|
45322
45322
|
this.onUp(I), this._pointerIds[i] = -1;
|
|
45323
45323
|
}
|
|
45324
45324
|
});
|
|
@@ -45380,7 +45380,7 @@ class GAA {
|
|
|
45380
45380
|
a.options.once && (n.listeners.splice(C, 1), C--), a.callback(A);
|
|
45381
45381
|
}
|
|
45382
45382
|
}
|
|
45383
|
-
if (A instanceof
|
|
45383
|
+
if (A instanceof Ca) {
|
|
45384
45384
|
const s = this._eventListeners[A.type];
|
|
45385
45385
|
if (s)
|
|
45386
45386
|
for (const n of s) {
|
|
@@ -45785,11 +45785,11 @@ class GAA {
|
|
|
45785
45785
|
return e[A] = t, t;
|
|
45786
45786
|
}
|
|
45787
45787
|
onDispatchEvent(A) {
|
|
45788
|
-
const e =
|
|
45788
|
+
const e = xe.Current;
|
|
45789
45789
|
try {
|
|
45790
|
-
|
|
45790
|
+
xe.Current = this.context, this.dispatchEvent(A);
|
|
45791
45791
|
} finally {
|
|
45792
|
-
|
|
45792
|
+
xe.Current = e;
|
|
45793
45793
|
}
|
|
45794
45794
|
}
|
|
45795
45795
|
}
|
|
@@ -46277,8 +46277,8 @@ Pinch: ${(i = this.getGesture("pinch")) == null ? void 0 : i.value.toFixed(3)}`)
|
|
|
46277
46277
|
}
|
|
46278
46278
|
if (this.xr.mode === "immersive-vr" || this.xr.isPassThrough) {
|
|
46279
46279
|
this.pointerInit.origin = this, this.pointerInit.pointerId = this.index * 10 + e, this.pointerInit.pointerType = this.hand ? "hand" : "controller", this.pointerInit.button = e, this.pointerInit.buttonName = t, this.pointerInit.isPrimary = i, this.pointerInit.mode = this.inputSource.targetRayMode, this.pointerInit.ray = this.ray, this.pointerInit.device = this.object, this.pointerInit.pressure = o;
|
|
46280
|
-
const s =
|
|
46281
|
-
|
|
46280
|
+
const s = xe.Current;
|
|
46281
|
+
xe.Current = this.xr.context, ga && A !== "pointermove" && console.warn("Pointer event", A, e, t, { ...this.pointerInit }), this.xr.context.input.createInputEvent(new Ca(A, I, this.pointerInit)), xe.Current = s;
|
|
46282
46282
|
}
|
|
46283
46283
|
}
|
|
46284
46284
|
}
|
|
@@ -52794,7 +52794,7 @@ async function meA() {
|
|
|
52794
52794
|
const A = sessionStorage.getItem("needle_xr_session_mode"), e = sessionStorage.getItem("needle_xr_session_init") ?? null, t = e ? JSON.parse(e) : null;
|
|
52795
52795
|
let i = null;
|
|
52796
52796
|
if (RY() && (await wa.start(A || "immersive-vr", t || Se.getDefaultSessionInit("immersive-vr")), await MeA(), i = await wa.handoff()), i)
|
|
52797
|
-
Se.setSession(i.mode, i.session, i.init,
|
|
52797
|
+
Se.setSession(i.mode, i.session, i.init, xe.Current);
|
|
52798
52798
|
else if (A && e) {
|
|
52799
52799
|
console.log("Session Granted: Restore last session");
|
|
52800
52800
|
const I = JSON.parse(e);
|
|
@@ -53022,7 +53022,7 @@ const tC = class {
|
|
|
53022
53022
|
GeA(A, i.init), this.session = e, this.mode = A, this.context = t, (Bg || IA("console")) && Oh(!0), this._xr_scripts = [...i.scripts], this._xr_update_scripts = this._xr_scripts.filter((s) => typeof s.onUpdateXR == "function"), this._controllerAdded = i.controller_added, this._controllerRemoved = i.controller_removed, WE(this.onBefore, ni.LateUpdate), this.context.pre_render_callbacks.push(this.onBeforeRender), this.context.post_render_callbacks.push(this.onAfterRender), ((I = i.init.optionalFeatures) != null && I.includes("hit-test") || (o = i.init.requiredFeatures) != null && o.includes("hit-test")) && e.requestReferenceSpace("viewer").then((s) => {
|
|
53023
53023
|
var n, C;
|
|
53024
53024
|
return (C = (n = e.requestHitTestSource) == null ? void 0 : n.call(e, { space: s })) == null ? void 0 : C.then((a) => this._viewerHitTestSource = a);
|
|
53025
|
-
}).catch((s) => console.warn(s)), this.context.mainCamera && (this._originalCameraWorldPosition =
|
|
53025
|
+
}).catch((s) => console.warn(s)), this.context.mainCamera && (this._originalCameraWorldPosition = _e(this.context.mainCamera, new w()), this._originalCameraWorldRotation = bt(this.context.mainCamera, new MA()), this._originalCameraWorldScale = oi(this.context.mainCamera, new w()), this._originalCameraParent = this.context.mainCamera.parent), this._defaultRig = new MAA(), this.context.scene.add(this._defaultRig.gameObject), this.addRig(this._defaultRig);
|
|
53026
53026
|
for (let s = 0; s < e.inputSources.length; s++) {
|
|
53027
53027
|
const n = e.inputSources[s];
|
|
53028
53028
|
if (!n.handedness) {
|
|
@@ -53163,7 +53163,7 @@ const tC = class {
|
|
|
53163
53163
|
return console.warn("A XRSession is already being requested"), (Bg || de()) && Ni("A XRSession is already being requested"), this._currentSessionRequest.then(() => this._activeSession);
|
|
53164
53164
|
if (this._activeSession)
|
|
53165
53165
|
return console.error("A XRSession is already running"), this._activeSession;
|
|
53166
|
-
if (t || (t =
|
|
53166
|
+
if (t || (t = xe.Current), t || (t = rt.All[0]), !t)
|
|
53167
53167
|
throw new Error("No Needle Engine Context found");
|
|
53168
53168
|
switch (e || (e = {}), A) {
|
|
53169
53169
|
case "immersive-ar":
|
|
@@ -53673,7 +53673,7 @@ let eB = uF;
|
|
|
53673
53673
|
/** @deprecated use Application.registerWaitForInteraction instead */
|
|
53674
53674
|
r(eB, "registerWaitForAllowAudio", uF.registerWaitForInteraction);
|
|
53675
53675
|
function* ReA(g, A = null) {
|
|
53676
|
-
const e = A ? A.time :
|
|
53676
|
+
const e = A ? A.time : xe.Current.time, t = e.time;
|
|
53677
53677
|
for (; e.time - t < g; )
|
|
53678
53678
|
yield;
|
|
53679
53679
|
}
|
|
@@ -54812,15 +54812,15 @@ class beA {
|
|
|
54812
54812
|
r(this, "tempBoundingBox", new wt());
|
|
54813
54813
|
this.context = A;
|
|
54814
54814
|
}
|
|
54815
|
-
/**@deprecated use this.context.physics.engine.raycast */
|
|
54815
|
+
/**@deprecated use `this.context.physics.engine.raycast` {@link IPhysicsEngine.raycast} */
|
|
54816
54816
|
raycastPhysicsFast(A, e = void 0, t = 1 / 0, i = !0) {
|
|
54817
54817
|
var I;
|
|
54818
|
-
return ((I = this.context.physics.engine) == null ? void 0 : I.raycast(A, e, t, i)) ?? null;
|
|
54818
|
+
return ((I = this.context.physics.engine) == null ? void 0 : I.raycast(A, e, { maxDistance: t, solid: i })) ?? null;
|
|
54819
54819
|
}
|
|
54820
|
-
/**@deprecated use this.context.physics.engine.raycastAndGetNormal */
|
|
54820
|
+
/**@deprecated use `this.context.physics.engine.raycastAndGetNormal` {@link IPhysicsEngine.raycastAndGetNormal} */
|
|
54821
54821
|
raycastPhysicsFastAndGetNormal(A, e = void 0, t = 1 / 0, i = !0) {
|
|
54822
54822
|
var I;
|
|
54823
|
-
return ((I = this.context.physics.engine) == null ? void 0 : I.raycastAndGetNormal(A, e, t, i)) ?? null;
|
|
54823
|
+
return ((I = this.context.physics.engine) == null ? void 0 : I.raycastAndGetNormal(A, e, { maxDistance: t, solid: i })) ?? null;
|
|
54824
54824
|
}
|
|
54825
54825
|
/**@deprecated use this.context.physics.engine.sphereOverlap */
|
|
54826
54826
|
sphereOverlapPhysics(A, e) {
|
|
@@ -54849,7 +54849,7 @@ class beA {
|
|
|
54849
54849
|
o.matrixWorldNeedsUpdate && o.updateMatrixWorld();
|
|
54850
54850
|
const n = this.tempBoundingBox.copy(s.boundingBox).applyMatrix4(o.matrixWorld);
|
|
54851
54851
|
if (e.intersectsBox(n)) {
|
|
54852
|
-
const C =
|
|
54852
|
+
const C = _e(A), a = C.distanceTo(e.center), B = new JeA(A, a, C);
|
|
54853
54853
|
if (i.push(B), !I)
|
|
54854
54854
|
return;
|
|
54855
54855
|
}
|
|
@@ -56132,7 +56132,20 @@ class By extends HTMLElement {
|
|
|
56132
56132
|
width: 100%;
|
|
56133
56133
|
}
|
|
56134
56134
|
|
|
56135
|
-
|
|
56135
|
+
@media (max-width: 300px) or (max-height: 350px){
|
|
56136
|
+
.options {
|
|
56137
|
+
display: none;
|
|
56138
|
+
padding: 0;
|
|
56139
|
+
margin: 0;
|
|
56140
|
+
border: none;
|
|
56141
|
+
}
|
|
56142
|
+
.logo.any-options {
|
|
56143
|
+
border: none !important;
|
|
56144
|
+
padding: 0;
|
|
56145
|
+
margin-bottom: 0 !important;
|
|
56146
|
+
padding-bottom: 0 !important;
|
|
56147
|
+
}
|
|
56148
|
+
}
|
|
56136
56149
|
|
|
56137
56150
|
/* dark mode */
|
|
56138
56151
|
/*
|
|
@@ -56334,7 +56347,7 @@ The script will be ignored. Please make sure your component extends "Behaviour"
|
|
|
56334
56347
|
`, g);
|
|
56335
56348
|
return;
|
|
56336
56349
|
}
|
|
56337
|
-
const e = (A == null ? void 0 : A.new_scripts) ??
|
|
56350
|
+
const e = (A == null ? void 0 : A.new_scripts) ?? xe.Current.new_scripts;
|
|
56338
56351
|
e.includes(g) || e.push(g);
|
|
56339
56352
|
}
|
|
56340
56353
|
const Pt = class {
|
|
@@ -57106,8 +57119,8 @@ Memory:`, { ...this.renderer.info.memory })), this._dispatchReadyAfterFrame && (
|
|
|
57106
57119
|
}
|
|
57107
57120
|
}
|
|
57108
57121
|
};
|
|
57109
|
-
let
|
|
57110
|
-
r(
|
|
57122
|
+
let xe = Pt;
|
|
57123
|
+
r(xe, "_defaultTargetFramerate", { value: 60 }), r(xe, "_defaultWebglRendererParameters", {
|
|
57111
57124
|
antialias: !0,
|
|
57112
57125
|
alpha: !1,
|
|
57113
57126
|
powerPreference: "high-performance"
|
|
@@ -57219,7 +57232,7 @@ function bY(g, A, e, t) {
|
|
|
57219
57232
|
const i = g;
|
|
57220
57233
|
if (!i.guid)
|
|
57221
57234
|
return console.warn("Can not instantiate: No guid", i), null;
|
|
57222
|
-
if (A.context || (A.context =
|
|
57235
|
+
if (A.context || (A.context = xe.Current), !A.context)
|
|
57223
57236
|
return console.error("Missing network instantiate options / reference to network connection in sync instantiate"), null;
|
|
57224
57237
|
const I = A ? { ...A } : null, { instance: o, seed: s } = ntA(i, A);
|
|
57225
57238
|
if (o) {
|
|
@@ -57419,7 +57432,7 @@ function _Y(g, A, e, t = 0) {
|
|
|
57419
57432
|
function Kd(g, A = null) {
|
|
57420
57433
|
let e = null;
|
|
57421
57434
|
A !== null && (A.x !== void 0 ? (e = new kn(), e.position = A) : e = A);
|
|
57422
|
-
let t =
|
|
57435
|
+
let t = xe.Current;
|
|
57423
57436
|
e != null && e.context && (t = e.context), Mf && t.alias && console.log("context", t.alias), e && !e.idProvider && (e.idProvider = new Hg(Date.now()));
|
|
57424
57437
|
const i = [], I = {}, o = {}, s = TY(t, g, e, i, I, o);
|
|
57425
57438
|
s && (ltA(I), ctA(o, I)), Mf && (Ik(g, !0), Ik(s, !0));
|
|
@@ -57653,7 +57666,7 @@ Object.getOwnPropertyDescriptor(uA.prototype, "transform") || Object.definePrope
|
|
|
57653
57666
|
});
|
|
57654
57667
|
Object.getOwnPropertyDescriptor(uA.prototype, "worldPosition") || Object.defineProperty(uA.prototype, "worldPosition", {
|
|
57655
57668
|
get: function() {
|
|
57656
|
-
return this instanceof eR ?
|
|
57669
|
+
return this instanceof eR ? _e(this.object) : _e(this);
|
|
57657
57670
|
},
|
|
57658
57671
|
set: function(g) {
|
|
57659
57672
|
vI(this, g);
|
|
@@ -57749,7 +57762,7 @@ function wtA(g) {
|
|
|
57749
57762
|
const A = g.gameObject.userData.components.indexOf(g);
|
|
57750
57763
|
g.gameObject.userData.components.splice(A, 1);
|
|
57751
57764
|
}
|
|
57752
|
-
g.__internalDisable && g.__internalDisable(), nC(g, g.context ??
|
|
57765
|
+
g.__internalDisable && g.__internalDisable(), nC(g, g.context ?? xe.Current), g.destroy(), g.gameObject = null;
|
|
57753
57766
|
}
|
|
57754
57767
|
let fv = !1;
|
|
57755
57768
|
function PY(g, A, e) {
|
|
@@ -57827,7 +57840,7 @@ function GR(g, A, e, t = !0) {
|
|
|
57827
57840
|
function ytA(g, A = void 0, e = !0) {
|
|
57828
57841
|
if (!g)
|
|
57829
57842
|
return null;
|
|
57830
|
-
if (!A && (A =
|
|
57843
|
+
if (!A && (A = xe.Current, !A))
|
|
57831
57844
|
return console.error("Can not search object without any needle context or scene!!!"), null;
|
|
57832
57845
|
let t = A;
|
|
57833
57846
|
if (t.isScene || (t = A == null ? void 0 : A.scene), !t)
|
|
@@ -57845,7 +57858,7 @@ function ytA(g, A = void 0, e = !0) {
|
|
|
57845
57858
|
function StA(g, A, e = void 0) {
|
|
57846
57859
|
if (!g)
|
|
57847
57860
|
return A;
|
|
57848
|
-
if (A || (A = []), A.length = 0, !e && (e =
|
|
57861
|
+
if (A || (A = []), A.length = 0, !e && (e = xe.Current, !e))
|
|
57849
57862
|
return console.error("Can not search object without any needle context or scene!!!"), A;
|
|
57850
57863
|
"scene" in e && (e = e.scene);
|
|
57851
57864
|
const t = e;
|
|
@@ -57866,7 +57879,7 @@ class aA extends uA {
|
|
|
57866
57879
|
return GE(e);
|
|
57867
57880
|
}
|
|
57868
57881
|
static setActive(e, t, i = !0) {
|
|
57869
|
-
e && (Rf(e, t), Df(e), t && i && nH(
|
|
57882
|
+
e && (Rf(e, t), Df(e), t && i && nH(xe.Current, e));
|
|
57870
57883
|
}
|
|
57871
57884
|
/** If the object is active (same as go.visible) */
|
|
57872
57885
|
static isActiveSelf(e) {
|
|
@@ -57914,7 +57927,7 @@ class aA extends uA {
|
|
|
57914
57927
|
if (!e)
|
|
57915
57928
|
return;
|
|
57916
57929
|
const I = e;
|
|
57917
|
-
t = t ??
|
|
57930
|
+
t = t ?? xe.Current, wR(I, t.connection, i);
|
|
57918
57931
|
}
|
|
57919
57932
|
/** Destroys a object
|
|
57920
57933
|
* @param instance object to destroy
|
|
@@ -57932,7 +57945,7 @@ class aA extends uA {
|
|
|
57932
57945
|
console.warn("Can not add object to self", e);
|
|
57933
57946
|
return;
|
|
57934
57947
|
}
|
|
57935
|
-
i || (i =
|
|
57948
|
+
i || (i = xe.Current), t.add(e), Rf(e, !0), Df(e), i ? aA.foreachComponent(e, (I) => {
|
|
57936
57949
|
IR(I, i), !I.__internalDidAwakeAndStart && i.new_script_start.includes(I) === !1 && i.new_script_start.push(I);
|
|
57937
57950
|
}, !0) : console.warn("Missing context");
|
|
57938
57951
|
}
|
|
@@ -58002,7 +58015,7 @@ class aA extends uA {
|
|
|
58002
58015
|
return Qy(e, t);
|
|
58003
58016
|
}
|
|
58004
58017
|
static findObjectOfType(e, t, i = !0) {
|
|
58005
|
-
return ytA(e, t ??
|
|
58018
|
+
return ytA(e, t ?? xe.Current, i);
|
|
58006
58019
|
}
|
|
58007
58020
|
static findObjectsOfType(e, t) {
|
|
58008
58021
|
const i = [];
|
|
@@ -58064,7 +58077,7 @@ let RA = (nn = class {
|
|
|
58064
58077
|
}
|
|
58065
58078
|
/** Use the context to get access to many Needle Engine features and use physics, timing, access the camera or scene */
|
|
58066
58079
|
get context() {
|
|
58067
|
-
return this.__context ??
|
|
58080
|
+
return this.__context ?? xe.Current;
|
|
58068
58081
|
}
|
|
58069
58082
|
set context(A) {
|
|
58070
58083
|
this.__context = A;
|
|
@@ -58234,7 +58247,7 @@ let RA = (nn = class {
|
|
|
58234
58247
|
A ? this.__internalEnable() : this.__internalDisable();
|
|
58235
58248
|
}
|
|
58236
58249
|
get worldPosition() {
|
|
58237
|
-
return
|
|
58250
|
+
return _e(this.gameObject);
|
|
58238
58251
|
}
|
|
58239
58252
|
set worldPosition(A) {
|
|
58240
58253
|
vI(this.gameObject, A);
|
|
@@ -58325,8 +58338,8 @@ class dy extends RA {
|
|
|
58325
58338
|
update() {
|
|
58326
58339
|
if (!this.from || !this.to)
|
|
58327
58340
|
return;
|
|
58328
|
-
const e =
|
|
58329
|
-
this._centerPos.copy(e), this._centerPos.add(t), this._centerPos.multiplyScalar(0.5), vI(this.gameObject, this.centered ? this._centerPos : e), this.gameObject.lookAt(
|
|
58341
|
+
const e = _e(this.from).clone(), t = _e(this.to).clone(), i = e.distanceTo(t);
|
|
58342
|
+
this._centerPos.copy(e), this._centerPos.add(t), this._centerPos.multiplyScalar(0.5), vI(this.gameObject, this.centered ? this._centerPos : e), this.gameObject.lookAt(_e(this.to).clone()), this.gameObject.scale.set(this.width, this.width, i);
|
|
58330
58343
|
}
|
|
58331
58344
|
}
|
|
58332
58345
|
WY([
|
|
@@ -58661,7 +58674,7 @@ var JtA = Object.defineProperty, btA = Object.getOwnPropertyDescriptor, Mn = (g,
|
|
|
58661
58674
|
(o = g[I]) && (i = (t ? o(A, e, i) : o(i)) || i);
|
|
58662
58675
|
return t && i && JtA(A, e, i), i;
|
|
58663
58676
|
};
|
|
58664
|
-
const AI = IA("debugaudio"),
|
|
58677
|
+
const AI = IA("debugaudio"), aa = class extends RA {
|
|
58665
58678
|
constructor() {
|
|
58666
58679
|
super(...arguments);
|
|
58667
58680
|
r(this, "clip", "");
|
|
@@ -58689,7 +58702,7 @@ const AI = IA("debugaudio"), ra = class extends RA {
|
|
|
58689
58702
|
(this.playInBackground === !1 || Is()) && (this.wasPlaying = this.isPlaying, this.isPlaying && this.pause());
|
|
58690
58703
|
break;
|
|
58691
58704
|
case "visible":
|
|
58692
|
-
AI && console.log("visible", this.enabled, this.playOnAwake, !this.isPlaying,
|
|
58705
|
+
AI && console.log("visible", this.enabled, this.playOnAwake, !this.isPlaying, aa.userInteractionRegistered, this.wasPlaying), this.enabled && this.playOnAwake && !this.isPlaying && aa.userInteractionRegistered && this.wasPlaying && this.play();
|
|
58693
58706
|
break;
|
|
58694
58707
|
}
|
|
58695
58708
|
});
|
|
@@ -58704,7 +58717,7 @@ const AI = IA("debugaudio"), ra = class extends RA {
|
|
|
58704
58717
|
AI && console.warn("Failed getting sound?", this.name);
|
|
58705
58718
|
return;
|
|
58706
58719
|
}
|
|
58707
|
-
e.isPlaying && e.stop(), A && e.setBuffer(A), e.loop = this._loop, this.context.application.muted ? e.setVolume(0) : e.setVolume(this.volume), e.autoplay = this.shouldPlay &&
|
|
58720
|
+
e.isPlaying && e.stop(), A && e.setBuffer(A), e.loop = this._loop, this.context.application.muted ? e.setVolume(0) : e.setVolume(this.volume), e.autoplay = this.shouldPlay && aa.userInteractionRegistered, this.applySpatialDistanceSettings(), e.isPlaying && e.stop(), aa.registerWaitForAllowAudio(this.__onAllowAudioCallback);
|
|
58708
58721
|
});
|
|
58709
58722
|
r(this, "__onAllowAudioCallback", () => {
|
|
58710
58723
|
this.shouldPlay && this.play();
|
|
@@ -58757,7 +58770,7 @@ const AI = IA("debugaudio"), ra = class extends RA {
|
|
|
58757
58770
|
}
|
|
58758
58771
|
get Sound() {
|
|
58759
58772
|
var A;
|
|
58760
|
-
if (!this.sound &&
|
|
58773
|
+
if (!this.sound && aa.userInteractionRegistered) {
|
|
58761
58774
|
let e = aA.getComponent(this.context.mainCamera, oB) ?? aA.findObjectOfType(oB, this.context);
|
|
58762
58775
|
!e && this.context.mainCamera && (e = aA.addNewComponent(this.context.mainCamera, oB)), e != null && e.listener ? (this.sound = new e_(e.listener), (A = this.gameObject) == null || A.add(this.sound)) : AI && console.warn("No audio listener found in scene - can not play audio");
|
|
58763
58776
|
}
|
|
@@ -58804,7 +58817,7 @@ const AI = IA("debugaudio"), ra = class extends RA {
|
|
|
58804
58817
|
}, console.error);
|
|
58805
58818
|
}
|
|
58806
58819
|
onEnable() {
|
|
58807
|
-
this.sound && this.gameObject.add(this.sound),
|
|
58820
|
+
this.sound && this.gameObject.add(this.sound), aa.userInteractionRegistered ? this.playOnAwake && this.context.application.isVisible && this.play() : aa.registerWaitForAllowAudio(() => {
|
|
58808
58821
|
this.enabled && !this.destroyed && this.shouldPlay && this.onNewClip(this.clip);
|
|
58809
58822
|
}), globalThis.addEventListener("visibilitychange", this.onVisibilityChanged), this.context.application.addEventListener(Tk.MuteChanged, this.onApplicationMuteChanged);
|
|
58810
58823
|
}
|
|
@@ -58890,7 +58903,7 @@ Using the assigned clip instead:`, this.clip), A = this.clip);
|
|
|
58890
58903
|
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, AI && console.log("Audio clip ended", this.clip), this.dispatchEvent(new CustomEvent("ended", { detail: this })));
|
|
58891
58904
|
}
|
|
58892
58905
|
};
|
|
58893
|
-
let Fi =
|
|
58906
|
+
let Fi = aa;
|
|
58894
58907
|
Mn([
|
|
58895
58908
|
D(URL)
|
|
58896
58909
|
], Fi.prototype, "clip", 2);
|
|
@@ -59754,7 +59767,7 @@ const zk = (iG = class extends RA {
|
|
|
59754
59767
|
r(this, "autoMass", !0);
|
|
59755
59768
|
r(this, "_mass", 0);
|
|
59756
59769
|
r(this, "useGravity", !0);
|
|
59757
|
-
r(this, "centerOfMass", new w());
|
|
59770
|
+
r(this, "centerOfMass", new w(0, 0, 0));
|
|
59758
59771
|
r(this, "constraints", Pi.None);
|
|
59759
59772
|
r(this, "isKinematic", !1);
|
|
59760
59773
|
r(this, "drag", 0);
|
|
@@ -59963,7 +59976,7 @@ const zk = (iG = class extends RA {
|
|
|
59963
59976
|
setBodyFromGameObject(A = null) {
|
|
59964
59977
|
}
|
|
59965
59978
|
captureVelocity() {
|
|
59966
|
-
const A =
|
|
59979
|
+
const A = _e(this.gameObject);
|
|
59967
59980
|
zk.tempPosition.copy(A);
|
|
59968
59981
|
const e = A.sub(this._lastPosition);
|
|
59969
59982
|
this._lastPosition.copy(zk.tempPosition), this._smoothedVelocity.lerp(e, this.context.time.deltaTime / 0.1);
|
|
@@ -59981,7 +59994,7 @@ So([
|
|
|
59981
59994
|
D()
|
|
59982
59995
|
], _t.prototype, "useGravity", 2);
|
|
59983
59996
|
So([
|
|
59984
|
-
D()
|
|
59997
|
+
D(w)
|
|
59985
59998
|
], _t.prototype, "centerOfMass", 2);
|
|
59986
59999
|
So([
|
|
59987
60000
|
QI(),
|
|
@@ -60017,7 +60030,7 @@ So([
|
|
|
60017
60030
|
So([
|
|
60018
60031
|
QI()
|
|
60019
60032
|
], _t.prototype, "dominanceGroup", 2);
|
|
60020
|
-
const
|
|
60033
|
+
const ra = IA("debugsync"), Xh = "STRS";
|
|
60021
60034
|
LH(Xh, rC.getRootAsSyncedTransformModel);
|
|
60022
60035
|
const Os = new Ud();
|
|
60023
60036
|
function zY(g, A, e = !0) {
|
|
@@ -60033,7 +60046,7 @@ let Xk = 0, Ch = 0;
|
|
|
60033
60046
|
YtA((g) => {
|
|
60034
60047
|
var t;
|
|
60035
60048
|
const e = ((t = g.connection.currentServerUrl) == null ? void 0 : t.includes("glitch")) ? 10 : 40;
|
|
60036
|
-
Ch = Math.floor(Xk / e), Xk = 0,
|
|
60049
|
+
Ch = Math.floor(Xk / e), Xk = 0, ra && Ch > 0 && console.log("Sync Transform Fast Interval", Ch);
|
|
60037
60050
|
});
|
|
60038
60051
|
class hB extends RA {
|
|
60039
60052
|
constructor() {
|
|
@@ -60063,7 +60076,7 @@ class hB extends RA {
|
|
|
60063
60076
|
}
|
|
60064
60077
|
/** Request ownership of an object - you need to be connected to a room */
|
|
60065
60078
|
requestOwnership() {
|
|
60066
|
-
|
|
60079
|
+
ra && console.log("Request ownership"), this._model ? this._model.requestOwnership() : (this._shouldRequestOwnership = !0, this._needsUpdate = !0);
|
|
60067
60080
|
}
|
|
60068
60081
|
hasOwnership() {
|
|
60069
60082
|
var e;
|
|
@@ -60075,7 +60088,7 @@ class hB extends RA {
|
|
|
60075
60088
|
}
|
|
60076
60089
|
/** @internal */
|
|
60077
60090
|
awake() {
|
|
60078
|
-
|
|
60091
|
+
ra && console.log("new instance", this.guid, this), this._receivedDataBefore = !1, this._targetPosition = new w(), this._targetRotation = new MA(), this.lastWorldPos = new w(), this.lastWorldRotation = new MA(), this.rb = aA.getComponentInChildren(this.gameObject, _t), this.rb && (this._wasKinematic = this.rb.isKinematic), this.receivedUpdate = !0, this._model = new UY(this.context.connection, this.guid), this.context.connection.isConnected && this.tryGetLastState(), this.joinedRoomCallback = this.tryGetLastState.bind(this), this.context.connection.beginListen(st.JoinedRoom, this.joinedRoomCallback), this.receivedDataCallback = this.onReceivedData.bind(this), this.context.connection.beginListenBinary(Xh, this.receivedDataCallback);
|
|
60079
60092
|
}
|
|
60080
60093
|
/** @internal */
|
|
60081
60094
|
onDestroy() {
|
|
@@ -60088,7 +60101,7 @@ class hB extends RA {
|
|
|
60088
60101
|
onReceivedData(e) {
|
|
60089
60102
|
var t;
|
|
60090
60103
|
if (!this.destroyed && typeof e.guid == "function" && e.guid() === this.guid) {
|
|
60091
|
-
|
|
60104
|
+
ra && console.log("new data", this.context.connection.connectionId, this.context.time.frameCount, this.guid, e), this.receivedUpdate = !0, this._receivedFastUpdate = e.fast();
|
|
60092
60105
|
const i = e.transform();
|
|
60093
60106
|
if (i) {
|
|
60094
60107
|
Us.markDirty(this.gameObject, !0);
|
|
@@ -60113,14 +60126,14 @@ class hB extends RA {
|
|
|
60113
60126
|
if (!this.activeAndEnabled || !this.context.connection.isConnected)
|
|
60114
60127
|
return;
|
|
60115
60128
|
if (!this.context.connection.isInRoom || !this._model) {
|
|
60116
|
-
|
|
60129
|
+
ra && console.log("no model or room", this.name, this.guid, this.context.connection.isInRoom);
|
|
60117
60130
|
return;
|
|
60118
60131
|
}
|
|
60119
60132
|
this._shouldRequestOwnership && (this._shouldRequestOwnership = !1, this._model.requestOwnership());
|
|
60120
60133
|
const e = this.worldPosition, t = this.worldQuaternion;
|
|
60121
60134
|
if (this._model.isOwned && !this.receivedUpdate) {
|
|
60122
60135
|
const o = e.distanceTo(this.lastWorldPos), s = t.angleTo(this.lastWorldRotation), n = this._model.hasOwnership || this.fastMode ? 1e-4 : 1e-3;
|
|
60123
|
-
(o > n || s > n) && (this._model.hasOwnership ? this._needsUpdate = !0 : (
|
|
60136
|
+
(o > n || s > n) && (this._model.hasOwnership ? this._needsUpdate = !0 : (ra && console.log(this.guid, "reset because not owned but", this.gameObject.name, this.lastWorldPos), this.worldPosition = this.lastWorldPos, e.copy(this.lastWorldPos), this.worldQuaternion = this.lastWorldRotation, t.copy(this.lastWorldRotation), Us.markDirty(this.gameObject, !0), this._needsUpdate = !1));
|
|
60124
60137
|
}
|
|
60125
60138
|
if (this._model && !this._model.hasOwnership && this._model.isOwned && this._receivedDataBefore) {
|
|
60126
60139
|
const s = this._receivedFastUpdate || this.fastMode ? 0.5 : 0.3;
|
|
@@ -60135,18 +60148,14 @@ class hB extends RA {
|
|
|
60135
60148
|
}
|
|
60136
60149
|
n && Us.markDirty(this.gameObject, !0);
|
|
60137
60150
|
}
|
|
60138
|
-
if (this.receivedUpdate = !1, this.lastWorldPos.copy(e), this.lastWorldRotation.copy(t), !this._model)
|
|
60151
|
+
if (this.receivedUpdate = !1, this.lastWorldPos.copy(e), this.lastWorldRotation.copy(t), !this._model || !this._model || this._model.hasOwnership === void 0 || !this._model.hasOwnership)
|
|
60139
60152
|
return;
|
|
60140
|
-
|
|
60141
|
-
this.rb && (this.rb.isKinematic = this._model.isOwned ?? !1, this.rb.setVelocity(0, 0, 0));
|
|
60142
|
-
return;
|
|
60143
|
-
}
|
|
60144
|
-
this.rb && (this._wasKinematic !== void 0 && (Wn && console.log("reset kinematic", this.rb.name, this._wasKinematic), this.rb.isKinematic = this._wasKinematic), this.gameObject.position.distanceTo(new w(0, 0, 0)) > 1e3 && (Wn && console.log("RESET", this.name), this.gameObject.position.set(0, 1, 0), this.rb.setVelocity(0, 0, 0)));
|
|
60153
|
+
this.rb && this._wasKinematic !== void 0 && (ra && console.log("reset kinematic", this.rb.name, this._wasKinematic), this.rb.isKinematic = this._wasKinematic);
|
|
60145
60154
|
const i = 10, I = this.rb || this.fastMode;
|
|
60146
60155
|
if (this._needsUpdate && (this.context.time.frameCount % i === 0 || I)) {
|
|
60147
60156
|
if (Xk++, I && Ch > 0 && this.context.time.frameCount % Ch !== 0)
|
|
60148
60157
|
return;
|
|
60149
|
-
|
|
60158
|
+
ra && console.log("send update", this.context.connection.connectionId, this.guid, this.gameObject.name, this.gameObject.guid), this.overridePhysics && this.rb, this._needsUpdate = !1;
|
|
60150
60159
|
const o = zY(this.guid, this, !!I);
|
|
60151
60160
|
this.context.connection.sendBinary(o);
|
|
60152
60161
|
}
|
|
@@ -60914,7 +60923,7 @@ const An = class extends RA {
|
|
|
60914
60923
|
aA.addNewComponent(t, An), e.scene.add(t);
|
|
60915
60924
|
}
|
|
60916
60925
|
static get systems() {
|
|
60917
|
-
const e =
|
|
60926
|
+
const e = xe.Current;
|
|
60918
60927
|
return this._eventSystemMap.has(e) || this._eventSystemMap.set(e, []), this._eventSystemMap.get(e);
|
|
60919
60928
|
}
|
|
60920
60929
|
static get(e) {
|
|
@@ -61355,16 +61364,20 @@ class Nt extends RA {
|
|
|
61355
61364
|
set targetLerpSpeed(e) {
|
|
61356
61365
|
this.targetLerpDuration = 1 / e;
|
|
61357
61366
|
}
|
|
61367
|
+
/** @internal */
|
|
61358
61368
|
awake() {
|
|
61359
61369
|
this._didStart = !1, this._didSetTarget = !1, this._startedListeningToKeyEvents = !1;
|
|
61360
61370
|
}
|
|
61371
|
+
/** @internal */
|
|
61361
61372
|
start() {
|
|
61362
61373
|
this._didStart = !0, this._eventSystem = ho.get(this.context) ?? void 0, this._eventSystem && (this._afterHandleInputFn = this.afterHandleInput.bind(this), this._eventSystem.addEventListener($k.AfterHandleInput, this._afterHandleInputFn));
|
|
61363
61374
|
}
|
|
61375
|
+
/** @internal */
|
|
61364
61376
|
onDestroy() {
|
|
61365
61377
|
var e, t;
|
|
61366
61378
|
(e = this._controls) == null || e.dispose(), (t = this._eventSystem) == null || t.removeEventListener($k.AfterHandleInput, this._afterHandleInputFn);
|
|
61367
61379
|
}
|
|
61380
|
+
/** @internal */
|
|
61368
61381
|
onEnable() {
|
|
61369
61382
|
this._enableTime = this.context.time.time;
|
|
61370
61383
|
const e = aA.getComponent(this.gameObject, Xt);
|
|
@@ -61377,6 +61390,7 @@ class Nt extends RA {
|
|
|
61377
61390
|
}
|
|
61378
61391
|
this._controls && (Up && (this.enablePan = !0, this.enableZoom = !0, this.middleClickToFocus = !0, Is() && (this.doubleClickToFocus = !0)), this._controls.addEventListener("start", this.onControlsChangeStarted), (t == null ? void 0 : t.type) === "PerspectiveCamera" ? Up || (this._controls.minDistance = this.minZoom, this._controls.maxDistance = this.maxZoom) : Up || (this._controls.minZoom = this.minZoom, this._controls.maxZoom = this.maxZoom), this._startedListeningToKeyEvents || (this._startedListeningToKeyEvents = !0, this._controls.listenToKeyEvents(window.document.body))), this._syncedTransform = aA.getComponent(this.gameObject, hB) ?? void 0;
|
|
61379
61392
|
}
|
|
61393
|
+
/** @internal */
|
|
61380
61394
|
onDisable() {
|
|
61381
61395
|
var e;
|
|
61382
61396
|
(e = this._camera) != null && e.cam && mv(this._camera.cam, this, !1), this._controls && (this._controls.enabled = !1, this._controls.autoRotate = !1, this._controls.removeEventListener("start", this.onControlsChangeStarted));
|
|
@@ -61384,11 +61398,16 @@ class Nt extends RA {
|
|
|
61384
61398
|
afterHandleInput(e) {
|
|
61385
61399
|
e.detail.args.pointerId === 0 && (e.detail.args.isDown ? this._controls && this._eventSystem && (this._shouldDisable = this._eventSystem.hasActiveUI) : (!e.detail.args.isPressed || e.detail.args.isUp) && (this._shouldDisable = !1));
|
|
61386
61400
|
}
|
|
61401
|
+
/** @internal */
|
|
61387
61402
|
onBeforeRender() {
|
|
61388
61403
|
var t, i;
|
|
61389
|
-
if (!this._controls
|
|
61404
|
+
if (!this._controls)
|
|
61405
|
+
return;
|
|
61406
|
+
if (this._cameraObject !== this.context.mainCamera) {
|
|
61407
|
+
this._controls.enabled = !1;
|
|
61390
61408
|
return;
|
|
61391
|
-
|
|
61409
|
+
}
|
|
61410
|
+
this._controls.enabled = !0, this.__handleSetTargetWhenBecomingActiveTheFirstTime(), (this.context.input.getPointerDown(1) || this.context.input.getPointerDown(2) || this.context.input.mouseWheelChanged || this.context.input.getPointerPressed(0) && ((t = this.context.input.getPointerPositionDelta(0)) != null && t.length()) || 0 > 0.1) && (this._inputs += 1), this._inputs > 0 && this.allowInterrupt && (this.enableRotate && (this.autoRotate = !1), this._cameraLerpActive = !1, this._lookTargetLerpActive = !1), this._inputs = 0;
|
|
61392
61411
|
let e = this.middleClickToFocus && this.context.input.getPointerClicked(1);
|
|
61393
61412
|
if (e || (e = this.doubleClickToFocus && this.context.input.getPointerDoubleClicked(0) && this.context.time.time - this._enableTime > 0.3), e && this.setTargetFromRaycast(), this._lookTargetLerpActive || this._cameraLerpActive) {
|
|
61394
61413
|
if (this._cameraLerpActive && this._cameraObject)
|
|
@@ -61420,7 +61439,7 @@ class Nt extends RA {
|
|
|
61420
61439
|
const e = aA.getComponent(this.gameObject, Xt);
|
|
61421
61440
|
if (e && !this.setLookTargetFromConstraint()) {
|
|
61422
61441
|
this.debugLog && console.log("NO TARGET");
|
|
61423
|
-
const i =
|
|
61442
|
+
const i = _e(e.cam).length(), I = new w(0, 0, -i).applyMatrix4(e.cam.matrixWorld);
|
|
61424
61443
|
this.setLookTargetPosition(I, !0);
|
|
61425
61444
|
}
|
|
61426
61445
|
if (!this.autoFit && !this.setLookTargetFromConstraint()) {
|
|
@@ -61438,15 +61457,16 @@ class Nt extends RA {
|
|
|
61438
61457
|
setCameraAndLookTarget(e) {
|
|
61439
61458
|
if (!e || !(e instanceof uA))
|
|
61440
61459
|
return;
|
|
61441
|
-
const t =
|
|
61460
|
+
const t = _e(e), i = aT(e);
|
|
61442
61461
|
this.setTargetFromRaycast(new $I(t, i)), this.setCameraTargetPosition(t);
|
|
61443
61462
|
}
|
|
61444
61463
|
/** Moves the camera to position smoothly.
|
|
61445
61464
|
* @param position The position in local space of the controllerObject to move the camera to. If null the camera will stop lerping to the target.
|
|
61465
|
+
* @param immediateOrDuration If true the camera will move immediately to the new position, otherwise it will lerp. If a number is passed in it will be used as the duration of the lerp.
|
|
61446
61466
|
*/
|
|
61447
61467
|
setCameraTargetPosition(e, t = !1) {
|
|
61448
61468
|
var i, I;
|
|
61449
|
-
e && (e instanceof uA && (e =
|
|
61469
|
+
e && (e instanceof uA && (e = _e(e)), this._cameraEndPosition || (this._cameraEndPosition = new w()), this._cameraEndPosition.copy(e), t === !0 ? (this._cameraLerpActive = !1, (i = this.controllerObject) == null || i.position.copy(this._cameraEndPosition)) : this._cameraObject && (this._cameraLerpActive = !0, this._cameraLerp01 = 0, this._cameraStartPosition.copy((I = this._cameraObject) == null ? void 0 : I.position), typeof t == "number" ? this._cameraLerpDuration = t : this._cameraLerpDuration = this.targetLerpDuration));
|
|
61450
61470
|
}
|
|
61451
61471
|
/** True while the camera position is being lerped */
|
|
61452
61472
|
get cameraLerpActive() {
|
|
@@ -61456,9 +61476,12 @@ class Nt extends RA {
|
|
|
61456
61476
|
stopCameraLerp() {
|
|
61457
61477
|
this._cameraLerpActive = !1;
|
|
61458
61478
|
}
|
|
61459
|
-
/** Moves the camera look-at target to a position smoothly.
|
|
61479
|
+
/** Moves the camera look-at target to a position smoothly.
|
|
61480
|
+
* @param position The position in world space to move the camera target to. If null the camera will stop lerping to the target.
|
|
61481
|
+
* @param immediateOrDuration If true the camera target will move immediately to the new position, otherwise it will lerp. If a number is passed in it will be used as the duration of the lerp.
|
|
61482
|
+
*/
|
|
61460
61483
|
setLookTargetPosition(e = null, t = !1) {
|
|
61461
|
-
this._controls && e && (e instanceof uA && (e =
|
|
61484
|
+
this._controls && e && (e instanceof uA && (e = _e(e)), this._lookTargetEndPosition.copy(e), t === !0 ? this._controls.target.copy(this._lookTargetEndPosition) : (this._lookTargetLerpActive = !0, this._lookTargetLerp01 = 0, this._lookTargetStartPosition.copy(this._controls.target), typeof t == "number" ? this._lookTargetLerpDuration = t : this._lookTargetLerpDuration = this.targetLerpDuration));
|
|
61462
61485
|
}
|
|
61463
61486
|
/** True while the camera look target is being lerped */
|
|
61464
61487
|
get lookTargetLerpActive() {
|
|
@@ -61468,7 +61491,10 @@ class Nt extends RA {
|
|
|
61468
61491
|
stopLookTargetLerp() {
|
|
61469
61492
|
this._lookTargetLerpActive = !1;
|
|
61470
61493
|
}
|
|
61471
|
-
/** Sets the look at target from an assigned lookAtConstraint source by index
|
|
61494
|
+
/** Sets the look at target from an assigned lookAtConstraint source by index
|
|
61495
|
+
* @param index The index of the source to use
|
|
61496
|
+
* @param t The interpolation factor between the current look at target and the new target
|
|
61497
|
+
*/
|
|
61472
61498
|
setLookTargetFromConstraint(e = 0, t = 1) {
|
|
61473
61499
|
var I;
|
|
61474
61500
|
if (!this._controls)
|
|
@@ -61489,22 +61515,18 @@ class Nt extends RA {
|
|
|
61489
61515
|
this._controls && (t >= 1 ? this._controls.target.copy(e) : this._controls.target.lerp(e, t));
|
|
61490
61516
|
}
|
|
61491
61517
|
setTargetFromRaycast(e) {
|
|
61492
|
-
var i, I;
|
|
61493
61518
|
if (!this.controls)
|
|
61494
61519
|
return;
|
|
61495
61520
|
const t = e ? this.context.physics.raycastFromRay(e) : this.context.physics.raycast();
|
|
61496
|
-
for (const
|
|
61497
|
-
if (
|
|
61498
|
-
const
|
|
61499
|
-
if (
|
|
61500
|
-
const
|
|
61501
|
-
if (
|
|
61521
|
+
for (const i of t)
|
|
61522
|
+
if (i.distance > 0 && aA.isActiveInHierarchy(i.object)) {
|
|
61523
|
+
const I = FR(i.object);
|
|
61524
|
+
if (I) {
|
|
61525
|
+
const o = I.canvas;
|
|
61526
|
+
if (o != null && o.screenspace)
|
|
61502
61527
|
break;
|
|
61503
61528
|
}
|
|
61504
|
-
|
|
61505
|
-
const C = xe(this.context.mainCamera).clone().sub(this.controls.target).add(this._lookTargetEndPosition);
|
|
61506
|
-
(I = (i = this._cameraObject) == null ? void 0 : i.parent) == null || I.worldToLocal(C), this.setCameraTargetPosition(C);
|
|
61507
|
-
}
|
|
61529
|
+
this.setLookTargetPosition(i.point);
|
|
61508
61530
|
break;
|
|
61509
61531
|
}
|
|
61510
61532
|
}
|
|
@@ -61568,7 +61590,7 @@ class Nt extends RA {
|
|
|
61568
61590
|
il && console.log("Fit camera to objects", d, l, "distance", h), o.maxDistance = h * 10, o.minDistance = h * 0.01;
|
|
61569
61591
|
const p = 0.05, u = n.clone();
|
|
61570
61592
|
u.y -= s.y * p, this.setLookTargetPosition(u, i), this.autoTarget = !1, I.near = h / 1e3, I.far = h * 100, I.updateMatrixWorld(), I.updateProjectionMatrix();
|
|
61571
|
-
const f =
|
|
61593
|
+
const f = _e(I), k = n.clone();
|
|
61572
61594
|
if (k.sub(f), k.y = 0, k.normalize(), k.multiplyScalar(h), k.y += -p * 4 * s.y, I.parent) {
|
|
61573
61595
|
const G = I.parent.worldToLocal(n.clone().sub(k));
|
|
61574
61596
|
this.setCameraTargetPosition(G, i);
|
|
@@ -61784,7 +61806,7 @@ const Rl = (gf = class extends RA {
|
|
|
61784
61806
|
screenPointToRay(A, e, t) {
|
|
61785
61807
|
const i = this.cam, I = Rl._origin;
|
|
61786
61808
|
I.set(A, e, -1), this.context.input.convertScreenspaceToRaycastSpace(I), Mv && console.log("screenPointToRay", A.toFixed(2), e.toFixed(2), "now:", I.x.toFixed(2), I.y.toFixed(2), "isInXR:" + this.context.isInXR), I.z = -1, I.unproject(i);
|
|
61787
|
-
const o = Rl._direction.set(I.x, I.y, I.z), s =
|
|
61809
|
+
const o = Rl._direction.set(I.x, I.y, I.z), s = _e(i);
|
|
61788
61810
|
return o.sub(s), o.normalize(), t ? (t.set(s, o), t) : new $I(s.clone(), o.clone());
|
|
61789
61811
|
}
|
|
61790
61812
|
getFrustum() {
|
|
@@ -63037,7 +63059,7 @@ class RQA {
|
|
|
63037
63059
|
r(this, "_context");
|
|
63038
63060
|
}
|
|
63039
63061
|
get context() {
|
|
63040
|
-
return this._context ??
|
|
63062
|
+
return this._context ?? xe.Current;
|
|
63041
63063
|
}
|
|
63042
63064
|
get isStateMachineBehaviour() {
|
|
63043
63065
|
return !0;
|
|
@@ -64281,7 +64303,7 @@ var RiA = Object.defineProperty, NiA = Object.getOwnPropertyDescriptor, A2 = (g,
|
|
|
64281
64303
|
return t && i && RiA(A, e, i), i;
|
|
64282
64304
|
};
|
|
64283
64305
|
const Nv = IA("debugpost");
|
|
64284
|
-
class
|
|
64306
|
+
class Le {
|
|
64285
64307
|
constructor(A) {
|
|
64286
64308
|
r(this, "_active", !0);
|
|
64287
64309
|
r(this, "_value");
|
|
@@ -64336,10 +64358,10 @@ class _e {
|
|
|
64336
64358
|
}
|
|
64337
64359
|
A2([
|
|
64338
64360
|
D()
|
|
64339
|
-
],
|
|
64361
|
+
], Le.prototype, "overrideState", 1);
|
|
64340
64362
|
A2([
|
|
64341
64363
|
D()
|
|
64342
|
-
],
|
|
64364
|
+
], Le.prototype, "value", 1);
|
|
64343
64365
|
var FiA = Object.defineProperty, KiA = Object.getOwnPropertyDescriptor, JiA = (g, A, e, t) => {
|
|
64344
64366
|
for (var i = t > 1 ? void 0 : t ? KiA(A, e) : A, I = g.length - 1, o; I >= 0; I--)
|
|
64345
64367
|
(o = g[I]) && (i = (t ? o(A, e, i) : o(i)) || i);
|
|
@@ -64357,7 +64379,7 @@ class xI extends RA {
|
|
|
64357
64379
|
this.ensureVolumeParameters();
|
|
64358
64380
|
for (const t of Object.keys(e)) {
|
|
64359
64381
|
const i = e[t], I = this[t];
|
|
64360
|
-
I instanceof
|
|
64382
|
+
I instanceof Le && (I.value = i);
|
|
64361
64383
|
}
|
|
64362
64384
|
}
|
|
64363
64385
|
}
|
|
@@ -64385,7 +64407,7 @@ class xI extends RA {
|
|
|
64385
64407
|
const e = Object.keys(this);
|
|
64386
64408
|
for (const t of e) {
|
|
64387
64409
|
const i = this[t];
|
|
64388
|
-
i instanceof
|
|
64410
|
+
i instanceof Le && i.__init();
|
|
64389
64411
|
}
|
|
64390
64412
|
}
|
|
64391
64413
|
onAfterDeserialize(e, t) {
|
|
@@ -64393,7 +64415,7 @@ class xI extends RA {
|
|
|
64393
64415
|
const i = this.$serializedTypes;
|
|
64394
64416
|
if (i) {
|
|
64395
64417
|
for (const I of Object.keys(i))
|
|
64396
|
-
if (i[I] ===
|
|
64418
|
+
if (i[I] === Le) {
|
|
64397
64419
|
const s = e[I];
|
|
64398
64420
|
if (s !== void 0) {
|
|
64399
64421
|
const n = this[I];
|
|
@@ -64407,7 +64429,7 @@ class xI extends RA {
|
|
|
64407
64429
|
// since these handle that already.
|
|
64408
64430
|
onEditorModification(e) {
|
|
64409
64431
|
const t = e.propertyName;
|
|
64410
|
-
if (this[t] instanceof
|
|
64432
|
+
if (this[t] instanceof Le) {
|
|
64411
64433
|
const i = e.value;
|
|
64412
64434
|
return this[t].value = i, !0;
|
|
64413
64435
|
}
|
|
@@ -64420,7 +64442,7 @@ class xI extends RA {
|
|
|
64420
64442
|
const e = this.$serializedTypes;
|
|
64421
64443
|
if (e)
|
|
64422
64444
|
for (const t of Object.keys(e))
|
|
64423
|
-
e[t] ===
|
|
64445
|
+
e[t] === Le && (this[t] || (this[t] = new Le()));
|
|
64424
64446
|
}
|
|
64425
64447
|
}
|
|
64426
64448
|
JiA([
|
|
@@ -64475,7 +64497,7 @@ class my extends xI {
|
|
|
64475
64497
|
}
|
|
64476
64498
|
}
|
|
64477
64499
|
YiA([
|
|
64478
|
-
D(
|
|
64500
|
+
D(Le)
|
|
64479
64501
|
], my.prototype, "preset", 2);
|
|
64480
64502
|
Ls("Antialiasing", my);
|
|
64481
64503
|
const OiA = IA("debugusdz");
|
|
@@ -65099,7 +65121,7 @@ class fC {
|
|
|
65099
65121
|
if (e) {
|
|
65100
65122
|
for (const i of this.Pois)
|
|
65101
65123
|
if (i.obj === e) {
|
|
65102
|
-
this.Pois.splice(this.Pois.indexOf(i), 1), this.LastChangeTime = (A == null ? void 0 : A.time.time) ?? ((t =
|
|
65124
|
+
this.Pois.splice(this.Pois.indexOf(i), 1), this.LastChangeTime = (A == null ? void 0 : A.time.time) ?? ((t = xe.Current) == null ? void 0 : t.time.time);
|
|
65103
65125
|
return;
|
|
65104
65126
|
}
|
|
65105
65127
|
}
|
|
@@ -65146,7 +65168,7 @@ class JD extends RA {
|
|
|
65146
65168
|
update() {
|
|
65147
65169
|
var t;
|
|
65148
65170
|
if ((!this.context.connection.isConnected || (t = this._model) != null && t.hasOwnership) && (fC.LastChangeTime !== this._lastPoiChangedTime && (this._lastPoiChangedTime = fC.LastChangeTime, this._lookDuration = 0), this.selectTarget(), this._currentTargetObject && this.context.time.frameCount % 10 === 0 && this.target)) {
|
|
65149
|
-
const i =
|
|
65171
|
+
const i = _e(this._currentTargetObject);
|
|
65150
65172
|
vI(this.target, i), this.context.connection.isConnected && this.avatar && (this.context.connection.send("avatar-look-target-changed", this._targetModel), this._targetModel.guid = this.avatar.guid, this._targetModel.position.copy(i));
|
|
65151
65173
|
}
|
|
65152
65174
|
}
|
|
@@ -65726,9 +65748,9 @@ const o2 = (IG = class extends RA {
|
|
|
65726
65748
|
if (A && this.head) {
|
|
65727
65749
|
const e = this.eyes;
|
|
65728
65750
|
if (e) {
|
|
65729
|
-
const t =
|
|
65751
|
+
const t = _e(A);
|
|
65730
65752
|
this.currentTargetPoint.lerp(t, this.context.time.deltaTime / 0.1);
|
|
65731
|
-
const i =
|
|
65753
|
+
const i = _e(this.head), I = this.vec.copy(this.currentTargetPoint).sub(i).normalize();
|
|
65732
65754
|
if (I.length() < 0.1)
|
|
65733
65755
|
return;
|
|
65734
65756
|
const o = o2.forward;
|
|
@@ -65905,11 +65927,11 @@ class n2 extends RA {
|
|
|
65905
65927
|
update() {
|
|
65906
65928
|
if (!this.from || !this.to || !this.hint)
|
|
65907
65929
|
return;
|
|
65908
|
-
const e =
|
|
65930
|
+
const e = _e(this.to).clone(), t = _e(this.from).clone(), i = e.distanceTo(t), I = e.clone();
|
|
65909
65931
|
I.sub(t);
|
|
65910
65932
|
const o = t.clone();
|
|
65911
65933
|
o.add(e), o.multiplyScalar(0.5);
|
|
65912
|
-
const s =
|
|
65934
|
+
const s = _e(this.hint).clone();
|
|
65913
65935
|
s.sub(o);
|
|
65914
65936
|
const n = new w();
|
|
65915
65937
|
n.crossVectors(s, I), n.crossVectors(I, n), n.normalize();
|
|
@@ -66047,13 +66069,13 @@ const C2 = (oG = class extends xI {
|
|
|
66047
66069
|
r(oG, "useSelectiveBloom", !1), oG);
|
|
66048
66070
|
let ic = C2;
|
|
66049
66071
|
HR([
|
|
66050
|
-
D(
|
|
66072
|
+
D(Le)
|
|
66051
66073
|
], ic.prototype, "threshold", 2);
|
|
66052
66074
|
HR([
|
|
66053
|
-
D(
|
|
66075
|
+
D(Le)
|
|
66054
66076
|
], ic.prototype, "intensity", 2);
|
|
66055
66077
|
HR([
|
|
66056
|
-
D(
|
|
66078
|
+
D(Le)
|
|
66057
66079
|
], ic.prototype, "scatter", 2);
|
|
66058
66080
|
Ls("Bloom", ic);
|
|
66059
66081
|
const ol = "NEEDLE_progressive", eI = IA("debugprogressive"), pm = Symbol("needle-progressive-texture"), IE = /* @__PURE__ */ new Map();
|
|
@@ -66474,23 +66496,31 @@ class ss extends RA {
|
|
|
66474
66496
|
r(this, "sharedMaterial");
|
|
66475
66497
|
r(this, "membership", [0]);
|
|
66476
66498
|
r(this, "filter");
|
|
66499
|
+
/**
|
|
66500
|
+
* Apply the collider properties to the physics engine.
|
|
66501
|
+
*/
|
|
66477
66502
|
r(this, "updateProperties", () => {
|
|
66478
66503
|
var e;
|
|
66479
66504
|
(e = this.context.physics.engine) == null || e.updateProperties(this);
|
|
66480
66505
|
});
|
|
66481
66506
|
}
|
|
66507
|
+
/** @internal */
|
|
66482
66508
|
get isCollider() {
|
|
66483
66509
|
return !0;
|
|
66484
66510
|
}
|
|
66511
|
+
/** @internal */
|
|
66485
66512
|
awake() {
|
|
66486
66513
|
super.awake(), this.attachedRigidbody || (this.attachedRigidbody = this.gameObject.getComponentInParent(_t));
|
|
66487
66514
|
}
|
|
66515
|
+
/** @internal */
|
|
66488
66516
|
start() {
|
|
66489
66517
|
this.attachedRigidbody || (this.attachedRigidbody = this.gameObject.getComponentInParent(_t));
|
|
66490
66518
|
}
|
|
66519
|
+
/** @internal */
|
|
66491
66520
|
onEnable() {
|
|
66492
66521
|
this.attachedRigidbody || (this.attachedRigidbody = this.gameObject.getComponentInParent(_t));
|
|
66493
66522
|
}
|
|
66523
|
+
/** @internal */
|
|
66494
66524
|
onDisable() {
|
|
66495
66525
|
var e;
|
|
66496
66526
|
(e = this.context.physics.engine) == null || e.removeBody(this);
|
|
@@ -66688,7 +66718,7 @@ const KgA = IA("gizmos"), JgA = IA("debugboxhelper"), xo = class extends RA {
|
|
|
66688
66718
|
for (let o = 0; o < e.children.length; o++)
|
|
66689
66719
|
e.children[o].type === "Mesh" && xo.testBox.expandByObject(e);
|
|
66690
66720
|
} else {
|
|
66691
|
-
const o =
|
|
66721
|
+
const o = _e(e, xo._position), s = oi(e, xo._size);
|
|
66692
66722
|
t !== void 0 && s.multiplyScalar(t), xo.testBox.setFromCenterAndSize(o, s);
|
|
66693
66723
|
}
|
|
66694
66724
|
this.updateBox();
|
|
@@ -66702,7 +66732,7 @@ const KgA = IA("gizmos"), JgA = IA("debugboxhelper"), xo = class extends RA {
|
|
|
66702
66732
|
if (this.box || (this.box = new wt()), e || this.context.time.frameCount != this._lastMatrixUpdateFrame) {
|
|
66703
66733
|
const t = this._lastMatrixUpdateFrame < 0;
|
|
66704
66734
|
this._lastMatrixUpdateFrame = this.context.time.frameCount;
|
|
66705
|
-
const i = t, I =
|
|
66735
|
+
const i = t, I = _e(this.gameObject, xo._position, i), o = oi(this.gameObject, xo._size);
|
|
66706
66736
|
this.box.setFromCenterAndSize(I, o);
|
|
66707
66737
|
}
|
|
66708
66738
|
return this.box;
|
|
@@ -67928,7 +67958,7 @@ class sc extends RA {
|
|
|
67928
67958
|
*moveToTarget() {
|
|
67929
67959
|
if (!this.target || !this.object)
|
|
67930
67960
|
return;
|
|
67931
|
-
const e =
|
|
67961
|
+
const e = _e(this.object).clone(), t = _e(this.target).clone(), i = bt(this.object).clone(), I = bt(this.target).clone(), o = oi(this.object).clone(), s = oi(this.target).clone(), n = e.distanceTo(t), C = i.angleTo(I), a = o.distanceTo(s);
|
|
67932
67962
|
if (n < 0.01 && C < 0.01 && a < 0.01) {
|
|
67933
67963
|
vI(this.object, t), Ns(this.object, I), QD(this.object, s), this.coroutine = null;
|
|
67934
67964
|
return;
|
|
@@ -68607,7 +68637,7 @@ class Xa extends RA {
|
|
|
68607
68637
|
if (this.controller) {
|
|
68608
68638
|
const l = (E = this.controller) == null ? void 0 : E.rigidbody.getVelocity().y;
|
|
68609
68639
|
if (l < -1) {
|
|
68610
|
-
this._raycastOptions.ray || (this._raycastOptions.ray = new $I()), this._raycastOptions.ray.origin.copy(
|
|
68640
|
+
this._raycastOptions.ray || (this._raycastOptions.ray = new $I()), this._raycastOptions.ray.origin.copy(_e(this.gameObject)), this._raycastOptions.ray.direction.set(0, -1, 0);
|
|
68611
68641
|
const h = this.layer;
|
|
68612
68642
|
this.gameObject.layers.disableAll(), this.gameObject.layers.set(2);
|
|
68613
68643
|
const p = this.context.physics.raycast(this._raycastOptions);
|
|
@@ -68659,7 +68689,7 @@ class Jy extends xI {
|
|
|
68659
68689
|
}
|
|
68660
68690
|
}
|
|
68661
68691
|
oIA([
|
|
68662
|
-
D(
|
|
68692
|
+
D(Le)
|
|
68663
68693
|
], Jy.prototype, "intensity", 2);
|
|
68664
68694
|
Ls("ChromaticAberration", Jy);
|
|
68665
68695
|
const zd = new ue();
|
|
@@ -70184,14 +70214,14 @@ class by extends RA {
|
|
|
70184
70214
|
vp.set(o, C);
|
|
70185
70215
|
const a = Object.keys(n);
|
|
70186
70216
|
for (const B of a)
|
|
70187
|
-
n[B] instanceof
|
|
70217
|
+
n[B] instanceof Le && C.push(B);
|
|
70188
70218
|
}
|
|
70189
70219
|
if (vp.has(o)) {
|
|
70190
70220
|
const C = s.toLowerCase(), a = vp.get(o);
|
|
70191
70221
|
for (const B of a)
|
|
70192
70222
|
if (B.toLowerCase() === C) {
|
|
70193
70223
|
const Q = n[B];
|
|
70194
|
-
Q instanceof
|
|
70224
|
+
Q instanceof Le && (I.length === 4 && I[3] === "active" ? (Q.overrideState = e.value, this.scheduleRecreate()) : Q && Q.value !== void 0 && (Q.value = e.value));
|
|
70195
70225
|
return;
|
|
70196
70226
|
}
|
|
70197
70227
|
}
|
|
@@ -70292,16 +70322,16 @@ class FB extends xI {
|
|
|
70292
70322
|
// }
|
|
70293
70323
|
}
|
|
70294
70324
|
vy([
|
|
70295
|
-
D(
|
|
70325
|
+
D(Le)
|
|
70296
70326
|
], FB.prototype, "postExposure", 2);
|
|
70297
70327
|
vy([
|
|
70298
|
-
D(
|
|
70328
|
+
D(Le)
|
|
70299
70329
|
], FB.prototype, "contrast", 2);
|
|
70300
70330
|
vy([
|
|
70301
|
-
D(
|
|
70331
|
+
D(Le)
|
|
70302
70332
|
], FB.prototype, "hueShift", 2);
|
|
70303
70333
|
vy([
|
|
70304
|
-
D(
|
|
70334
|
+
D(Le)
|
|
70305
70335
|
], FB.prototype, "saturation", 2);
|
|
70306
70336
|
Ls("ColorAdjustments", FB);
|
|
70307
70337
|
const dIA = (Math.sqrt(5) - 1) / 4, Gg = (5 - Math.sqrt(5)) / 20, qp = (g) => Math.floor(g) | 0, xp = /* @__PURE__ */ new Float64Array([
|
|
@@ -70980,8 +71010,6 @@ class tM extends RA {
|
|
|
70980
71010
|
r(this, "_hasReflection", !1);
|
|
70981
71011
|
r(this, "_ambientLightObj");
|
|
70982
71012
|
r(this, "_hemisphereLightObj");
|
|
70983
|
-
// used when skybox is used to support ambient intensity for "non custom shaders"
|
|
70984
|
-
r(this, "_lightProbeObj");
|
|
70985
71013
|
}
|
|
70986
71014
|
awake() {
|
|
70987
71015
|
var t;
|
|
@@ -71016,7 +71044,7 @@ class tM extends RA {
|
|
|
71016
71044
|
const e = this.calculateIntensityFactor(this.ambientLight);
|
|
71017
71045
|
this._ambientLightObj = new QU(this.ambientLight, this.ambientIntensity * e), FQ && console.log("Created ambient light", this.sourceId, this._ambientLightObj, this.ambientIntensity, e);
|
|
71018
71046
|
}
|
|
71019
|
-
this._ambientLightObj && this.gameObject.add(this._ambientLightObj)
|
|
71047
|
+
this._ambientLightObj && this.gameObject.add(this._ambientLightObj);
|
|
71020
71048
|
} else if (this.ambientMode === nh.Trilight) {
|
|
71021
71049
|
if (this.ambientTrilight) {
|
|
71022
71050
|
const e = this.ambientTrilight[0], t = this.ambientTrilight[this.ambientTrilight.length - 1], i = this.calculateIntensityFactor(t);
|
|
@@ -71027,7 +71055,7 @@ class tM extends RA {
|
|
|
71027
71055
|
this.sourceId && this.context.sceneLighting.internalEnableReflection(this.sourceId);
|
|
71028
71056
|
}
|
|
71029
71057
|
onDisable() {
|
|
71030
|
-
FQ && console.warn("💡⚫ <<< Disable lighting:", this.sourceId, this), this.
|
|
71058
|
+
FQ && console.warn("💡⚫ <<< Disable lighting:", this.sourceId, this), this._ambientLightObj && this._ambientLightObj.removeFromParent(), this._hemisphereLightObj && this._hemisphereLightObj.removeFromParent(), this.sourceId && this.context.sceneLighting.internalDisableReflection(this.sourceId);
|
|
71031
71059
|
}
|
|
71032
71060
|
}
|
|
71033
71061
|
var G2 = /* @__PURE__ */ ((g) => (g[g.INT = 5124] = "INT", g[g.FLOAT = 5126] = "FLOAT", g[g.FLOAT_VEC2 = 35664] = "FLOAT_VEC2", g[g.FLOAT_VEC3 = 35665] = "FLOAT_VEC3", g[g.FLOAT_VEC4 = 35666] = "FLOAT_VEC4", g[g.INT_VEC2 = 35667] = "INT_VEC2", g[g.INT_VEC3 = 35668] = "INT_VEC3", g[g.INT_VEC4 = 35669] = "INT_VEC4", g[g.BOOL = 35670] = "BOOL", g[g.BOOL_VEC2 = 35671] = "BOOL_VEC2", g[g.BOOL_VEC3 = 35672] = "BOOL_VEC3", g[g.BOOL_VEC4 = 35673] = "BOOL_VEC4", g[g.FLOAT_MAT2 = 35674] = "FLOAT_MAT2", g[g.FLOAT_MAT3 = 35675] = "FLOAT_MAT3", g[g.FLOAT_MAT4 = 35676] = "FLOAT_MAT4", g[g.SAMPLER_2D = 35678] = "SAMPLER_2D", g[g.SAMPLER_3D = 35680] = "SAMPLER_3D", g[g.SAMPLER_CUBE = 35681] = "SAMPLER_CUBE", g[g.UNKNOWN = 0] = "UNKNOWN", g))(G2 || {});
|
|
@@ -71080,7 +71108,7 @@ const ii = class extends Dd {
|
|
|
71080
71108
|
r(this, "_viewProjectionName", "hlslcc_mtx4x4unity_MatrixVP");
|
|
71081
71109
|
r(this, "_viewMatrixName", "hlslcc_mtx4x4unity_MatrixV");
|
|
71082
71110
|
r(this, "_rendererData", new vIA());
|
|
71083
|
-
this.identifier = e, la && 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) &&
|
|
71111
|
+
this.identifier = e, la && 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) && xe.Current.pre_render_callbacks.push(this.onBeforeRenderSceneCallback);
|
|
71084
71112
|
}
|
|
71085
71113
|
clone() {
|
|
71086
71114
|
const e = super.clone();
|
|
@@ -71088,8 +71116,8 @@ const ii = class extends Dd {
|
|
|
71088
71116
|
}
|
|
71089
71117
|
dispose() {
|
|
71090
71118
|
super.dispose();
|
|
71091
|
-
const e =
|
|
71092
|
-
e >= 0 &&
|
|
71119
|
+
const e = xe.Current.pre_render_callbacks.indexOf(this.onBeforeRenderSceneCallback);
|
|
71120
|
+
e >= 0 && xe.Current.pre_render_callbacks.splice(e, 1);
|
|
71093
71121
|
}
|
|
71094
71122
|
get depthTextureUniform() {
|
|
71095
71123
|
if (this.uniforms)
|
|
@@ -71100,13 +71128,13 @@ const ii = class extends Dd {
|
|
|
71100
71128
|
return this.uniforms._CameraOpaqueTexture;
|
|
71101
71129
|
}
|
|
71102
71130
|
onBeforeRenderScene() {
|
|
71103
|
-
this.opaqueTextureUniform &&
|
|
71131
|
+
this.opaqueTextureUniform && xe.Current.setRequireColor(!0), this.depthTextureUniform && xe.Current.setRequireDepth(!0);
|
|
71104
71132
|
}
|
|
71105
71133
|
onBeforeRender(e, t, i, I, o, s) {
|
|
71106
71134
|
I.attributes.tangent || I.computeTangents(), this.onUpdateUniforms(i, o);
|
|
71107
71135
|
}
|
|
71108
71136
|
onUpdateUniforms(e, t) {
|
|
71109
|
-
const i =
|
|
71137
|
+
const i = xe.Current;
|
|
71110
71138
|
if (e && (ii.viewProjection && this.uniforms[this._viewProjectionName] && (ii.viewProjection.copy(e.projectionMatrix).multiply(e.matrixWorldInverse), mD(ii.viewProjection, ii._viewProjectionValues)), ii.viewMatrix && this.uniforms[this._viewMatrixName] && (ii.viewMatrix.copy(e.matrixWorldInverse), mD(ii.viewMatrix, ii._viewMatrixValues)), this.uniforms[ii._worldSpaceCameraPosName] && ii._worldSpaceCameraPos.setFromMatrixPosition(e.matrixWorld)), this.uniforms._TimeParameters && (this.uniforms._TimeParameters.value = i.sceneLighting.timeVec4), this.uniforms._Time) {
|
|
71111
71139
|
const n = this.uniforms._Time.value;
|
|
71112
71140
|
n.x = i.sceneLighting.timeVec4.x / 20, n.y = i.sceneLighting.timeVec4.x, n.z = i.sceneLighting.timeVec4.x * 2, n.w = i.sceneLighting.timeVec4.x * 3;
|
|
@@ -71125,7 +71153,7 @@ const ii = class extends Dd {
|
|
|
71125
71153
|
}
|
|
71126
71154
|
const I = i.mainLight;
|
|
71127
71155
|
if (I) {
|
|
71128
|
-
const n =
|
|
71156
|
+
const n = _e(I.gameObject, ii._mainLightPosition);
|
|
71129
71157
|
this.uniforms._MainLightPosition = { value: n.normalize() }, ii._mainLightColor.set(I.color.r, I.color.g, I.color.b, 0), this.uniforms._MainLightColor = { value: ii._mainLightColor };
|
|
71130
71158
|
const C = I.intensity;
|
|
71131
71159
|
ii._lightData.z = C, this.uniforms.unity_LightData = { value: ii._lightData };
|
|
@@ -72270,7 +72298,7 @@ Texture LODs available? ${this.hasTextureLODs ? "YES" : "NO"}`);
|
|
|
72270
72298
|
}
|
|
72271
72299
|
const E = C.geometry.boundingBox;
|
|
72272
72300
|
if (E && this.context.mainCamera instanceof He) {
|
|
72273
|
-
if (C.geometry.attributes.color && C.geometry.attributes.color.count < 100 && C.geometry.boundingSphere && (this._sphere.copy(C.geometry.boundingSphere), this._sphere.applyMatrix4(C.matrixWorld), this._sphere.containsPoint(
|
|
72301
|
+
if (C.geometry.attributes.color && C.geometry.attributes.color.count < 100 && C.geometry.boundingSphere && (this._sphere.copy(C.geometry.boundingSphere), this._sphere.applyMatrix4(C.matrixWorld), this._sphere.containsPoint(_e(this.context.mainCamera)))) {
|
|
72274
72302
|
o = 0;
|
|
72275
72303
|
break;
|
|
72276
72304
|
}
|
|
@@ -75529,7 +75557,7 @@ class Rn extends xI {
|
|
|
75529
75557
|
const e = 1 / window.devicePixelRatio;
|
|
75530
75558
|
if (this.resolutionScale === void 0) {
|
|
75531
75559
|
let i = 1;
|
|
75532
|
-
Is() && (i = 0.6), this.resolutionScale = new
|
|
75560
|
+
Is() && (i = 0.6), this.resolutionScale = new Le(i * e);
|
|
75533
75561
|
}
|
|
75534
75562
|
const t = new fH(this.context.mainCamera, {
|
|
75535
75563
|
worldFocusRange: 0.2,
|
|
@@ -75548,22 +75576,22 @@ xB([
|
|
|
75548
75576
|
D()
|
|
75549
75577
|
], Rn.prototype, "mode", 2);
|
|
75550
75578
|
xB([
|
|
75551
|
-
D(
|
|
75579
|
+
D(Le)
|
|
75552
75580
|
], Rn.prototype, "focusDistance", 2);
|
|
75553
75581
|
xB([
|
|
75554
|
-
D(
|
|
75582
|
+
D(Le)
|
|
75555
75583
|
], Rn.prototype, "focalLength", 2);
|
|
75556
75584
|
xB([
|
|
75557
|
-
D(
|
|
75585
|
+
D(Le)
|
|
75558
75586
|
], Rn.prototype, "aperture", 2);
|
|
75559
75587
|
xB([
|
|
75560
|
-
D(
|
|
75588
|
+
D(Le)
|
|
75561
75589
|
], Rn.prototype, "gaussianMaxRadius", 2);
|
|
75562
75590
|
xB([
|
|
75563
|
-
D(
|
|
75591
|
+
D(Le)
|
|
75564
75592
|
], Rn.prototype, "resolutionScale", 2);
|
|
75565
75593
|
xB([
|
|
75566
|
-
D(
|
|
75594
|
+
D(Le)
|
|
75567
75595
|
], Rn.prototype, "bokehScale", 2);
|
|
75568
75596
|
Ls("DepthOfField", Rn);
|
|
75569
75597
|
var EoA = Object.defineProperty, coA = Object.getOwnPropertyDescriptor, loA = (g, A, e, t) => {
|
|
@@ -76080,17 +76108,17 @@ const yF = class {
|
|
|
76080
76108
|
onUpdate(A) {
|
|
76081
76109
|
if (!this._selected)
|
|
76082
76110
|
return;
|
|
76083
|
-
const e =
|
|
76111
|
+
const e = _e(this._selected);
|
|
76084
76112
|
this.onUpdateWorldPosition(e, this._groundPlanePoint, !1), this.onUpdateGroundPlane(), this._didDragOnGroundPlaneLastFrame = !0, this._hasGroundPlane = !0;
|
|
76085
76113
|
}
|
|
76086
76114
|
onUpdateWorldPosition(A, e, t) {
|
|
76087
76115
|
if (this._selected) {
|
|
76088
76116
|
if (t) {
|
|
76089
|
-
const i =
|
|
76117
|
+
const i = _e(this._selected);
|
|
76090
76118
|
i.y = A.y, A = i;
|
|
76091
76119
|
}
|
|
76092
76120
|
if (vI(this._selected, A), vI(this._groundLine, A), this._hasGroundPlane ? this._groundLine.scale.y = this._groundDistance : this._groundLine.scale.y = 1e3, this._groundLine.visible = this.showGizmo, this._groundMarker.visible = e !== null && this.showGizmo, e) {
|
|
76093
|
-
const i =
|
|
76121
|
+
const i = _e(this._camera).distanceTo(e) * 0.01;
|
|
76094
76122
|
this._groundMarker.scale.set(i, i, i), vI(this._groundMarker, e);
|
|
76095
76123
|
}
|
|
76096
76124
|
}
|
|
@@ -76104,7 +76132,7 @@ const yF = class {
|
|
|
76104
76132
|
onUpdateGroundPlane() {
|
|
76105
76133
|
if (!this._selected || !this._context)
|
|
76106
76134
|
return;
|
|
76107
|
-
const A =
|
|
76135
|
+
const A = _e(this._selected), e = new $I(new w(0, 0.1, 0).add(A), new w(0, -1, 0)), t = new Fs();
|
|
76108
76136
|
t.ignore = [this._selected];
|
|
76109
76137
|
const i = this._context.physics.raycastFromRay(e, t);
|
|
76110
76138
|
for (let I = 0; I < i.length; I++) {
|
|
@@ -78185,7 +78213,7 @@ const vQ = class extends RA {
|
|
|
78185
78213
|
static calculateCenter(A, e) {
|
|
78186
78214
|
const t = e || new w();
|
|
78187
78215
|
return t.set(0, 0, 0), A.forEach((i) => {
|
|
78188
|
-
t.add(
|
|
78216
|
+
t.add(_e(i));
|
|
78189
78217
|
}), console.log(t), t.divideScalar(A.length), t;
|
|
78190
78218
|
}
|
|
78191
78219
|
static filterTopmostParent(A) {
|
|
@@ -79030,11 +79058,11 @@ class dc extends RA {
|
|
|
79030
79058
|
update() {
|
|
79031
79059
|
if (!this.from)
|
|
79032
79060
|
return;
|
|
79033
|
-
var e =
|
|
79061
|
+
var e = _e(this.from), t = bt(this.from);
|
|
79034
79062
|
this.offset.copy(this.positionOffset);
|
|
79035
79063
|
const i = this.offset.length();
|
|
79036
79064
|
if (this.referenceSpace && this.offset.transformDirection(this.referenceSpace.matrixWorld).multiplyScalar(i), e.add(this.offset), this.levelPosition && this.referenceSpace) {
|
|
79037
|
-
const n = new kI(this.gameObject.up, 0), C =
|
|
79065
|
+
const n = new kI(this.gameObject.up, 0), C = _e(this.referenceSpace);
|
|
79038
79066
|
n.setFromNormalAndCoplanarPoint(this.gameObject.up, C);
|
|
79039
79067
|
const a = new w(0, 0, 0);
|
|
79040
79068
|
n.projectPoint(e, a), e.copy(a);
|
|
@@ -83782,7 +83810,7 @@ class CCA extends hN {
|
|
|
83782
83810
|
r(this, "_lastDistance", 0);
|
|
83783
83811
|
}
|
|
83784
83812
|
update() {
|
|
83785
|
-
const e =
|
|
83813
|
+
const e = _e(this.system.gameObject);
|
|
83786
83814
|
this._lastDistance = this._lastPosition.distanceTo(e), this._lastPosition.copy(e);
|
|
83787
83815
|
}
|
|
83788
83816
|
genValue() {
|
|
@@ -84228,7 +84256,7 @@ const qf = class extends RA {
|
|
|
84228
84256
|
return this._worldScale;
|
|
84229
84257
|
}
|
|
84230
84258
|
get worldPos() {
|
|
84231
|
-
return this._worldPositionFrame !== this.context.time.frame && (this._worldPositionFrame = this.context.time.frame,
|
|
84259
|
+
return this._worldPositionFrame !== this.context.time.frame && (this._worldPositionFrame = this.context.time.frame, _e(this.gameObject, this._worldPos)), this._worldPos;
|
|
84232
84260
|
}
|
|
84233
84261
|
get matrixWorld() {
|
|
84234
84262
|
return this._container.matrixWorld;
|
|
@@ -84236,12 +84264,34 @@ const qf = class extends RA {
|
|
|
84236
84264
|
get isSubsystem() {
|
|
84237
84265
|
return this._isUsedAsSubsystem;
|
|
84238
84266
|
}
|
|
84239
|
-
/** Add a custom quarks behaviour to the particle system.
|
|
84240
|
-
* @link
|
|
84267
|
+
/** Add a custom quarks behaviour to the particle system.
|
|
84268
|
+
* You can add a quarks.Behaviour type or derive from {@link ParticleSystemBaseBehaviour}
|
|
84269
|
+
* @link https://github.com/Alchemist0823/three.quarks
|
|
84270
|
+
* @example
|
|
84271
|
+
* ```typescript
|
|
84272
|
+
* class MyBehaviour extends ParticleSystemBaseBehaviour {
|
|
84273
|
+
* initialize(particle: Particle) {
|
|
84274
|
+
* // initialize the particle
|
|
84275
|
+
* }
|
|
84276
|
+
* update(particle: Particle, delta: number) {
|
|
84277
|
+
* // do something with the particle
|
|
84278
|
+
* }
|
|
84279
|
+
* }
|
|
84280
|
+
*
|
|
84281
|
+
* const system = gameObject.getComponent(ParticleSystem);
|
|
84282
|
+
* system.addBehaviour(new MyBehaviour());
|
|
84283
|
+
* ```
|
|
84241
84284
|
*/
|
|
84242
84285
|
addBehaviour(A) {
|
|
84243
84286
|
return this._particleSystem ? (A instanceof _B && (A.system = this), de() && console.log("add behaviour", A), this._particleSystem.addBehavior(A), !0) : !1;
|
|
84244
84287
|
}
|
|
84288
|
+
/** Remove a custom quarks behaviour from the particle system. **/
|
|
84289
|
+
removeBehaviour(A) {
|
|
84290
|
+
if (!this._particleSystem)
|
|
84291
|
+
return !1;
|
|
84292
|
+
const e = this._particleSystem.behaviors, t = e.indexOf(A);
|
|
84293
|
+
return t !== -1 && e.splice(t, 1), !0;
|
|
84294
|
+
}
|
|
84245
84295
|
/** Removes all behaviours from the particle system
|
|
84246
84296
|
* **Note:** this will also remove the default behaviours like SizeBehaviour, ColorBehaviour etc.
|
|
84247
84297
|
*/
|
|
@@ -84280,11 +84330,13 @@ const qf = class extends RA {
|
|
|
84280
84330
|
}
|
|
84281
84331
|
bl && A.length > 0 && console.log("SubEmitters: ", A, this), this._subEmitterSystems = A;
|
|
84282
84332
|
}
|
|
84333
|
+
/** @internal */
|
|
84283
84334
|
onAfterDeserialize(A) {
|
|
84284
84335
|
if (this._subEmitterSystems && Array.isArray(this._subEmitterSystems))
|
|
84285
84336
|
for (const e of this._subEmitterSystems)
|
|
84286
84337
|
e._deserialize(this.context, this.gameObject);
|
|
84287
84338
|
}
|
|
84339
|
+
/** @internal */
|
|
84288
84340
|
awake() {
|
|
84289
84341
|
if (this._worldPositionFrame = -1, this._renderer = this.gameObject.getComponent(Ts), !this.main)
|
|
84290
84342
|
throw new Error("Not Supported: ParticleSystem needs a serialized MainModule. Creating new particle systems at runtime is currently not supported.");
|
|
@@ -84292,19 +84344,23 @@ const qf = class extends RA {
|
|
|
84292
84344
|
const A = this._particleSystem.emitter;
|
|
84293
84345
|
this.context.scene.add(A), this.inheritVelocity.system && this.inheritVelocity.system !== this && (this.inheritVelocity = this.inheritVelocity.clone()), this.inheritVelocity.awake(this), bl && (console.log(this), this.gameObject.add(new es(1)));
|
|
84294
84346
|
}
|
|
84347
|
+
/** @internal */
|
|
84295
84348
|
start() {
|
|
84296
84349
|
this.addSubParticleSystems(), this.updateLayers();
|
|
84297
84350
|
}
|
|
84351
|
+
/** @internal */
|
|
84298
84352
|
onDestroy() {
|
|
84299
84353
|
var A, e, t, i;
|
|
84300
84354
|
(A = this._container) == null || A.removeFromParent(), (e = this._batchSystem) == null || e.removeFromParent(), (t = this._particleSystem) == null || t.emitter.removeFromParent(), (i = this._particleSystem) == null || i.dispose();
|
|
84301
84355
|
}
|
|
84356
|
+
/** @internal */
|
|
84302
84357
|
onEnable() {
|
|
84303
84358
|
this.main && (this.inheritVelocity && (this.inheritVelocity.system = this), this._batchSystem && (this._batchSystem.visible = !0), this.playOnAwake && this.play(), this._isPlaying = this.playOnAwake);
|
|
84304
84359
|
}
|
|
84305
84360
|
onDisable() {
|
|
84306
84361
|
this._batchSystem && (this._batchSystem.visible = !1);
|
|
84307
84362
|
}
|
|
84363
|
+
/** @internal */
|
|
84308
84364
|
onBeforeRender() {
|
|
84309
84365
|
var A;
|
|
84310
84366
|
this.main && (this._didPreWarm === !1 && ((A = this.main) == null ? void 0 : A.prewarm) === !0 && (this._didPreWarm = !0, this.preWarm()), this.onUpdate(), this.onSimulate(this.deltaTime));
|
|
@@ -84541,7 +84597,7 @@ class iS extends xI {
|
|
|
84541
84597
|
}
|
|
84542
84598
|
}
|
|
84543
84599
|
DCA([
|
|
84544
|
-
D(
|
|
84600
|
+
D(Le)
|
|
84545
84601
|
], iS.prototype, "granularity", 2);
|
|
84546
84602
|
Ls("PixelationEffect", iS);
|
|
84547
84603
|
class Id extends RA {
|
|
@@ -85029,6 +85085,7 @@ class LI extends RA {
|
|
|
85029
85085
|
}
|
|
85030
85086
|
return e.uri === this.sourceId ? (console.warn("SceneSwitcher: can't load own scene - prevent recursive loading", this.sourceId), !1) : this.__lastSwitchScene === e && this.__lastSwitchScenePromise ? this.__lastSwitchScenePromise : (this.__lastSwitchScene = e, this.__lastSwitchScenePromise = this.__internalSwitchScene(e), await this.__lastSwitchScenePromise);
|
|
85031
85087
|
}
|
|
85088
|
+
/** @internal */
|
|
85032
85089
|
async __internalSwitchScene(e) {
|
|
85033
85090
|
var i, I;
|
|
85034
85091
|
if (this._currentScene) {
|
|
@@ -85121,6 +85178,13 @@ class LI extends RA {
|
|
|
85121
85178
|
o instanceof Promise && await o;
|
|
85122
85179
|
}
|
|
85123
85180
|
}
|
|
85181
|
+
if (this._isCurrentlyLoading) {
|
|
85182
|
+
const i = this.tryGetSceneEventListener(this.gameObject);
|
|
85183
|
+
if (i && i.sceneOpened) {
|
|
85184
|
+
const I = i.sceneOpened(this);
|
|
85185
|
+
I instanceof Promise && await I;
|
|
85186
|
+
}
|
|
85187
|
+
}
|
|
85124
85188
|
}
|
|
85125
85189
|
async onEndLoading() {
|
|
85126
85190
|
var e;
|
|
@@ -85133,6 +85197,13 @@ class LI extends RA {
|
|
|
85133
85197
|
}
|
|
85134
85198
|
aA.remove(t);
|
|
85135
85199
|
}
|
|
85200
|
+
if (!this._isCurrentlyLoading) {
|
|
85201
|
+
const t = this.tryGetSceneEventListener(this.gameObject);
|
|
85202
|
+
if (t && t.sceneClosing) {
|
|
85203
|
+
const i = t.sceneClosing();
|
|
85204
|
+
i instanceof Promise && await i;
|
|
85205
|
+
}
|
|
85206
|
+
}
|
|
85136
85207
|
}
|
|
85137
85208
|
tryGetSceneEventListener(e, t = 0) {
|
|
85138
85209
|
const i = aA.foreachComponent(e, (I) => I.sceneClosing ? I : void 0);
|
|
@@ -86103,19 +86174,19 @@ class Ar extends xI {
|
|
|
86103
86174
|
}
|
|
86104
86175
|
}
|
|
86105
86176
|
nu([
|
|
86106
|
-
D(
|
|
86177
|
+
D(Le)
|
|
86107
86178
|
], Ar.prototype, "intensity", 2);
|
|
86108
86179
|
nu([
|
|
86109
|
-
D(
|
|
86180
|
+
D(Le)
|
|
86110
86181
|
], Ar.prototype, "falloff", 2);
|
|
86111
86182
|
nu([
|
|
86112
|
-
D(
|
|
86183
|
+
D(Le)
|
|
86113
86184
|
], Ar.prototype, "samples", 2);
|
|
86114
86185
|
nu([
|
|
86115
|
-
D(
|
|
86186
|
+
D(Le)
|
|
86116
86187
|
], Ar.prototype, "color", 2);
|
|
86117
86188
|
nu([
|
|
86118
|
-
D(
|
|
86189
|
+
D(Le)
|
|
86119
86190
|
], Ar.prototype, "luminanceInfluence", 2);
|
|
86120
86191
|
Ls("ScreenSpaceAmbientOcclusion", Ar);
|
|
86121
86192
|
var TCA = Object.defineProperty, HCA = Object.getOwnPropertyDescriptor, TB = (g, A, e, t) => {
|
|
@@ -86166,20 +86237,20 @@ TB([
|
|
|
86166
86237
|
D()
|
|
86167
86238
|
], Fn.prototype, "gammaCorrection", 2);
|
|
86168
86239
|
TB([
|
|
86169
|
-
D(
|
|
86240
|
+
D(Le)
|
|
86170
86241
|
], Fn.prototype, "intensity", 2);
|
|
86171
86242
|
TB([
|
|
86172
|
-
D(
|
|
86243
|
+
D(Le)
|
|
86173
86244
|
], Fn.prototype, "falloff", 2);
|
|
86174
86245
|
TB([
|
|
86175
|
-
D(
|
|
86246
|
+
D(Le)
|
|
86176
86247
|
], Fn.prototype, "aoRadius", 2);
|
|
86177
86248
|
TB([
|
|
86178
86249
|
QI(),
|
|
86179
86250
|
D()
|
|
86180
86251
|
], Fn.prototype, "screenspaceRadius", 2);
|
|
86181
86252
|
TB([
|
|
86182
|
-
D(
|
|
86253
|
+
D(Le)
|
|
86183
86254
|
], Fn.prototype, "color", 2);
|
|
86184
86255
|
TB([
|
|
86185
86256
|
QI(),
|
|
@@ -86315,7 +86386,7 @@ const sO = (rG = class extends RA {
|
|
|
86315
86386
|
updateNow(A) {
|
|
86316
86387
|
if (!(!this.target || this.target === this.gameObject)) {
|
|
86317
86388
|
if (this.followFactor > 0) {
|
|
86318
|
-
const e =
|
|
86389
|
+
const e = _e(this.target), t = this._firstUpdate || A ? 1 : ie.clamp01(this.context.time.deltaTime * this.followFactor), i = this.worldPosition;
|
|
86319
86390
|
this.positionAxes & Ul.X && (i.x = ie.lerp(i.x, e.x, t)), this.positionAxes & Ul.Y && (i.y = ie.lerp(i.y, e.y, t)), this.positionAxes & Ul.Z && (i.z = ie.lerp(i.z, e.z, t)), this.worldPosition = i;
|
|
86320
86391
|
}
|
|
86321
86392
|
if (this.rotateFactor > 0) {
|
|
@@ -87335,7 +87406,7 @@ class daA {
|
|
|
87335
87406
|
Co.clear();
|
|
87336
87407
|
const t = Co.createString(this.guid), i = Co.createString(this.userId);
|
|
87337
87408
|
gn.startSyncedCameraModel(Co), gn.addGuid(Co, t), gn.addUserId(Co, i);
|
|
87338
|
-
const I =
|
|
87409
|
+
const I = _e(A), o = Ay(A);
|
|
87339
87410
|
gn.addPos(Co, IB.createVec3(Co, I.x, I.y, I.z)), gn.addRot(Co, IB.createVec3(Co, o.x, o.y, o.z));
|
|
87340
87411
|
const s = gn.endSyncedCameraModel(Co);
|
|
87341
87412
|
Co.finish(s, HD), e.sendBinary(Co.asUint8Array());
|
|
@@ -87392,7 +87463,7 @@ const uM = (QG = class extends RA {
|
|
|
87392
87463
|
if (!this.context.connection.isConnected || this.context.connection.connectionId === null)
|
|
87393
87464
|
return;
|
|
87394
87465
|
this._model === null && (this._model = new daA(this.context.connection.connectionId, this.context.connection.connectionId + "_camera"));
|
|
87395
|
-
const e =
|
|
87466
|
+
const e = _e(A), t = bt(A);
|
|
87396
87467
|
(e.distanceTo(this._lastWorldPosition) > 1e-3 || t.angleTo(this._lastWorldQuaternion) > 0.01) && (this._needsUpdate = !0), this._lastWorldPosition.copy(e), this._lastWorldQuaternion.copy(t), !((!this._needsUpdate || this.context.time.frameCount % 2 !== 0) && !(this.context.time.realtimeSinceStartup - this._lastUpdateTime > this._camTimeoutInSeconds * 0.5)) && (this._lastUpdateTime = this.context.time.realtimeSinceStartup, this._needsUpdate = !1, this._model.send(A, this.context.connection), this.context.isInXR || this.context.players.setPlayerView(this.context.connection.connectionId, A, tB.Browser));
|
|
87397
87468
|
}
|
|
87398
87469
|
onReceivedRemoteCameraInfoBin(A) {
|
|
@@ -87698,22 +87769,22 @@ class LC extends xI {
|
|
|
87698
87769
|
}
|
|
87699
87770
|
}
|
|
87700
87771
|
wc([
|
|
87701
|
-
D(
|
|
87772
|
+
D(Le)
|
|
87702
87773
|
], LC.prototype, "offset", 2);
|
|
87703
87774
|
wc([
|
|
87704
|
-
D(
|
|
87775
|
+
D(Le)
|
|
87705
87776
|
], LC.prototype, "rotation", 2);
|
|
87706
87777
|
wc([
|
|
87707
|
-
D(
|
|
87778
|
+
D(Le)
|
|
87708
87779
|
], LC.prototype, "focusArea", 2);
|
|
87709
87780
|
wc([
|
|
87710
|
-
D(
|
|
87781
|
+
D(Le)
|
|
87711
87782
|
], LC.prototype, "feather", 2);
|
|
87712
87783
|
wc([
|
|
87713
|
-
D(
|
|
87784
|
+
D(Le)
|
|
87714
87785
|
], LC.prototype, "kernelSize", 2);
|
|
87715
87786
|
wc([
|
|
87716
|
-
D(
|
|
87787
|
+
D(Le)
|
|
87717
87788
|
], LC.prototype, "resolutionScale", 2);
|
|
87718
87789
|
Ls("TiltShiftEffect", LC);
|
|
87719
87790
|
var SaA = Object.defineProperty, maA = Object.getOwnPropertyDescriptor, GaA = (g, A, e, t) => {
|
|
@@ -87733,7 +87804,7 @@ class aS extends xI {
|
|
|
87733
87804
|
return !0;
|
|
87734
87805
|
}
|
|
87735
87806
|
init() {
|
|
87736
|
-
this.mode || (this.mode = new
|
|
87807
|
+
this.mode || (this.mode = new Le(jI)), this.mode.defaultValue = jI;
|
|
87737
87808
|
}
|
|
87738
87809
|
apply() {
|
|
87739
87810
|
this.mode || this.init(), this.mode.onValueChanged = this._apply.bind(this), this._apply(this.mode.value);
|
|
@@ -87755,7 +87826,7 @@ class aS extends xI {
|
|
|
87755
87826
|
}
|
|
87756
87827
|
}
|
|
87757
87828
|
GaA([
|
|
87758
|
-
D(
|
|
87829
|
+
D(Le)
|
|
87759
87830
|
], aS.prototype, "mode", 2);
|
|
87760
87831
|
Ls("Tonemapping", aS);
|
|
87761
87832
|
var kaA = Object.defineProperty, MaA = Object.getOwnPropertyDescriptor, rS = (g, A, e, t) => {
|
|
@@ -87895,13 +87966,13 @@ class Sc extends xI {
|
|
|
87895
87966
|
}
|
|
87896
87967
|
}
|
|
87897
87968
|
wN([
|
|
87898
|
-
D(
|
|
87969
|
+
D(Le)
|
|
87899
87970
|
], Sc.prototype, "color", 2);
|
|
87900
87971
|
wN([
|
|
87901
|
-
D(
|
|
87972
|
+
D(Le)
|
|
87902
87973
|
], Sc.prototype, "intensity", 2);
|
|
87903
87974
|
wN([
|
|
87904
|
-
D(
|
|
87975
|
+
D(Le)
|
|
87905
87976
|
], Sc.prototype, "center", 2);
|
|
87906
87977
|
Ls("Vignette", Sc);
|
|
87907
87978
|
var NaA = Object.defineProperty, FaA = Object.getOwnPropertyDescriptor, KaA = (g, A, e, t) => {
|
|
@@ -90308,7 +90379,7 @@ const prA = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
|
|
|
90308
90379
|
VisibilityAction: Ky,
|
|
90309
90380
|
Voip: ec,
|
|
90310
90381
|
Volume: by,
|
|
90311
|
-
VolumeParameter:
|
|
90382
|
+
VolumeParameter: Le,
|
|
90312
90383
|
VolumeProfile: Sy,
|
|
90313
90384
|
WebARCameraBackground: yN,
|
|
90314
90385
|
WebARSessionRoot: is,
|
|
@@ -90537,7 +90608,7 @@ z.add("Vignette", Sc);
|
|
|
90537
90608
|
z.add("VisibilityAction", Ky);
|
|
90538
90609
|
z.add("Voip", ec);
|
|
90539
90610
|
z.add("Volume", by);
|
|
90540
|
-
z.add("VolumeParameter",
|
|
90611
|
+
z.add("VolumeParameter", Le);
|
|
90541
90612
|
z.add("VolumeProfile", Sy);
|
|
90542
90613
|
z.add("WebARCameraBackground", yN);
|
|
90543
90614
|
z.add("WebARSessionRoot", is);
|
|
@@ -90771,7 +90842,7 @@ function UrA(g, A, e = !0) {
|
|
|
90771
90842
|
}
|
|
90772
90843
|
}
|
|
90773
90844
|
function _QA(g, A = null) {
|
|
90774
|
-
const e = A ??
|
|
90845
|
+
const e = A ?? xe.Current.scripts;
|
|
90775
90846
|
for (const t in e) {
|
|
90776
90847
|
const i = e[t];
|
|
90777
90848
|
if (i && i.guid === g)
|
|
@@ -90880,7 +90951,7 @@ class GO extends HTMLElement {
|
|
|
90880
90951
|
<div class="content">
|
|
90881
90952
|
<slot class="overlay-content"></slot>
|
|
90882
90953
|
</div>
|
|
90883
|
-
`, this.shadowRoot && this.shadowRoot.appendChild(e.content.cloneNode(!0)), this._context = new
|
|
90954
|
+
`, this.shadowRoot && this.shadowRoot.appendChild(e.content.cloneNode(!0)), this._context = new xe({ domElement: this }), this.addEventListener("error", this.onError);
|
|
90884
90955
|
}
|
|
90885
90956
|
static get observedAttributes() {
|
|
90886
90957
|
return NrA;
|
|
@@ -90986,7 +91057,7 @@ class GO extends HTMLElement {
|
|
|
90986
91057
|
var E, c;
|
|
90987
91058
|
if (!this.isConnected)
|
|
90988
91059
|
return;
|
|
90989
|
-
if (this._context || (Qi && console.warn("Create new context"), this._context = new
|
|
91060
|
+
if (this._context || (Qi && console.warn("Create new context"), this._context = new xe({ domElement: this })), !this._context) {
|
|
90990
91061
|
console.error("Needle Engine: Context not initialized");
|
|
90991
91062
|
return;
|
|
90992
91063
|
}
|
|
@@ -96340,7 +96411,7 @@ class zrA {
|
|
|
96340
96411
|
}
|
|
96341
96412
|
}
|
|
96342
96413
|
const qi = IA("debugphysics"), AG = IA("debugcolliderplacement"), eG = IA("debugcollisions"), XrA = IA("showcolliders"), tG = IA("debugraycasts"), OI = Symbol("needle component"), yI = Symbol("physics body"), nx = Symbol("rigidbody");
|
|
96343
|
-
let
|
|
96414
|
+
let On;
|
|
96344
96415
|
globalThis.true = globalThis.true !== void 0 ? globalThis.true : !0;
|
|
96345
96416
|
qi && console.log("Use Rapier", !0, globalThis.true);
|
|
96346
96417
|
rt.registerCallback(ki.ContextCreationStart, (g) => {
|
|
@@ -96483,10 +96554,10 @@ const Dh = class {
|
|
|
96483
96554
|
return qi && console.log("Rapier disabled"), !1;
|
|
96484
96555
|
if (this._hasCreatedWorld)
|
|
96485
96556
|
return console.error("Invalid call to create physics world: world is already created"), !0;
|
|
96486
|
-
if (this._hasCreatedWorld = !0,
|
|
96557
|
+
if (this._hasCreatedWorld = !0, On === void 0) {
|
|
96487
96558
|
qi && console.log("Import Rapier");
|
|
96488
96559
|
const A = await Promise.resolve().then(() => ZrA);
|
|
96489
|
-
qi && console.log("Init Rapier"), await A.init(),
|
|
96560
|
+
qi && console.log("Init Rapier"), await A.init(), On = A;
|
|
96490
96561
|
}
|
|
96491
96562
|
return qi && console.log("Physics engine initialized, creating world..."), this._world = new Uc(this._gravity), this.enabled = !0, this._isInitialized = !0, qi && console.log("Physics world created"), !0;
|
|
96492
96563
|
}
|
|
@@ -96494,37 +96565,39 @@ const Dh = class {
|
|
|
96494
96565
|
validate() {
|
|
96495
96566
|
this._isInitialized || qi && (this._lastWarnTime = this._lastWarnTime ?? 0, Date.now() - this._lastWarnTime > 1e3 && (this._lastWarnTime = Date.now(), console.warn("Physics engine is not initialized")));
|
|
96496
96567
|
}
|
|
96497
|
-
raycast(A, e, t
|
|
96498
|
-
var
|
|
96499
|
-
t
|
|
96500
|
-
|
|
96501
|
-
|
|
96568
|
+
raycast(A, e, t) {
|
|
96569
|
+
var n;
|
|
96570
|
+
let i = t == null ? void 0 : t.maxDistance, I = t == null ? void 0 : t.solid;
|
|
96571
|
+
i === void 0 && (i = 1 / 0), I === void 0 && (I = !0);
|
|
96572
|
+
const o = this.getPhysicsRay(this.rapierRay, A, e);
|
|
96573
|
+
if (!o)
|
|
96502
96574
|
return null;
|
|
96503
|
-
(this.debugRenderRaycasts || tG) && ye.DrawRay(
|
|
96504
|
-
const
|
|
96505
|
-
|
|
96506
|
-
return
|
|
96575
|
+
(this.debugRenderRaycasts || tG) && ye.DrawRay(o.origin, o.dir, 255, 1);
|
|
96576
|
+
const s = (n = this.world) == null ? void 0 : n.castRay(o, i, I, t == null ? void 0 : t.queryFilterFlags, t == null ? void 0 : t.filterGroups, void 0, void 0, (C) => {
|
|
96577
|
+
const a = C[OI];
|
|
96578
|
+
return t != null && t.filterPredicate ? t.filterPredicate(a) : !(a != null && a.gameObject.layers.isEnabled(2));
|
|
96507
96579
|
});
|
|
96508
|
-
if (
|
|
96509
|
-
const
|
|
96510
|
-
return
|
|
96580
|
+
if (s) {
|
|
96581
|
+
const C = o.pointAt(s.toi), a = this.raycastVectorsBuffer.get();
|
|
96582
|
+
return a.set(C.x, C.y, C.z), { point: a, collider: s.collider[OI] };
|
|
96511
96583
|
}
|
|
96512
96584
|
return null;
|
|
96513
96585
|
}
|
|
96514
|
-
raycastAndGetNormal(A, e, t
|
|
96515
|
-
var
|
|
96516
|
-
t
|
|
96517
|
-
|
|
96518
|
-
|
|
96586
|
+
raycastAndGetNormal(A, e, t) {
|
|
96587
|
+
var n;
|
|
96588
|
+
let i = t == null ? void 0 : t.maxDistance, I = t == null ? void 0 : t.solid;
|
|
96589
|
+
i === void 0 && (i = 1 / 0), I === void 0 && (I = !0);
|
|
96590
|
+
const o = this.getPhysicsRay(this.rapierRay, A, e);
|
|
96591
|
+
if (!o)
|
|
96519
96592
|
return null;
|
|
96520
|
-
(this.debugRenderRaycasts || tG) && ye.DrawRay(
|
|
96521
|
-
const
|
|
96522
|
-
|
|
96523
|
-
return
|
|
96593
|
+
(this.debugRenderRaycasts || tG) && ye.DrawRay(o.origin, o.dir, 255, 1);
|
|
96594
|
+
const s = (n = this.world) == null ? void 0 : n.castRayAndGetNormal(o, i, I, t == null ? void 0 : t.queryFilterFlags, t == null ? void 0 : t.filterGroups, void 0, void 0, (C) => {
|
|
96595
|
+
const a = C[OI];
|
|
96596
|
+
return t != null && t.filterPredicate ? t.filterPredicate(a) : !(a != null && a.gameObject.layers.isEnabled(2));
|
|
96524
96597
|
});
|
|
96525
|
-
if (
|
|
96526
|
-
const
|
|
96527
|
-
return
|
|
96598
|
+
if (s) {
|
|
96599
|
+
const C = o.pointAt(s.toi), a = s.normal, B = this.raycastVectorsBuffer.get(), Q = this.raycastVectorsBuffer.get();
|
|
96600
|
+
return B.set(C.x, C.y, C.z), Q.set(a.x, a.y, a.z), { point: B, normal: Q, collider: s.collider[OI] };
|
|
96528
96601
|
}
|
|
96529
96602
|
return null;
|
|
96530
96603
|
}
|
|
@@ -96553,7 +96626,7 @@ const Dh = class {
|
|
|
96553
96626
|
if (!i)
|
|
96554
96627
|
return console.error("Can not perform raycast - no camera found"), null;
|
|
96555
96628
|
o.set(A.origin.x, A.origin.y, A.origin.z);
|
|
96556
|
-
const a =
|
|
96629
|
+
const a = _e(i);
|
|
96557
96630
|
o.sub(a);
|
|
96558
96631
|
}
|
|
96559
96632
|
return o.normalize(), A.dir.x = o.x, A.dir.y = o.y, A.dir.z = o.z, A;
|
|
@@ -96718,7 +96791,7 @@ this is not optimal for performance since this isn't supported by the Rapier phy
|
|
|
96718
96791
|
throw new Error("Physics world not initialized");
|
|
96719
96792
|
const t = this._tempMatrix;
|
|
96720
96793
|
let i;
|
|
96721
|
-
A.attachedRigidbody ? i = this.getRigidbody(A, this._tempMatrix) : (qi && console.log("Create collider without rigidbody", A.name), t.makeRotationFromQuaternion(bt(A.gameObject)), t.setPosition(
|
|
96794
|
+
A.attachedRigidbody ? i = this.getRigidbody(A, this._tempMatrix) : (qi && console.log("Create collider without rigidbody", A.name), t.makeRotationFromQuaternion(bt(A.gameObject)), t.setPosition(_e(A.gameObject))), t.decompose(this._tempPosition, this._tempQuaternion, this._tempScale), this.tryApplyCenter(A, this._tempPosition), e.setTranslation(this._tempPosition.x, this._tempPosition.y, this._tempPosition.z), e.setRotation(this._tempQuaternion), e.setSensor(A.isTrigger);
|
|
96722
96795
|
const I = A.sharedMaterial;
|
|
96723
96796
|
if (I) {
|
|
96724
96797
|
if (I.bounciness !== void 0 && e.setRestitution(I.bounciness), I.bounceCombine !== void 0)
|
|
@@ -96761,25 +96834,29 @@ this is not optimal for performance since this isn't supported by the Rapier phy
|
|
|
96761
96834
|
Error:`, s), null;
|
|
96762
96835
|
}
|
|
96763
96836
|
}
|
|
96764
|
-
/**
|
|
96837
|
+
/**
|
|
96838
|
+
* Updates the collision groups of a collider.
|
|
96839
|
+
*
|
|
96840
|
+
* @param collider - The collider to update.
|
|
96841
|
+
*/
|
|
96765
96842
|
updateColliderCollisionGroups(A) {
|
|
96766
96843
|
const e = A[yI], t = A.membership;
|
|
96767
96844
|
let i = 0;
|
|
96768
96845
|
if (t == null)
|
|
96769
|
-
i =
|
|
96846
|
+
i = 65535;
|
|
96770
96847
|
else
|
|
96771
96848
|
for (let s = 0; s < t.length; s++) {
|
|
96772
96849
|
const n = t[s];
|
|
96773
|
-
i |= 1 << n;
|
|
96850
|
+
n > 31 ? console.error(`Rapier only supports 32 layers, layer ${n} is not supported`) : i |= 1 << Math.floor(n);
|
|
96774
96851
|
}
|
|
96775
96852
|
const I = A.filter;
|
|
96776
96853
|
let o = 0;
|
|
96777
96854
|
if (I == null)
|
|
96778
|
-
o =
|
|
96855
|
+
o = 65535;
|
|
96779
96856
|
else
|
|
96780
96857
|
for (let s = 0; s < I.length; s++) {
|
|
96781
96858
|
const n = I[s];
|
|
96782
|
-
o |= 1 << n;
|
|
96859
|
+
n > 31 ? console.error(`Rapier only supports 32 layers, layer ${n} is not supported`) : o |= 1 << Math.floor(n);
|
|
96783
96860
|
}
|
|
96784
96861
|
e.setCollisionGroups(i << 16 | o);
|
|
96785
96862
|
}
|
|
@@ -96792,12 +96869,12 @@ Error:`, s), null;
|
|
|
96792
96869
|
if (t = i[yI], !t) {
|
|
96793
96870
|
const I = i.isKinematic && !AG;
|
|
96794
96871
|
qi && console.log("Create rigidbody", I);
|
|
96795
|
-
const o = I ?
|
|
96796
|
-
o.setTranslation(s.x, s.y, s.z), o.setRotation(bt(A.attachedRigidbody.gameObject)), t = this.world.createRigidBody(o), this.bodies.push(t), this.objects.push(i);
|
|
96872
|
+
const o = I ? On.RigidBodyDesc.kinematicPositionBased() : On.RigidBodyDesc.dynamic(), s = _e(A.attachedRigidbody.gameObject);
|
|
96873
|
+
o.setTranslation(s.x, s.y, s.z), o.setRotation(bt(A.attachedRigidbody.gameObject)), o.centerOfMass = new On.Vector3(i.centerOfMass.x, i.centerOfMass.y, i.centerOfMass.z), t = this.world.createRigidBody(o), this.bodies.push(t), this.objects.push(i);
|
|
96797
96874
|
}
|
|
96798
96875
|
t[OI] = i, i[yI] = t, this.internalUpdateRigidbodyProperties(i, t), this.getRigidbodyRelativeMatrix(A.gameObject, i.gameObject, e), A[nx] = t;
|
|
96799
96876
|
} else {
|
|
96800
|
-
const i =
|
|
96877
|
+
const i = On.RigidBodyDesc.kinematicPositionBased(), I = _e(A.gameObject);
|
|
96801
96878
|
i.setTranslation(I.x, I.y, I.z), i.setRotation(bt(A.gameObject)), t = this.world.createRigidBody(i), e.identity(), t[OI] = null;
|
|
96802
96879
|
}
|
|
96803
96880
|
return t;
|
|
@@ -96840,7 +96917,7 @@ Error:`, s), null;
|
|
|
96840
96917
|
e.collider(t).setDensity(1e-7);
|
|
96841
96918
|
e.recomputeMassPropertiesFromColliders();
|
|
96842
96919
|
}
|
|
96843
|
-
e.setEnabledRotations(!A.lockRotationX, !A.lockRotationY, !A.lockRotationZ, !1), e.setEnabledTranslations(!A.lockPositionX, !A.lockPositionY, !A.lockPositionZ, !1), A.isKinematic ? e.setBodyType(
|
|
96920
|
+
e.setEnabledRotations(!A.lockRotationX, !A.lockRotationY, !A.lockRotationZ, !1), e.setEnabledTranslations(!A.lockPositionX, !A.lockPositionY, !A.lockPositionZ, !1), A.isKinematic ? e.setBodyType(On.RigidBodyType.KinematicPositionBased, !1) : e.setBodyType(On.RigidBodyType.Dynamic, !1);
|
|
96844
96921
|
}
|
|
96845
96922
|
step(A) {
|
|
96846
96923
|
this.world && this.enabled && (this._isUpdatingPhysicsWorld = !0, this.eventQueue || (this.eventQueue = new QF(!1)), A && (this.world.timestep = ie.lerp(this.world.timestep, A, 0.8)), this.world.step(this.eventQueue), this._isUpdatingPhysicsWorld = !1);
|
|
@@ -96891,7 +96968,7 @@ Error:`, s), null;
|
|
|
96891
96968
|
}
|
|
96892
96969
|
syncPhysicsBody(A, e, t, i) {
|
|
96893
96970
|
if (e instanceof KE) {
|
|
96894
|
-
const I =
|
|
96971
|
+
const I = _e(A, this._tempPosition), o = bt(A, this._tempQuaternion);
|
|
96895
96972
|
switch (e.bodyType()) {
|
|
96896
96973
|
case GI.Fixed:
|
|
96897
96974
|
case GI.KinematicPositionBased:
|
|
@@ -96903,7 +96980,7 @@ Error:`, s), null;
|
|
|
96903
96980
|
break;
|
|
96904
96981
|
}
|
|
96905
96982
|
} else if (e instanceof vE) {
|
|
96906
|
-
const I =
|
|
96983
|
+
const I = _e(A, this._tempPosition), o = bt(A, this._tempQuaternion), s = e[OI];
|
|
96907
96984
|
if (this.tryApplyCenter(s, I), t) {
|
|
96908
96985
|
const n = e.translation();
|
|
96909
96986
|
(n.x !== I.x || n.y !== I.y || n.z !== I.z) && e.setTranslation(I);
|
|
@@ -96951,7 +97028,7 @@ Error:`, s), null;
|
|
|
96951
97028
|
}
|
|
96952
97029
|
const I = A[yI], o = e[yI];
|
|
96953
97030
|
this.calculateJointRelativeMatrices(A.gameObject, e.gameObject, this._tempMatrix), this._tempMatrix.decompose(this._tempPosition, this._tempQuaternion, this._tempScale);
|
|
96954
|
-
const s =
|
|
97031
|
+
const s = On.JointData.revolute(t, this._tempPosition, i), n = this.world.createImpulseJoint(s, I, o, !0);
|
|
96955
97032
|
qi && console.log("ADD HINGE JOINT", n);
|
|
96956
97033
|
}
|
|
96957
97034
|
calculateJointRelativeMatrices(A, e, t) {
|
|
@@ -97183,7 +97260,7 @@ function bO(g, A) {
|
|
|
97183
97260
|
console.warn("Missing camera object, can not add orbit controls");
|
|
97184
97261
|
}
|
|
97185
97262
|
const cF = {
|
|
97186
|
-
Context:
|
|
97263
|
+
Context: xe,
|
|
97187
97264
|
glTF: {
|
|
97188
97265
|
loadFromURL: DO
|
|
97189
97266
|
}
|
|
@@ -98244,7 +98321,7 @@ export {
|
|
|
98244
98321
|
peA as ConnectionEvents,
|
|
98245
98322
|
jrA as ContactPoint,
|
|
98246
98323
|
vB as ContactShadows,
|
|
98247
|
-
|
|
98324
|
+
xe as Context,
|
|
98248
98325
|
fQA as ContextArgs,
|
|
98249
98326
|
ki as ContextEvent,
|
|
98250
98327
|
rt as ContextRegistry,
|
|
@@ -98337,7 +98414,7 @@ export {
|
|
|
98337
98414
|
ko as MinMaxGradient,
|
|
98338
98415
|
Jt as NEEDLE_progressive,
|
|
98339
98416
|
fp as NEKeyboardEvent,
|
|
98340
|
-
|
|
98417
|
+
Ca as NEPointerEvent,
|
|
98341
98418
|
rt as NeedleEngine,
|
|
98342
98419
|
GO as NeedleEngineHTMLElement,
|
|
98343
98420
|
hO as NeedleGltfLoader,
|
|
@@ -98493,7 +98570,7 @@ export {
|
|
|
98493
98570
|
Ky as VisibilityAction,
|
|
98494
98571
|
ec as Voip,
|
|
98495
98572
|
by as Volume,
|
|
98496
|
-
|
|
98573
|
+
Le as VolumeParameter,
|
|
98497
98574
|
Sy as VolumeProfile,
|
|
98498
98575
|
dQA as WaitForFrames,
|
|
98499
98576
|
NeA as WaitForPromise,
|
|
@@ -98591,7 +98668,7 @@ export {
|
|
|
98591
98668
|
Pw as getUrlParams,
|
|
98592
98669
|
aT as getWorldDirection,
|
|
98593
98670
|
rT as getWorldEuler,
|
|
98594
|
-
|
|
98671
|
+
_e as getWorldPosition,
|
|
98595
98672
|
bt as getWorldQuaternion,
|
|
98596
98673
|
Ay as getWorldRotation,
|
|
98597
98674
|
oi as getWorldScale,
|