@aura3d/input 4.7.12 → 5.0.0

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.
Files changed (58) hide show
  1. package/dist/ActionMap.d.ts.map +1 -1
  2. package/dist/ActionMap.js.map +1 -1
  3. package/dist/ComboDetector.d.ts.map +1 -1
  4. package/dist/ComboDetector.js.map +1 -1
  5. package/dist/GamepadDevice.d.ts.map +1 -1
  6. package/dist/GamepadDevice.js.map +1 -1
  7. package/dist/GamepadInput.d.ts.map +1 -1
  8. package/dist/GamepadInput.js.map +1 -1
  9. package/dist/GestureControls.d.ts.map +1 -1
  10. package/dist/GestureControls.js.map +1 -1
  11. package/dist/GestureRecognizer.d.ts +5 -1
  12. package/dist/GestureRecognizer.d.ts.map +1 -1
  13. package/dist/GestureRecognizer.js +74 -18
  14. package/dist/GestureRecognizer.js.map +1 -1
  15. package/dist/Haptics.d.ts.map +1 -1
  16. package/dist/Haptics.js.map +1 -1
  17. package/dist/InputReplay.d.ts.map +1 -1
  18. package/dist/InputReplay.js +42 -13
  19. package/dist/InputReplay.js.map +1 -1
  20. package/dist/InputSnapshot.d.ts +62 -7
  21. package/dist/InputSnapshot.d.ts.map +1 -1
  22. package/dist/InputSnapshot.js +36 -5
  23. package/dist/InputSnapshot.js.map +1 -1
  24. package/dist/InputSystem.d.ts +10 -1
  25. package/dist/InputSystem.d.ts.map +1 -1
  26. package/dist/InputSystem.js +175 -12
  27. package/dist/InputSystem.js.map +1 -1
  28. package/dist/InputValueProcessors.d.ts.map +1 -1
  29. package/dist/InputValueProcessors.js.map +1 -1
  30. package/dist/InteractionSystem.d.ts +9 -4
  31. package/dist/InteractionSystem.d.ts.map +1 -1
  32. package/dist/InteractionSystem.js +93 -18
  33. package/dist/InteractionSystem.js.map +1 -1
  34. package/dist/KeyboardDevice.d.ts.map +1 -1
  35. package/dist/KeyboardDevice.js.map +1 -1
  36. package/dist/PickingRay.d.ts.map +1 -1
  37. package/dist/PickingRay.js.map +1 -1
  38. package/dist/PointerDevice.d.ts +61 -11
  39. package/dist/PointerDevice.d.ts.map +1 -1
  40. package/dist/PointerDevice.js +306 -34
  41. package/dist/PointerDevice.js.map +1 -1
  42. package/dist/PointerLeases.d.ts +22 -0
  43. package/dist/PointerLeases.d.ts.map +1 -0
  44. package/dist/PointerLeases.js +432 -0
  45. package/dist/PointerLeases.js.map +1 -0
  46. package/dist/TouchLayouts.d.ts.map +1 -1
  47. package/dist/TouchLayouts.js.map +1 -1
  48. package/dist/VirtualTouchControls.d.ts.map +1 -1
  49. package/dist/VirtualTouchControls.js.map +1 -1
  50. package/dist/WebXRSessionController.d.ts +161 -51
  51. package/dist/WebXRSessionController.d.ts.map +1 -1
  52. package/dist/WebXRSessionController.js +430 -203
  53. package/dist/WebXRSessionController.js.map +1 -1
  54. package/dist/index.d.ts +5 -3
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +1 -0
  57. package/dist/index.js.map +1 -1
  58. package/package.json +4 -3
@@ -10,22 +10,39 @@ export class InputSnapshot {
10
10
  this.previousKeys = new Set(options.previousKeys ?? EMPTY_SET);
11
11
  this.gamepads = Object.freeze([...(options.gamepads ?? [])]);
12
12
  const previousButtons = options.previousPointerButtons ?? EMPTY_BUTTON_SET;
13
- const currentButtons = new Set(options.pointer?.buttons?.keys() ?? []);
13
+ const currentButtons = new Set([...options.pointer?.buttons ?? []].filter(([, state]) => state.down).map(([button]) => button));
14
14
  const buttons = new Map();
15
15
  for (const button of new Set([...previousButtons, ...currentButtons])) {
16
16
  const down = currentButtons.has(button);
17
17
  const wasDown = previousButtons.has(button);
18
- buttons.set(button, Object.freeze({ down, pressed: down && !wasDown, released: !down && wasDown }));
18
+ buttons.set(button, Object.freeze({
19
+ down,
20
+ pressed: down && !wasDown,
21
+ released: !down && wasDown && !options.cancelledPointerButtons?.has(button)
22
+ }));
19
23
  }
24
+ const x = options.pointer?.x ?? 0;
25
+ const y = options.pointer?.y ?? 0;
20
26
  this.pointer = Object.freeze({
21
- x: options.pointer?.x ?? 0,
22
- y: options.pointer?.y ?? 0,
27
+ x,
28
+ y,
29
+ clientX: options.pointer?.clientX ?? x,
30
+ clientY: options.pointer?.clientY ?? y,
31
+ cssX: options.pointer?.cssX ?? x,
32
+ cssY: options.pointer?.cssY ?? y,
33
+ framebufferX: options.pointer?.framebufferX ?? x,
34
+ framebufferY: options.pointer?.framebufferY ?? y,
23
35
  deltaX: options.pointer?.deltaX ?? 0,
24
36
  deltaY: options.pointer?.deltaY ?? 0,
25
37
  wheelX: options.pointer?.wheelX ?? 0,
26
38
  wheelY: options.pointer?.wheelY ?? 0,
39
+ timestamp: options.pointer?.timestamp ?? 0,
40
+ primaryId: options.pointer?.primaryId,
27
41
  buttons,
28
- touches: Object.freeze([...(options.pointer?.touches ?? [])])
42
+ touches: Object.freeze([...(options.pointer?.touches ?? [])]),
43
+ contacts: Object.freeze([...(options.pointer?.contacts ?? [])]),
44
+ cancellations: Object.freeze([...(options.pointer?.cancellations ?? [])]),
45
+ cancellationReason: options.pointer?.cancellationReason
29
46
  });
30
47
  }
31
48
  key(code) {
@@ -36,6 +53,20 @@ export class InputSnapshot {
36
53
  button(button) {
37
54
  return this.pointer.buttons.get(button) ?? Object.freeze({ down: false, pressed: false, released: false });
38
55
  }
56
+ /** View the same frame from one contact, useful to compute one picking ray per pointer. */
57
+ forContact(contact) {
58
+ const view = Object.create(this);
59
+ Object.defineProperty(view, "pointer", { value: Object.freeze({
60
+ ...this.pointer,
61
+ x: contact.x, y: contact.y,
62
+ clientX: contact.clientX, clientY: contact.clientY,
63
+ cssX: contact.cssX, cssY: contact.cssY,
64
+ framebufferX: contact.framebufferX, framebufferY: contact.framebufferY,
65
+ deltaX: contact.deltaX, deltaY: contact.deltaY,
66
+ timestamp: contact.timestamp, primaryId: contact.id, buttons: contact.buttons
67
+ }) });
68
+ return view;
69
+ }
39
70
  gamepadButton(gamepadIndex, buttonIndex) {
40
71
  return (this.gamepads.find((gamepad) => gamepad.index === gamepadIndex)?.buttons[buttonIndex] ??
41
72
  Object.freeze({ down: false, pressed: false, released: false }));
@@ -1 +1 @@
1
- {"version":3,"file":"InputSnapshot.js","sourceRoot":"","sources":["../../../../packages/input/src/InputSnapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputSnapshot.js","sourceRoot":"","sources":["../src/InputSnapshot.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,13 @@ import { GamepadDevice, type GamepadLike } from "./GamepadDevice.js";
3
3
  import { InputSnapshot } from "./InputSnapshot.js";
4
4
  import { KeyboardDevice } from "./KeyboardDevice.js";
5
5
  import { PointerDevice } from "./PointerDevice.js";
6
- export interface InputEventTargetLike {
6
+ import { type PointerCaptureTargetLike } from "./PointerLeases.js";
7
+ export interface InputEventTargetLike extends PointerCaptureTargetLike {
7
8
  addEventListener(type: string, listener: EventListener): void;
8
9
  removeEventListener(type: string, listener: EventListener): void;
10
+ readonly ownerDocument?: {
11
+ readonly defaultView?: InputEventTargetLike | null;
12
+ };
9
13
  }
10
14
  export declare class InputSystem {
11
15
  readonly keyboard: KeyboardDevice;
@@ -13,12 +17,17 @@ export declare class InputSystem {
13
17
  readonly gamepads: GamepadDevice;
14
18
  readonly actions: ActionMap;
15
19
  private readonly attachedTargets;
20
+ private readonly captureReleasers;
16
21
  private snapshotRef;
17
22
  constructor(target?: InputEventTargetLike);
18
23
  get snapshot(): InputSnapshot;
19
24
  attach(target: InputEventTargetLike): void;
20
25
  update(gamepads?: readonly (GamepadLike | null | undefined)[]): InputSnapshot;
21
26
  endFrame(): void;
27
+ /** Terminates pointer input after a device is removed, without activating release bindings. */
28
+ disconnectPointer(timestamp?: number): void;
29
+ private prepareCaptureReleases;
30
+ private releaseCaptures;
22
31
  dispose(): void;
23
32
  }
24
33
  //# sourceMappingURL=InputSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputSystem.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/InputSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAA0B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAA8C,MAAM,iBAAiB,CAAC;AAE5F,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAClE;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,iBAAwB;IACzC,QAAQ,CAAC,OAAO,gBAAuB;IACvC,QAAQ,CAAC,QAAQ,gBAAuB;IACxC,QAAQ,CAAC,OAAO,YAAmB;IAEnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsD;IACtF,OAAO,CAAC,WAAW,CAAuB;gBAE9B,MAAM,CAAC,EAAE,oBAAoB;IAMzC,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAmC1C,MAAM,CAAC,QAAQ,GAAE,SAAS,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,EAAO,GAAG,aAAa;IAYjF,QAAQ,IAAI,IAAI;IAKhB,OAAO,IAAI,IAAI;CAUhB"}
1
+ {"version":3,"file":"InputSystem.d.ts","sourceRoot":"","sources":["../src/InputSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAA0B,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAA4E,MAAM,iBAAiB,CAAC;AAC1H,OAAO,EAAqD,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEnH,MAAM,WAAW,oBAAqB,SAAQ,wBAAwB;IACpE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9D,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACjE,QAAQ,CAAC,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAA;KAAE,CAAC;CACjF;AAED,qBAAa,WAAW;IACtB,QAAQ,CAAC,QAAQ,iBAAwB;IACzC,QAAQ,CAAC,OAAO,gBAAuB;IACvC,QAAQ,CAAC,QAAQ,gBAAuB;IACxC,QAAQ,CAAC,OAAO,YAAmB;IAEnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsD;IACtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IACtF,OAAO,CAAC,WAAW,CAAuB;gBAE9B,MAAM,CAAC,EAAE,oBAAoB;IAMzC,IAAI,QAAQ,IAAI,aAAa,CAE5B;IAED,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IA6J1C,MAAM,CAAC,QAAQ,GAAE,SAAS,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,EAAO,GAAG,aAAa;IAYjF,QAAQ,IAAI,IAAI;IAKhB,+FAA+F;IAC/F,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3C,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,eAAe;IAMvB,OAAO,IAAI,IAAI;CAYhB"}
@@ -3,12 +3,14 @@ import { GamepadDevice } from "./GamepadDevice.js";
3
3
  import { InputSnapshot } from "./InputSnapshot.js";
4
4
  import { KeyboardDevice } from "./KeyboardDevice.js";
5
5
  import { PointerDevice } from "./PointerDevice.js";
6
+ import { acquirePointerCapture, releasePointerCaptureLease } from "./PointerLeases.js";
6
7
  export class InputSystem {
7
8
  keyboard = new KeyboardDevice();
8
9
  pointer = new PointerDevice();
9
10
  gamepads = new GamepadDevice();
10
11
  actions = new ActionMap();
11
12
  attachedTargets = new Map();
13
+ captureReleasers = new Map();
12
14
  snapshotRef = new InputSnapshot();
13
15
  constructor(target) {
14
16
  if (target) {
@@ -24,13 +26,122 @@ export class InputSystem {
24
26
  }
25
27
  const onKeyDown = ((event) => this.keyboard.keyDown(event));
26
28
  const onKeyUp = ((event) => this.keyboard.keyUp(event));
27
- const onPointerMove = ((event) => this.pointer.move(event));
28
- const onPointerDown = ((event) => this.pointer.down(event));
29
- const onPointerUp = ((event) => this.pointer.up(event));
30
- const onWheel = ((event) => this.pointer.wheel(event));
31
- const onBlur = (() => {
29
+ const surface = target;
30
+ const captured = new Map();
31
+ const expectedLosses = new Map();
32
+ const pressTimes = new Map();
33
+ const isEarlierThanPress = (pointer) => {
34
+ const pressTime = pressTimes.get(pointer.pointerId ?? 0);
35
+ return pressTime !== undefined && pointer.timeStamp !== undefined &&
36
+ Number.isFinite(pointer.timeStamp) && pointer.timeStamp < pressTime;
37
+ };
38
+ const releaseLease = (id, owner, release) => {
39
+ try {
40
+ releasePointerCaptureLease(target, id, owner, release, () => {
41
+ expectedLosses.set(id, (expectedLosses.get(id) ?? 0) + 1);
42
+ });
43
+ }
44
+ catch {
45
+ expectedLosses.delete(id); // The browser may already have released capture.
46
+ }
47
+ };
48
+ const releaseCapture = (id, owner = captured.get(id), release = true) => {
49
+ if (!owner || captured.get(id) !== owner)
50
+ return;
51
+ // Forget this generation before invoking the target, which may dispatch
52
+ // loss or a new press synchronously from releasePointerCapture.
53
+ captured.delete(id);
54
+ releaseLease(id, owner, release);
55
+ };
56
+ const prepareCaptureReleases = () => {
57
+ pressTimes.clear();
58
+ // Detach the old generation before any native release. Another target
59
+ // or pointer in the batch may receive a new press reentrantly.
60
+ const previous = [...captured];
61
+ captured.clear();
62
+ return () => { for (const [id, owner] of previous)
63
+ releaseLease(id, owner, true); };
64
+ };
65
+ this.captureReleasers.set(target, prepareCaptureReleases);
66
+ const onPointerMove = ((event) => {
67
+ const pointer = event;
68
+ if (!isEarlierThanPress(pointer))
69
+ this.pointer.move(pointer, surface);
70
+ });
71
+ const onPointerDown = ((event) => {
72
+ const pointer = event;
73
+ const id = pointer.pointerId ?? 0;
74
+ if (pointer.timeStamp !== undefined && Number.isFinite(pointer.timeStamp))
75
+ pressTimes.set(id, pointer.timeStamp);
76
+ else
77
+ pressTimes.delete(id);
78
+ this.pointer.down(pointer, surface);
79
+ if (pointer.pointerId !== undefined)
80
+ expectedLosses.delete(id);
81
+ if (pointer.pointerId !== undefined && target.setPointerCapture && !captured.has(pointer.pointerId)) {
82
+ const owner = {};
83
+ captured.set(pointer.pointerId, owner);
84
+ try {
85
+ acquirePointerCapture(target, pointer.pointerId, owner);
86
+ }
87
+ catch { /* Synthetic or inactive pointer. */ }
88
+ }
89
+ });
90
+ const onPointerUp = ((event) => {
91
+ const pointer = event;
92
+ // A control can dispatch a new press from an older up/cancel listener
93
+ // before this listener sees the older event on a headless event target.
94
+ if (isEarlierThanPress(pointer))
95
+ return;
96
+ if (!pointer.buttons)
97
+ pressTimes.delete(pointer.pointerId ?? 0);
98
+ this.pointer.up(pointer, surface);
99
+ if (pointer.pointerId !== undefined && !pointer.buttons)
100
+ releaseCapture(pointer.pointerId);
101
+ });
102
+ const onPointerCancel = ((event) => {
103
+ const pointer = event;
104
+ if (isEarlierThanPress(pointer))
105
+ return;
106
+ pressTimes.delete(pointer.pointerId ?? 0);
107
+ this.pointer.cancel(pointer, "pointercancel", surface);
108
+ if (pointer.pointerId !== undefined)
109
+ releaseCapture(pointer.pointerId);
110
+ });
111
+ const onLostCapture = ((event) => {
112
+ const pointer = event;
113
+ if (isEarlierThanPress(pointer))
114
+ return;
115
+ if (pointer.pointerId !== undefined) {
116
+ const expected = expectedLosses.get(pointer.pointerId) ?? 0;
117
+ if (expected > 0) {
118
+ if (expected === 1)
119
+ expectedLosses.delete(pointer.pointerId);
120
+ else
121
+ expectedLosses.set(pointer.pointerId, expected - 1);
122
+ return;
123
+ }
124
+ // A stale loss after a new press must not cancel the newer capture.
125
+ try {
126
+ if (target.hasPointerCapture?.(pointer.pointerId))
127
+ return;
128
+ }
129
+ catch { /* Treat an unavailable capture as lost. */ }
130
+ releaseCapture(pointer.pointerId, captured.get(pointer.pointerId), false);
131
+ }
132
+ pressTimes.delete(pointer.pointerId ?? 0);
133
+ this.pointer.cancel(pointer, "lostpointercapture", surface);
134
+ });
135
+ const onPointerLeave = ((event) => {
136
+ const pointer = event;
137
+ if (!isEarlierThanPress(pointer))
138
+ this.pointer.leave(pointer);
139
+ });
140
+ const onWheel = ((event) => this.pointer.wheel(event, surface));
141
+ const onBlur = ((event) => {
32
142
  this.keyboard.blur();
33
- this.pointer.blur();
143
+ this.pointer.blur("blur", event.timeStamp);
144
+ this.releaseCaptures();
34
145
  });
35
146
  const listeners = [
36
147
  ["keydown", onKeyDown],
@@ -38,14 +149,49 @@ export class InputSystem {
38
149
  ["pointermove", onPointerMove],
39
150
  ["pointerdown", onPointerDown],
40
151
  ["pointerup", onPointerUp],
41
- ["pointercancel", onPointerUp],
152
+ ["pointercancel", onPointerCancel],
153
+ ["lostpointercapture", onLostCapture],
154
+ ["pointerleave", onPointerLeave],
42
155
  ["wheel", onWheel],
43
156
  ["blur", onBlur]
44
157
  ];
45
- const disposers = [];
158
+ // Remove listeners before releasing captures so reentrant target callbacks
159
+ // cannot attach another press to a system being disposed.
160
+ const disposers = [() => { prepareCaptureReleases()(); this.captureReleasers.delete(target); }];
161
+ // The public structural target only requires two arguments; DOM targets
162
+ // accept this optional third capture argument, and simpler hosts ignore it.
163
+ // The options-object form is used for both calls: older Node EventTarget
164
+ // releases (the ACR image's Node; local Node 26 is fixed) read only
165
+ // `options?.capture` in removeEventListener, so a boolean `true` there
166
+ // left every capture listener attached after dispose.
167
+ const captureOptions = { capture: true };
168
+ const eventTarget = target;
46
169
  for (const [type, listener] of listeners) {
47
- target.addEventListener(type, listener);
48
- disposers.push(() => target.removeEventListener(type, listener));
170
+ // DOM capture phase observes an old event before a control's bubbling
171
+ // listener can synchronously dispatch a new press with the same ID.
172
+ const capture = type.startsWith("pointer") || type === "lostpointercapture";
173
+ if (capture) {
174
+ try {
175
+ eventTarget.addEventListener(type, listener, captureOptions);
176
+ disposers.push(() => eventTarget.removeEventListener(type, listener, captureOptions));
177
+ }
178
+ catch {
179
+ // Some synthetic targets enforce the two-argument structural API.
180
+ target.addEventListener(type, listener);
181
+ disposers.push(() => target.removeEventListener(type, listener));
182
+ }
183
+ }
184
+ else {
185
+ target.addEventListener(type, listener);
186
+ disposers.push(() => target.removeEventListener(type, listener));
187
+ }
188
+ }
189
+ // Element blur covers focus changes within the document; window blur covers the
190
+ // tab/window losing focus, which is not delivered as an element blur everywhere.
191
+ const windowTarget = target.ownerDocument?.defaultView;
192
+ if (windowTarget && windowTarget !== target) {
193
+ windowTarget.addEventListener("blur", onBlur);
194
+ disposers.push(() => windowTarget.removeEventListener("blur", onBlur));
49
195
  }
50
196
  this.attachedTargets.set(target, disposers);
51
197
  }
@@ -64,15 +210,32 @@ export class InputSystem {
64
210
  this.keyboard.endFrame();
65
211
  this.pointer.endFrame();
66
212
  }
213
+ /** Terminates pointer input after a device is removed, without activating release bindings. */
214
+ disconnectPointer(timestamp) {
215
+ this.pointer.blur("device-disconnect", timestamp);
216
+ this.releaseCaptures();
217
+ }
218
+ prepareCaptureReleases() {
219
+ return [...this.captureReleasers.values()].map((prepare) => prepare());
220
+ }
221
+ releaseCaptures() {
222
+ // Prepare every target before releasing any of them, so a callback from
223
+ // one target cannot accidentally release a new press on a later target.
224
+ for (const release of this.prepareCaptureReleases())
225
+ release();
226
+ }
67
227
  dispose() {
228
+ this.keyboard.blur();
229
+ this.pointer.blur("dispose");
230
+ const releases = this.prepareCaptureReleases();
68
231
  for (const disposers of this.attachedTargets.values()) {
69
232
  while (disposers.length > 0) {
70
233
  disposers.pop()?.();
71
234
  }
72
235
  }
73
236
  this.attachedTargets.clear();
74
- this.keyboard.blur();
75
- this.pointer.blur();
237
+ for (const release of releases)
238
+ release();
76
239
  }
77
240
  }
78
241
  //# sourceMappingURL=InputSystem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputSystem.js","sourceRoot":"","sources":["../../../../packages/input/src/InputSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputSystem.js","sourceRoot":"","sources":["../src/InputSystem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputValueProcessors.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/InputValueProcessors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,mBAAmB,EAAE,EAAE,YAAY,SAAS,GAAG,MAAM,CAa1H"}
1
+ {"version":3,"file":"InputValueProcessors.d.ts","sourceRoot":"","sources":["../src/InputValueProcessors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhE,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,mBAAmB,EAAE,EAAE,YAAY,SAAS,GAAG,MAAM,CAa1H"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputValueProcessors.js","sourceRoot":"","sources":["../../../../packages/input/src/InputValueProcessors.ts"],"names":[],"mappings":"AAOA,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,UAA0C,EAAE,YAAY,GAAG,CAAC,GAAG,EAAE;IAChH,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aACxG,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACtE,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,CAAC,CAAC;aAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;aAClG,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvI,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,QAAgB;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"InputValueProcessors.js","sourceRoot":"","sources":["../src/InputValueProcessors.ts"],"names":[],"mappings":"AAOA,gFAAgF;AAChF,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,UAA0C,EAAE,YAAY,GAAG,CAAC,GAAG,EAAE;IAChH,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aACxG,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACtE,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,CAAC,CAAC,CAAC;aAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO;YAAE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;aAClG,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/B,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACvI,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CAAC,KAAc,EAAE,QAAgB;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrD,CAAC"}
@@ -15,11 +15,12 @@ export interface InteractionHit {
15
15
  readonly target: InteractionTarget;
16
16
  readonly distance: number;
17
17
  }
18
- export type InteractionEventType = "hover-enter" | "hover-exit" | "pointer-down" | "drag-start" | "drag" | "drag-end" | "click";
18
+ export type InteractionEventType = "hover-enter" | "hover-exit" | "pointer-down" | "pointer-cancel" | "drag-start" | "drag" | "drag-end" | "drag-cancel" | "click";
19
19
  export interface InteractionEvent {
20
20
  readonly type: InteractionEventType;
21
21
  readonly hit?: InteractionHit;
22
22
  readonly target?: InteractionTarget;
23
+ readonly pointerId?: number;
23
24
  readonly snapshot: InputSnapshot;
24
25
  }
25
26
  export type InteractionListener = (event: InteractionEvent) => void;
@@ -29,12 +30,16 @@ export declare class InteractionSystem {
29
30
  private readonly rayProvider;
30
31
  private readonly targetProvider;
31
32
  private readonly listeners;
32
- private hovered?;
33
- private pressed?;
34
- private dragging;
33
+ private readonly states;
34
+ private disposed;
35
+ private contactMode;
35
36
  constructor(rayProvider: InteractionRayProvider, targetProvider: InteractionTargetProvider);
36
37
  subscribe(listener: InteractionListener): () => void;
37
38
  update(snapshot: InputSnapshot): InteractionHit | undefined;
39
+ dispose(): void;
40
+ private updateContact;
41
+ private cancel;
42
+ private endHover;
38
43
  pick(ray: Ray): InteractionHit | undefined;
39
44
  private emit;
40
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionSystem.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/InteractionSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,KAAK,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhI,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,GAAG,CAAC;AACtE,MAAM,MAAM,yBAAyB,GAAG,MAAM,SAAS,iBAAiB,EAAE,CAAC;AAE3E,qBAAa,iBAAiB;IAO1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,OAAO,CAAC,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAS;gBAGN,WAAW,EAAE,sBAAsB,EACnC,cAAc,EAAE,yBAAyB;IAG5D,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAKpD,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,cAAc,GAAG,SAAS;IA8B3D,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,GAAG,SAAS;IAQ1C,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"InteractionSystem.d.ts","sourceRoot":"","sources":["../src/InteractionSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,KAAK,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,GAAG,OAAO,CAAC;AAEnK,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;CAClC;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,GAAG,CAAC;AACtE,MAAM,MAAM,yBAAyB,GAAG,MAAM,SAAS,iBAAiB,EAAE,CAAC;AAE3E,qBAAa,iBAAiB;IAO1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAPjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsG;IAC7H,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAS;gBAGT,WAAW,EAAE,sBAAsB,EACnC,cAAc,EAAE,yBAAyB;IAG5D,SAAS,CAAC,QAAQ,EAAE,mBAAmB,GAAG,MAAM,IAAI;IAMpD,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,cAAc,GAAG,SAAS;IAgC3D,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,QAAQ;IAOhB,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,GAAG,SAAS;IAQ1C,OAAO,CAAC,IAAI;CAGb"}
@@ -2,43 +2,118 @@ export class InteractionSystem {
2
2
  rayProvider;
3
3
  targetProvider;
4
4
  listeners = new Set();
5
- hovered;
6
- pressed;
7
- dragging = false;
5
+ states = new Map();
6
+ disposed = false;
7
+ contactMode = false;
8
8
  constructor(rayProvider, targetProvider) {
9
9
  this.rayProvider = rayProvider;
10
10
  this.targetProvider = targetProvider;
11
11
  }
12
12
  subscribe(listener) {
13
+ if (this.disposed)
14
+ return () => { };
13
15
  this.listeners.add(listener);
14
16
  return () => this.listeners.delete(listener);
15
17
  }
16
18
  update(snapshot) {
19
+ if (this.disposed)
20
+ return undefined;
21
+ if (snapshot.pointer.cancellationReason) {
22
+ for (const id of [...this.states.keys()])
23
+ this.cancel(id, snapshot);
24
+ return undefined;
25
+ }
26
+ if (snapshot.pointer.contacts.length > 0 || snapshot.pointer.cancellations.length > 0)
27
+ this.contactMode = true;
28
+ for (const cancellation of snapshot.pointer.cancellations)
29
+ this.cancel(cancellation.id, snapshot);
30
+ let primaryHit;
31
+ let firstHit;
32
+ let sawPrimary = false;
33
+ if (snapshot.pointer.contacts.length > 0) {
34
+ const present = new Set(snapshot.pointer.contacts.map(contact => contact.id));
35
+ for (const id of [...this.states.keys()])
36
+ if (!present.has(id))
37
+ this.cancel(id, snapshot);
38
+ for (const contact of snapshot.pointer.contacts) {
39
+ if (contact.cancelled)
40
+ continue;
41
+ const view = snapshot.forContact(contact);
42
+ const hit = this.updateContact(contact.id, view);
43
+ if (firstHit === undefined)
44
+ firstHit = hit;
45
+ if (contact.id === snapshot.pointer.primaryId) {
46
+ primaryHit = hit;
47
+ sawPrimary = true;
48
+ }
49
+ if (contact.released && (contact.pointerType === "touch" || !contact.overTarget))
50
+ this.endHover(contact.id, view);
51
+ }
52
+ return sawPrimary ? primaryHit : firstHit;
53
+ }
54
+ else if (this.contactMode) {
55
+ for (const id of [...this.states.keys()])
56
+ this.cancel(id, snapshot);
57
+ }
58
+ else if (snapshot.pointer.cancellations.length === 0) {
59
+ primaryHit = this.updateContact(-1, snapshot);
60
+ }
61
+ return primaryHit;
62
+ }
63
+ dispose() {
64
+ this.disposed = true;
65
+ this.states.clear();
66
+ this.listeners.clear();
67
+ }
68
+ updateContact(id, snapshot) {
17
69
  const hit = this.pick(this.rayProvider(snapshot));
18
70
  const target = hit?.target;
19
- if (this.hovered?.id !== target?.id) {
20
- if (this.hovered)
21
- this.emit({ type: "hover-exit", target: this.hovered, snapshot });
71
+ const state = this.states.get(id) ?? { dragging: false };
72
+ this.states.set(id, state);
73
+ const pointerId = id < 0 ? undefined : id;
74
+ if (state.hovered?.id !== target?.id) {
75
+ if (state.hovered)
76
+ this.emit({ type: "hover-exit", target: state.hovered, snapshot, pointerId });
22
77
  if (target)
23
- this.emit({ type: "hover-enter", hit, target, snapshot });
24
- this.hovered = target;
78
+ this.emit({ type: "hover-enter", hit, target, snapshot, pointerId });
79
+ state.hovered = target;
25
80
  }
26
81
  if (snapshot.button(0).pressed && target) {
27
- this.pressed = target;
28
- this.dragging = false;
29
- this.emit({ type: "pointer-down", hit, target, snapshot });
82
+ state.pressed = target;
83
+ state.dragging = false;
84
+ this.emit({ type: "pointer-down", hit, target, snapshot, pointerId });
30
85
  }
31
- if (this.pressed && snapshot.button(0).down && (snapshot.pointer.deltaX !== 0 || snapshot.pointer.deltaY !== 0)) {
32
- this.emit({ type: this.dragging ? "drag" : "drag-start", hit, target: this.pressed, snapshot });
33
- this.dragging = true;
86
+ if (state.pressed && snapshot.button(0).down && (snapshot.pointer.deltaX !== 0 || snapshot.pointer.deltaY !== 0)) {
87
+ this.emit({ type: state.dragging ? "drag" : "drag-start", hit, target: state.pressed, snapshot, pointerId });
88
+ state.dragging = true;
34
89
  }
35
- if (this.pressed && snapshot.button(0).released) {
36
- this.emit({ type: this.dragging ? "drag-end" : "click", hit, target: this.pressed, snapshot });
37
- this.pressed = undefined;
38
- this.dragging = false;
90
+ if (state.pressed && snapshot.button(0).released) {
91
+ if (state.dragging || target?.id === state.pressed.id) {
92
+ this.emit({ type: state.dragging ? "drag-end" : "click", hit, target: state.pressed, snapshot, pointerId });
93
+ }
94
+ state.pressed = undefined;
95
+ state.dragging = false;
39
96
  }
40
97
  return hit;
41
98
  }
99
+ cancel(id, snapshot) {
100
+ const state = this.states.get(id);
101
+ if (!state)
102
+ return;
103
+ if (state.pressed)
104
+ this.emit({ type: state.dragging ? "drag-cancel" : "pointer-cancel", target: state.pressed, snapshot, pointerId: id < 0 ? undefined : id });
105
+ this.endHover(id, snapshot);
106
+ this.states.delete(id);
107
+ }
108
+ endHover(id, snapshot) {
109
+ const state = this.states.get(id);
110
+ if (state?.hovered)
111
+ this.emit({ type: "hover-exit", target: state.hovered, snapshot, pointerId: id < 0 ? undefined : id });
112
+ if (state)
113
+ state.hovered = undefined;
114
+ if (!state?.pressed)
115
+ this.states.delete(id);
116
+ }
42
117
  pick(ray) {
43
118
  const hits = this.targetProvider()
44
119
  .map((target) => ({ target, distance: intersectBounds(ray, target.bounds) }))
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionSystem.js","sourceRoot":"","sources":["../../../../packages/input/src/InteractionSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InteractionSystem.js","sourceRoot":"","sources":["../src/InteractionSystem.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardDevice.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/KeyboardDevice.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IAErC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAMvC,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIrC,IAAI,IAAI,IAAI;IAIZ,YAAY,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAAE;IAIlG,QAAQ,IAAI,IAAI;CAGjB"}
1
+ {"version":3,"file":"KeyboardDevice.d.ts","sourceRoot":"","sources":["../src/KeyboardDevice.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IAErC,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAMvC,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IAIrC,IAAI,IAAI,IAAI;IAIZ,YAAY,IAAI;QAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;KAAE;IAIlG,QAAQ,IAAI,IAAI;CAGjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardDevice.js","sourceRoot":"","sources":["../../../../packages/input/src/KeyboardDevice.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,cAAc;IACjB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,OAAO,CAAC,KAAwB;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAwB;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,YAAY;QACV,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"KeyboardDevice.js","sourceRoot":"","sources":["../src/KeyboardDevice.ts"],"names":[],"mappings":"AAMA,MAAM,OAAO,cAAc;IACjB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,OAAO,CAAC,KAAwB;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAwB;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,YAAY;QACV,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC/E,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}