@needle-tools/engine 3.45.2-beta.1 → 3.45.2-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/needle-engine.js +11 -7
- package/dist/needle-engine.light.js +11 -7
- package/dist/needle-engine.light.min.js +28 -28
- package/dist/needle-engine.light.umd.cjs +4 -4
- package/dist/needle-engine.min.js +4 -4
- package/dist/needle-engine.umd.cjs +4 -4
- package/lib/engine/engine_input.d.ts +5 -0
- package/lib/engine/engine_input.js +7 -0
- package/lib/engine/engine_input.js.map +1 -1
- package/lib/engine/engine_physics.js +3 -0
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.js +1 -1
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/package.json +2 -2
- package/plugins/common/license.cjs +1 -1
- package/src/engine/engine_input.ts +9 -0
- package/src/engine/engine_physics.ts +2 -0
- package/src/engine/xr/NeedleXRSession.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to this package will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
|
5
5
|
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [3.45.2-beta.3] - 2024-07-18
|
|
8
|
+
- Add: Support for immersive-ar `unbounded` session for unlimited passthrough experiences (enabled by default).
|
|
9
|
+
This is currently an experimental feature in the Quest browser. To enable it go to `chrome://flags` and check `WebXR experiments`, then restart the Browser. The next time you start an immersive-ar session on quest the WebXR experience will run without guardian boundaries.
|
|
10
|
+
- Add: NEPointerEvent `isSpatial` getter to easily determine if an input event was generated by a spatial device
|
|
11
|
+
- Fix: Raycast handle null or empty objects in targets array
|
|
12
|
+
|
|
7
13
|
## [3.45.2-beta.1] - 2024-07-17
|
|
8
14
|
- Add: Object `static:true` does now disable `matrixAutoUpdate`
|
|
9
15
|
- Fix: Animation component `play()` issue where previous animations were not always stopped/faded out
|
package/dist/needle-engine.js
CHANGED
|
@@ -29626,13 +29626,13 @@ function tiA() {
|
|
|
29626
29626
|
return g || null;
|
|
29627
29627
|
}
|
|
29628
29628
|
const t4 = gA("debugdefines");
|
|
29629
|
-
Sh('if(!globalThis[""3.45.2-beta.
|
|
29629
|
+
Sh('if(!globalThis[""3.45.2-beta.3""]) globalThis[""3.45.2-beta.3""] = "0.0.0";');
|
|
29630
29630
|
Sh('if(!globalThis[""undefined""]) globalThis[""undefined""] = "unknown";');
|
|
29631
|
-
Sh('if(!globalThis[""
|
|
29632
|
-
Sh('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.45.2-beta.
|
|
29631
|
+
Sh('if(!globalThis[""Thu Jul 18 2024 13:36:22 GMT+0200 (Central European Summer Time)""]) globalThis[""Thu Jul 18 2024 13:36:22 GMT+0200 (Central European Summer Time)""] = "unknown";');
|
|
29632
|
+
Sh('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.45.2-beta.3";');
|
|
29633
29633
|
Sh('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
|
|
29634
|
-
Sh('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "
|
|
29635
|
-
const un = "3.45.2-beta.
|
|
29634
|
+
Sh('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Thu Jul 18 2024 13:36:22 GMT+0200 (Central European Summer Time)";');
|
|
29635
|
+
const un = "3.45.2-beta.3", AJ = "undefined", i4 = "Thu Jul 18 2024 13:36:22 GMT+0200 (Central European Summer Time)";
|
|
29636
29636
|
t4 && console.log(`Engine version: ${un} (generator: ${AJ})
|
|
29637
29637
|
Project built at ${i4}`);
|
|
29638
29638
|
const oB = "needle_isActiveInHierarchy", $E = "builtin_components", sS = "needle_editor_guid";
|
|
@@ -56268,6 +56268,10 @@ class xC extends PointerEvent {
|
|
|
56268
56268
|
B(this, "_propagationStopped", !1);
|
|
56269
56269
|
this._pointerid = i.pointerId, this._pointerType = i.pointerType, this._type = e, this.deviceIndex = i.deviceIndex, this.origin = i.origin, this.source = t, this.mode = i.mode, this._ray = i.ray, this.space = i.device;
|
|
56270
56270
|
}
|
|
56271
|
+
/** Returns true if the input was emitted in 3D space (and not by e.g. clicking on a 2D screen). You can use {@link mode} if you need more information about the input source */
|
|
56272
|
+
get isSpatial() {
|
|
56273
|
+
return this.mode != "screen";
|
|
56274
|
+
}
|
|
56271
56275
|
/** A ray in worldspace for the event.
|
|
56272
56276
|
* If the ray is undefined you can also use `space.worldForward` and `space.worldPosition` */
|
|
56273
56277
|
get ray() {
|
|
@@ -64348,7 +64352,7 @@ const Ba = class {
|
|
|
64348
64352
|
switch (A) {
|
|
64349
64353
|
case "immersive-ar":
|
|
64350
64354
|
return {
|
|
64351
|
-
optionalFeatures: ["anchors", "local-floor", "hand-tracking", "layers", "dom-overlay", "hit-test"]
|
|
64355
|
+
optionalFeatures: ["anchors", "local-floor", "hand-tracking", "layers", "dom-overlay", "hit-test", "unbounded"]
|
|
64352
64356
|
};
|
|
64353
64357
|
case "immersive-vr":
|
|
64354
64358
|
return {
|
|
@@ -66187,7 +66191,7 @@ class JBA {
|
|
|
66187
66191
|
intersect(A, e, t, i) {
|
|
66188
66192
|
var I;
|
|
66189
66193
|
for (const o of e) {
|
|
66190
|
-
if (o.visible === !1 || fe.isGizmo(o) || i.lineThreshold !== void 0 && i.lineThreshold < 0 && o instanceof Hi)
|
|
66194
|
+
if (!o || o.visible === !1 || fe.isGizmo(o) || i.lineThreshold !== void 0 && i.lineThreshold < 0 && o instanceof Hi)
|
|
66191
66195
|
continue;
|
|
66192
66196
|
const s = (I = i.testObject) == null ? void 0 : I.call(i, o);
|
|
66193
66197
|
if (s === !1)
|
|
@@ -29626,13 +29626,13 @@ function Cte() {
|
|
|
29626
29626
|
return s || null;
|
|
29627
29627
|
}
|
|
29628
29628
|
const _V = ie("debugdefines");
|
|
29629
|
-
Kg('if(!globalThis[""3.45.2-beta.
|
|
29629
|
+
Kg('if(!globalThis[""3.45.2-beta.3""]) globalThis[""3.45.2-beta.3""] = "0.0.0";');
|
|
29630
29630
|
Kg('if(!globalThis[""undefined""]) globalThis[""undefined""] = "unknown";');
|
|
29631
|
-
Kg('if(!globalThis[""
|
|
29632
|
-
Kg('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.45.2-beta.
|
|
29631
|
+
Kg('if(!globalThis[""Thu Jul 18 2024 13:36:34 GMT+0200 (Central European Summer Time)""]) globalThis[""Thu Jul 18 2024 13:36:34 GMT+0200 (Central European Summer Time)""] = "unknown";');
|
|
29632
|
+
Kg('globalThis["__NEEDLE_ENGINE_VERSION__"] = "3.45.2-beta.3";');
|
|
29633
29633
|
Kg('globalThis["__NEEDLE_ENGINE_GENERATOR__"] = "undefined";');
|
|
29634
|
-
Kg('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "
|
|
29635
|
-
const sl = "3.45.2-beta.
|
|
29634
|
+
Kg('globalThis["__NEEDLE_PROJECT_BUILD_TIME__"] = "Thu Jul 18 2024 13:36:34 GMT+0200 (Central European Summer Time)";');
|
|
29635
|
+
const sl = "3.45.2-beta.3", V2 = "undefined", bV = "Thu Jul 18 2024 13:36:34 GMT+0200 (Central European Summer Time)";
|
|
29636
29636
|
_V && console.log(`Engine version: ${sl} (generator: ${V2})
|
|
29637
29637
|
Project built at ${bV}`);
|
|
29638
29638
|
const zu = "needle_isActiveInHierarchy", Im = "builtin_components", bw = "needle_editor_guid";
|
|
@@ -56268,6 +56268,10 @@ class vu extends PointerEvent {
|
|
|
56268
56268
|
d(this, "_propagationStopped", !1);
|
|
56269
56269
|
this._pointerid = n.pointerId, this._pointerType = n.pointerType, this._type = t, this.deviceIndex = n.deviceIndex, this.origin = n.origin, this.source = i, this.mode = n.mode, this._ray = n.ray, this.space = n.device;
|
|
56270
56270
|
}
|
|
56271
|
+
/** Returns true if the input was emitted in 3D space (and not by e.g. clicking on a 2D screen). You can use {@link mode} if you need more information about the input source */
|
|
56272
|
+
get isSpatial() {
|
|
56273
|
+
return this.mode != "screen";
|
|
56274
|
+
}
|
|
56271
56275
|
/** A ray in worldspace for the event.
|
|
56272
56276
|
* If the ray is undefined you can also use `space.worldForward` and `space.worldPosition` */
|
|
56273
56277
|
get ray() {
|
|
@@ -64348,7 +64352,7 @@ const Jc = class {
|
|
|
64348
64352
|
switch (e) {
|
|
64349
64353
|
case "immersive-ar":
|
|
64350
64354
|
return {
|
|
64351
|
-
optionalFeatures: ["anchors", "local-floor", "hand-tracking", "layers", "dom-overlay", "hit-test"]
|
|
64355
|
+
optionalFeatures: ["anchors", "local-floor", "hand-tracking", "layers", "dom-overlay", "hit-test", "unbounded"]
|
|
64352
64356
|
};
|
|
64353
64357
|
case "immersive-vr":
|
|
64354
64358
|
return {
|
|
@@ -66187,7 +66191,7 @@ class rue {
|
|
|
66187
66191
|
intersect(e, t, i, n) {
|
|
66188
66192
|
var r;
|
|
66189
66193
|
for (const o of t) {
|
|
66190
|
-
if (o.visible === !1 || _t.isGizmo(o) || n.lineThreshold !== void 0 && n.lineThreshold < 0 && o instanceof Pn)
|
|
66194
|
+
if (!o || o.visible === !1 || _t.isGizmo(o) || n.lineThreshold !== void 0 && n.lineThreshold < 0 && o instanceof Pn)
|
|
66191
66195
|
continue;
|
|
66192
66196
|
const a = (r = n.testObject) == null ? void 0 : r.call(n, o);
|
|
66193
66197
|
if (a === !1)
|