@iwer/devui 1.1.1 → 2.2.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.
package/lib/index.d.ts CHANGED
@@ -8,10 +8,13 @@ import { VERSION } from './version.js';
8
8
  import { XRDevice } from 'iwer';
9
9
  export declare class DevUI {
10
10
  private inputLayer;
11
+ private unsubscribeControlMode;
12
+ private unsubscribeStateChange;
11
13
  devUIContainer: HTMLDivElement;
12
- readonly version = "1.1.1";
14
+ readonly version = "2.2.0";
13
15
  constructor(xrDevice: XRDevice);
14
16
  render(time: number): void;
17
+ dispose(): void;
15
18
  get devUICanvas(): HTMLCanvasElement;
16
19
  }
17
20
  export { VERSION };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,qBAAa,KAAK;IACjB,OAAO,CAAC,UAAU,CAAa;IACxB,cAAc,EAAE,cAAc,CAAC;IACtC,SAAgB,OAAO,WAAW;gBAEtB,QAAQ,EAAE,QAAQ;IA8C9B,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,IAAI,WAAW,sBAEd;CACD;AA6ID,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIhC,qBAAa,KAAK;IACjB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,sBAAsB,CAAa;IAC3C,OAAO,CAAC,sBAAsB,CAAa;IACpC,cAAc,EAAE,cAAc,CAAC;IACtC,SAAgB,OAAO,WAAW;gBAEtB,QAAQ,EAAE,QAAQ;IAiE9B,MAAM,CAAC,IAAI,EAAE,MAAM;IAInB,OAAO;IAMP,IAAI,WAAW,sBAEd;CACD;AAmMD,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/lib/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /**
3
3
  * Copyright (c) Meta Platforms, Inc. and affiliates.
4
4
  *
@@ -32,6 +32,23 @@ export class DevUI {
32
32
  mode: 'open',
33
33
  });
34
34
  this.inputLayer = new InputLayer(xrDevice);
35
+ // Subscribe to control mode changes
36
+ this.unsubscribeControlMode = xrDevice.onControlModeChange((mode) => {
37
+ this.inputLayer.isInProgrammaticMode = mode === 'programmatic';
38
+ if (mode === 'programmatic') {
39
+ this.inputLayer.syncFromDevice();
40
+ this.inputLayer.setInteractionsEnabled(false);
41
+ }
42
+ else {
43
+ this.inputLayer.setInteractionsEnabled(true);
44
+ }
45
+ });
46
+ // Subscribe to state changes when in programmatic mode
47
+ this.unsubscribeStateChange = xrDevice.onStateChange(() => {
48
+ if (this.inputLayer.isInProgrammaticMode) {
49
+ this.inputLayer.syncFromDevice();
50
+ }
51
+ });
35
52
  const root = createRoot(devUIShadowRoot);
36
53
  root.render(_jsx(Overlay, { xrDevice: xrDevice, inputLayer: this.inputLayer, shadowRoot: devUIShadowRoot }));
37
54
  const installOfferSessionUI = () => {
@@ -53,12 +70,18 @@ export class DevUI {
53
70
  render(time) {
54
71
  this.inputLayer.renderScene(time);
55
72
  }
73
+ dispose() {
74
+ this.unsubscribeControlMode();
75
+ this.unsubscribeStateChange();
76
+ this.inputLayer.dispose();
77
+ }
56
78
  get devUICanvas() {
57
79
  return this.inputLayer.domElement;
58
80
  }
59
81
  }
60
82
  const Overlay = ({ xrDevice, inputLayer, shadowRoot, }) => {
61
83
  const [pointerLocked, setPointerLocked] = useState(false);
84
+ const [controlMode, setControlMode] = useState(xrDevice.controlMode);
62
85
  useEffect(() => {
63
86
  const pointerLockChangeHandler = () => {
64
87
  const locked = document.pointerLockElement ||
@@ -71,12 +94,17 @@ const Overlay = ({ xrDevice, inputLayer, shadowRoot, }) => {
71
94
  document.addEventListener('pointerlockchange', pointerLockChangeHandler, false);
72
95
  document.addEventListener('mozpointerlockchange', pointerLockChangeHandler, false);
73
96
  document.addEventListener('webkitpointerlockchange', pointerLockChangeHandler, false);
97
+ // Subscribe to control mode changes
98
+ const unsubscribe = xrDevice.onControlModeChange((mode) => {
99
+ setControlMode(mode);
100
+ });
74
101
  return () => {
75
102
  document.removeEventListener('pointerlockchange', pointerLockChangeHandler, false);
76
103
  document.removeEventListener('mozpointerlockchange', pointerLockChangeHandler, false);
77
104
  document.removeEventListener('webkitpointerlockchange', pointerLockChangeHandler, false);
105
+ unsubscribe();
78
106
  };
79
- }, []);
107
+ }, [xrDevice]);
80
108
  return (_jsx(StyleSheetManager, { target: shadowRoot, disableCSSOMInjection: true, children: _jsxs("div", { style: {
81
109
  width: '100vw',
82
110
  height: '100vh',
@@ -84,7 +112,33 @@ const Overlay = ({ xrDevice, inputLayer, shadowRoot, }) => {
84
112
  flexDirection: 'column',
85
113
  justifyContent: 'space-between',
86
114
  pointerEvents: 'none',
87
- }, children: [_jsx(HeaderUI, { xrDevice: xrDevice, inputLayer: inputLayer }), _jsx(HeadsetUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked }), _jsx(ControlsUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked })] }) }));
115
+ }, children: [controlMode === 'programmatic' && (_jsxs(_Fragment, { children: [_jsx("div", { style: {
116
+ position: 'absolute',
117
+ top: 0,
118
+ left: 0,
119
+ right: 0,
120
+ bottom: 0,
121
+ pointerEvents: 'none',
122
+ zIndex: 999,
123
+ boxShadow: 'inset 0 0 20px 5px rgba(59, 130, 246, 0.5)',
124
+ } }), _jsxs("div", { style: {
125
+ position: 'absolute',
126
+ bottom: '8px',
127
+ left: '50%',
128
+ transform: 'translateX(-50%)',
129
+ backgroundColor: 'rgba(59, 130, 246, 0.9)',
130
+ color: 'white',
131
+ padding: '6px 16px',
132
+ borderRadius: '16px',
133
+ fontSize: '12px',
134
+ fontFamily: 'system-ui, sans-serif',
135
+ fontWeight: 500,
136
+ zIndex: 1000,
137
+ display: 'flex',
138
+ alignItems: 'center',
139
+ gap: '6px',
140
+ boxShadow: '0 2px 8px rgba(0,0,0,0.3)',
141
+ }, children: [_jsx("span", { style: { fontSize: '14px' }, children: "\u25CF" }), "Remote Control Active"] })] })), controlMode !== 'programmatic' && (_jsxs(_Fragment, { children: [_jsx(HeaderUI, { xrDevice: xrDevice, inputLayer: inputLayer }), _jsx(HeadsetUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked }), _jsx(ControlsUI, { xrDevice: xrDevice, inputLayer: inputLayer, pointerLocked: pointerLocked })] }))] }) }));
88
142
  };
89
143
  const OfferSessionUI = ({ xrDevice, shadowRoot, }) => {
90
144
  const [showOffer, setShowOffer] = React.useState(xrDevice.sessionOffered && !xrDevice.activeSession);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/lib/scene.d.ts CHANGED
@@ -21,12 +21,23 @@ export declare class InputLayer {
21
21
  private isPointerLocked;
22
22
  private vec3;
23
23
  private quat;
24
+ private quatB;
25
+ private euler;
24
26
  private mouseMoveHandler;
25
27
  private headsetDefaultPosition;
26
28
  private headsetDefaultQuaternion;
27
29
  private keyState;
28
30
  private forwardHtmlEvents;
29
31
  private lastTime;
32
+ /**
33
+ * Whether the device is in programmatic control mode.
34
+ * When true, this layer won't sync TO the device (device controls us instead).
35
+ */
36
+ isInProgrammaticMode: boolean;
37
+ /**
38
+ * Whether user interactions (pointer lock, mouse movement) are enabled.
39
+ */
40
+ private interactionsEnabled;
30
41
  constructor(xrDevice: XRDevice);
31
42
  lockPointer(): void;
32
43
  pointerLockChangeHandler(): void;
@@ -35,6 +46,17 @@ export declare class InputLayer {
35
46
  movePlayerRig(delta: number): void;
36
47
  resetDeviceTransforms(): void;
37
48
  syncDeviceTransforms(): void;
49
+ /**
50
+ * Sync DevUI's local transforms FROM the device's global transforms.
51
+ * This is the reverse of syncDeviceTransforms() - used when device
52
+ * is controlled programmatically and we need to follow its state.
53
+ */
54
+ syncFromDevice(): void;
55
+ /**
56
+ * Enable or disable user interactions (pointer lock, keyboard controls).
57
+ * When disabled, the DevUI still renders but doesn't respond to user input.
58
+ */
59
+ setInteractionsEnabled(enabled: boolean): void;
38
60
  renderScene(time: number): void;
39
61
  get domElement(): HTMLCanvasElement;
40
62
  dispose(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EASN,OAAO,EAEP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAwB,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,eAAO,MAAM,OAAO,eAAqC,CAAC;AAG1D,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,qBAAa,UAAU;IA2BV,OAAO,CAAC,QAAQ;IA1BrB,gBAAgB,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACpD,sBAAsB,EAAE,OAAO,CAAiB;IAEvD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,sBAAsB,CAAU;IACxC,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,QAAQ,CAQd;IACF,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAa;gBAET,QAAQ,EAAE,QAAQ;IAuHtC,WAAW;IAUX,wBAAwB;IAqBxB,cAAc,CAAC,KAAK,EAAE,aAAa;IAgBnC,YAAY,CAAC,KAAK,EAAE,aAAa;IAQjC,aAAa,CAAC,KAAK,EAAE,MAAM;IAgB3B,qBAAqB;IAgBrB,oBAAoB;IAkBpB,WAAW,CAAC,IAAI,EAAE,MAAM;IAkDxB,IAAI,UAAU,sBAEb;IAED,OAAO;CAyBP"}
1
+ {"version":3,"file":"scene.d.ts","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAUN,OAAO,EAEP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,gBAAgB,EAAwB,MAAM,gBAAgB,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,eAAO,MAAM,OAAO,eAAqC,CAAC;AAG1D,KAAK,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAEnC,qBAAa,UAAU;IAwCV,OAAO,CAAC,QAAQ;IAvCrB,gBAAgB,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACpD,sBAAsB,EAAE,OAAO,CAAiB;IAEvD,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,IAAI,CAA0B;IACtC,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,sBAAsB,CAAU;IACxC,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,QAAQ,CAQd;IACF,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAa;IAE7B;;;OAGG;IACI,oBAAoB,EAAE,OAAO,CAAS;IAE7C;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAiB;gBAExB,QAAQ,EAAE,QAAQ;IAuHtC,WAAW;IAcX,wBAAwB;IAqBxB,cAAc,CAAC,KAAK,EAAE,aAAa;IAkBnC,YAAY,CAAC,KAAK,EAAE,aAAa;IAQjC,aAAa,CAAC,KAAK,EAAE,MAAM;IAgB3B,qBAAqB;IAgBrB,oBAAoB;IAkBpB;;;;OAIG;IACH,cAAc;IAyDd;;;OAGG;IACH,sBAAsB,CAAC,OAAO,EAAE,OAAO;IAOvC,WAAW,CAAC,IAAI,EAAE,MAAM;IA0DxB,IAAI,UAAU,sBAEb;IAED,OAAO;CAyBP"}
package/lib/scene.js CHANGED
@@ -4,7 +4,7 @@
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 { FrontSide, Group, Mesh, MeshBasicMaterial, PerspectiveCamera, Quaternion, RingGeometry, Scene, Vector3, WebGLRenderer, } from 'three';
7
+ import { Euler, FrontSide, Group, Mesh, MeshBasicMaterial, PerspectiveCamera, Quaternion, RingGeometry, Scene, Vector3, WebGLRenderer, } from 'three';
8
8
  import { TransformHandles } from '@pmndrs/handle';
9
9
  import { forwardHtmlEvents } from '@pmndrs/pointer-events';
10
10
  export const PRIVATE = Symbol('@@iwer/devui/input-scene');
@@ -16,6 +16,8 @@ export class InputLayer {
16
16
  this.isPointerLocked = false;
17
17
  this.vec3 = new Vector3();
18
18
  this.quat = new Quaternion();
19
+ this.quatB = new Quaternion();
20
+ this.euler = new Euler();
19
21
  this.keyState = {
20
22
  ShiftLeft: false,
21
23
  KeyW: false,
@@ -26,6 +28,15 @@ export class InputLayer {
26
28
  ArrowDown: false,
27
29
  };
28
30
  this.lastTime = 0;
31
+ /**
32
+ * Whether the device is in programmatic control mode.
33
+ * When true, this layer won't sync TO the device (device controls us instead).
34
+ */
35
+ this.isInProgrammaticMode = false;
36
+ /**
37
+ * Whether user interactions (pointer lock, mouse movement) are enabled.
38
+ */
39
+ this.interactionsEnabled = true;
29
40
  this.scene = new Scene();
30
41
  this.camera = new PerspectiveCamera(50, window.innerWidth / window.innerHeight, 0.1, 40);
31
42
  this.playerRig = new Group();
@@ -83,7 +94,7 @@ export class InputLayer {
83
94
  // @ts-ignore
84
95
  window.transformHandles = this.transformHandles;
85
96
  this.mouseMoveHandler = (event) => {
86
- if (!this.isPointerLocked)
97
+ if (!this.isPointerLocked || this.isInProgrammaticMode)
87
98
  return;
88
99
  const movementX =
89
100
  // @ts-ignore
@@ -106,6 +117,10 @@ export class InputLayer {
106
117
  document.addEventListener('keyup', this.keyUpHandler.bind(this), false);
107
118
  }
108
119
  lockPointer() {
120
+ // Don't allow pointer lock in programmatic mode or when interactions disabled
121
+ if (this.isInProgrammaticMode || !this.interactionsEnabled) {
122
+ return;
123
+ }
109
124
  this.renderer.domElement.requestPointerLock =
110
125
  this.renderer.domElement.requestPointerLock ||
111
126
  // @ts-ignore
@@ -130,7 +145,7 @@ export class InputLayer {
130
145
  else {
131
146
  document.removeEventListener('mousemove', this.mouseMoveHandler, false);
132
147
  Object.values(this.transformHandles).forEach((transformHandle) => {
133
- transformHandle.visible = true;
148
+ transformHandle.visible = !this.isInProgrammaticMode;
134
149
  });
135
150
  }
136
151
  }
@@ -139,6 +154,8 @@ export class InputLayer {
139
154
  if (event.code in keyState) {
140
155
  keyState[event.code] = true;
141
156
  }
157
+ if (this.isInProgrammaticMode)
158
+ return;
142
159
  if (keyState.ShiftLeft && keyState.ArrowUp) {
143
160
  this.cameraRig.position.y += 0.05;
144
161
  }
@@ -186,6 +203,58 @@ export class InputLayer {
186
203
  emulatedInput.quaternion.copy(transformHandle.getWorldQuaternion(this.quat));
187
204
  });
188
205
  }
206
+ /**
207
+ * Sync DevUI's local transforms FROM the device's global transforms.
208
+ * This is the reverse of syncDeviceTransforms() - used when device
209
+ * is controlled programmatically and we need to follow its state.
210
+ */
211
+ syncFromDevice() {
212
+ const { xrDevice, playerRig, cameraRig, transformHandles } = this;
213
+ // Get headset world position and rotation from device
214
+ const headsetPos = xrDevice.position;
215
+ const headsetQuat = xrDevice.quaternion;
216
+ // Update combined camera position
217
+ this.combinedCameraPosition.set(headsetPos.x, headsetPos.y, headsetPos.z);
218
+ // Decompose quaternion into Euler angles (YXZ order for gimbal)
219
+ // Y = yaw (playerRig), pitch+roll preserved on cameraRig
220
+ this.quatB.set(headsetQuat.x, headsetQuat.y, headsetQuat.z, headsetQuat.w);
221
+ this.euler.setFromQuaternion(this.quatB, 'YXZ');
222
+ // Set playerRig position (x/z) and yaw
223
+ playerRig.position.set(headsetPos.x, 0, headsetPos.z);
224
+ playerRig.rotation.set(0, this.euler.y, 0);
225
+ // Set cameraRig position (y) and full local rotation (preserving roll)
226
+ // cameraRig local quat = inv(playerRig yaw quat) * headset world quat
227
+ cameraRig.position.set(0, headsetPos.y, 0);
228
+ this.quat.setFromEuler(this.euler.set(0, this.euler.y, 0, 'YXZ'));
229
+ cameraRig.quaternion.multiplyQuaternions(this.quat.invert(), this.quatB);
230
+ // Force Three.js to update world matrices
231
+ playerRig.updateMatrixWorld(true);
232
+ // Sync controller/hand transforms
233
+ transformHandles.forEach((transformHandle, handedness) => {
234
+ const emulatedInput = xrDevice.primaryInputMode === 'controller'
235
+ ? xrDevice.controllers[handedness]
236
+ : xrDevice.hands[handedness];
237
+ // Convert world position to cameraRig local position
238
+ const worldPos = this.vec3.set(emulatedInput.position.x, emulatedInput.position.y, emulatedInput.position.z);
239
+ cameraRig.worldToLocal(worldPos);
240
+ transformHandle.position.copy(worldPos);
241
+ // Convert world quaternion to cameraRig local quaternion
242
+ cameraRig.getWorldQuaternion(this.quat);
243
+ this.quatB.set(emulatedInput.quaternion.x, emulatedInput.quaternion.y, emulatedInput.quaternion.z, emulatedInput.quaternion.w);
244
+ this.quatB.premultiply(this.quat.invert());
245
+ transformHandle.quaternion.copy(this.quatB);
246
+ });
247
+ }
248
+ /**
249
+ * Enable or disable user interactions (pointer lock, keyboard controls).
250
+ * When disabled, the DevUI still renders but doesn't respond to user input.
251
+ */
252
+ setInteractionsEnabled(enabled) {
253
+ this.interactionsEnabled = enabled;
254
+ if (!enabled && this.isPointerLocked) {
255
+ document.exitPointerLock();
256
+ }
257
+ }
189
258
  renderScene(time) {
190
259
  const xrDeviceFOV = (this.xrDevice.fovy / Math.PI) * 180;
191
260
  let cameraMatrixNeedsUpdate = false;
@@ -208,26 +277,32 @@ export class InputLayer {
208
277
  if (cameraMatrixNeedsUpdate) {
209
278
  this.camera.updateProjectionMatrix();
210
279
  }
211
- if (!this.isPointerLocked) {
212
- this.cameraRig.position.y = this.combinedCameraPosition.y;
213
- this.playerRig.position.x = this.combinedCameraPosition.x;
214
- this.playerRig.position.z = this.combinedCameraPosition.z;
215
- }
216
- else {
217
- this.cameraRig.getWorldPosition(this.combinedCameraPosition);
280
+ if (!this.isInProgrammaticMode) {
281
+ if (!this.isPointerLocked) {
282
+ this.cameraRig.position.y = this.combinedCameraPosition.y;
283
+ this.playerRig.position.x = this.combinedCameraPosition.x;
284
+ this.playerRig.position.z = this.combinedCameraPosition.z;
285
+ }
286
+ else {
287
+ this.cameraRig.getWorldPosition(this.combinedCameraPosition);
288
+ }
218
289
  }
219
290
  this.forwardHtmlEvents();
220
291
  this.transformHandles.forEach((transformHandle, handedness) => {
221
292
  var _a;
222
293
  const connected = Boolean((_a = this.xrDevice.controllers[handedness]) === null || _a === void 0 ? void 0 : _a.connected);
223
- transformHandle.visible = connected && !this.isPointerLocked;
294
+ transformHandle.visible = connected && !this.isPointerLocked && !this.isInProgrammaticMode;
224
295
  if (connected) {
225
296
  transformHandle.update(time, this.camera);
226
297
  }
227
298
  });
228
299
  const delta = Math.min((time - this.lastTime) / 1000, 0.1);
229
- this.movePlayerRig(delta);
230
- this.syncDeviceTransforms();
300
+ // Only process user input and sync TO device in manual mode
301
+ // In programmatic mode, the device controls us (via syncFromDevice)
302
+ if (!this.isInProgrammaticMode) {
303
+ this.movePlayerRig(delta);
304
+ this.syncDeviceTransforms();
305
+ }
231
306
  this.renderer.render(this.scene, this.camera);
232
307
  this.lastTime = time;
233
308
  }
package/lib/scene.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"scene.js","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scene.js","sourceRoot":"","sources":["../src/scene.ts"],"names":[],"mappings":"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"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.1.1";
1
+ export declare const VERSION = "2.2.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = "1.1.1";
1
+ export const VERSION = "2.2.0";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iwer/devui",
3
- "version": "1.1.1",
3
+ "version": "2.2.0",
4
4
  "description": "Dev UI for IWER",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -28,15 +28,15 @@
28
28
  "@fortawesome/fontawesome-svg-core": "6.6.0",
29
29
  "@fortawesome/free-solid-svg-icons": "6.6.0",
30
30
  "@fortawesome/react-fontawesome": "0.2.2",
31
- "@pmndrs/handle": "^6.5.5",
32
- "@pmndrs/pointer-events": "^6.5.5",
33
- "react": "18.3.1",
34
- "react-dom": "18.3.1",
35
- "styled-components": "6.1.13",
31
+ "@pmndrs/handle": "^6.6.17",
32
+ "@pmndrs/pointer-events": "^6.6.17",
33
+ "react": ">=18.3.1",
34
+ "react-dom": ">=18.3.1",
35
+ "styled-components": "^6.1.13",
36
36
  "three": "^0.165.0"
37
37
  },
38
38
  "peerDependencies": {
39
- "iwer": "^2.0.1"
39
+ "iwer": "^2.2.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@rollup/plugin-babel": "^6.0.4",
@@ -46,6 +46,7 @@
46
46
  "@rollup/plugin-terser": "^0.4.4",
47
47
  "@types/react": "^18.3.12",
48
48
  "@types/react-dom": "^18.3.1",
49
+ "iwer": "^2.2.0",
49
50
  "rollup": "^4.24.3",
50
51
  "rollup-plugin-peer-deps-external": "^2.2.4",
51
52
  "typescript": "^5.6.3"