@needle-tools/engine 3.32.6-alpha → 3.32.7-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 +6 -0
- package/dist/needle-engine.js +1797 -1712
- package/dist/needle-engine.light.js +1765 -1680
- package/dist/needle-engine.light.min.js +122 -122
- package/dist/needle-engine.light.umd.cjs +104 -104
- package/dist/needle-engine.min.js +122 -122
- package/dist/needle-engine.umd.cjs +104 -104
- package/lib/engine/engine_gameobject.js +0 -1
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_gizmos.js +1 -1
- package/lib/engine/engine_gizmos.js.map +1 -1
- package/lib/engine/xr/NeedleXRController.js +1 -0
- package/lib/engine/xr/NeedleXRController.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +1 -5
- package/lib/engine/xr/NeedleXRSession.js +9 -53
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine/xr/SceneTransition.d.ts +18 -0
- package/lib/engine/xr/SceneTransition.js +68 -0
- package/lib/engine/xr/SceneTransition.js.map +1 -0
- package/lib/engine-components/ui/EventSystem.d.ts +12 -1
- package/lib/engine-components/ui/EventSystem.js +88 -24
- package/lib/engine-components/ui/EventSystem.js.map +1 -1
- package/lib/engine-components/ui/PointerEvents.d.ts +27 -3
- package/lib/engine-components/ui/PointerEvents.js +36 -2
- package/lib/engine-components/ui/PointerEvents.js.map +1 -1
- package/package.json +1 -1
- package/src/engine/engine_gameobject.ts +0 -1
- package/src/engine/engine_gizmos.ts +1 -1
- package/src/engine/xr/NeedleXRController.ts +1 -0
- package/src/engine/xr/NeedleXRSession.ts +9 -54
- package/src/engine/xr/SceneTransition.ts +76 -0
- package/src/engine-components/ui/EventSystem.ts +104 -33
- package/src/engine-components/ui/PointerEvents.ts +40 -5
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { DoubleSide, Mesh, MeshBasicMaterial, PlaneGeometry } from "three";
|
|
2
|
+
import { Mathf } from "../engine_math.js";
|
|
3
|
+
export class SceneTransition {
|
|
4
|
+
_fadeToColorQuad;
|
|
5
|
+
_fadeToColorMaterial;
|
|
6
|
+
constructor() {
|
|
7
|
+
this._fadeToColorMaterial = new MeshBasicMaterial({
|
|
8
|
+
color: 0x000000,
|
|
9
|
+
transparent: true,
|
|
10
|
+
depthTest: false,
|
|
11
|
+
fog: false,
|
|
12
|
+
side: DoubleSide,
|
|
13
|
+
});
|
|
14
|
+
this._fadeToColorQuad = new Mesh(new PlaneGeometry(10, 10), this._fadeToColorMaterial);
|
|
15
|
+
}
|
|
16
|
+
dispose() {
|
|
17
|
+
this._fadeToColorQuad.geometry.dispose();
|
|
18
|
+
this._fadeToColorMaterial.dispose();
|
|
19
|
+
}
|
|
20
|
+
update(camera, dt) {
|
|
21
|
+
const quad = this._fadeToColorQuad;
|
|
22
|
+
const mat = this._fadeToColorMaterial;
|
|
23
|
+
// make sure the quad is in the scene
|
|
24
|
+
if (quad.parent !== camera && mat.opacity > 0) {
|
|
25
|
+
camera.add(quad);
|
|
26
|
+
}
|
|
27
|
+
else if (mat.opacity === 0) {
|
|
28
|
+
quad.removeFromParent();
|
|
29
|
+
}
|
|
30
|
+
quad.layers.set(2);
|
|
31
|
+
quad.material = this._fadeToColorMaterial;
|
|
32
|
+
quad.position.z = -1;
|
|
33
|
+
// perform the fade
|
|
34
|
+
const fadeValue = this._requestedFadeValue;
|
|
35
|
+
mat.opacity = Mathf.lerp(mat.opacity, fadeValue, dt / .03);
|
|
36
|
+
// check if we're close enough to the desired value:
|
|
37
|
+
if (Math.abs(mat.opacity - fadeValue) <= .01) {
|
|
38
|
+
if (this._transitionResolve) {
|
|
39
|
+
this._transitionResolve();
|
|
40
|
+
this._transitionResolve = null;
|
|
41
|
+
this._transitionPromise = null;
|
|
42
|
+
this._requestedFadeValue = 0;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
remove() {
|
|
47
|
+
this._fadeToColorQuad.removeFromParent();
|
|
48
|
+
}
|
|
49
|
+
/** Call to fade rendering to black for a short moment (the returned promise will be resolved when fully black)
|
|
50
|
+
* This can be used to mask scene transitions or teleportation
|
|
51
|
+
* @returns a promise that is resolved when the screen is fully black
|
|
52
|
+
* @example `fadeTransition().then(() => { <fully_black> })`
|
|
53
|
+
*/
|
|
54
|
+
fadeTransition() {
|
|
55
|
+
if (this._transitionPromise)
|
|
56
|
+
return this._transitionPromise;
|
|
57
|
+
this._requestedFadeValue = 1;
|
|
58
|
+
const promise = new Promise(resolve => {
|
|
59
|
+
this._transitionResolve = resolve;
|
|
60
|
+
});
|
|
61
|
+
this._transitionPromise = promise;
|
|
62
|
+
return promise;
|
|
63
|
+
}
|
|
64
|
+
_requestedFadeValue = 0;
|
|
65
|
+
_transitionPromise = null;
|
|
66
|
+
_transitionResolve = null;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=SceneTransition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SceneTransition.js","sourceRoot":"","sources":["../../../src/engine/xr/SceneTransition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,OAAO,eAAe;IAEP,gBAAgB,CAAO;IACvB,oBAAoB,CAAoB;IAEzD;QACI,IAAI,CAAC,oBAAoB,GAAG,IAAI,iBAAiB,CAAC;YAC9C,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,KAAK;YAChB,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO;QACH,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzC,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,EAAU;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEtC,qCAAqC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE;YAC3C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACpB;aACI,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAC3B;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAqB,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrB,mBAAmB;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC3C,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,GAAG,GAAG,CAAC,CAAC;QAE3D,oDAAoD;QACpD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,GAAG,EAAE;YAC1C,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;aAChC;SACJ;IACL,CAAC;IACD,MAAM;QACF,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC;IAED;;;;MAIE;IACF,cAAc;QACV,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YACxC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAClC,OAAO,OAAO,CAAC;IACnB,CAAC;IAGO,mBAAmB,GAAW,CAAC,CAAC;IAChC,kBAAkB,GAAyB,IAAI,CAAC;IAChD,kBAAkB,GAAwB,IAAI,CAAC;CAC1D"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Behaviour } from "../Component.js";
|
|
2
2
|
import { Context } from "../../engine/engine_setup.js";
|
|
3
|
-
import { PointerEventData } from "./PointerEvents.js";
|
|
3
|
+
import { type IPointerEventHandler, PointerEventData } from "./PointerEvents.js";
|
|
4
4
|
import { Raycaster } from "./Raycaster.js";
|
|
5
5
|
export declare enum EventSystemEvents {
|
|
6
6
|
BeforeHandleInput = "BeforeHandleInput",
|
|
@@ -71,6 +71,7 @@ export declare class EventSystem extends Behaviour {
|
|
|
71
71
|
private shouldRaycastObject_AddToYesCache;
|
|
72
72
|
/** the raycast filter is always overriden */
|
|
73
73
|
private performRaycast;
|
|
74
|
+
private assignHitInformation;
|
|
74
75
|
private handleIntersections;
|
|
75
76
|
private _sortingBuffer;
|
|
76
77
|
private _noDepthTestingResults;
|
|
@@ -93,6 +94,16 @@ export declare class EventSystem extends Behaviour {
|
|
|
93
94
|
* Propagate up in hiearchy and call OnExit regardless of the pointer event data
|
|
94
95
|
*/
|
|
95
96
|
private triggerOnExit;
|
|
97
|
+
/** handles onPointerUp - this will also release the pointerCapture */
|
|
98
|
+
private invokeOnPointerUp;
|
|
99
|
+
/** the list of component handlers that requested pointerCapture for a specific pointerId */
|
|
100
|
+
private readonly _capturedPointer;
|
|
101
|
+
/** check if the event was marked to be captured: if yes add the current component to the captured list */
|
|
102
|
+
private handlePointerCapture;
|
|
103
|
+
/** removes the component from the pointer capture list */
|
|
104
|
+
releasePointerCapture(pointerId: number, component: IPointerEventHandler): void;
|
|
105
|
+
/** invoke the pointerMove event on all captured handlers */
|
|
106
|
+
private invokePointerCapture;
|
|
96
107
|
private readonly pointerEnterSymbol;
|
|
97
108
|
private readonly pointerExitSymbol;
|
|
98
109
|
private isChild;
|
|
@@ -156,7 +156,7 @@ export class EventSystem extends Behaviour {
|
|
|
156
156
|
hasActiveUI: this.currentActiveMeshUIComponents.length > 0,
|
|
157
157
|
};
|
|
158
158
|
this.dispatchEvent(new CustomEvent(EventSystemEvents.BeforeHandleInput, { detail: evt }));
|
|
159
|
-
// handle
|
|
159
|
+
// then handle the intersections and call the callbacks on the regular objects
|
|
160
160
|
this.handleIntersections(id, hits, data);
|
|
161
161
|
this.dispatchEvent(new CustomEvent(EventSystemEvents.AfterHandleInput, { detail: evt }));
|
|
162
162
|
}
|
|
@@ -252,20 +252,34 @@ export class EventSystem extends Behaviour {
|
|
|
252
252
|
});
|
|
253
253
|
return this._sortedHits;
|
|
254
254
|
}
|
|
255
|
+
assignHitInformation(args, hit) {
|
|
256
|
+
if (!hit) {
|
|
257
|
+
args.point = undefined;
|
|
258
|
+
args.normal = undefined;
|
|
259
|
+
args.face = undefined;
|
|
260
|
+
args.distance = undefined;
|
|
261
|
+
args.instanceId = undefined;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
args.point = hit.point;
|
|
265
|
+
args.normal = hit.normal;
|
|
266
|
+
args.face = hit.face;
|
|
267
|
+
args.distance = hit.distance;
|
|
268
|
+
args.instanceId = hit.instanceId;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
255
271
|
handleIntersections(id, hits, args) {
|
|
272
|
+
// first invoke captured pointers
|
|
273
|
+
this.assignHitInformation(args, hits?.[0]);
|
|
274
|
+
this.invokePointerCapture(args);
|
|
256
275
|
if (hits?.length) {
|
|
257
276
|
hits = this.sortCandidates(hits);
|
|
258
277
|
for (const hit of hits) {
|
|
259
278
|
if (args.event.immediatePropagationStopped) {
|
|
260
279
|
return false;
|
|
261
280
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
args.normal = hit.normal;
|
|
265
|
-
args.face = hit.face;
|
|
266
|
-
args.distance = hit.distance;
|
|
267
|
-
args.instanceId = hit.instanceId;
|
|
268
|
-
if (this.handleEventOnObject(object, args)) {
|
|
281
|
+
this.assignHitInformation(args, hit);
|
|
282
|
+
if (this.handleEventOnObject(hit.object, args)) {
|
|
269
283
|
return true;
|
|
270
284
|
}
|
|
271
285
|
}
|
|
@@ -280,7 +294,7 @@ export class EventSystem extends Behaviour {
|
|
|
280
294
|
// if it was up, it means it doesn't should notify things that it down on before
|
|
281
295
|
if (args.isUp) {
|
|
282
296
|
const pressedData = this.pressedByID.get(id);
|
|
283
|
-
pressedData?.handlers.forEach(h =>
|
|
297
|
+
pressedData?.handlers.forEach(h => this.invokeOnPointerUp(args, h));
|
|
284
298
|
this.pressedByID.delete(id);
|
|
285
299
|
}
|
|
286
300
|
return false;
|
|
@@ -324,14 +338,10 @@ export class EventSystem extends Behaviour {
|
|
|
324
338
|
// Event without pointer can't be handled
|
|
325
339
|
if (args.pointerId === undefined) {
|
|
326
340
|
if (debug)
|
|
327
|
-
console.
|
|
341
|
+
console.error("Event without pointer can't be handled", args);
|
|
328
342
|
return false;
|
|
329
343
|
}
|
|
330
|
-
// We want to call all event methods even if the event was used
|
|
331
|
-
// Used event can't be handled
|
|
332
|
-
// if (args.used) return false;
|
|
333
344
|
// Correct the handled object to match the relevant object in shadow dom (?)
|
|
334
|
-
const originalObject = object;
|
|
335
345
|
args.object = object;
|
|
336
346
|
const parent = object.parent;
|
|
337
347
|
let isShadow = false;
|
|
@@ -398,11 +408,8 @@ export class EventSystem extends Behaviour {
|
|
|
398
408
|
/**
|
|
399
409
|
* Propagate up in hiearchy and call the callback for each component that is possibly a handler
|
|
400
410
|
*/
|
|
401
|
-
propagate(object,
|
|
411
|
+
propagate(object, onComponent) {
|
|
402
412
|
while (true) {
|
|
403
|
-
// Propagate up the hierarchy
|
|
404
|
-
if (args.used)
|
|
405
|
-
break;
|
|
406
413
|
if (!object)
|
|
407
414
|
break;
|
|
408
415
|
GameObject.foreachComponent(object, comp => {
|
|
@@ -437,7 +444,7 @@ export class EventSystem extends Behaviour {
|
|
|
437
444
|
// so maybe check the angle every frame?
|
|
438
445
|
break;
|
|
439
446
|
}
|
|
440
|
-
this.propagate(object,
|
|
447
|
+
this.propagate(object, (behaviour) => {
|
|
441
448
|
const comp = behaviour;
|
|
442
449
|
if (comp.interactable === false)
|
|
443
450
|
return;
|
|
@@ -457,15 +464,17 @@ export class EventSystem extends Behaviour {
|
|
|
457
464
|
// So we can call the up event on the same handler
|
|
458
465
|
// In a scenario where we Down on one object and Up on another
|
|
459
466
|
pressedEvent?.handlers.add(comp);
|
|
467
|
+
this.handlePointerCapture(args, comp);
|
|
460
468
|
}
|
|
461
469
|
}
|
|
462
470
|
if (comp.onPointerMove) {
|
|
463
471
|
if (isMoving)
|
|
464
472
|
comp.onPointerMove(args);
|
|
473
|
+
this.handlePointerCapture(args, comp);
|
|
465
474
|
}
|
|
466
475
|
if (args.isUp) {
|
|
467
476
|
if (comp.onPointerUp) {
|
|
468
|
-
|
|
477
|
+
this.invokeOnPointerUp(args, comp);
|
|
469
478
|
// We don't want to call Up twice if we Down and Up on the same object
|
|
470
479
|
// But if we Down on one and Up on another we want to call Up on the first one as well
|
|
471
480
|
// For example if the object was cloned by the Duplicatable
|
|
@@ -489,9 +498,7 @@ export class EventSystem extends Behaviour {
|
|
|
489
498
|
// If user drags away from the object, then it doesn't get the UP event
|
|
490
499
|
if (args.isUp) {
|
|
491
500
|
pressedEvent?.handlers.forEach((handler) => {
|
|
492
|
-
|
|
493
|
-
handler.onPointerUp(args);
|
|
494
|
-
}
|
|
501
|
+
this.invokeOnPointerUp(args, handler);
|
|
495
502
|
});
|
|
496
503
|
this.pressedByID.delete(args.pointerId);
|
|
497
504
|
}
|
|
@@ -500,7 +507,7 @@ export class EventSystem extends Behaviour {
|
|
|
500
507
|
* Propagate up in hiearchy and call OnExit regardless of the pointer event data
|
|
501
508
|
*/
|
|
502
509
|
triggerOnExit(object, args, newObject) {
|
|
503
|
-
this.propagate(object,
|
|
510
|
+
this.propagate(object, (behaviour) => {
|
|
504
511
|
if (!behaviour.gameObject || behaviour.destroyed)
|
|
505
512
|
return;
|
|
506
513
|
const inst = behaviour;
|
|
@@ -517,6 +524,63 @@ export class EventSystem extends Behaviour {
|
|
|
517
524
|
}
|
|
518
525
|
});
|
|
519
526
|
}
|
|
527
|
+
/** handles onPointerUp - this will also release the pointerCapture */
|
|
528
|
+
invokeOnPointerUp(evt, handler) {
|
|
529
|
+
handler.onPointerUp?.call(handler, evt);
|
|
530
|
+
this.releasePointerCapture(evt.pointerId, handler);
|
|
531
|
+
}
|
|
532
|
+
/** the list of component handlers that requested pointerCapture for a specific pointerId */
|
|
533
|
+
_capturedPointer = {};
|
|
534
|
+
/** check if the event was marked to be captured: if yes add the current component to the captured list */
|
|
535
|
+
handlePointerCapture(evt, comp) {
|
|
536
|
+
if (evt.z__pointer_ctured) {
|
|
537
|
+
evt.z__pointer_ctured = false;
|
|
538
|
+
// only the onPointerMove event is called with captured pointers so we don't need to add it to our list if it doesnt implement onPointerMove
|
|
539
|
+
if (comp.onPointerMove) {
|
|
540
|
+
const list = this._capturedPointer[evt.pointerId] || [];
|
|
541
|
+
list.push(comp);
|
|
542
|
+
this._capturedPointer[evt.pointerId] = list;
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
if (isDevEnvironment())
|
|
546
|
+
console.warn("PointerCapture was requested but the component doesn't implement onPointerMove. It will not receive any pointer events");
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
else if (evt.z__pointer_cture_rleased) {
|
|
550
|
+
evt.z__pointer_cture_rleased = false;
|
|
551
|
+
this.releasePointerCapture(evt.pointerId, comp);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
/** removes the component from the pointer capture list */
|
|
555
|
+
releasePointerCapture(pointerId, component) {
|
|
556
|
+
if (this._capturedPointer[pointerId]) {
|
|
557
|
+
const i = this._capturedPointer[pointerId].indexOf(component);
|
|
558
|
+
if (i !== -1) {
|
|
559
|
+
this._capturedPointer[pointerId].splice(i, 1);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
/** invoke the pointerMove event on all captured handlers */
|
|
564
|
+
invokePointerCapture(evt) {
|
|
565
|
+
if (evt.event.type === InputEvents.PointerMove) {
|
|
566
|
+
const pointerId = evt.pointerId;
|
|
567
|
+
const captured = this._capturedPointer[pointerId];
|
|
568
|
+
if (captured) {
|
|
569
|
+
for (let i = 0; i < captured.length; i++) {
|
|
570
|
+
const handler = captured[i];
|
|
571
|
+
// check if it was destroyed
|
|
572
|
+
const comp = handler;
|
|
573
|
+
if (comp.destroyed) {
|
|
574
|
+
captured.splice(i, 1);
|
|
575
|
+
i--;
|
|
576
|
+
continue;
|
|
577
|
+
}
|
|
578
|
+
// invoke pointer move
|
|
579
|
+
handler.onPointerMove?.call(handler, evt);
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
}
|
|
520
584
|
pointerEnterSymbol = Symbol("pointerEnter");
|
|
521
585
|
pointerExitSymbol = Symbol("pointerExit");
|
|
522
586
|
isChild(obj, possibleChild) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ui/EventSystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EventSystem.js","sourceRoot":"","sources":["../../../src/engine-components/ui/EventSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,18 @@ import { Face, Object3D, Vector3 } from "three";
|
|
|
4
4
|
import { GamepadButtonName, MouseButtonName } from "../../engine/engine_types.js";
|
|
5
5
|
export interface IInputEventArgs {
|
|
6
6
|
get used(): boolean;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
use(): void;
|
|
8
|
+
stopImmediatePropagation?(): void;
|
|
9
9
|
}
|
|
10
|
+
/** This pointer event data object is passed to all event receivers that are currently active
|
|
11
|
+
* It contains hit information if an object was hovered or clicked
|
|
12
|
+
* If the event is received in onPointerDown or onPointerMove, you can call `setPointerCapture` to receive onPointerMove events even when the pointer has left the object until you call `releasePointerCapture` or when the pointerUp event happens
|
|
13
|
+
* You can get additional information about the event or event source via the `event` property (of type `NEPointerEvent`)
|
|
14
|
+
*/
|
|
10
15
|
export declare class PointerEventData implements IInputEventArgs {
|
|
16
|
+
/** the original event */
|
|
11
17
|
readonly event: NEPointerEvent;
|
|
18
|
+
/** the pointer identifier for this event */
|
|
12
19
|
readonly pointerId: number;
|
|
13
20
|
/**
|
|
14
21
|
* mouse button 0 === LEFT, 1 === MIDDLE, 2 === RIGHT
|
|
@@ -16,11 +23,28 @@ export declare class PointerEventData implements IInputEventArgs {
|
|
|
16
23
|
readonly button: number;
|
|
17
24
|
readonly buttonName: MouseButtonName | GamepadButtonName | undefined;
|
|
18
25
|
private _used;
|
|
26
|
+
/** true when `use()` has been called */
|
|
19
27
|
get used(): boolean;
|
|
28
|
+
/** mark this event to be used */
|
|
20
29
|
use(): void;
|
|
21
|
-
|
|
30
|
+
private _propagationStopped;
|
|
31
|
+
get propagationStopped(): boolean;
|
|
32
|
+
/** Call this method to stop immediate propagation on the `event` object.
|
|
33
|
+
* WARNING: this is currently equivalent to stopImmediatePropagation
|
|
34
|
+
*/
|
|
22
35
|
stopPropagation(): void;
|
|
36
|
+
/** Call this method to stop immediate propagation on the `event` object.
|
|
37
|
+
*/
|
|
23
38
|
stopImmediatePropagation(): void;
|
|
39
|
+
/**@ignore internal flag, pointer captured (we dont want to see it in intellisense) */
|
|
40
|
+
z__pointer_ctured: boolean;
|
|
41
|
+
/** Call this method in `onPointerDown` or `onPointerMove` to receive onPointerMove events for this pointerId even when the pointer has left the object until you call `releasePointerCapture` or when the pointerUp event happens
|
|
42
|
+
*/
|
|
43
|
+
setPointerCapture(): void;
|
|
44
|
+
/**@ignore internal flag, pointer capture released */
|
|
45
|
+
z__pointer_cture_rleased: boolean;
|
|
46
|
+
/** call this method in `onPointerDown` or `onPointerMove` to stop receiving onPointerMove events */
|
|
47
|
+
releasePointerCapture(): void;
|
|
24
48
|
/** Who initiated this event */
|
|
25
49
|
inputSource: Input | any;
|
|
26
50
|
/** Returns the input target ray mode e.g. "screen" for 2D mouse and touch events */
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { GameObject } from "../Component.js";
|
|
2
|
+
/** This pointer event data object is passed to all event receivers that are currently active
|
|
3
|
+
* It contains hit information if an object was hovered or clicked
|
|
4
|
+
* If the event is received in onPointerDown or onPointerMove, you can call `setPointerCapture` to receive onPointerMove events even when the pointer has left the object until you call `releasePointerCapture` or when the pointerUp event happens
|
|
5
|
+
* You can get additional information about the event or event source via the `event` property (of type `NEPointerEvent`)
|
|
6
|
+
*/
|
|
2
7
|
export class PointerEventData {
|
|
8
|
+
/** the original event */
|
|
3
9
|
event;
|
|
10
|
+
/** the pointer identifier for this event */
|
|
4
11
|
pointerId;
|
|
5
12
|
/**
|
|
6
13
|
* mouse button 0 === LEFT, 1 === MIDDLE, 2 === RIGHT
|
|
@@ -8,22 +15,49 @@ export class PointerEventData {
|
|
|
8
15
|
button;
|
|
9
16
|
buttonName;
|
|
10
17
|
_used = false;
|
|
18
|
+
/** true when `use()` has been called */
|
|
11
19
|
get used() {
|
|
12
20
|
return this._used;
|
|
13
21
|
}
|
|
22
|
+
/** mark this event to be used */
|
|
14
23
|
use() {
|
|
24
|
+
if (this._used)
|
|
25
|
+
return;
|
|
15
26
|
this._used = true;
|
|
16
27
|
if (this.pointerId !== undefined)
|
|
17
28
|
this.input.setPointerUsed(this.pointerId);
|
|
18
29
|
}
|
|
19
|
-
|
|
30
|
+
_propagationStopped = false;
|
|
31
|
+
get propagationStopped() {
|
|
32
|
+
return this._propagationStopped;
|
|
33
|
+
}
|
|
34
|
+
/** Call this method to stop immediate propagation on the `event` object.
|
|
35
|
+
* WARNING: this is currently equivalent to stopImmediatePropagation
|
|
36
|
+
*/
|
|
20
37
|
stopPropagation() {
|
|
21
|
-
// we currently don't have a distinction between stopPropagation and stopImmediatePropagation
|
|
38
|
+
// we currently don't have a distinction between stopPropagation and stopImmediatePropagation
|
|
39
|
+
this._propagationStopped = true;
|
|
22
40
|
this.event.stopImmediatePropagation();
|
|
23
41
|
}
|
|
42
|
+
/** Call this method to stop immediate propagation on the `event` object.
|
|
43
|
+
*/
|
|
24
44
|
stopImmediatePropagation() {
|
|
45
|
+
this._propagationStopped = true;
|
|
25
46
|
this.event.stopImmediatePropagation();
|
|
26
47
|
}
|
|
48
|
+
/**@ignore internal flag, pointer captured (we dont want to see it in intellisense) */
|
|
49
|
+
z__pointer_ctured = false;
|
|
50
|
+
/** Call this method in `onPointerDown` or `onPointerMove` to receive onPointerMove events for this pointerId even when the pointer has left the object until you call `releasePointerCapture` or when the pointerUp event happens
|
|
51
|
+
*/
|
|
52
|
+
setPointerCapture() {
|
|
53
|
+
this.z__pointer_ctured = true;
|
|
54
|
+
}
|
|
55
|
+
/**@ignore internal flag, pointer capture released */
|
|
56
|
+
z__pointer_cture_rleased = false;
|
|
57
|
+
/** call this method in `onPointerDown` or `onPointerMove` to stop receiving onPointerMove events */
|
|
58
|
+
releasePointerCapture() {
|
|
59
|
+
this.z__pointer_cture_rleased = true;
|
|
60
|
+
}
|
|
27
61
|
/** Who initiated this event */
|
|
28
62
|
inputSource;
|
|
29
63
|
/** Returns the input target ray mode e.g. "screen" for 2D mouse and touch events */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointerEvents.js","sourceRoot":"","sources":["../../../src/engine-components/ui/PointerEvents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW7C,MAAM,OAAO,gBAAgB;
|
|
1
|
+
{"version":3,"file":"PointerEvents.js","sourceRoot":"","sources":["../../../src/engine-components/ui/PointerEvents.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "3.32.
|
|
3
|
+
"version": "3.32.7-alpha",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in",
|
|
5
5
|
"main": "dist/needle-engine.umd.cjs",
|
|
6
6
|
"type": "module",
|
|
@@ -39,7 +39,7 @@ export class Gizmos {
|
|
|
39
39
|
* Draw a label in the scene or attached to an object (if a parent is provided)
|
|
40
40
|
* @returns a handle to the label that can be used to change the text
|
|
41
41
|
*/
|
|
42
|
-
static DrawLabel(position: Vec3, text: string, size: number = .
|
|
42
|
+
static DrawLabel(position: Vec3, text: string, size: number = .05, duration: number = 0, color?: ColorRepresentation, backgroundColor?: ColorRepresentation | ColorWithAlpha, parent?: Object3D,) {
|
|
43
43
|
if (!Gizmos.enabled) return null;
|
|
44
44
|
if (!color) color = defaultColor;
|
|
45
45
|
const rigScale = NeedleXRSession.active?.rigScale ?? 1;
|
|
@@ -576,6 +576,7 @@ export class NeedleXRController {
|
|
|
576
576
|
// Not sure if *this* is enough to determine if the event is spatial or not
|
|
577
577
|
if (this.xr.mode === "immersive-vr" || this.xr.isPassThrough) {
|
|
578
578
|
this.pointerInit.origin = this;
|
|
579
|
+
// TODO: this needs to be just the index (pointerId)
|
|
579
580
|
this.pointerInit.pointerId = this.index * 10 + button;
|
|
580
581
|
this.pointerInit.pointerType = this.hand ? "hand" : "controller";
|
|
581
582
|
this.pointerInit.button = button;
|