@iwer/devui 0.2.0 → 1.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.
- package/build/iwer-devui.js +5190 -2892
- package/build/iwer-devui.min.js +268 -127
- package/build/iwer-devui.module.js +5190 -2892
- package/build/iwer-devui.module.min.js +268 -127
- package/lib/components/analog.d.ts.map +1 -1
- package/lib/components/analog.js +11 -13
- package/lib/components/analog.js.map +1 -1
- package/lib/components/binary.d.ts.map +1 -1
- package/lib/components/binary.js +15 -17
- package/lib/components/binary.js.map +1 -1
- package/lib/components/controls.d.ts +11 -2
- package/lib/components/controls.d.ts.map +1 -1
- package/lib/components/controls.js +61 -27
- package/lib/components/controls.js.map +1 -1
- package/lib/components/fov.d.ts.map +1 -1
- package/lib/components/fov.js +0 -1
- package/lib/components/fov.js.map +1 -1
- package/lib/components/header.d.ts +0 -4
- package/lib/components/header.d.ts.map +1 -1
- package/lib/components/header.js +75 -61
- package/lib/components/header.js.map +1 -1
- package/lib/components/headset.d.ts +17 -0
- package/lib/components/headset.d.ts.map +1 -0
- package/lib/components/headset.js +91 -0
- package/lib/components/headset.js.map +1 -0
- package/lib/components/icons.d.ts +8 -1
- package/lib/components/icons.d.ts.map +1 -1
- package/lib/components/icons.js +53 -27
- package/lib/components/icons.js.map +1 -1
- package/lib/components/joystick.d.ts.map +1 -1
- package/lib/components/joystick.js +56 -60
- package/lib/components/joystick.js.map +1 -1
- package/lib/components/mapper.d.ts +7 -3
- package/lib/components/mapper.d.ts.map +1 -1
- package/lib/components/mapper.js +34 -60
- package/lib/components/mapper.js.map +1 -1
- package/lib/components/styled.d.ts +48 -6
- package/lib/components/styled.d.ts.map +1 -1
- package/lib/components/styled.js +215 -36
- package/lib/components/styled.js.map +1 -1
- package/lib/components/vec3.d.ts +25 -0
- package/lib/components/vec3.d.ts.map +1 -0
- package/lib/components/vec3.js +90 -0
- package/lib/components/vec3.js.map +1 -0
- package/lib/index.d.ts +8 -12
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +71 -56
- package/lib/index.js.map +1 -1
- package/lib/package.json +55 -0
- package/lib/scene.d.ts +23 -40
- package/lib/scene.d.ts.map +1 -1
- package/lib/scene.js +160 -192
- package/lib/scene.js.map +1 -1
- package/lib/src/components/analog.d.ts +17 -0
- package/lib/src/components/analog.d.ts.map +1 -0
- package/lib/src/components/analog.js +111 -0
- package/lib/src/components/analog.js.map +1 -0
- package/lib/src/components/binary.d.ts +17 -0
- package/lib/src/components/binary.d.ts.map +1 -0
- package/lib/src/components/binary.js +77 -0
- package/lib/src/components/binary.js.map +1 -0
- package/lib/src/components/controls.d.ts +29 -0
- package/lib/src/components/controls.d.ts.map +1 -0
- package/lib/src/components/controls.js +139 -0
- package/lib/src/components/controls.js.map +1 -0
- package/lib/src/components/fov.d.ts +16 -0
- package/lib/src/components/fov.d.ts.map +1 -0
- package/lib/src/components/fov.js +30 -0
- package/lib/src/components/fov.js.map +1 -0
- package/lib/src/components/header.d.ts +20 -0
- package/lib/src/components/header.d.ts.map +1 -0
- package/lib/src/components/header.js +47 -0
- package/lib/src/components/header.js.map +1 -0
- package/lib/src/components/headset.d.ts +17 -0
- package/lib/src/components/headset.d.ts.map +1 -0
- package/lib/src/components/headset.js +29 -0
- package/lib/src/components/headset.js.map +1 -0
- package/lib/src/components/icons.d.ts +37 -0
- package/lib/src/components/icons.d.ts.map +1 -0
- package/lib/src/components/icons.js +265 -0
- package/lib/src/components/icons.js.map +1 -0
- package/lib/src/components/joystick.d.ts +21 -0
- package/lib/src/components/joystick.d.ts.map +1 -0
- package/lib/src/components/joystick.js +245 -0
- package/lib/src/components/joystick.js.map +1 -0
- package/lib/src/components/keys.d.ts +10 -0
- package/lib/src/components/keys.d.ts.map +1 -0
- package/lib/src/components/keys.js +74 -0
- package/lib/src/components/keys.js.map +1 -0
- package/lib/src/components/mapper.d.ts +22 -0
- package/lib/src/components/mapper.d.ts.map +1 -0
- package/lib/src/components/mapper.js +108 -0
- package/lib/src/components/mapper.js.map +1 -0
- package/lib/src/components/styled.d.ts +70 -0
- package/lib/src/components/styled.d.ts.map +1 -0
- package/lib/src/components/styled.js +272 -0
- package/lib/src/components/styled.js.map +1 -0
- package/lib/src/components/vec3.d.ts +22 -0
- package/lib/src/components/vec3.d.ts.map +1 -0
- package/lib/src/components/vec3.js +123 -0
- package/lib/src/components/vec3.js.map +1 -0
- package/lib/src/index.d.ts +22 -0
- package/lib/src/index.d.ts.map +1 -0
- package/lib/src/index.js +92 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/scene.d.ts +51 -0
- package/lib/src/scene.d.ts.map +1 -0
- package/lib/src/scene.js +250 -0
- package/lib/src/scene.js.map +1 -0
- package/lib/version.d.ts +2 -0
- package/lib/version.d.ts.map +1 -0
- package/lib/version.js +2 -0
- package/lib/version.js.map +1 -0
- package/package.json +6 -3
- package/build/iwe.min.js +0 -180
- package/lib/components/settings.d.ts +0 -50
- package/lib/components/settings.d.ts.map +0 -1
- package/lib/components/settings.js +0 -103
- package/lib/components/settings.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analog.d.ts","sourceRoot":"","sources":["../../src/components/analog.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"analog.d.ts","sourceRoot":"","sources":["../../src/components/analog.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,UAAU,iBAAiB;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0IpD,CAAC"}
|
package/lib/components/analog.js
CHANGED
|
@@ -5,14 +5,12 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
|
-
import { Button, ButtonContainer, ButtonGroup, FAIcon, MappedKeyBlock, RangeSelector, } from './styled.js';
|
|
8
|
+
import { Button, ButtonContainer, ButtonGroup, Colors, ControlButtonStyles, FAIcon, MappedKeyBlock, RangeSelector, } from './styled.js';
|
|
9
9
|
import { useEffect, useState } from 'react';
|
|
10
10
|
import { GamepadIcon } from './icons.js';
|
|
11
11
|
import { MappedKeyDisplay } from './keys.js';
|
|
12
12
|
import { faFingerprint } from '@fortawesome/free-solid-svg-icons';
|
|
13
|
-
import { useDevUIConfig } from '../index.js';
|
|
14
13
|
export const AnalogButton = ({ xrController, buttonId, pointerLocked, mappedKey, }) => {
|
|
15
|
-
const devuiConfig = useDevUIConfig();
|
|
16
14
|
const [isTouched, setIsTouched] = useState(false);
|
|
17
15
|
const [isPressed, setIsPressed] = useState(false);
|
|
18
16
|
const [isKeyPressed, setIsKeyPressed] = useState(false);
|
|
@@ -83,22 +81,22 @@ export const AnalogButton = ({ xrController, buttonId, pointerLocked, mappedKey,
|
|
|
83
81
|
};
|
|
84
82
|
}, [mappedKey, pointerLocked, buttonId, xrController]);
|
|
85
83
|
return (_jsxs(ButtonContainer, { "$reverse": handedness === 'right', children: [_jsx(GamepadIcon, { buttonName: buttonId, handedness: handedness }), _jsx(ButtonGroup, { "$reverse": handedness === 'right', children: pointerLocked ? (_jsx(MappedKeyBlock, { "$pressed": isKeyPressed, children: MappedKeyDisplay[mappedKey] })) : (_jsxs(_Fragment, { children: [_jsx(Button, { "$reverse": handedness === 'right', style: {
|
|
86
|
-
|
|
87
|
-
?
|
|
88
|
-
:
|
|
89
|
-
width:
|
|
84
|
+
background: isPressed
|
|
85
|
+
? Colors.gradientLightGreyTranslucent
|
|
86
|
+
: Colors.gradientGreyTranslucent,
|
|
87
|
+
width: ControlButtonStyles.widthLong,
|
|
90
88
|
}, onClick: () => {
|
|
91
89
|
setIsPressed(true);
|
|
92
90
|
xrController.updateButtonValue(buttonId, 1);
|
|
93
91
|
setTimeout(() => {
|
|
94
92
|
setIsPressed(false);
|
|
95
93
|
xrController.updateButtonValue(buttonId, 0);
|
|
96
|
-
},
|
|
97
|
-
}, children: "Press" }), _jsx(Button, { "$reverse": handedness === 'right', style: {
|
|
98
|
-
|
|
99
|
-
?
|
|
100
|
-
:
|
|
101
|
-
width:
|
|
94
|
+
}, 250);
|
|
95
|
+
}, children: "Press" }), _jsx(Button, { title: "Click to toggle touch state", "$reverse": handedness === 'right', style: {
|
|
96
|
+
background: isTouched
|
|
97
|
+
? Colors.gradientLightGreyTranslucent
|
|
98
|
+
: Colors.gradientGreyTranslucent,
|
|
99
|
+
width: ControlButtonStyles.widthShort,
|
|
102
100
|
}, onClick: () => {
|
|
103
101
|
setIsTouched(!isTouched);
|
|
104
102
|
xrController.updateButtonTouch(buttonId, !isTouched);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analog.js","sourceRoot":"","sources":["../../src/components/analog.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EACN,MAAM,EACN,eAAe,EACf,WAAW,EACX,MAAM,EACN,cAAc,EACd,aAAa,GACb,MAAM,aAAa,CAAC;AACrB,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"analog.js","sourceRoot":"","sources":["../../src/components/analog.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EACN,MAAM,EACN,eAAe,EACf,WAAW,EACX,MAAM,EACN,mBAAmB,EACnB,MAAM,EACN,cAAc,EACd,aAAa,GACb,MAAM,aAAa,CAAC;AACrB,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AASlE,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACzD,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,SAAS,GACT,EAAE,EAAE;IACJ,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACd,MAAM,aAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5C,eAAe,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9B,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5C,eAAe,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC7C,IAAI,SAAS,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5C,eAAe,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;iBAAM,IAAI,SAAS,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5C,eAAe,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC3C,IAAI,SAAS,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrD,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5C,eAAe,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,SAAS,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7D,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5C,eAAe,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACF,CAAC,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC7D,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACtD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBAClD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC;aAAM,CAAC;YACP,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC7D,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACzD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACrD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC;QACF,CAAC;QAED,OAAO,GAAG,EAAE;YACX,IAAI,SAAS,KAAK,WAAW,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;gBAC7D,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACzD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACP,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACrD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC;QACF,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAEvD,OAAO,CACN,MAAC,eAAe,gBAAW,UAAU,KAAK,OAAO,aAChD,KAAC,WAAW,IAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAI,EAC7D,KAAC,WAAW,gBAAW,UAAU,KAAK,OAAO,YAC3C,aAAa,CAAC,CAAC,CAAC,CAChB,KAAC,cAAc,gBAAW,YAAY,YACpC,gBAAgB,CAAC,SAAS,CAAC,GACZ,CACjB,CAAC,CAAC,CAAC,CACH,8BACC,KAAC,MAAM,gBACI,UAAU,KAAK,OAAO,EAChC,KAAK,EAAE;gCACN,UAAU,EAAE,SAAS;oCACpB,CAAC,CAAC,MAAM,CAAC,4BAA4B;oCACrC,CAAC,CAAC,MAAM,CAAC,uBAAuB;gCACjC,KAAK,EAAE,mBAAmB,CAAC,SAAS;6BACpC,EACD,OAAO,EAAE,GAAG,EAAE;gCACb,YAAY,CAAC,IAAI,CAAC,CAAC;gCACnB,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gCAC5C,UAAU,CAAC,GAAG,EAAE;oCACf,YAAY,CAAC,KAAK,CAAC,CAAC;oCACpB,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gCAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;4BACT,CAAC,sBAGO,EACT,KAAC,MAAM,IACN,KAAK,EAAC,6BAA6B,cACzB,UAAU,KAAK,OAAO,EAChC,KAAK,EAAE;gCACN,UAAU,EAAE,SAAS;oCACpB,CAAC,CAAC,MAAM,CAAC,4BAA4B;oCACrC,CAAC,CAAC,MAAM,CAAC,uBAAuB;gCACjC,KAAK,EAAE,mBAAmB,CAAC,UAAU;6BACrC,EACD,OAAO,EAAE,GAAG,EAAE;gCACb,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;gCACzB,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC;4BACtD,CAAC,YAED,KAAC,MAAM,IAAC,IAAI,EAAE,aAAa,GAAI,GACvB,EACT,KAAC,aAAa,gBACH,UAAU,KAAK,OAAO,EAChC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gCACf,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gCACrC,cAAc,CAAC,KAAK,CAAC,CAAC;gCACtB,YAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,GAAG,GAAG,CAAC,CAAC;4BACvD,CAAC,EACD,GAAG,EAAC,GAAG,EACP,GAAG,EAAC,KAAK,GACR,IACA,CACH,GACY,IACG,CAClB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../src/components/binary.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"binary.d.ts","sourceRoot":"","sources":["../../src/components/binary.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAInD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,UAAU,iBAAiB;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4GpD,CAAC"}
|
package/lib/components/binary.js
CHANGED
|
@@ -5,14 +5,12 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
|
-
import { Button, ButtonContainer, ButtonGroup, FAIcon, MappedKeyBlock, } from './styled.js';
|
|
8
|
+
import { Button, ButtonContainer, ButtonGroup, Colors, ControlButtonStyles, FAIcon, MappedKeyBlock, } from './styled.js';
|
|
9
9
|
import { useEffect, useState } from 'react';
|
|
10
10
|
import { GamepadIcon } from './icons.js';
|
|
11
11
|
import { MappedKeyDisplay } from './keys.js';
|
|
12
12
|
import { faFingerprint } from '@fortawesome/free-solid-svg-icons';
|
|
13
|
-
import { useDevUIConfig } from '../index.js';
|
|
14
13
|
export const BinaryButton = ({ xrController, buttonId, pointerLocked, mappedKey, }) => {
|
|
15
|
-
const devuiConfig = useDevUIConfig();
|
|
16
14
|
const [isTouched, setIsTouched] = useState(false);
|
|
17
15
|
const [isOnHold, setIsOnHold] = useState(false);
|
|
18
16
|
const [isPressed, setIsPressed] = useState(false);
|
|
@@ -45,30 +43,30 @@ export const BinaryButton = ({ xrController, buttonId, pointerLocked, mappedKey,
|
|
|
45
43
|
};
|
|
46
44
|
}, [mappedKey, pointerLocked, buttonId, xrController]);
|
|
47
45
|
return (_jsxs(ButtonContainer, { "$reverse": handedness === 'right', children: [_jsx(GamepadIcon, { buttonName: buttonId, handedness: handedness }), _jsx(ButtonGroup, { "$reverse": handedness === 'right', children: pointerLocked ? (_jsx(MappedKeyBlock, { "$pressed": isKeyPressed, children: MappedKeyDisplay[mappedKey] })) : (_jsxs(_Fragment, { children: [_jsx(Button, { "$reverse": handedness === 'right', style: {
|
|
48
|
-
|
|
49
|
-
?
|
|
50
|
-
:
|
|
51
|
-
width:
|
|
46
|
+
background: isPressed
|
|
47
|
+
? Colors.gradientLightGreyTranslucent
|
|
48
|
+
: Colors.gradientGreyTranslucent,
|
|
49
|
+
width: ControlButtonStyles.widthLong,
|
|
52
50
|
}, onClick: () => {
|
|
53
51
|
setIsPressed(true);
|
|
54
52
|
xrController.updateButtonValue(buttonId, 1);
|
|
55
53
|
setTimeout(() => {
|
|
56
54
|
setIsPressed(false);
|
|
57
55
|
xrController.updateButtonValue(buttonId, 0);
|
|
58
|
-
},
|
|
59
|
-
}, children: "Press" }), _jsx(Button, { "$reverse": handedness === 'right', style: {
|
|
60
|
-
|
|
61
|
-
?
|
|
62
|
-
:
|
|
63
|
-
width:
|
|
56
|
+
}, 250);
|
|
57
|
+
}, children: "Press" }), _jsx(Button, { title: "Click to toggle touch state", "$reverse": handedness === 'right', style: {
|
|
58
|
+
background: isTouched
|
|
59
|
+
? Colors.gradientLightGreyTranslucent
|
|
60
|
+
: Colors.gradientGreyTranslucent,
|
|
61
|
+
width: ControlButtonStyles.widthShort,
|
|
64
62
|
}, onClick: () => {
|
|
65
63
|
setIsTouched(!isTouched);
|
|
66
64
|
xrController.updateButtonTouch(buttonId, !isTouched);
|
|
67
65
|
}, children: _jsx(FAIcon, { icon: faFingerprint }) }), _jsx(Button, { "$reverse": handedness === 'right', style: {
|
|
68
|
-
|
|
69
|
-
?
|
|
70
|
-
:
|
|
71
|
-
width:
|
|
66
|
+
background: isOnHold
|
|
67
|
+
? Colors.gradientLightGreyTranslucent
|
|
68
|
+
: Colors.gradientGreyTranslucent,
|
|
69
|
+
width: ControlButtonStyles.widthLong,
|
|
72
70
|
}, onClick: () => {
|
|
73
71
|
setIsOnHold(!isOnHold);
|
|
74
72
|
xrController.updateButtonValue(buttonId, isOnHold ? 0 : 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/components/binary.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EACN,MAAM,EACN,eAAe,EACf,WAAW,EACX,MAAM,EACN,cAAc,GACd,MAAM,aAAa,CAAC;AACrB,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/components/binary.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,23 @@
|
|
|
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 {
|
|
7
|
+
import { InputLayer } from '../scene.js';
|
|
8
8
|
import React from 'react';
|
|
9
|
+
import { TransformHandles } from '@pmndrs/handle';
|
|
10
|
+
import type { XRController } from 'iwer/lib/device/XRController.js';
|
|
9
11
|
import { XRDevice } from 'iwer';
|
|
10
12
|
interface ControlsProps {
|
|
11
13
|
xrDevice: XRDevice;
|
|
12
|
-
|
|
14
|
+
inputLayer: InputLayer;
|
|
13
15
|
pointerLocked: boolean;
|
|
14
16
|
}
|
|
15
17
|
export declare const ControlsUI: React.FC<ControlsProps>;
|
|
18
|
+
interface ControllerProps {
|
|
19
|
+
controller: XRController;
|
|
20
|
+
handle: TransformHandles;
|
|
21
|
+
handedness: string;
|
|
22
|
+
pointerLocked: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare const ControllerUI: React.FC<ControllerProps>;
|
|
16
25
|
export {};
|
|
17
26
|
//# sourceMappingURL=controls.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/components/controls.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../src/components/controls.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,UAAU,aAAa;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACvB;AAuCD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAoB9C,CAAC;AAEF,UAAU,eAAe;IACxB,UAAU,EAAE,YAAY,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgKlD,CAAC"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
import { ControlButtonStyles, ControlPanel, FAIcon, PanelHeaderButton, SectionBreak, } from './styled.js';
|
|
9
|
+
import { ControllerMapper, useKeyMapStore } from './mapper.js';
|
|
10
|
+
import { faCircleXmark, faGamepad, faGear, faPlug, } from '@fortawesome/free-solid-svg-icons';
|
|
2
11
|
import { AnalogButton } from './analog.js';
|
|
3
12
|
import { BinaryButton } from './binary.js';
|
|
4
13
|
import { Joystick } from './joystick.js';
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
padding: ${({ $reverse }) => $reverse ? '6px 2px 3px 5px' : '6px 5px 3px 2px'};
|
|
8
|
-
pointer-events: all;
|
|
9
|
-
background-color: rgba(43, 43, 43, 0.5);
|
|
10
|
-
backdrop-filter: blur(10px);
|
|
11
|
-
-webkit-backdrop-filter: blur(10px);
|
|
12
|
-
border-radius: ${({ $reverse }) => ($reverse ? '12px 0 0 0' : '0 12px 0 0')};
|
|
13
|
-
`;
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import { Vector3Input } from './vec3.js';
|
|
14
16
|
function transformGamepadConfig(gamepadConfig) {
|
|
15
17
|
const axesSet = new Set();
|
|
16
18
|
// Add all axis ids to the set
|
|
@@ -37,22 +39,54 @@ function transformGamepadConfig(gamepadConfig) {
|
|
|
37
39
|
});
|
|
38
40
|
return transformed;
|
|
39
41
|
}
|
|
40
|
-
export const ControlsUI = ({ xrDevice,
|
|
41
|
-
return (_jsx(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
42
|
+
export const ControlsUI = ({ xrDevice, inputLayer, pointerLocked, }) => {
|
|
43
|
+
return (_jsx(_Fragment, { children: Object.entries(xrDevice.controllers).map(([handedness, controller]) => (_jsx(ControllerUI, { controller: controller, handle: inputLayer.transformHandles.get(handedness), handedness: handedness, pointerLocked: pointerLocked }, `controller-${handedness}`))) }));
|
|
44
|
+
};
|
|
45
|
+
export const ControllerUI = ({ controller, handle, handedness, pointerLocked, }) => {
|
|
46
|
+
const { keyMap } = useKeyMapStore();
|
|
47
|
+
const [connected, setConnected] = React.useState(controller.connected);
|
|
48
|
+
const [settingsOpen, setSettingsOpen] = React.useState(false);
|
|
49
|
+
React.useEffect(() => {
|
|
50
|
+
if (pointerLocked) {
|
|
51
|
+
setSettingsOpen(false);
|
|
52
|
+
}
|
|
53
|
+
}, [pointerLocked]);
|
|
54
|
+
return (_jsxs(ControlPanel, { style: handedness === 'left'
|
|
55
|
+
? { left: '8px', bottom: '8px' }
|
|
56
|
+
: { right: '8px', bottom: '8px' }, children: [!pointerLocked && (_jsx(_Fragment, { children: _jsxs("div", { style: {
|
|
57
|
+
display: 'flex',
|
|
58
|
+
flexDirection: 'row',
|
|
59
|
+
justifyContent: 'space-between',
|
|
60
|
+
alignItems: 'center',
|
|
61
|
+
}, children: [_jsxs("div", { style: {
|
|
62
|
+
fontSize: '13px',
|
|
63
|
+
display: 'flex',
|
|
64
|
+
flexDirection: 'row',
|
|
65
|
+
alignItems: 'center',
|
|
66
|
+
}, children: [_jsx(FAIcon, { icon: faGamepad, style: { marginRight: '5px' } }), "Controller\u00A0", _jsxs("span", { style: { fontWeight: 'bold' }, children: ["[", handedness === 'left' ? 'L' : 'R', "]"] })] }), _jsx("div", { style: {
|
|
67
|
+
display: 'flex',
|
|
68
|
+
flexDirection: 'row',
|
|
69
|
+
gap: '1px',
|
|
70
|
+
}, children: connected ? (_jsxs(_Fragment, { children: [_jsx(PanelHeaderButton, { title: `Click to ${settingsOpen ? 'close' : 'change'} key bindings`, onClick: () => {
|
|
71
|
+
setSettingsOpen(!settingsOpen);
|
|
72
|
+
}, children: _jsx(FAIcon, { icon: faGear }) }), _jsx(PanelHeaderButton, { title: `Click to disconnect ${handedness} controller`, "$isRed": true, onClick: () => {
|
|
73
|
+
controller.connected = false;
|
|
74
|
+
setConnected(false);
|
|
75
|
+
}, children: _jsx(FAIcon, { icon: faCircleXmark }) })] })) : (_jsx(PanelHeaderButton, { title: `Click to reconnect ${handedness} controller`, onClick: () => {
|
|
76
|
+
controller.connected = true;
|
|
77
|
+
setConnected(true);
|
|
78
|
+
}, style: { marginLeft: '5px' }, children: _jsx(FAIcon, { icon: faPlug }) })) })] }) })), connected && !pointerLocked && (_jsxs(_Fragment, { children: [!settingsOpen && (_jsxs(_Fragment, { children: [_jsx(SectionBreak, {}), _jsx(Vector3Input, { vector: handle.position, label: "Position", marginBottom: ControlButtonStyles.gap }), _jsx(Vector3Input, { vector: handle.rotation, label: "Rotation" })] })), _jsx(SectionBreak, {})] })), connected &&
|
|
79
|
+
(settingsOpen ? (_jsx(ControllerMapper, { handedness: handedness })) : (transformGamepadConfig(controller.gamepadConfig).map((buttonConfig) => {
|
|
80
|
+
const mapping = keyMap[handedness];
|
|
81
|
+
if (buttonConfig.hasAxes) {
|
|
82
|
+
return (_jsx(Joystick, { xrController: controller, pointerLocked: pointerLocked, buttonId: buttonConfig.id, mappedKeyUp: keyMap[handedness][`${buttonConfig.id}-up`], mappedKeyDown: mapping[`${buttonConfig.id}-down`], mappedKeyLeft: mapping[`${buttonConfig.id}-left`], mappedKeyRight: mapping[`${buttonConfig.id}-right`], mappedKeyPressed: mapping[buttonConfig.id] }, buttonConfig.id));
|
|
83
|
+
}
|
|
84
|
+
else if (buttonConfig.type === 'analog') {
|
|
85
|
+
return (_jsx(AnalogButton, { xrController: controller, buttonId: buttonConfig.id, mappedKey: mapping[buttonConfig.id], pointerLocked: pointerLocked }, buttonConfig.id));
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return (_jsx(BinaryButton, { xrController: controller, buttonId: buttonConfig.id, mappedKey: mapping[buttonConfig.id], pointerLocked: pointerLocked }, buttonConfig.id));
|
|
89
|
+
}
|
|
90
|
+
})))] }, handedness));
|
|
57
91
|
};
|
|
58
92
|
//# sourceMappingURL=controls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../src/components/controls.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"controls.js","sourceRoot":"","sources":["../../src/components/controls.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fov.d.ts","sourceRoot":"","sources":["../../src/components/fov.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,UAAU,YAAY;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACvB;AAaD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"fov.d.ts","sourceRoot":"","sources":["../../src/components/fov.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,UAAU,YAAY;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACvB;AAaD,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA4B1C,CAAC"}
|
package/lib/components/fov.js
CHANGED
|
@@ -25,7 +25,6 @@ export const FOVMenu = ({ xrDevice, inputLayer }) => {
|
|
|
25
25
|
setFovy(value);
|
|
26
26
|
xrDevice.fovy = value;
|
|
27
27
|
inputLayer.syncFovy();
|
|
28
|
-
inputLayer.renderScene();
|
|
29
28
|
}, min: Math.PI / 6, max: Math.PI / 1.5, step: Math.PI / 48 }), _jsxs(Button, { "$reverse": false, disabled: true, children: [((fovy / Math.PI) * 180).toFixed(2), "\u00B0"] })] }) }));
|
|
30
29
|
};
|
|
31
30
|
//# sourceMappingURL=fov.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fov.js","sourceRoot":"","sources":["../../src/components/fov.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAO3C,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;CASrC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CACN,KAAC,mBAAmB,cACnB,MAAC,WAAW,gBAAW,KAAK,aAC3B,KAAC,MAAM,gBAAW,KAAK,EAAE,QAAQ,EAAE,IAAI,sBAE9B,EACT,KAAC,aAAa,gBACH,KAAK,EACf,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAC9C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACf,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;wBACtB,UAAU,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"fov.js","sourceRoot":"","sources":["../../src/components/fov.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjE,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAO3C,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;CASrC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;IAC3E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,OAAO,CACN,KAAC,mBAAmB,cACnB,MAAC,WAAW,gBAAW,KAAK,aAC3B,KAAC,MAAM,gBAAW,KAAK,EAAE,QAAQ,EAAE,IAAI,sBAE9B,EACT,KAAC,aAAa,gBACH,KAAK,EACf,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAC9C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACf,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACrC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;wBACtB,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACvB,CAAC,EACD,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAChB,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,EAClB,IAAI,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GACjB,EACF,MAAC,MAAM,gBAAW,KAAK,EAAE,QAAQ,EAAE,IAAI,aACrC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAC5B,IACI,GACO,CACtB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -10,10 +10,6 @@ import { XRDevice } from 'iwer';
|
|
|
10
10
|
interface HeaderUIProps {
|
|
11
11
|
xrDevice: XRDevice;
|
|
12
12
|
inputLayer: InputLayer;
|
|
13
|
-
keyMapOpen: boolean;
|
|
14
|
-
setKeyMapOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
15
|
-
fovSettingOpen: boolean;
|
|
16
|
-
setFovSettingOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
17
13
|
}
|
|
18
14
|
export declare const HeaderUI: React.FC<HeaderUIProps>;
|
|
19
15
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../src/components/header.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../src/components/header.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAgBhC,UAAU,aAAa;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;CACvB;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqN5C,CAAC"}
|
package/lib/components/header.js
CHANGED
|
@@ -1,76 +1,90 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
4
4
|
*
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
6
6
|
* LICENSE file in the root directory of this source tree.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { BoxIcon, IWERIcon, MeshIcon, PlaneIcon } from './icons.js';
|
|
9
|
+
import { Button, Colors, ControlButtonStyles, ControlPanel, FAIcon, HeaderButton, HeaderButtonsContainer, PanelHeaderButton, SectionBreak, } from './styled.js';
|
|
10
|
+
import { faBug, faCirclePlay, faCircleXmark, faRightFromBracket, faRotateLeft, } from '@fortawesome/free-solid-svg-icons';
|
|
11
|
+
import React from 'react';
|
|
11
12
|
import { styled } from 'styled-components';
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
-webkit-backdrop-filter: blur(10px);
|
|
18
|
-
justify-content: center;
|
|
19
|
-
pointer-events: all;
|
|
20
|
-
border-radius: 0 0 12px 12px;
|
|
21
|
-
align-items: center;
|
|
22
|
-
height: 24px;
|
|
13
|
+
const VersionTableCol1 = styled.td `
|
|
14
|
+
text-align: right;
|
|
15
|
+
color: ${Colors.textWhite};
|
|
16
|
+
padding: 0 8px 0 0;
|
|
17
|
+
font-weight: bold;
|
|
23
18
|
`;
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
border: none;
|
|
29
|
-
display: flex;
|
|
30
|
-
flex-direction: column;
|
|
31
|
-
align-items: flex-start;
|
|
32
|
-
justify-content: center;
|
|
33
|
-
cursor: pointer;
|
|
34
|
-
color: white;
|
|
35
|
-
white-space: nowrap;
|
|
36
|
-
font-size: 14px;
|
|
37
|
-
text-transform: none;
|
|
38
|
-
box-shadow: none;
|
|
39
|
-
font-family: Arial, sans-serif;
|
|
40
|
-
border-radius: ${({ $reverse }) => ($reverse ? '0 0 0 12px' : '0 0 12px 0')};
|
|
41
|
-
padding: 5px;
|
|
42
|
-
|
|
43
|
-
> div {
|
|
44
|
-
display: flex;
|
|
45
|
-
flex-direction: row;
|
|
46
|
-
align-items: center;
|
|
47
|
-
gap: 2px;
|
|
48
|
-
margin: 2px;
|
|
49
|
-
}
|
|
19
|
+
const VersionTableCol2 = styled.td `
|
|
20
|
+
text-align: left;
|
|
21
|
+
color: ${Colors.textGrey};
|
|
22
|
+
padding: 0;
|
|
50
23
|
`;
|
|
51
|
-
export const HeaderUI = ({ xrDevice, inputLayer
|
|
24
|
+
export const HeaderUI = ({ xrDevice, inputLayer }) => {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
const [planesVisible, setPlanesVisible] = React.useState(Boolean((_a = xrDevice.sem) === null || _a === void 0 ? void 0 : _a.planesVisible));
|
|
27
|
+
const [boxesVisible, setBoxesVisible] = React.useState(Boolean((_b = xrDevice.sem) === null || _b === void 0 ? void 0 : _b.boundingBoxesVisible));
|
|
28
|
+
const [meshesVisible, setMeshesVisible] = React.useState(Boolean((_c = xrDevice.sem) === null || _c === void 0 ? void 0 : _c.meshesVisible));
|
|
29
|
+
const [infoPanelOpen, setInfoPanelOpen] = React.useState(false);
|
|
52
30
|
return (_jsxs("div", { style: {
|
|
53
31
|
display: 'flex',
|
|
54
32
|
justifyContent: 'center',
|
|
55
|
-
|
|
33
|
+
flexDirection: 'row',
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
gap: '6px',
|
|
36
|
+
padding: '8px',
|
|
37
|
+
}, children: [_jsx(HeaderButtonsContainer, { children: _jsxs("div", { style: {
|
|
38
|
+
display: 'flex',
|
|
39
|
+
flexDirection: 'row',
|
|
40
|
+
gap: '1px',
|
|
41
|
+
}, children: [_jsx(HeaderButton, { title: "Click to reset device transforms", onClick: () => {
|
|
42
|
+
inputLayer.resetDeviceTransforms();
|
|
43
|
+
}, children: _jsx(FAIcon, { icon: faRotateLeft, "$size": 16 }) }), _jsx(HeaderButton, { title: "Click to activate play mode", onClick: () => {
|
|
44
|
+
inputLayer.lockPointer();
|
|
45
|
+
}, children: _jsx(FAIcon, { icon: faCirclePlay, "$size": 16 }) }), xrDevice.sem && (_jsxs(_Fragment, { children: [_jsx(SectionBreak, { "$horizontal": false }), _jsx(HeaderButton, { title: "Click to toggle visibility of planes", onClick: () => {
|
|
46
|
+
xrDevice.sem.planesVisible = !planesVisible;
|
|
47
|
+
setPlanesVisible(!planesVisible);
|
|
48
|
+
}, children: _jsx(PlaneIcon, { size: 16, color: planesVisible ? Colors.textWhite : Colors.textGrey }) }), _jsx(HeaderButton, { title: "Click to toggle visibility of bounding boxes", onClick: () => {
|
|
49
|
+
xrDevice.sem.boundingBoxesVisible = !boxesVisible;
|
|
50
|
+
setBoxesVisible(!boxesVisible);
|
|
51
|
+
}, children: _jsx(BoxIcon, { size: 16, color: boxesVisible ? Colors.textWhite : Colors.textGrey }) }), _jsx(HeaderButton, { title: "Click to toggle visibility of meshes", onClick: () => {
|
|
52
|
+
xrDevice.sem.meshesVisible = !meshesVisible;
|
|
53
|
+
setMeshesVisible(!meshesVisible);
|
|
54
|
+
}, children: _jsx(MeshIcon, { size: 16, color: meshesVisible ? Colors.textWhite : Colors.textGrey }) })] })), _jsx(SectionBreak, { "$horizontal": false }), _jsx(HeaderButton, { title: "Click to exit XR session", onClick: () => {
|
|
55
|
+
const xrSession = xrDevice.activeSession;
|
|
56
|
+
xrSession === null || xrSession === void 0 ? void 0 : xrSession.end();
|
|
57
|
+
}, children: _jsx(FAIcon, { icon: faRightFromBracket, "$size": 16 }) })] }) }), _jsx(HeaderButtonsContainer, { children: _jsxs("div", { style: {
|
|
58
|
+
display: 'flex',
|
|
59
|
+
flexDirection: 'row',
|
|
60
|
+
gap: '1px',
|
|
61
|
+
}, children: [_jsx(HeaderButton, { title: "About IWER", onClick: () => {
|
|
62
|
+
setInfoPanelOpen(!infoPanelOpen);
|
|
63
|
+
}, children: _jsx(IWERIcon, { size: 16 }) }), _jsx(HeaderButton, { title: "Report issues", onClick: () => {
|
|
64
|
+
window.open('https://github.com/meta-quest/immersive-web-emulation-runtime/issues', '_blank');
|
|
65
|
+
}, children: _jsx(FAIcon, { icon: faBug, "$size": 16 }) })] }) }), infoPanelOpen && (_jsxs(ControlPanel, { style: {
|
|
66
|
+
top: '50vh',
|
|
67
|
+
left: '50vw',
|
|
68
|
+
transform: 'translate(-50%, -50%)',
|
|
69
|
+
maxWidth: '240px',
|
|
70
|
+
gap: '4px',
|
|
71
|
+
}, children: [_jsx("div", { style: { display: 'flex', justifyContent: 'end' }, children: _jsx(PanelHeaderButton, { "$isRed": true, onClick: () => {
|
|
72
|
+
setInfoPanelOpen(false);
|
|
73
|
+
}, children: _jsx(FAIcon, { icon: faCircleXmark }) }) }), _jsx("div", { style: { display: 'flex', justifyContent: 'center' }, children: _jsx(IWERIcon, { size: 100 }) }), _jsxs("p", { style: { textAlign: 'center', padding: '0 5px', margin: '0' }, children: [_jsx("b", { children: "Immersive Web Emulation Runtime" }), " (IWER) is a free, open-source WebXR developer tool created by Meta Platforms, Inc."] }), _jsx("table", { style: {
|
|
74
|
+
width: '100%',
|
|
75
|
+
borderCollapse: 'collapse',
|
|
56
76
|
display: 'flex',
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
setFovSettingOpen(!fovSettingOpen);
|
|
70
|
-
setKeyMapOpen(false);
|
|
71
|
-
}, children: _jsx(FAIcon, { icon: faVideo }) }), _jsx(Button, { "$reverse": false, onClick: () => {
|
|
72
|
-
const xrSession = xrDevice.activeSession;
|
|
73
|
-
xrSession === null || xrSession === void 0 ? void 0 : xrSession.end();
|
|
74
|
-
}, children: _jsx(FAIcon, { icon: faRightFromBracket }) })] })] }), _jsxs(MovementInstructionsContainer, { "$reverse": false, style: { position: 'fixed', left: '0', top: '0' }, children: [_jsxs("div", { children: [_jsx(FAIcon, { icon: faSquareArrowUpRight, style: { marginRight: '4px' } }), ' ', "Roomscale Movement"] }), _jsxs("div", { children: [_jsx(MappedKeyBlock, { "$pressed": false, style: { width: '50px' }, children: "L Shift" }), _jsx("span", { style: { margin: '0 4px' }, children: "+" }), _jsx(MappedKeyBlock, { "$pressed": false, children: "W" }), _jsx(MappedKeyBlock, { "$pressed": false, children: "A" }), _jsx(MappedKeyBlock, { "$pressed": false, children: "S" }), _jsx(MappedKeyBlock, { "$pressed": false, children: "D" })] })] }), _jsxs(MovementInstructionsContainer, { "$reverse": true, style: { position: 'fixed', right: '0', top: '0' }, children: [_jsxs("div", { children: [_jsx(FAIcon, { icon: faArrowsUpDown, style: { marginRight: '4px' } }), " Camera Height"] }), _jsxs("div", { children: [_jsx(MappedKeyBlock, { "$pressed": false, style: { width: '50px' }, children: "L Shift" }), _jsx("span", { style: { margin: '0 4px' }, children: "+" }), _jsx(MappedKeyBlock, { "$pressed": false, children: _jsx(FAIcon, { icon: faCaretUp }) }), _jsx(MappedKeyBlock, { "$pressed": false, children: _jsx(FAIcon, { icon: faCaretDown }) })] })] })] }));
|
|
77
|
+
justifyContent: 'center',
|
|
78
|
+
fontSize: '12px',
|
|
79
|
+
padding: '8px',
|
|
80
|
+
}, children: _jsxs("tbody", { children: [_jsxs("tr", { children: [_jsx(VersionTableCol1, { children: "IWER" }), _jsxs(VersionTableCol2, { children: ["v", xrDevice.version] })] }), _jsxs("tr", { children: [_jsx(VersionTableCol1, { children: "DevUI" }), _jsxs(VersionTableCol2, { children: ["v", xrDevice.devui.version] })] }), xrDevice.sem && (_jsxs("tr", { children: [_jsx(VersionTableCol1, { children: "SEM" }), _jsxs(VersionTableCol2, { children: ["v", xrDevice.sem.version] })] }))] }) }), _jsx(Button, { style: {
|
|
81
|
+
borderRadius: ControlButtonStyles.radiusSolo,
|
|
82
|
+
}, onClick: () => {
|
|
83
|
+
window.open('https://github.com/meta-quest/immersive-web-emulation-runtime/blob/main/LICENSE', '_blank');
|
|
84
|
+
}, children: "MIT License" }), _jsx(Button, { style: {
|
|
85
|
+
borderRadius: ControlButtonStyles.radiusSolo,
|
|
86
|
+
}, onClick: () => {
|
|
87
|
+
window.open('https://github.com/meta-quest/immersive-web-emulation-runtime', '_blank');
|
|
88
|
+
}, children: "View Source on GitHub" })] }))] }));
|
|
75
89
|
};
|
|
76
90
|
//# sourceMappingURL=header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/components/header.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/components/header.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
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 { InputLayer } from '../scene.js';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import { XRDevice } from 'iwer';
|
|
10
|
+
interface HeadsetProps {
|
|
11
|
+
xrDevice: XRDevice;
|
|
12
|
+
inputLayer: InputLayer;
|
|
13
|
+
pointerLocked: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const HeadsetUI: React.FC<HeadsetProps>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=headset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headset.d.ts","sourceRoot":"","sources":["../../src/components/headset.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,UAAU,YAAY;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;CACvB;AAmDD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAsF5C,CAAC"}
|