@iwsdk/core 0.3.1 → 0.4.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 (118) hide show
  1. package/dist/camera/camera-system.d.ts +2 -1
  2. package/dist/camera/camera-system.d.ts.map +1 -1
  3. package/dist/camera/camera-system.js +6 -6
  4. package/dist/camera/camera-system.js.map +1 -1
  5. package/dist/depth/depth-sensing-system.d.ts +2 -0
  6. package/dist/depth/depth-sensing-system.d.ts.map +1 -1
  7. package/dist/depth/depth-sensing-system.js +18 -16
  8. package/dist/depth/depth-sensing-system.js.map +1 -1
  9. package/dist/ecs/system.d.ts +5 -2
  10. package/dist/ecs/system.d.ts.map +1 -1
  11. package/dist/ecs/system.js +2 -0
  12. package/dist/ecs/system.js.map +1 -1
  13. package/dist/ecs/world.d.ts +26 -4
  14. package/dist/ecs/world.d.ts.map +1 -1
  15. package/dist/ecs/world.js +2 -2
  16. package/dist/ecs/world.js.map +1 -1
  17. package/dist/environment-raycast/environment-raycast.js +2 -2
  18. package/dist/environment-raycast/environment-raycast.js.map +1 -1
  19. package/dist/grab/grab-system.d.ts.map +1 -1
  20. package/dist/grab/grab-system.js +20 -7
  21. package/dist/grab/grab-system.js.map +1 -1
  22. package/dist/grab/grabbed.d.ts +21 -0
  23. package/dist/grab/grabbed.d.ts.map +1 -0
  24. package/dist/grab/grabbed.js +29 -0
  25. package/dist/grab/grabbed.js.map +1 -0
  26. package/dist/grab/index.d.ts +1 -0
  27. package/dist/grab/index.d.ts.map +1 -1
  28. package/dist/grab/index.js +1 -0
  29. package/dist/grab/index.js.map +1 -1
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +10 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/init/player-camera.d.ts +9 -0
  35. package/dist/init/player-camera.d.ts.map +1 -0
  36. package/dist/init/player-camera.js +14 -0
  37. package/dist/init/player-camera.js.map +1 -0
  38. package/dist/init/world-initializer.d.ts +30 -4
  39. package/dist/init/world-initializer.d.ts.map +1 -1
  40. package/dist/init/world-initializer.js +114 -24
  41. package/dist/init/world-initializer.js.map +1 -1
  42. package/dist/init/xr.d.ts.map +1 -1
  43. package/dist/init/xr.js +1 -0
  44. package/dist/init/xr.js.map +1 -1
  45. package/dist/input/canvas-pointer-system.d.ts +38 -0
  46. package/dist/input/canvas-pointer-system.d.ts.map +1 -0
  47. package/dist/input/canvas-pointer-system.js +47 -0
  48. package/dist/input/canvas-pointer-system.js.map +1 -0
  49. package/dist/input/index.d.ts +5 -0
  50. package/dist/input/index.d.ts.map +1 -1
  51. package/dist/input/input-actions.d.ts +139 -0
  52. package/dist/input/input-actions.d.ts.map +1 -0
  53. package/dist/input/input-actions.js +357 -0
  54. package/dist/input/input-actions.js.map +1 -0
  55. package/dist/input/input-manager.d.ts +56 -0
  56. package/dist/input/input-manager.d.ts.map +1 -0
  57. package/dist/input/input-manager.js +89 -0
  58. package/dist/input/input-manager.js.map +1 -0
  59. package/dist/input/input-system.d.ts +149 -137
  60. package/dist/input/input-system.d.ts.map +1 -1
  61. package/dist/input/input-system.js +30 -66
  62. package/dist/input/input-system.js.map +1 -1
  63. package/dist/input/stateful-browser-gamepad.d.ts +40 -0
  64. package/dist/input/stateful-browser-gamepad.d.ts.map +1 -0
  65. package/dist/input/stateful-browser-gamepad.js +139 -0
  66. package/dist/input/stateful-browser-gamepad.js.map +1 -0
  67. package/dist/input/stateful-keyboard.d.ts +23 -0
  68. package/dist/input/stateful-keyboard.d.ts.map +1 -0
  69. package/dist/input/stateful-keyboard.js +63 -0
  70. package/dist/input/stateful-keyboard.js.map +1 -0
  71. package/dist/layers/index.d.ts +10 -0
  72. package/dist/layers/index.d.ts.map +1 -0
  73. package/dist/layers/xr-cylinder-layer.d.ts +62 -0
  74. package/dist/layers/xr-cylinder-layer.d.ts.map +1 -0
  75. package/dist/layers/xr-cylinder-layer.js +48 -0
  76. package/dist/layers/xr-cylinder-layer.js.map +1 -0
  77. package/dist/layers/xr-layer-system.d.ts +296 -0
  78. package/dist/layers/xr-layer-system.d.ts.map +1 -0
  79. package/dist/layers/xr-layer-system.js +378 -0
  80. package/dist/layers/xr-layer-system.js.map +1 -0
  81. package/dist/layers/xr-quad-layer.d.ts +57 -0
  82. package/dist/layers/xr-quad-layer.d.ts.map +1 -0
  83. package/dist/layers/xr-quad-layer.js +46 -0
  84. package/dist/layers/xr-quad-layer.js.map +1 -0
  85. package/dist/locomotion/index.d.ts +1 -0
  86. package/dist/locomotion/index.d.ts.map +1 -1
  87. package/dist/locomotion/locomotion-input-provider.d.ts +39 -0
  88. package/dist/locomotion/locomotion-input-provider.d.ts.map +1 -0
  89. package/dist/locomotion/locomotion-input-provider.js +109 -0
  90. package/dist/locomotion/locomotion-input-provider.js.map +1 -0
  91. package/dist/locomotion/locomotion.d.ts +11 -11
  92. package/dist/locomotion/locomotion.d.ts.map +1 -1
  93. package/dist/locomotion/locomotion.js +10 -10
  94. package/dist/locomotion/locomotion.js.map +1 -1
  95. package/dist/locomotion/slide.d.ts +12 -12
  96. package/dist/locomotion/slide.d.ts.map +1 -1
  97. package/dist/locomotion/slide.js +11 -15
  98. package/dist/locomotion/slide.js.map +1 -1
  99. package/dist/locomotion/teleport.d.ts +11 -1
  100. package/dist/locomotion/teleport.d.ts.map +1 -1
  101. package/dist/locomotion/teleport.js +10 -30
  102. package/dist/locomotion/teleport.js.map +1 -1
  103. package/dist/locomotion/turn.d.ts +11 -0
  104. package/dist/locomotion/turn.d.ts.map +1 -1
  105. package/dist/locomotion/turn.js +14 -25
  106. package/dist/locomotion/turn.js.map +1 -1
  107. package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
  108. package/dist/mcp/ecs-debug-tools.js +20 -13
  109. package/dist/mcp/ecs-debug-tools.js.map +1 -1
  110. package/dist/physics/physics-system.d.ts.map +1 -1
  111. package/dist/physics/physics-system.js +2 -2
  112. package/dist/ui/ui.d.ts +5 -18
  113. package/dist/ui/ui.d.ts.map +1 -1
  114. package/dist/ui/ui.js +6 -25
  115. package/dist/ui/ui.js.map +1 -1
  116. package/dist/version.d.ts +1 -1
  117. package/dist/version.js +1 -1
  118. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xr-layer-system.js","sources":["../../src/layers/xr-layer-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { Types } from '../ecs/index.js';
8
+ /**
9
+ * XRQuadLayer - Component for WebXR quad composition layers.
10
+ *
11
+ * A quad layer renders content onto a flat rectangular surface positioned in
12
+ * 3D space. The entity's transform controls the layer's world position and
13
+ * orientation. In XR, the content is composited by the device's native
14
+ * compositor for sharper rendering and lower latency.
15
+ *
16
+ * Outside XR, the layer content is displayed on a textured plane mesh as a
17
+ * fallback.
18
+ *
19
+ * @category Layers
20
+ */
21
+ export declare const XRQuadLayer: import("elics").Component<{
22
+ /** Width of the quad in meters. */
23
+ width: {
24
+ type: Types.Float32;
25
+ default: number;
26
+ };
27
+ /** Height of the quad in meters. */
28
+ height: {
29
+ type: Types.Float32;
30
+ default: number;
31
+ };
32
+ /** Width of the layer's render target in pixels. */
33
+ pixelWidth: {
34
+ type: Types.Int16;
35
+ default: number;
36
+ };
37
+ /** Height of the layer's render target in pixels. */
38
+ pixelHeight: {
39
+ type: Types.Int16;
40
+ default: number;
41
+ };
42
+ /**
43
+ * Callback invoked each frame to render layer content.
44
+ * The renderer's render target is already set; call
45
+ * `renderer.render(scene, camera)` to draw into the layer.
46
+ */
47
+ renderCallback: {
48
+ type: Types.Object;
49
+ default: null;
50
+ };
51
+ /** Enable stencil buffer on the layer's render target. */
52
+ stencil: {
53
+ type: Types.Boolean;
54
+ default: false;
55
+ };
56
+ }>;
57
+ //# sourceMappingURL=xr-quad-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xr-quad-layer.d.ts","sourceRoot":"","sources":["../../src/layers/xr-quad-layer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAmB,MAAM,iBAAiB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW;IAGpB,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,oDAAoD;;;;;IAEpD,qDAAqD;;;;;IAErD;;;;OAIG;;;;;IAEH,0DAA0D;;;;;EAI7D,CAAC"}
@@ -0,0 +1,46 @@
1
+ import '@preact/signals-core';
2
+ import '../ecs/world.js';
3
+ import { createComponent, Types } from 'elics';
4
+ import '../ecs/entity.js';
5
+ import '../ecs/component-registry.js';
6
+
7
+ /**
8
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
9
+ *
10
+ * This source code is licensed under the MIT license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */
13
+ /**
14
+ * XRQuadLayer - Component for WebXR quad composition layers.
15
+ *
16
+ * A quad layer renders content onto a flat rectangular surface positioned in
17
+ * 3D space. The entity's transform controls the layer's world position and
18
+ * orientation. In XR, the content is composited by the device's native
19
+ * compositor for sharper rendering and lower latency.
20
+ *
21
+ * Outside XR, the layer content is displayed on a textured plane mesh as a
22
+ * fallback.
23
+ *
24
+ * @category Layers
25
+ */
26
+ const XRQuadLayer = createComponent('XRQuadLayer', {
27
+ /** Width of the quad in meters. */
28
+ width: { type: Types.Float32, default: 1.0 },
29
+ /** Height of the quad in meters. */
30
+ height: { type: Types.Float32, default: 1.0 },
31
+ /** Width of the layer's render target in pixels. */
32
+ pixelWidth: { type: Types.Int16, default: 1024 },
33
+ /** Height of the layer's render target in pixels. */
34
+ pixelHeight: { type: Types.Int16, default: 1024 },
35
+ /**
36
+ * Callback invoked each frame to render layer content.
37
+ * The renderer's render target is already set; call
38
+ * `renderer.render(scene, camera)` to draw into the layer.
39
+ */
40
+ renderCallback: { type: Types.Object, default: null },
41
+ /** Enable stencil buffer on the layer's render target. */
42
+ stencil: { type: Types.Boolean, default: false },
43
+ }, 'Quad composition layer for WebXR');
44
+
45
+ export { XRQuadLayer };
46
+ //# sourceMappingURL=xr-quad-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xr-quad-layer.js","sources":["../../src/layers/xr-quad-layer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;;;AAKG;AAIH;;;;;;;;;;;;AAYG;AACI,MAAM,WAAW,GAAG,eAAe,CACxC,aAAa,EACb;;IAEE,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;IAE5C,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;IAE7C,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;;IAEhD,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;AACjD;;;;AAIG;IACH,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;;IAErD,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;CACjD,EACD,kCAAkC;;;;"}
@@ -7,5 +7,6 @@
7
7
  export * from './slide.js';
8
8
  export * from './teleport.js';
9
9
  export * from './turn.js';
10
+ export * from './locomotion-input-provider.js';
10
11
  export * from './locomotion.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locomotion/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/locomotion/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import type { World } from '../ecs/index.js';
8
+ import { Quaternion, Vector2, Vector3 } from '../runtime/index.js';
9
+ export type BrowserLocomotionControls = boolean | {
10
+ keyboard?: boolean;
11
+ gamepad?: boolean;
12
+ /** Reserved for a future pointer-lock camera adapter. */
13
+ pointerLock?: false;
14
+ };
15
+ /**
16
+ * Converts low-level input actions into locomotion intent.
17
+ *
18
+ * Locomotion should not care whether input came from XR controllers, keyboard,
19
+ * browser gamepads, or an app-authored adapter. This provider is the narrow
20
+ * bridge between generic actions and the existing locomotor systems.
21
+ */
22
+ export declare class ActionLocomotionInputProvider {
23
+ private readonly world;
24
+ constructor(world: World);
25
+ enableBrowserControls(options: BrowserLocomotionControls): void;
26
+ getMoveAxis(out: Vector2): Vector2;
27
+ getMovementReferenceQuaternion(out: Quaternion): Quaternion;
28
+ getJumpDown(): boolean;
29
+ getTurnAxis(): number;
30
+ getTurnLeftDown(microGestureControlsEnabled: boolean): boolean;
31
+ getTurnRightDown(microGestureControlsEnabled: boolean): boolean;
32
+ shouldShowTurnSignals(microGestureControlsEnabled: boolean): boolean;
33
+ getTeleportActive(pointerBusy: boolean, microGestureControlsEnabled: boolean): boolean;
34
+ getTeleportCommit(microGestureControlsEnabled: boolean): boolean;
35
+ getTeleportRay(origin: Vector3, direction: Vector3): boolean;
36
+ private isHandMicroGestureMode;
37
+ }
38
+ export declare function getRequiredInputProvider(systemName: string, value: unknown): ActionLocomotionInputProvider;
39
+ //# sourceMappingURL=locomotion-input-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locomotion-input-provider.d.ts","sourceRoot":"","sources":["../../src/locomotion/locomotion-input-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAInE,MAAM,MAAM,yBAAyB,GACjC,OAAO,GACP;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB,CAAC;AAEN;;;;;;GAMG;AACH,qBAAa,6BAA6B;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAEzC,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI;IAmB/D,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAOlC,8BAA8B,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU;IAS3D,WAAW,IAAI,OAAO;IAItB,WAAW,IAAI,MAAM;IAIrB,eAAe,CAAC,2BAA2B,EAAE,OAAO,GAAG,OAAO;IAW9D,gBAAgB,CAAC,2BAA2B,EAAE,OAAO,GAAG,OAAO;IAW/D,qBAAqB,CAAC,2BAA2B,EAAE,OAAO,GAAG,OAAO;IAIpE,iBAAiB,CACf,WAAW,EAAE,OAAO,EACpB,2BAA2B,EAAE,OAAO,GACnC,OAAO;IAiBV,iBAAiB,CAAC,2BAA2B,EAAE,OAAO,GAAG,OAAO;IAahE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG,OAAO;IAU5D,OAAO,CAAC,sBAAsB;CAQ/B;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,OAAO,GACb,6BAA6B,CAQ/B"}
@@ -0,0 +1,109 @@
1
+ import { InputActions } from '../input/input-actions.js';
2
+
3
+ /**
4
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ const TURN_THRESHOLD = 0.8;
10
+ /**
11
+ * Converts low-level input actions into locomotion intent.
12
+ *
13
+ * Locomotion should not care whether input came from XR controllers, keyboard,
14
+ * browser gamepads, or an app-authored adapter. This provider is the narrow
15
+ * bridge between generic actions and the existing locomotor systems.
16
+ */
17
+ class ActionLocomotionInputProvider {
18
+ constructor(world) {
19
+ this.world = world;
20
+ }
21
+ enableBrowserControls(options) {
22
+ if (!options) {
23
+ return;
24
+ }
25
+ const bindingOptions = typeof options === 'object'
26
+ ? {
27
+ keyboard: options.keyboard,
28
+ gamepad: options.gamepad,
29
+ }
30
+ : undefined;
31
+ this.world.input.actions.enableDefaultBindings('browser-first-person', bindingOptions);
32
+ }
33
+ getMoveAxis(out) {
34
+ const value = this.world.input.actions.getAxis2D(InputActions.LocomotionMove);
35
+ return out.set(value.x, value.y);
36
+ }
37
+ getMovementReferenceQuaternion(out) {
38
+ if (this.world.session) {
39
+ this.world.player.head.getWorldQuaternion(out);
40
+ }
41
+ else {
42
+ this.world.camera.getWorldQuaternion(out);
43
+ }
44
+ return out;
45
+ }
46
+ getJumpDown() {
47
+ return this.world.input.actions.getButtonDown(InputActions.LocomotionJump);
48
+ }
49
+ getTurnAxis() {
50
+ return this.world.input.actions.getAxis1D(InputActions.LocomotionTurn);
51
+ }
52
+ getTurnLeftDown(microGestureControlsEnabled) {
53
+ var _a, _b;
54
+ if (this.isHandMicroGestureMode(microGestureControlsEnabled)) {
55
+ return (_b = (_a = this.world.input.xr.gamepads.right) === null || _a === void 0 ? void 0 : _a.getButtonDownByIdx(5)) !== null && _b !== void 0 ? _b : false;
56
+ }
57
+ return this.world.input.actions.getAxis1DEnteringNegative(InputActions.LocomotionTurn, TURN_THRESHOLD);
58
+ }
59
+ getTurnRightDown(microGestureControlsEnabled) {
60
+ var _a, _b;
61
+ if (this.isHandMicroGestureMode(microGestureControlsEnabled)) {
62
+ return (_b = (_a = this.world.input.xr.gamepads.right) === null || _a === void 0 ? void 0 : _a.getButtonDownByIdx(6)) !== null && _b !== void 0 ? _b : false;
63
+ }
64
+ return this.world.input.actions.getAxis1DEnteringPositive(InputActions.LocomotionTurn, TURN_THRESHOLD);
65
+ }
66
+ shouldShowTurnSignals(microGestureControlsEnabled) {
67
+ return this.isHandMicroGestureMode(microGestureControlsEnabled);
68
+ }
69
+ getTeleportActive(pointerBusy, microGestureControlsEnabled) {
70
+ var _a, _b;
71
+ if (pointerBusy) {
72
+ return false;
73
+ }
74
+ if (this.world.input.xr.isPrimary('hand', 'right')) {
75
+ return (microGestureControlsEnabled &&
76
+ !((_b = (_a = this.world.input.xr.gamepads.right) === null || _a === void 0 ? void 0 : _a.getButtonDownByIdx(9)) !== null && _b !== void 0 ? _b : false));
77
+ }
78
+ return this.world.input.actions.getButtonPressed(InputActions.LocomotionTeleportAim);
79
+ }
80
+ getTeleportCommit(microGestureControlsEnabled) {
81
+ var _a, _b;
82
+ if (this.world.input.xr.isPrimary('hand', 'right')) {
83
+ return (microGestureControlsEnabled &&
84
+ ((_b = (_a = this.world.input.xr.gamepads.right) === null || _a === void 0 ? void 0 : _a.getButtonDownByIdx(9)) !== null && _b !== void 0 ? _b : false));
85
+ }
86
+ return this.world.input.actions.getButtonUp(InputActions.LocomotionTeleportAim);
87
+ }
88
+ getTeleportRay(origin, direction) {
89
+ if (!this.world.session) {
90
+ return false;
91
+ }
92
+ this.world.player.raySpaces.right.getWorldPosition(origin);
93
+ this.world.player.raySpaces.right.getWorldDirection(direction);
94
+ return true;
95
+ }
96
+ isHandMicroGestureMode(microGestureControlsEnabled) {
97
+ return (microGestureControlsEnabled &&
98
+ this.world.input.xr.isPrimary('hand', 'right'));
99
+ }
100
+ }
101
+ function getRequiredInputProvider(systemName, value) {
102
+ if (value instanceof ActionLocomotionInputProvider) {
103
+ return value;
104
+ }
105
+ throw new Error(`${systemName} must be registered through LocomotionSystem so locomotion subsystems share one input provider.`);
106
+ }
107
+
108
+ export { ActionLocomotionInputProvider, getRequiredInputProvider };
109
+ //# sourceMappingURL=locomotion-input-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locomotion-input-provider.js","sources":["../../src/locomotion/locomotion-input-provider.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import { InputComponent } from '@iwsdk/xr-input';
8
7
  import { Types } from '../ecs/component.js';
9
8
  import { TurningMethod } from './turn.js';
10
9
  /**
@@ -96,16 +95,16 @@ declare const LocomotionSystem_base: import("elics").SystemConstructor<{
96
95
  type: Types.Float32;
97
96
  default: number;
98
97
  };
99
- /** Button used to jump in SlideSystem. */
100
- jumpButton: {
101
- type: Types.String;
102
- default: InputComponent;
103
- };
104
98
  /** Whether jumping is enabled. */
105
99
  enableJumping: {
106
100
  type: Types.Boolean;
107
101
  default: true;
108
102
  };
103
+ /** Optional browser bindings for action-backed first-person locomotion. */
104
+ browserControls: {
105
+ type: Types.Object;
106
+ default: boolean;
107
+ };
109
108
  }, {
110
109
  envs: {
111
110
  required: import("elics").Component<{
@@ -183,16 +182,16 @@ declare const LocomotionSystem_base: import("elics").SystemConstructor<{
183
182
  type: Types.Float32;
184
183
  default: number;
185
184
  };
186
- /** Button used to jump in SlideSystem. */
187
- jumpButton: {
188
- type: Types.String;
189
- default: InputComponent;
190
- };
191
185
  /** Whether jumping is enabled. */
192
186
  enableJumping: {
193
187
  type: Types.Boolean;
194
188
  default: true;
195
189
  };
190
+ /** Optional browser bindings for action-backed first-person locomotion. */
191
+ browserControls: {
192
+ type: Types.Object;
193
+ default: boolean;
194
+ };
196
195
  }, {
197
196
  envs: {
198
197
  required: import("elics").Component<{
@@ -234,6 +233,7 @@ declare const LocomotionSystem_base: import("elics").SystemConstructor<{
234
233
  */
235
234
  export declare class LocomotionSystem extends LocomotionSystem_base {
236
235
  private locomotor;
236
+ private inputProvider;
237
237
  private teleportSystem?;
238
238
  private slideSystem?;
239
239
  private turnSystem;
@@ -1 +1 @@
1
- {"version":3,"file":"locomotion.d.ts","sourceRoot":"","sources":["../../src/locomotion/locomotion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAM7D,OAAO,EAAc,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAYjC,CAAC;;IAwBE,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,0CAA0C;;;;;IAE1C,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxBlC,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,0CAA0C;;;;;IAE1C,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;AA9CtC;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,qBAgCrC;IACC,OAAO,CAAC,SAAS,CAAa;IAE9B,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,2BAA2B,CAAS;IAE5C,IAAI;YAmEU,aAAa;IA2C3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,2BAA2B;IAYnC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAsC3B,OAAO,IAAI,IAAI;CAahB"}
1
+ {"version":3,"file":"locomotion.d.ts","sourceRoot":"","sources":["../../src/locomotion/locomotion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAmB,MAAM,qBAAqB,CAAC;AAU7D,OAAO,EAAc,aAAa,EAAE,MAAM,WAAW,CAAC;AAEtD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAYjC,CAAC;;IAwBE,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,kCAAkC;;;;;IAElC,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxB3E,wDAAwD;;;;;IAExD,4EAA4E;;;;;IAE5E,0DAA0D;;;;;IAE1D,mCAAmC;;;;;IAEnC,oCAAoC;;;;;IAEpC,6BAA6B;;;;;IAE7B,6CAA6C;;;;;IAE7C,2DAA2D;;;;;IAE3D,0EAA0E;;;;;IAE1E,kCAAkC;;;;;IAElC,qCAAqC;;;;;IAErC,kCAAkC;;;;;IAElC,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;AA9C/E;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,gBAAiB,SAAQ,qBAgCrC;IACC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAiC;IAEtD,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,2BAA2B,CAAS;IAE5C,IAAI;YAoEU,aAAa;IA4C3B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,2BAA2B;IAYnC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAsC3B,OAAO,IAAI,IAAI;CAahB"}
@@ -1,8 +1,8 @@
1
1
  import { EnvironmentType, Locomotor } from '@iwsdk/locomotor';
2
- import { InputComponent } from '@iwsdk/xr-input';
3
2
  import { createComponent, Types } from 'elics';
4
3
  import { createSystem } from '../ecs/system.js';
5
4
  import '../runtime/three.js';
5
+ import { ActionLocomotionInputProvider } from './locomotion-input-provider.js';
6
6
  import { SlideSystem } from './slide.js';
7
7
  import { TeleportSystem } from './teleport.js';
8
8
  import { TurningMethod, TurnSystem } from './turn.js';
@@ -80,22 +80,25 @@ class LocomotionSystem extends createSystem({
80
80
  jumpHeight: { type: Types.Float32, default: 1.5 },
81
81
  /** Minimum seconds between jumps. */
82
82
  jumpCooldown: { type: Types.Float32, default: 0.1 },
83
- /** Button used to jump in SlideSystem. */
84
- jumpButton: { type: Types.String, default: InputComponent.A_Button },
85
83
  /** Whether jumping is enabled. */
86
84
  enableJumping: { type: Types.Boolean, default: true },
85
+ /** Optional browser bindings for action-backed first-person locomotion. */
86
+ browserControls: { type: Types.Object, default: false },
87
87
  }) {
88
88
  constructor() {
89
89
  super(...arguments);
90
90
  this.microGestureControlsEnabled = false;
91
91
  }
92
92
  init() {
93
+ this.inputProvider = new ActionLocomotionInputProvider(this.world);
94
+ this.inputProvider.enableBrowserControls(this.config.browserControls.value);
93
95
  this.world.registerSystem(TurnSystem, {
94
96
  configData: {
95
97
  turningMethod: this.config.turningMethod.value,
96
98
  turningAngle: this.config.turningAngle.value,
97
99
  turningSpeed: this.config.turningSpeed.value,
98
100
  microGestureControlsEnabled: false,
101
+ inputProvider: this.inputProvider,
99
102
  },
100
103
  });
101
104
  this.turnSystem = this.world.getSystem(TurnSystem);
@@ -125,10 +128,6 @@ class LocomotionSystem extends createSystem({
125
128
  this.locomotor.updateConfig({ jumpHeight: value });
126
129
  }), this.config.jumpCooldown.subscribe((value) => {
127
130
  this.locomotor.updateConfig({ jumpCooldown: value });
128
- }), this.config.jumpButton.subscribe((value) => {
129
- if (this.slideSystem) {
130
- this.slideSystem.config.jumpButton.value = value;
131
- }
132
131
  }), this.config.enableJumping.subscribe((value) => {
133
132
  if (this.slideSystem) {
134
133
  this.slideSystem.config.enableJumping.value = value;
@@ -159,6 +158,7 @@ class LocomotionSystem extends createSystem({
159
158
  configData: {
160
159
  rayGravity: this.config.rayGravity.value,
161
160
  locomotor: this.locomotor,
161
+ inputProvider: this.inputProvider,
162
162
  microGestureControlsEnabled: false,
163
163
  },
164
164
  });
@@ -166,9 +166,9 @@ class LocomotionSystem extends createSystem({
166
166
  configData: {
167
167
  maxSpeed: this.config.slidingSpeed.value,
168
168
  comfortAssist: this.config.comfortAssist.value,
169
- jumpButton: this.config.jumpButton.value,
170
169
  enableJumping: this.config.enableJumping.value,
171
170
  locomotor: this.locomotor,
171
+ inputProvider: this.inputProvider,
172
172
  },
173
173
  });
174
174
  this.teleportSystem = this.world.getSystem(TeleportSystem);
@@ -224,8 +224,8 @@ class LocomotionSystem extends createSystem({
224
224
  this.locomotor.update(delta);
225
225
  this.player.position.copy(this.locomotor.position);
226
226
  // Toggle micro-gesture controls in hand-tracking mode
227
- if (this.input.isPrimary('hand', 'right')) {
228
- const gp = this.input.gamepads.right;
227
+ if (this.input.xr.isPrimary('hand', 'right')) {
228
+ const gp = this.input.xr.gamepads.right;
229
229
  if (gp) {
230
230
  // Swipe up (7) enables; swipe down (8) disables
231
231
  if (gp.getButtonDownByIdx(7)) {
@@ -1 +1 @@
1
- {"version":3,"file":"locomotion.js","sources":["../../src/locomotion/locomotion.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locomotion.js","sources":["../../src/locomotion/locomotion.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import { InputComponent } from '@iwsdk/xr-input';
8
7
  import { Types } from '../ecs/index.js';
9
8
  declare const SlideSystem_base: import("elics").SystemConstructor<{
10
9
  /** Locomotor engine shared across locomotion systems. */
@@ -12,6 +11,11 @@ declare const SlideSystem_base: import("elics").SystemConstructor<{
12
11
  type: Types.Object;
13
12
  default: undefined;
14
13
  };
14
+ /** Action-backed input provider shared across locomotion systems. */
15
+ inputProvider: {
16
+ type: Types.Object;
17
+ default: undefined;
18
+ };
15
19
  /** Maximum linear speed in meters/second. */
16
20
  maxSpeed: {
17
21
  type: Types.Float32;
@@ -22,11 +26,6 @@ declare const SlideSystem_base: import("elics").SystemConstructor<{
22
26
  type: Types.Float32;
23
27
  default: number;
24
28
  };
25
- /** Button used to trigger jump. */
26
- jumpButton: {
27
- type: Types.String;
28
- default: InputComponent;
29
- };
30
29
  /** Whether jumping is enabled. */
31
30
  enableJumping: {
32
31
  type: Types.Boolean;
@@ -38,6 +37,11 @@ declare const SlideSystem_base: import("elics").SystemConstructor<{
38
37
  type: Types.Object;
39
38
  default: undefined;
40
39
  };
40
+ /** Action-backed input provider shared across locomotion systems. */
41
+ inputProvider: {
42
+ type: Types.Object;
43
+ default: undefined;
44
+ };
41
45
  /** Maximum linear speed in meters/second. */
42
46
  maxSpeed: {
43
47
  type: Types.Float32;
@@ -48,11 +52,6 @@ declare const SlideSystem_base: import("elics").SystemConstructor<{
48
52
  type: Types.Float32;
49
53
  default: number;
50
54
  };
51
- /** Button used to trigger jump. */
52
- jumpButton: {
53
- type: Types.String;
54
- default: InputComponent;
55
- };
56
55
  /** Whether jumping is enabled. */
57
56
  enableJumping: {
58
57
  type: Types.Boolean;
@@ -66,7 +65,7 @@ declare const SlideSystem_base: import("elics").SystemConstructor<{
66
65
  * - Reads left controller thumbstick for planar movement relative to head yaw.
67
66
  * - Applies a dynamic peripheral vignette based on input magnitude scaled by
68
67
  * `comfortAssist` to reduce motion sickness.
69
- * - Triggers jump when `jumpButton` is pressed.
68
+ * - Triggers jump when the locomotion jump action is pressed.
70
69
  *
71
70
  * @category Locomotion
72
71
  */
@@ -78,6 +77,7 @@ export declare class SlideSystem extends SlideSystem_base {
78
77
  private vignette;
79
78
  private vignetteAlphaTarget;
80
79
  private locomotor;
80
+ private inputProvider;
81
81
  init(): void;
82
82
  destroy(): void;
83
83
  update(delta: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/locomotion/slide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAgB,MAAM,iBAAiB,CAAC;;IAuElD,yDAAyD;;;;;IAEzD,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,mCAAmC;;;;;IAEnC,kCAAkC;;;;;;IARlC,yDAAyD;;;;;IAEzD,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,mCAAmC;;;;;IAEnC,kCAAkC;;;;;;AAtBtC;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,gBAchC;IACC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,SAAS,CAAa;IAE9B,IAAI;IAKJ,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAgD5B"}
1
+ {"version":3,"file":"slide.d.ts","sourceRoot":"","sources":["../../src/locomotion/slide.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,EAAgB,MAAM,iBAAiB,CAAC;;IA2ElD,yDAAyD;;;;;IAEzD,qEAAqE;;;;;IAErE,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,kCAAkC;;;;;;IARlC,yDAAyD;;;;;IAEzD,qEAAqE;;;;;IAErE,6CAA6C;;;;;IAE7C,+DAA+D;;;;;IAE/D,kCAAkC;;;;;;AAtBtC;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,gBAchC;IACC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,mBAAmB,CAAK;IAChC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,aAAa,CAAiC;IAEtD,IAAI;IASJ,OAAO,IAAI,IAAI;IAIf,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAwC5B"}