@aura3d/input 3.0.0 → 4.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 (48) hide show
  1. package/dist/Haptics.d.ts +1 -1
  2. package/dist/Haptics.js +1 -1
  3. package/dist/InputSystem.d.ts.map +1 -1
  4. package/dist/InputSystem.js +1 -0
  5. package/dist/InputSystem.js.map +1 -1
  6. package/dist/PointerDevice.d.ts +1 -0
  7. package/dist/PointerDevice.d.ts.map +1 -1
  8. package/dist/PointerDevice.js +1 -1
  9. package/dist/PointerDevice.js.map +1 -1
  10. package/dist/TouchLayouts.d.ts +14 -1
  11. package/dist/TouchLayouts.d.ts.map +1 -1
  12. package/dist/TouchLayouts.js +150 -4
  13. package/dist/TouchLayouts.js.map +1 -1
  14. package/dist/controls/CameraRig.d.ts +2 -11
  15. package/dist/controls/CameraRig.d.ts.map +1 -1
  16. package/dist/controls/CameraRig.js +2 -31
  17. package/dist/controls/CameraRig.js.map +1 -1
  18. package/dist/controls/ControlTypes.d.ts +2 -16
  19. package/dist/controls/ControlTypes.d.ts.map +1 -1
  20. package/dist/controls/ControlTypes.js +2 -3
  21. package/dist/controls/ControlTypes.js.map +1 -1
  22. package/dist/controls/EditorFlyControls.d.ts +2 -19
  23. package/dist/controls/EditorFlyControls.d.ts.map +1 -1
  24. package/dist/controls/EditorFlyControls.js +2 -43
  25. package/dist/controls/EditorFlyControls.js.map +1 -1
  26. package/dist/controls/FirstPersonControls.d.ts +2 -21
  27. package/dist/controls/FirstPersonControls.d.ts.map +1 -1
  28. package/dist/controls/FirstPersonControls.js +2 -43
  29. package/dist/controls/FirstPersonControls.js.map +1 -1
  30. package/dist/controls/OrbitControls.d.ts +2 -48
  31. package/dist/controls/OrbitControls.d.ts.map +1 -1
  32. package/dist/controls/OrbitControls.js +2 -130
  33. package/dist/controls/OrbitControls.js.map +1 -1
  34. package/dist/controls/PointerLockControls.d.ts +1 -10
  35. package/dist/controls/PointerLockControls.d.ts.map +1 -1
  36. package/dist/controls/PointerLockControls.js +2 -30
  37. package/dist/controls/PointerLockControls.js.map +1 -1
  38. package/dist/controls/SceneCameraAdapter.d.ts +2 -9
  39. package/dist/controls/SceneCameraAdapter.d.ts.map +1 -1
  40. package/dist/controls/SceneCameraAdapter.js +2 -89
  41. package/dist/controls/SceneCameraAdapter.js.map +1 -1
  42. package/dist/controls/ThirdPersonFollowControls.d.ts +2 -19
  43. package/dist/controls/ThirdPersonFollowControls.d.ts.map +1 -1
  44. package/dist/controls/ThirdPersonFollowControls.js +2 -32
  45. package/dist/controls/ThirdPersonFollowControls.js.map +1 -1
  46. package/dist/index.d.ts +1 -1
  47. package/dist/index.d.ts.map +1 -1
  48. package/package.json +4 -3
package/dist/Haptics.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Capability-gated haptics: `navigator.vibrate` patterns plus gamepad rumble
3
3
  * (`vibrationActuator.playEffect`). Every entry point probes first and reports
4
- * `{ played: false, reason }` instead of fake success on unsupported hosts.
4
+ * `{ played: false, reason }` when a host does not support the requested effect.
5
5
  */
6
6
  export interface NavigatorVibrateLike {
7
7
  vibrate?: (pattern: number | readonly number[]) => boolean;
package/dist/Haptics.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Capability-gated haptics: `navigator.vibrate` patterns plus gamepad rumble
3
3
  * (`vibrationActuator.playEffect`). Every entry point probes first and reports
4
- * `{ played: false, reason }` instead of fake success on unsupported hosts.
4
+ * `{ played: false, reason }` when a host does not support the requested effect.
5
5
  */
6
6
  /** Probe what the host actually supports. Never touches hardware. */
7
7
  export function probeHaptics(input = {}) {
@@ -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;IAkC1C,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":["../../../../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"}
@@ -38,6 +38,7 @@ export class InputSystem {
38
38
  ["pointermove", onPointerMove],
39
39
  ["pointerdown", onPointerDown],
40
40
  ["pointerup", onPointerUp],
41
+ ["pointercancel", onPointerUp],
41
42
  ["wheel", onWheel],
42
43
  ["blur", onBlur]
43
44
  ];
@@ -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":["../../../../packages/input/src/InputSystem.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export interface PointerEventLike {
5
5
  readonly button?: number;
6
6
  readonly buttons?: number;
7
7
  readonly pointerId?: number;
8
+ readonly pointerType?: string;
8
9
  preventDefault?(): void;
9
10
  }
10
11
  export interface WheelEventLike {
@@ -1 +1 @@
1
- {"version":3,"file":"PointerDevice.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/PointerDevice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,qBAAa,aAAa;IACxB,CAAC,SAAK;IACN,CAAC,SAAK;IACN,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IAEX,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAAK;IAEvB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOxC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAanC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAKnC,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAQjC,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAKlC,IAAI,IAAI,IAAI;IAKZ,YAAY;;;;;;;;;sBACgC,OAAO;yBAAW,OAAO;0BAAY,OAAO;;;;;;IAoBxF,QAAQ,IAAI,IAAI;CAOjB"}
1
+ {"version":3,"file":"PointerDevice.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/PointerDevice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,IAAI,IAAI,CAAC;CACzB;AAED,qBAAa,aAAa;IACxB,CAAC,SAAK;IACN,CAAC,SAAK;IACN,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IACX,MAAM,SAAK;IAEX,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAAK;IAEvB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOxC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAanC,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAKnC,EAAE,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAQjC,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAKlC,IAAI,IAAI,IAAI;IAKZ,YAAY;;;;;;;;;sBACgC,OAAO;yBAAW,OAAO;0BAAY,OAAO;;;;;;IAoBxF,QAAQ,IAAI,IAAI;CAOjB"}
@@ -22,7 +22,7 @@ export class PointerDevice {
22
22
  this.deltaY += nextY - this.y;
23
23
  this.x = nextX;
24
24
  this.y = nextY;
25
- if (event.pointerId !== undefined) {
25
+ if (event.pointerId !== undefined && event.pointerType !== "mouse" && event.pointerType !== "pen") {
26
26
  this.touches.set(event.pointerId, { id: event.pointerId, x: this.x, y: this.y });
27
27
  }
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PointerDevice.js","sourceRoot":"","sources":["../../../../packages/input/src/PointerDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PointerDevice.js","sourceRoot":"","sources":["../../../../packages/input/src/PointerDevice.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { VirtualJoystickConfig } from "./VirtualTouchControls.js";
2
- export type TouchLayoutGenre = "fight" | "race" | "platform";
2
+ export type TouchLayoutGenre = "fight" | "race" | "platform" | "twin-stick" | "aim-drag" | "flight" | "lane-swipe" | "flippers";
3
3
  export interface TouchLayoutButtonBinding {
4
4
  /** DOM id the route creates for the on-screen button. */
5
5
  readonly elementId: string;
@@ -8,6 +8,13 @@ export interface TouchLayoutButtonBinding {
8
8
  readonly kind: "hold" | "pulse";
9
9
  readonly label: string;
10
10
  }
11
+ /** Normalized rect in safe-area-relative units ([0,1] inside the usable area, y down). */
12
+ export interface TouchLayoutRect {
13
+ readonly x: number;
14
+ readonly y: number;
15
+ readonly w: number;
16
+ readonly h: number;
17
+ }
11
18
  export interface TouchLayoutPreset {
12
19
  readonly kind: "touch-layout-preset";
13
20
  readonly genre: TouchLayoutGenre;
@@ -17,6 +24,12 @@ export interface TouchLayoutPreset {
17
24
  readonly rightStick?: VirtualJoystickConfig;
18
25
  readonly hold: readonly TouchLayoutButtonBinding[];
19
26
  readonly pulse: readonly TouchLayoutButtonBinding[];
27
+ /**
28
+ * Placement rects for every control (sticks + buttons), in safe-area units.
29
+ * The shell renders each rect ≥ 48 CSS px on its smallest axis at any
30
+ * supported viewport (asserted at 390×844 in tests).
31
+ */
32
+ readonly rects: Readonly<Record<string, TouchLayoutRect>>;
20
33
  }
21
34
  export interface TouchLayoutPresetOptions {
22
35
  readonly width?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"TouchLayouts.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/TouchLayouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,wBAAwB;IACvC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,CAiFnB;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAAkC,CAAC"}
1
+ {"version":3,"file":"TouchLayouts.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/TouchLayouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;AAEhI,MAAM,WAAW,wBAAwB;IACvC,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,0FAA0F;AAC1F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,2CAA2C;IAC3C,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAAC;IAC1C,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACnD,QAAQ,CAAC,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACpD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,gBAAgB,EACvB,OAAO,GAAE,wBAA6B,GACrC,iBAAiB,CA6NnB;AAED,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAS1D,CAAC"}
@@ -31,6 +31,14 @@ export function createTouchLayoutPreset(genre, options = {}) {
31
31
  kind: "pulse",
32
32
  label
33
33
  });
34
+ // Safe-area-relative rects: w=0.125/h=0.06 ≈ 48.8 × 50.6 CSS px at 390×844.
35
+ const BTN = { x: 0, y: 0, w: 0.125, h: 0.06 };
36
+ const btn = (x, y) => ({ ...BTN, x, y });
37
+ // Bottom row cluster (right side): buttons step up-left like a gamepad diamond.
38
+ const B = { x0: 0.845, y0: 0.86, dx: -0.145, dy: -0.075 };
39
+ const stickL = { x: 0.04, y: 0.78 };
40
+ const stickR = { x: 0.74, y: 0.78 };
41
+ const rects = (entries) => Object.freeze({ ...entries });
34
42
  switch (genre) {
35
43
  case "fight":
36
44
  return {
@@ -51,7 +59,18 @@ export function createTouchLayoutPreset(genre, options = {}) {
51
59
  pulse("heavy", "KeyK", "Heavy"),
52
60
  pulse("special", "KeyL", "Special"),
53
61
  pulse("jump", "Space", "Jump")
54
- ]
62
+ ],
63
+ rects: rects({
64
+ leftStick: { x: stickL.x, y: stickL.y, w: 0.21, h: 0.15 },
65
+ rightStick: { x: stickR.x, y: stickR.y - 0.18, w: 0.21, h: 0.15 },
66
+ left: btn(0.03, 0.9),
67
+ right: btn(0.17, 0.9),
68
+ block: btn(0.31, 0.9),
69
+ light: btn(B.x0, B.y0),
70
+ heavy: btn(B.x0 + B.dx, B.y0),
71
+ special: btn(B.x0 + B.dx, B.y0 + B.dy),
72
+ jump: btn(B.x0 + B.dx * 2, B.y0)
73
+ })
55
74
  };
56
75
  case "race":
57
76
  return {
@@ -64,7 +83,16 @@ export function createTouchLayoutPreset(genre, options = {}) {
64
83
  hold("throttle", "ArrowUp", "Throttle"),
65
84
  hold("brake", "ArrowDown", "Brake")
66
85
  ],
67
- pulse: [pulse("boost", "ShiftLeft", "Boost"), pulse("reset", "KeyR", "Reset")]
86
+ pulse: [pulse("boost", "ShiftLeft", "Boost"), pulse("reset", "KeyR", "Reset")],
87
+ rects: rects({
88
+ leftStick: { x: stickL.x, y: stickL.y, w: 0.21, h: 0.15 },
89
+ "steer-left": btn(0.03, 0.9),
90
+ "steer-right": btn(0.17, 0.9),
91
+ throttle: btn(0.845, 0.78),
92
+ brake: btn(0.845, 0.9),
93
+ boost: btn(0.7, 0.9),
94
+ reset: btn(0.03, 0.02)
95
+ })
68
96
  };
69
97
  case "platform":
70
98
  return {
@@ -80,9 +108,127 @@ export function createTouchLayoutPreset(genre, options = {}) {
80
108
  returnToCenter: true
81
109
  },
82
110
  hold: [hold("left", "ArrowLeft", "Move left"), hold("right", "ArrowRight", "Move right"), hold("dash", "ShiftLeft", "Dash")],
83
- pulse: [pulse("jump", "Space", "Jump"), pulse("attack", "KeyJ", "Attack")]
111
+ pulse: [pulse("jump", "Space", "Jump"), pulse("attack", "KeyJ", "Attack")],
112
+ rects: rects({
113
+ leftStick: { x: stickL.x, y: stickL.y, w: 0.21, h: 0.15 },
114
+ rightStick: { x: stickR.x, y: stickR.y - 0.18, w: 0.21, h: 0.15 },
115
+ left: btn(0.03, 0.9),
116
+ right: btn(0.17, 0.9),
117
+ dash: btn(0.31, 0.9),
118
+ jump: btn(B.x0, B.y0),
119
+ attack: btn(B.x0 + B.dx, B.y0)
120
+ })
121
+ };
122
+ case "twin-stick":
123
+ // Two equal sticks: move + aim. One confirm/cancel pair.
124
+ return {
125
+ kind: "touch-layout-preset",
126
+ genre,
127
+ leftStick,
128
+ rightStick: {
129
+ center: [width - 96 * scale, height - 96 * scale],
130
+ radius: stickRadius,
131
+ deadZone: 0.18,
132
+ maxDistance: stickRadius * 0.8,
133
+ fixed: false,
134
+ returnToCenter: true
135
+ },
136
+ hold: [],
137
+ pulse: [pulse("confirm", "Enter", "Confirm"), pulse("cancel", "Escape", "Cancel")],
138
+ rects: rects({
139
+ leftStick: { x: stickL.x, y: stickL.y, w: 0.21, h: 0.15 },
140
+ rightStick: { x: stickR.x, y: stickR.y, w: 0.21, h: 0.15 },
141
+ confirm: btn(0.845, 0.9),
142
+ cancel: btn(0.03, 0.02)
143
+ })
144
+ };
145
+ case "aim-drag":
146
+ // Single aim stick on the right, confirm/cancel buttons. Used by
147
+ // deliberate aim-and-release games (billiards, mini-golf).
148
+ return {
149
+ kind: "touch-layout-preset",
150
+ genre,
151
+ leftStick: { ...leftStick, fixed: true },
152
+ rightStick: {
153
+ center: [width - 96 * scale, height - 96 * scale],
154
+ radius: 72 * scale,
155
+ deadZone: 0.08,
156
+ maxDistance: 58 * scale,
157
+ fixed: true,
158
+ returnToCenter: false
159
+ },
160
+ hold: [hold("charge", "Space", "Charge")],
161
+ pulse: [pulse("confirm", "Enter", "Confirm"), pulse("cancel", "Escape", "Cancel")],
162
+ rects: rects({
163
+ leftStick: { x: stickL.x, y: stickL.y, w: 0.21, h: 0.15 },
164
+ rightStick: { x: stickR.x, y: stickR.y, w: 0.24, h: 0.2 },
165
+ charge: btn(0.845, 0.9),
166
+ confirm: btn(0.7, 0.9),
167
+ cancel: btn(0.03, 0.02)
168
+ })
169
+ };
170
+ case "flight":
171
+ // Left stick is pitch/roll with spring-off (plane holds an attitude),
172
+ // throttle/brake holds, fire + camera-reset pulses.
173
+ return {
174
+ kind: "touch-layout-preset",
175
+ genre,
176
+ leftStick: { ...leftStick, returnToCenter: false, deadZone: 0.1 },
177
+ hold: [hold("throttle", "ArrowUp", "Throttle"), hold("brake", "ArrowDown", "Brake")],
178
+ pulse: [pulse("fire", "Space", "Fire"), pulse("camera-reset", "KeyC", "Reset camera")],
179
+ rects: rects({
180
+ leftStick: { x: stickL.x, y: stickL.y, w: 0.21, h: 0.15 },
181
+ throttle: btn(0.845, 0.74),
182
+ brake: btn(0.845, 0.9),
183
+ fire: btn(0.7, 0.9),
184
+ "camera-reset": btn(0.03, 0.02)
185
+ })
186
+ };
187
+ case "lane-swipe":
188
+ // No stick: lane games swipe. Big pulse pads for left/right/jump/duck.
189
+ return {
190
+ kind: "touch-layout-preset",
191
+ genre,
192
+ leftStick: { ...leftStick, radius: 0, maxDistance: 0 },
193
+ hold: [],
194
+ pulse: [
195
+ pulse("lane-left", "ArrowLeft", "Lane left"),
196
+ pulse("lane-right", "ArrowRight", "Lane right"),
197
+ pulse("jump", "ArrowUp", "Jump"),
198
+ pulse("duck", "ArrowDown", "Duck")
199
+ ],
200
+ rects: rects({
201
+ "lane-left": btn(0.03, 0.88),
202
+ "lane-right": btn(0.845, 0.88),
203
+ jump: btn(0.4375, 0.78),
204
+ duck: btn(0.4375, 0.9)
205
+ })
206
+ };
207
+ case "flippers":
208
+ // Pinball: two huge side zones + plunger pulse.
209
+ return {
210
+ kind: "touch-layout-preset",
211
+ genre,
212
+ leftStick: { ...leftStick, radius: 0, maxDistance: 0 },
213
+ hold: [hold("flip-left", "ShiftLeft", "Left flipper"), hold("flip-right", "ShiftRight", "Right flipper")],
214
+ pulse: [pulse("plunger", "ArrowDown", "Plunger"), pulse("tilt", "KeyT", "Nudge")],
215
+ rects: rects({
216
+ "flip-left": { x: 0.03, y: 0.74, w: 0.3, h: 0.24 },
217
+ "flip-right": { x: 0.67, y: 0.74, w: 0.3, h: 0.24 },
218
+ plunger: btn(0.845, 0.6),
219
+ tilt: btn(0.03, 0.02)
220
+ })
84
221
  };
85
222
  }
86
223
  }
87
- export const TOUCH_LAYOUT_GENRES = ["fight", "race", "platform"];
224
+ export const TOUCH_LAYOUT_GENRES = [
225
+ "fight",
226
+ "race",
227
+ "platform",
228
+ "twin-stick",
229
+ "aim-drag",
230
+ "flight",
231
+ "lane-swipe",
232
+ "flippers"
233
+ ];
88
234
  //# sourceMappingURL=TouchLayouts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TouchLayouts.js","sourceRoot":"","sources":["../../../../packages/input/src/TouchLayouts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TouchLayouts.js","sourceRoot":"","sources":["../../../../packages/input/src/TouchLayouts.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,3 @@
1
- import type { CameraTransformLike, Vec3Like } from "./ControlTypes.js";
2
- export interface CameraRigState {
3
- readonly position: Vec3Like;
4
- readonly target?: Vec3Like;
5
- }
6
- export declare class CameraRig {
7
- private readonly camera;
8
- constructor(camera: CameraTransformLike);
9
- apply(state: CameraRigState): void;
10
- blend(from: CameraRigState, to: CameraRigState, alpha: number): CameraRigState;
11
- }
1
+ export { CameraRig } from "@aura3d/controls";
2
+ export type { CameraRigState } from "@aura3d/controls";
12
3
  //# sourceMappingURL=CameraRig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraRig.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/CameraRig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEpE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;CAC5B;AAED,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAExD,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IASlC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc;CAkB/E"}
1
+ {"version":3,"file":"CameraRig.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/CameraRig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,32 +1,3 @@
1
- export class CameraRig {
2
- camera;
3
- constructor(camera) {
4
- this.camera = camera;
5
- }
6
- apply(state) {
7
- this.camera.position.x = state.position.x;
8
- this.camera.position.y = state.position.y;
9
- this.camera.position.z = state.position.z;
10
- if (state.target) {
11
- this.camera.lookAt?.(state.target);
12
- }
13
- }
14
- blend(from, to, alpha) {
15
- const t = Math.min(1, Math.max(0, alpha));
16
- return {
17
- position: {
18
- x: from.position.x + (to.position.x - from.position.x) * t,
19
- y: from.position.y + (to.position.y - from.position.y) * t,
20
- z: from.position.z + (to.position.z - from.position.z) * t
21
- },
22
- target: from.target && to.target
23
- ? {
24
- x: from.target.x + (to.target.x - from.target.x) * t,
25
- y: from.target.y + (to.target.y - from.target.y) * t,
26
- z: from.target.z + (to.target.z - from.target.z) * t
27
- }
28
- : (to.target ?? from.target)
29
- };
30
- }
31
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { CameraRig } from "@aura3d/controls";
32
3
  //# sourceMappingURL=CameraRig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraRig.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/CameraRig.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAG,CAAC;IAE5D,KAAK,CAAC,KAAqB;QACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAoB,EAAE,EAAkB,EAAE,KAAa;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QAC1C,OAAO;YACL,QAAQ,EAAE;gBACR,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1D,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC1D,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;aAC3D;YACD,MAAM,EACJ,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM;gBACtB,CAAC,CAAC;oBACE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;oBACpD,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;oBACpD,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;iBACrD;gBACH,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC;SACjC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"CameraRig.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/CameraRig.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,17 +1,3 @@
1
- export interface Vec3Like {
2
- x: number;
3
- y: number;
4
- z: number;
5
- }
6
- export interface EulerLike {
7
- x: number;
8
- y: number;
9
- z: number;
10
- }
11
- export interface CameraTransformLike {
12
- readonly position: Vec3Like;
13
- readonly rotation?: EulerLike;
14
- lookAt?(target: Vec3Like): void;
15
- }
16
- export declare function clamp(value: number, min: number, max: number): number;
1
+ export { clamp } from "@aura3d/controls";
2
+ export type { CameraTransformLike, EulerLike, Vec3Like } from "@aura3d/controls";
17
3
  //# sourceMappingURL=ControlTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ControlTypes.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ControlTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CACjC;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE"}
1
+ {"version":3,"file":"ControlTypes.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ControlTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,4 +1,3 @@
1
- export function clamp(value, min, max) {
2
- return Math.min(max, Math.max(min, value));
3
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { clamp } from "@aura3d/controls";
4
3
  //# sourceMappingURL=ControlTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ControlTypes.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ControlTypes.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"ControlTypes.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ControlTypes.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,20 +1,3 @@
1
- import type { InputSnapshot } from "../InputSnapshot.js";
2
- import { type CameraTransformLike } from "./ControlTypes.js";
3
- export interface EditorFlyControlsOptions {
4
- readonly baseSpeed?: number;
5
- readonly fastMultiplier?: number;
6
- readonly lookSpeed?: number;
7
- }
8
- export declare class EditorFlyControls {
9
- private readonly camera;
10
- enabled: boolean;
11
- private yaw;
12
- private pitch;
13
- private readonly baseSpeed;
14
- private readonly fastMultiplier;
15
- private readonly lookSpeed;
16
- constructor(camera: CameraTransformLike, options?: EditorFlyControlsOptions);
17
- update(snapshot: InputSnapshot, deltaSeconds: number): void;
18
- dispose(): void;
19
- }
1
+ export { EditorFlyControls } from "@aura3d/controls";
2
+ export type { EditorFlyControlsOptions } from "@aura3d/controls";
20
3
  //# sourceMappingURL=EditorFlyControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorFlyControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/EditorFlyControls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,KAAK,mBAAmB,EAAS,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,iBAAiB;IAS1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,UAAQ;IACf,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGhB,MAAM,EAAE,mBAAmB,EAC5C,OAAO,GAAE,wBAA6B;IASxC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAuB3D,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"EditorFlyControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/EditorFlyControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,44 +1,3 @@
1
- import { clamp } from "./ControlTypes.js";
2
- export class EditorFlyControls {
3
- camera;
4
- enabled = true;
5
- yaw = 0;
6
- pitch = 0;
7
- baseSpeed;
8
- fastMultiplier;
9
- lookSpeed;
10
- constructor(camera, options = {}) {
11
- this.camera = camera;
12
- this.baseSpeed = options.baseSpeed ?? 3;
13
- this.fastMultiplier = options.fastMultiplier ?? 4;
14
- this.lookSpeed = options.lookSpeed ?? 0.0025;
15
- this.pitch = clamp(camera.rotation?.x ?? 0, -Math.PI / 2 + 0.001, Math.PI / 2 - 0.001);
16
- this.yaw = camera.rotation?.y ?? 0;
17
- }
18
- update(snapshot, deltaSeconds) {
19
- if (!this.enabled)
20
- return;
21
- if (snapshot.button(1).down || snapshot.button(2).down) {
22
- this.yaw -= snapshot.pointer.deltaX * this.lookSpeed;
23
- this.pitch = clamp(this.pitch - snapshot.pointer.deltaY * this.lookSpeed, -Math.PI / 2 + 0.001, Math.PI / 2 - 0.001);
24
- if (this.camera.rotation) {
25
- this.camera.rotation.x = this.pitch;
26
- this.camera.rotation.y = this.yaw;
27
- }
28
- }
29
- const speed = this.baseSpeed * (snapshot.key("ShiftLeft").down || snapshot.key("ShiftRight").down ? this.fastMultiplier : 1);
30
- const forward = (snapshot.key("KeyW").down ? 1 : 0) - (snapshot.key("KeyS").down ? 1 : 0);
31
- const strafe = (snapshot.key("KeyD").down ? 1 : 0) - (snapshot.key("KeyA").down ? 1 : 0);
32
- const lift = (snapshot.key("KeyE").down ? 1 : 0) - (snapshot.key("KeyQ").down ? 1 : 0);
33
- const step = speed * deltaSeconds;
34
- const sin = Math.sin(this.yaw);
35
- const cos = Math.cos(this.yaw);
36
- this.camera.position.x += (strafe * cos + forward * sin) * step;
37
- this.camera.position.z += (forward * cos - strafe * sin) * step;
38
- this.camera.position.y += lift * step;
39
- }
40
- dispose() {
41
- this.enabled = false;
42
- }
43
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { EditorFlyControls } from "@aura3d/controls";
44
3
  //# sourceMappingURL=EditorFlyControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EditorFlyControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/EditorFlyControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EditorFlyControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/EditorFlyControls.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,22 +1,3 @@
1
- import type { InputSnapshot } from "../InputSnapshot.js";
2
- import { type CameraTransformLike } from "./ControlTypes.js";
3
- export interface FirstPersonControlsOptions {
4
- readonly moveSpeed?: number;
5
- readonly lookSpeed?: number;
6
- readonly minPitch?: number;
7
- readonly maxPitch?: number;
8
- }
9
- export declare class FirstPersonControls {
10
- private readonly camera;
11
- enabled: boolean;
12
- private yaw;
13
- private pitch;
14
- private readonly moveSpeed;
15
- private readonly lookSpeed;
16
- private readonly minPitch;
17
- private readonly maxPitch;
18
- constructor(camera: CameraTransformLike, options?: FirstPersonControlsOptions);
19
- update(snapshot: InputSnapshot, deltaSeconds: number): void;
20
- dispose(): void;
21
- }
1
+ export { FirstPersonControls } from "@aura3d/controls";
2
+ export type { FirstPersonControlsOptions } from "@aura3d/controls";
22
3
  //# sourceMappingURL=FirstPersonControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirstPersonControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/FirstPersonControls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAS,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,mBAAmB;IAW5B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVzB,OAAO,UAAQ;IAEf,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,MAAM,EAAE,mBAAmB,EAC5C,OAAO,GAAE,0BAA+B;IAU1C,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAwB3D,OAAO,IAAI,IAAI;CAGhB"}
1
+ {"version":3,"file":"FirstPersonControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/FirstPersonControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,YAAY,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,44 +1,3 @@
1
- import { clamp } from "./ControlTypes.js";
2
- export class FirstPersonControls {
3
- camera;
4
- enabled = true;
5
- yaw = 0;
6
- pitch = 0;
7
- moveSpeed;
8
- lookSpeed;
9
- minPitch;
10
- maxPitch;
11
- constructor(camera, options = {}) {
12
- this.camera = camera;
13
- this.moveSpeed = options.moveSpeed ?? 1;
14
- this.lookSpeed = options.lookSpeed ?? 0.002;
15
- this.minPitch = options.minPitch ?? -Math.PI / 2 + 0.001;
16
- this.maxPitch = options.maxPitch ?? Math.PI / 2 - 0.001;
17
- this.pitch = clamp(camera.rotation?.x ?? 0, this.minPitch, this.maxPitch);
18
- this.yaw = camera.rotation?.y ?? 0;
19
- }
20
- update(snapshot, deltaSeconds) {
21
- if (!this.enabled) {
22
- return;
23
- }
24
- if (snapshot.button(0).down) {
25
- this.yaw -= snapshot.pointer.deltaX * this.lookSpeed;
26
- this.pitch = clamp(this.pitch - snapshot.pointer.deltaY * this.lookSpeed, this.minPitch, this.maxPitch);
27
- if (this.camera.rotation) {
28
- this.camera.rotation.x = this.pitch;
29
- this.camera.rotation.y = this.yaw;
30
- }
31
- }
32
- const forward = (snapshot.key("KeyW").down ? 1 : 0) - (snapshot.key("KeyS").down ? 1 : 0);
33
- const strafe = (snapshot.key("KeyD").down ? 1 : 0) - (snapshot.key("KeyA").down ? 1 : 0);
34
- const step = this.moveSpeed * deltaSeconds;
35
- const sin = Math.sin(this.yaw);
36
- const cos = Math.cos(this.yaw);
37
- this.camera.position.x += (strafe * cos + forward * sin) * step;
38
- this.camera.position.z += (forward * cos - strafe * sin) * step;
39
- }
40
- dispose() {
41
- this.enabled = false;
42
- }
43
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { FirstPersonControls } from "@aura3d/controls";
44
3
  //# sourceMappingURL=FirstPersonControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FirstPersonControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/FirstPersonControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FirstPersonControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/FirstPersonControls.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,49 +1,3 @@
1
- import type { InputSnapshot } from "../InputSnapshot.js";
2
- import { type CameraTransformLike, type Vec3Like } from "./ControlTypes.js";
3
- export declare const DEFAULT_ORBIT_MAX_POLAR: number;
4
- export interface OrbitControlsOptions {
5
- readonly enabled?: boolean;
6
- readonly enablePan?: boolean;
7
- readonly enableZoom?: boolean;
8
- readonly enableRotate?: boolean;
9
- readonly target?: Vec3Like;
10
- readonly distance?: number;
11
- readonly minDistance?: number;
12
- readonly maxDistance?: number;
13
- readonly minPolar?: number;
14
- readonly maxPolar?: number;
15
- readonly rotateSpeed?: number;
16
- readonly zoomSpeed?: number;
17
- readonly panSpeed?: number;
18
- }
19
- export declare class OrbitControls {
20
- private readonly camera;
21
- enabled: boolean;
22
- enablePan: boolean;
23
- enableZoom: boolean;
24
- enableRotate: boolean;
25
- readonly target: Vec3Like;
26
- private azimuth;
27
- private polar;
28
- private distance;
29
- private readonly initial;
30
- private readonly minDistance;
31
- private readonly maxDistance;
32
- private readonly minPolar;
33
- private readonly maxPolar;
34
- private readonly rotateSpeed;
35
- private readonly zoomSpeed;
36
- private readonly panSpeed;
37
- constructor(camera: CameraTransformLike, options?: OrbitControlsOptions);
38
- update(snapshot: InputSnapshot): void;
39
- getPolarAngle(): number;
40
- getAzimuthalAngle(): number;
41
- getDistance(): number;
42
- saveState(): void;
43
- reset(): void;
44
- dispose(): void;
45
- private pan;
46
- private dollyFromWheel;
47
- private apply;
48
- }
1
+ export { DEFAULT_ORBIT_MAX_POLAR, OrbitControls } from "@aura3d/controls";
2
+ export type { OrbitCameraTransformLike, OrbitControlsOptions } from "@aura3d/controls";
49
3
  //# sourceMappingURL=OrbitControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/OrbitControls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAS,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEhF,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qBAAa,aAAa;IAoBtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAnBzB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAE1B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyE;IACjG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAGf,MAAM,EAAE,mBAAmB,EAC5C,OAAO,GAAE,oBAAyB;IA2BpC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IA0BrC,aAAa,IAAI,MAAM;IAIvB,iBAAiB,IAAI,MAAM;IAI3B,WAAW,IAAI,MAAM;IAIrB,SAAS,IAAI,IAAI;IASjB,KAAK,IAAI,IAAI;IAUb,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,GAAG;IAMX,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,KAAK;CAOd"}
1
+ {"version":3,"file":"OrbitControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/OrbitControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1E,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,131 +1,3 @@
1
- import { clamp } from "./ControlTypes.js";
2
- export const DEFAULT_ORBIT_MAX_POLAR = Math.PI * 0.37;
3
- export class OrbitControls {
4
- camera;
5
- enabled;
6
- enablePan;
7
- enableZoom;
8
- enableRotate;
9
- target;
10
- azimuth = 0;
11
- polar = Math.PI / 2;
12
- distance;
13
- initial;
14
- minDistance;
15
- maxDistance;
16
- minPolar;
17
- maxPolar;
18
- rotateSpeed;
19
- zoomSpeed;
20
- panSpeed;
21
- constructor(camera, options = {}) {
22
- this.camera = camera;
23
- this.enabled = options.enabled ?? true;
24
- this.enablePan = options.enablePan ?? true;
25
- this.enableZoom = options.enableZoom ?? true;
26
- this.enableRotate = options.enableRotate ?? true;
27
- this.target = { ...(options.target ?? { x: 0, y: 0, z: 0 }) };
28
- this.minDistance = options.minDistance ?? 0.1;
29
- this.maxDistance = options.maxDistance ?? 1_000;
30
- this.minPolar = options.minPolar ?? 0.001;
31
- this.maxPolar = options.maxPolar ?? DEFAULT_ORBIT_MAX_POLAR;
32
- this.rotateSpeed = options.rotateSpeed ?? 0.005;
33
- this.zoomSpeed = options.zoomSpeed ?? 1;
34
- this.panSpeed = options.panSpeed ?? 0.002;
35
- const current = orbitStateFromCamera(camera, this.target);
36
- this.distance = clamp(options.distance ?? current.distance, this.minDistance, this.maxDistance);
37
- this.azimuth = current.azimuth;
38
- this.polar = clamp(current.polar, this.minPolar, this.maxPolar);
39
- this.initial = {
40
- target: { ...this.target },
41
- azimuth: this.azimuth,
42
- polar: this.polar,
43
- distance: this.distance
44
- };
45
- this.apply();
46
- }
47
- update(snapshot) {
48
- if (!this.enabled) {
49
- return;
50
- }
51
- const leftButton = snapshot.button(0);
52
- const middleButton = snapshot.button(1);
53
- const rightButton = snapshot.button(2);
54
- const panModifier = snapshot.keys.has("ShiftLeft") || snapshot.keys.has("ShiftRight") || snapshot.keys.has("ControlLeft") || snapshot.keys.has("ControlRight") || snapshot.keys.has("MetaLeft") || snapshot.keys.has("MetaRight");
55
- if (this.enableRotate && leftButton.down && !panModifier) {
56
- this.azimuth -= snapshot.pointer.deltaX * this.rotateSpeed;
57
- this.polar = clamp(this.polar - snapshot.pointer.deltaY * this.rotateSpeed, this.minPolar, this.maxPolar);
58
- }
59
- if (this.enablePan && (rightButton.down || middleButton.down || (leftButton.down && panModifier))) {
60
- this.pan(snapshot.pointer.deltaX, snapshot.pointer.deltaY);
61
- }
62
- if (this.enableZoom && snapshot.pointer.wheelY !== 0) {
63
- this.dollyFromWheel(snapshot.pointer.wheelY);
64
- }
65
- this.apply();
66
- }
67
- getPolarAngle() {
68
- return this.polar;
69
- }
70
- getAzimuthalAngle() {
71
- return this.azimuth;
72
- }
73
- getDistance() {
74
- return this.distance;
75
- }
76
- saveState() {
77
- this.initial.target.x = this.target.x;
78
- this.initial.target.y = this.target.y;
79
- this.initial.target.z = this.target.z;
80
- this.initial.azimuth = this.azimuth;
81
- this.initial.polar = this.polar;
82
- this.initial.distance = this.distance;
83
- }
84
- reset() {
85
- this.target.x = this.initial.target.x;
86
- this.target.y = this.initial.target.y;
87
- this.target.z = this.initial.target.z;
88
- this.azimuth = this.initial.azimuth;
89
- this.polar = this.initial.polar;
90
- this.distance = this.initial.distance;
91
- this.apply();
92
- }
93
- dispose() {
94
- this.enabled = false;
95
- }
96
- pan(deltaX, deltaY) {
97
- const scale = this.distance * this.panSpeed;
98
- this.target.x -= deltaX * scale;
99
- this.target.y += deltaY * scale;
100
- }
101
- dollyFromWheel(deltaY) {
102
- const normalizedDelta = Math.abs(deltaY * 0.01);
103
- const zoomScale = Math.pow(0.95, this.zoomSpeed * normalizedDelta);
104
- const nextDistance = deltaY < 0
105
- ? this.distance * zoomScale
106
- : this.distance / zoomScale;
107
- this.distance = clamp(nextDistance, this.minDistance, this.maxDistance);
108
- }
109
- apply() {
110
- const sinPolar = Math.sin(this.polar);
111
- this.camera.position.x = this.target.x + this.distance * sinPolar * Math.sin(this.azimuth);
112
- this.camera.position.y = this.target.y + this.distance * Math.cos(this.polar);
113
- this.camera.position.z = this.target.z + this.distance * sinPolar * Math.cos(this.azimuth);
114
- this.camera.lookAt?.(this.target);
115
- }
116
- }
117
- function orbitStateFromCamera(camera, target) {
118
- const dx = camera.position.x - target.x;
119
- const dy = camera.position.y - target.y;
120
- const dz = camera.position.z - target.z;
121
- const distance = Math.hypot(dx, dy, dz);
122
- if (!Number.isFinite(distance) || distance <= 1e-6) {
123
- return { azimuth: 0, polar: Math.PI / 2, distance: 5 };
124
- }
125
- return {
126
- azimuth: Math.atan2(dx, dz),
127
- polar: Math.acos(clamp(dy / distance, -1, 1)),
128
- distance
129
- };
130
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { DEFAULT_ORBIT_MAX_POLAR, OrbitControls } from "@aura3d/controls";
131
3
  //# sourceMappingURL=OrbitControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/OrbitControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/OrbitControls.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,11 +1,2 @@
1
- import { InputSnapshot } from "../InputSnapshot.js";
2
- import { FirstPersonControls, type FirstPersonControlsOptions } from "./FirstPersonControls.js";
3
- import type { CameraTransformLike } from "./ControlTypes.js";
4
- export declare class PointerLockControls extends FirstPersonControls {
5
- locked: boolean;
6
- constructor(camera: CameraTransformLike, options?: FirstPersonControlsOptions);
7
- lock(): void;
8
- unlock(): void;
9
- update(snapshot: InputSnapshot, deltaSeconds: number): void;
10
- }
1
+ export { PointerLockControls } from "@aura3d/controls";
11
2
  //# sourceMappingURL=PointerLockControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PointerLockControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/PointerLockControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,MAAM,UAAS;gBAEH,MAAM,EAAE,mBAAmB,EAAE,OAAO,GAAE,0BAA+B;IAIjF,IAAI,IAAI,IAAI;IAIZ,MAAM,IAAI,IAAI;IAIL,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;CAiBrE"}
1
+ {"version":3,"file":"PointerLockControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/PointerLockControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,31 +1,3 @@
1
- import { InputSnapshot } from "../InputSnapshot.js";
2
- import { FirstPersonControls } from "./FirstPersonControls.js";
3
- export class PointerLockControls extends FirstPersonControls {
4
- locked = false;
5
- constructor(camera, options = {}) {
6
- super(camera, options);
7
- }
8
- lock() {
9
- this.locked = true;
10
- }
11
- unlock() {
12
- this.locked = false;
13
- }
14
- update(snapshot, deltaSeconds) {
15
- if (!this.locked)
16
- return;
17
- if ((snapshot.pointer.deltaX !== 0 || snapshot.pointer.deltaY !== 0)
18
- && !snapshot.button(0).down) {
19
- const buttons = new Map(snapshot.pointer.buttons);
20
- buttons.set(0, { down: true, pressed: false, released: false });
21
- super.update(new InputSnapshot({
22
- keys: snapshot.keys,
23
- pointer: { ...snapshot.pointer, buttons },
24
- gamepads: snapshot.gamepads
25
- }), deltaSeconds);
26
- return;
27
- }
28
- super.update(snapshot, deltaSeconds);
29
- }
30
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { PointerLockControls } from "@aura3d/controls";
31
3
  //# sourceMappingURL=PointerLockControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PointerLockControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/PointerLockControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,uBAAuB,CAAC;AAG7F,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,MAAM,GAAG,KAAK,CAAC;IAEf,YAAY,MAA2B,EAAE,UAAsC,EAAE;QAC/E,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEQ,MAAM,CAAC,QAAuB,EAAE,YAAoB;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IACE,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;eAC7D,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3B,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,KAAK,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC;gBAC7B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE;gBACzC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC,EAAE,YAAY,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"PointerLockControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/PointerLockControls.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,10 +1,3 @@
1
- import { type Camera } from "@aura3d/scene";
2
- import { type CameraTransformLike, type EulerLike, type Vec3Like } from "./ControlTypes.js";
3
- export interface SceneCameraControlAdapter extends CameraTransformLike {
4
- readonly camera: Camera;
5
- readonly position: Vec3Like;
6
- readonly rotation: EulerLike;
7
- lookAt(target: Vec3Like): void;
8
- }
9
- export declare function createSceneCameraControlAdapter(camera: Camera): SceneCameraControlAdapter;
1
+ export { createSceneCameraControlAdapter } from "@aura3d/controls";
2
+ export type { SceneCameraControlAdapter } from "@aura3d/controls";
10
3
  //# sourceMappingURL=SceneCameraAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneCameraAdapter.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/SceneCameraAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEzF,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;CAChC;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,CAkEzF"}
1
+ {"version":3,"file":"SceneCameraAdapter.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/SceneCameraAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,YAAY,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,90 +1,3 @@
1
- import { Quaternion, Vector3 } from "@aura3d/math";
2
- import {} from "@aura3d/scene";
3
- import {} from "./ControlTypes.js";
4
- export function createSceneCameraControlAdapter(camera) {
5
- const euler = quaternionToEuler(camera.transform.rotation);
6
- const position = {
7
- get x() {
8
- return camera.transform.position[0];
9
- },
10
- set x(value) {
11
- camera.transform.setPosition(value, camera.transform.position[1], camera.transform.position[2]);
12
- syncCamera(camera);
13
- },
14
- get y() {
15
- return camera.transform.position[1];
16
- },
17
- set y(value) {
18
- camera.transform.setPosition(camera.transform.position[0], value, camera.transform.position[2]);
19
- syncCamera(camera);
20
- },
21
- get z() {
22
- return camera.transform.position[2];
23
- },
24
- set z(value) {
25
- camera.transform.setPosition(camera.transform.position[0], camera.transform.position[1], value);
26
- syncCamera(camera);
27
- }
28
- };
29
- const rotation = {
30
- get x() {
31
- return euler.x;
32
- },
33
- set x(value) {
34
- euler.x = value;
35
- applyEuler(camera, euler);
36
- },
37
- get y() {
38
- return euler.y;
39
- },
40
- set y(value) {
41
- euler.y = value;
42
- applyEuler(camera, euler);
43
- },
44
- get z() {
45
- return euler.z;
46
- },
47
- set z(value) {
48
- euler.z = value;
49
- applyEuler(camera, euler);
50
- }
51
- };
52
- return {
53
- camera,
54
- position,
55
- rotation,
56
- lookAt(target) {
57
- const origin = new Vector3(camera.transform.position[0], camera.transform.position[1], camera.transform.position[2]);
58
- const direction = new Vector3(target.x, target.y, target.z).subtract(origin).normalize();
59
- if (direction.lengthSquared() === 0)
60
- return;
61
- const q = Quaternion.fromUnitVectors(Vector3.forward, direction);
62
- camera.transform.setRotation(q.x, q.y, q.z, q.w);
63
- const nextEuler = quaternionToEuler([q.x, q.y, q.z, q.w]);
64
- euler.x = nextEuler.x;
65
- euler.y = nextEuler.y;
66
- euler.z = nextEuler.z;
67
- syncCamera(camera);
68
- }
69
- };
70
- }
71
- function applyEuler(camera, euler) {
72
- const yaw = Quaternion.fromAxisAngle(Vector3.up, euler.y);
73
- const pitch = Quaternion.fromAxisAngle(Vector3.right, euler.x);
74
- const roll = Quaternion.fromAxisAngle(new Vector3(0, 0, 1), euler.z);
75
- const q = yaw.multiply(pitch).multiply(roll).normalize();
76
- camera.transform.setRotation(q.x, q.y, q.z, q.w);
77
- syncCamera(camera);
78
- }
79
- function syncCamera(camera) {
80
- camera.updateCameraMatrices();
81
- }
82
- function quaternionToEuler(rotation) {
83
- const [x, y, z, w] = rotation;
84
- const sinPitch = 2 * (w * x - z * y);
85
- const pitch = Math.abs(sinPitch) >= 1 ? Math.sign(sinPitch) * Math.PI / 2 : Math.asin(sinPitch);
86
- const yaw = Math.atan2(2 * (w * y + x * z), 1 - 2 * (x * x + y * y));
87
- const roll = Math.atan2(2 * (w * z + x * y), 1 - 2 * (x * x + z * z));
88
- return { x: pitch, y: yaw, z: roll };
89
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { createSceneCameraControlAdapter } from "@aura3d/controls";
90
3
  //# sourceMappingURL=SceneCameraAdapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SceneCameraAdapter.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/SceneCameraAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAe,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA2D,MAAM,gBAAgB,CAAC;AASzF,MAAM,UAAU,+BAA+B,CAAC,MAAc;IAC5D,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,CAAC,KAAa;YACjB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAChG,UAAU,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,CAAC,KAAa;YACjB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAChG,UAAU,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,CAAC,KAAa;YACjB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAChG,UAAU,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;KACF,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,CAAC,KAAa;YACjB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;YAChB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,CAAC,KAAa;YACjB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;YAChB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC;YACH,OAAO,KAAK,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,CAAC,KAAa;YACjB,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;YAChB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;IAEF,OAAO;QACL,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,MAAM,CAAC,MAAgB;YACrB,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACrH,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;YACzF,IAAI,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC;gBAAE,OAAO;YAC5C,MAAM,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjE,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACtB,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YACtB,UAAU,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,KAAgB;IAClD,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;IACzD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,UAAU,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,MAAM,CAAC,oBAAoB,EAAE,CAAC;AAChC,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAmD;IAC5E,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC;IAC9B,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"SceneCameraAdapter.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/SceneCameraAdapter.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,20 +1,3 @@
1
- import { type CameraTransformLike, type Vec3Like } from "./ControlTypes.js";
2
- export interface ThirdPersonFollowControlsOptions {
3
- readonly offset?: Vec3Like;
4
- readonly damping?: number;
5
- }
6
- export declare class ThirdPersonFollowControls {
7
- private readonly camera;
8
- enabled: boolean;
9
- target?: {
10
- readonly position: Vec3Like;
11
- };
12
- readonly offset: Vec3Like;
13
- damping: number;
14
- constructor(camera: CameraTransformLike, target?: {
15
- readonly position: Vec3Like;
16
- }, options?: ThirdPersonFollowControlsOptions);
17
- update(deltaSeconds: number): void;
18
- dispose(): void;
19
- }
1
+ export { ThirdPersonFollowControls } from "@aura3d/controls";
2
+ export type { ThirdPersonFollowControlsOptions } from "@aura3d/controls";
20
3
  //# sourceMappingURL=ThirdPersonFollowControls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThirdPersonFollowControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ThirdPersonFollowControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEzE,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,yBAAyB;IAOlC,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,UAAQ;IACf,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;gBAGG,MAAM,EAAE,mBAAmB,EAC5C,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;KAAE,EACxC,OAAO,GAAE,gCAAqC;IAOhD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAclC,OAAO,IAAI,IAAI;CAIhB"}
1
+ {"version":3,"file":"ThirdPersonFollowControls.d.ts","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ThirdPersonFollowControls.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,YAAY,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,33 +1,3 @@
1
- import {} from "./ControlTypes.js";
2
- export class ThirdPersonFollowControls {
3
- camera;
4
- enabled = true;
5
- target;
6
- offset;
7
- damping;
8
- constructor(camera, target, options = {}) {
9
- this.camera = camera;
10
- this.target = target;
11
- this.offset = { ...(options.offset ?? { x: 0, y: 2, z: 6 }) };
12
- this.damping = options.damping ?? 12;
13
- }
14
- update(deltaSeconds) {
15
- if (!this.enabled || !this.target)
16
- return;
17
- const desired = {
18
- x: this.target.position.x + this.offset.x,
19
- y: this.target.position.y + this.offset.y,
20
- z: this.target.position.z + this.offset.z
21
- };
22
- const alpha = 1 - Math.exp(-this.damping * Math.max(0, deltaSeconds));
23
- this.camera.position.x += (desired.x - this.camera.position.x) * alpha;
24
- this.camera.position.y += (desired.y - this.camera.position.y) * alpha;
25
- this.camera.position.z += (desired.z - this.camera.position.z) * alpha;
26
- this.camera.lookAt?.(this.target.position);
27
- }
28
- dispose() {
29
- this.enabled = false;
30
- this.target = undefined;
31
- }
32
- }
1
+ // Deprecated shim (PRD-15 T6.9): implementation lives in @aura3d/controls; remove in 4.0.0.
2
+ export { ThirdPersonFollowControls } from "@aura3d/controls";
33
3
  //# sourceMappingURL=ThirdPersonFollowControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThirdPersonFollowControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ThirdPersonFollowControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,MAAM,gBAAgB,CAAC;AAOzE,MAAM,OAAO,yBAAyB;IAOjB;IANnB,OAAO,GAAG,IAAI,CAAC;IACf,MAAM,CAAmC;IAChC,MAAM,CAAW;IAC1B,OAAO,CAAS;IAEhB,YACmB,MAA2B,EAC5C,MAAwC,EACxC,UAA4C,EAAE;QAF7B,WAAM,GAAN,MAAM,CAAqB;QAI5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,YAAoB;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAC1C,MAAM,OAAO,GAAG;YACd,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;SAC1C,CAAC;QACF,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"ThirdPersonFollowControls.js","sourceRoot":"","sources":["../../../../../packages/input/src/controls/ThirdPersonFollowControls.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export type { ComboDefinition, ComboEvent, ComboFrameInput } from "./ComboDetect
5
5
  export { playHaptic, probeHaptics } from "./Haptics.js";
6
6
  export type { GamepadRumbleActuatorLike, HapticRequest, HapticResult, HapticsCapability, HapticProbeInput, NavigatorVibrateLike } from "./Haptics.js";
7
7
  export { TOUCH_LAYOUT_GENRES, createTouchLayoutPreset } from "./TouchLayouts.js";
8
- export type { TouchLayoutButtonBinding, TouchLayoutGenre, TouchLayoutPreset, TouchLayoutPresetOptions } from "./TouchLayouts.js";
8
+ export type { TouchLayoutButtonBinding, TouchLayoutGenre, TouchLayoutPreset, TouchLayoutPresetOptions, TouchLayoutRect } from "./TouchLayouts.js";
9
9
  export { GamepadDevice } from "./GamepadDevice.js";
10
10
  export type { GamepadButtonLike, GamepadLike } from "./GamepadDevice.js";
11
11
  export { GestureRecognizer } from "./GestureRecognizer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/input/src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aura3d/input",
3
- "version": "3.0.0",
3
+ "version": "4.0.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -11,8 +11,9 @@
11
11
  "main": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts",
13
13
  "dependencies": {
14
- "@aura3d/math": "3.0.0",
15
- "@aura3d/scene": "3.0.0"
14
+ "@aura3d/controls": "4.0.0",
15
+ "@aura3d/math": "4.0.0",
16
+ "@aura3d/scene": "4.0.0"
16
17
  },
17
18
  "description": "Keyboard, pointer, gamepad, gesture, action-map, picking-ray, interaction, and camera-control runtime contracts for Aura3D.",
18
19
  "keywords": [