@iwer/devui 1.1.0 → 1.1.1

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 (73) hide show
  1. package/build/iwer-devui.js +41 -4
  2. package/build/iwer-devui.min.js +15 -15
  3. package/build/iwer-devui.module.js +41 -4
  4. package/build/iwer-devui.module.min.js +15 -15
  5. package/lib/components/header.d.ts +7 -0
  6. package/lib/components/header.d.ts.map +1 -1
  7. package/lib/components/header.js +37 -4
  8. package/lib/components/header.js.map +1 -1
  9. package/lib/index.d.ts +1 -1
  10. package/lib/version.d.ts +1 -1
  11. package/lib/version.js +1 -1
  12. package/package.json +2 -2
  13. package/lib/components/fov.d.ts +0 -16
  14. package/lib/components/fov.d.ts.map +0 -1
  15. package/lib/components/fov.js +0 -30
  16. package/lib/components/fov.js.map +0 -1
  17. package/lib/package.json +0 -55
  18. package/lib/src/components/analog.d.ts +0 -17
  19. package/lib/src/components/analog.d.ts.map +0 -1
  20. package/lib/src/components/analog.js +0 -111
  21. package/lib/src/components/analog.js.map +0 -1
  22. package/lib/src/components/binary.d.ts +0 -17
  23. package/lib/src/components/binary.d.ts.map +0 -1
  24. package/lib/src/components/binary.js +0 -77
  25. package/lib/src/components/binary.js.map +0 -1
  26. package/lib/src/components/controls.d.ts +0 -29
  27. package/lib/src/components/controls.d.ts.map +0 -1
  28. package/lib/src/components/controls.js +0 -139
  29. package/lib/src/components/controls.js.map +0 -1
  30. package/lib/src/components/fov.d.ts +0 -16
  31. package/lib/src/components/fov.d.ts.map +0 -1
  32. package/lib/src/components/fov.js +0 -30
  33. package/lib/src/components/fov.js.map +0 -1
  34. package/lib/src/components/header.d.ts +0 -20
  35. package/lib/src/components/header.d.ts.map +0 -1
  36. package/lib/src/components/header.js +0 -47
  37. package/lib/src/components/header.js.map +0 -1
  38. package/lib/src/components/headset.d.ts +0 -17
  39. package/lib/src/components/headset.d.ts.map +0 -1
  40. package/lib/src/components/headset.js +0 -29
  41. package/lib/src/components/headset.js.map +0 -1
  42. package/lib/src/components/icons.d.ts +0 -37
  43. package/lib/src/components/icons.d.ts.map +0 -1
  44. package/lib/src/components/icons.js +0 -265
  45. package/lib/src/components/icons.js.map +0 -1
  46. package/lib/src/components/joystick.d.ts +0 -21
  47. package/lib/src/components/joystick.d.ts.map +0 -1
  48. package/lib/src/components/joystick.js +0 -245
  49. package/lib/src/components/joystick.js.map +0 -1
  50. package/lib/src/components/keys.d.ts +0 -10
  51. package/lib/src/components/keys.d.ts.map +0 -1
  52. package/lib/src/components/keys.js +0 -74
  53. package/lib/src/components/keys.js.map +0 -1
  54. package/lib/src/components/mapper.d.ts +0 -22
  55. package/lib/src/components/mapper.d.ts.map +0 -1
  56. package/lib/src/components/mapper.js +0 -108
  57. package/lib/src/components/mapper.js.map +0 -1
  58. package/lib/src/components/styled.d.ts +0 -70
  59. package/lib/src/components/styled.d.ts.map +0 -1
  60. package/lib/src/components/styled.js +0 -272
  61. package/lib/src/components/styled.js.map +0 -1
  62. package/lib/src/components/vec3.d.ts +0 -22
  63. package/lib/src/components/vec3.d.ts.map +0 -1
  64. package/lib/src/components/vec3.js +0 -123
  65. package/lib/src/components/vec3.js.map +0 -1
  66. package/lib/src/index.d.ts +0 -22
  67. package/lib/src/index.d.ts.map +0 -1
  68. package/lib/src/index.js +0 -92
  69. package/lib/src/index.js.map +0 -1
  70. package/lib/src/scene.d.ts +0 -51
  71. package/lib/src/scene.d.ts.map +0 -1
  72. package/lib/src/scene.js +0 -250
  73. package/lib/src/scene.js.map +0 -1
@@ -5068,6 +5068,11 @@
5068
5068
  iconName: 'circle-play',
5069
5069
  icon: [512, 512, [61469, "play-circle"], "f144", "M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9l0 176c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z"]
5070
5070
  };
5071
+ const faPersonShelter = {
5072
+ prefix: 'fas',
5073
+ iconName: 'person-shelter',
5074
+ icon: [512, 512, [], "e54f", "M271.9 4.2c-9.8-5.6-21.9-5.6-31.8 0l-224 128C6.2 137.9 0 148.5 0 160L0 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-301.4L256 68.9 448 178.6 448 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-320c0-11.5-6.2-22.1-16.1-27.8l-224-128zM256 208a40 40 0 1 0 0-80 40 40 0 1 0 0 80zm-8 280l0-88 16 0 0 88c0 13.3 10.7 24 24 24s24-10.7 24-24l0-174.5 26.9 49.9c6.3 11.7 20.8 16 32.5 9.8s16-20.8 9.8-32.5l-37.9-70.3c-15.3-28.5-45.1-46.3-77.5-46.3l-19.5 0c-32.4 0-62.1 17.8-77.5 46.3l-37.9 70.3c-6.3 11.7-1.9 26.2 9.8 32.5s26.2 1.9 32.5-9.8L200 313.5 200 488c0 13.3 10.7 24 24 24s24-10.7 24-24z"]
5075
+ };
5071
5076
  const faHandScissors = {
5072
5077
  prefix: 'fas',
5073
5078
  iconName: 'hand-scissors',
@@ -6600,13 +6605,32 @@
6600
6605
  color: ${Colors.textGrey};
6601
6606
  padding: 0;
6602
6607
  `;
6608
+ const envNames = [
6609
+ 'meeting_room',
6610
+ 'living_room',
6611
+ 'music_room',
6612
+ 'office_large',
6613
+ 'office_small',
6614
+ ];
6615
+ const useHeaderStateStore = create((set) => ({
6616
+ infoPanelOpen: false,
6617
+ envDropDownOpen: false,
6618
+ setInfoPanelOpen: (open) => set(() => ({ infoPanelOpen: open })),
6619
+ setEnvDropDownOpen: (open) => set(() => ({ envDropDownOpen: open })),
6620
+ }));
6621
+ function underscoreToTitleCase(str) {
6622
+ return str
6623
+ .split('_')
6624
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
6625
+ .join(' ');
6626
+ }
6603
6627
  const HeaderUI = ({ xrDevice, inputLayer }) => {
6604
6628
  var _a, _b, _c;
6605
6629
  const [planesVisible, setPlanesVisible] = React.useState(Boolean((_a = xrDevice.sem) === null || _a === void 0 ? void 0 : _a.planesVisible));
6606
6630
  const [boxesVisible, setBoxesVisible] = React.useState(Boolean((_b = xrDevice.sem) === null || _b === void 0 ? void 0 : _b.boundingBoxesVisible));
6607
6631
  const [meshesVisible, setMeshesVisible] = React.useState(Boolean((_c = xrDevice.sem) === null || _c === void 0 ? void 0 : _c.meshesVisible));
6608
- const [infoPanelOpen, setInfoPanelOpen] = React.useState(false);
6609
6632
  const { inputMode, setInputMode } = useInputModeStore();
6633
+ const { infoPanelOpen, setInfoPanelOpen, envDropDownOpen, setEnvDropDownOpen, } = useHeaderStateStore();
6610
6634
  return (jsxRuntimeExports.jsxs("div", { style: {
6611
6635
  display: 'flex',
6612
6636
  justifyContent: 'center',
@@ -6622,6 +6646,8 @@
6622
6646
  inputLayer.resetDeviceTransforms();
6623
6647
  }, children: jsxRuntimeExports.jsx(FAIcon, { icon: faRotateLeft, "$size": 16 }) }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to activate play mode", onClick: () => {
6624
6648
  inputLayer.lockPointer();
6649
+ setEnvDropDownOpen(false);
6650
+ setInfoPanelOpen(false);
6625
6651
  }, children: jsxRuntimeExports.jsx(FAIcon, { icon: faCirclePlay, "$size": 16 }) }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to toggle input mode", onClick: () => {
6626
6652
  if (inputMode === 'controller') {
6627
6653
  setInputMode('hand');
@@ -6631,7 +6657,7 @@
6631
6657
  setInputMode('controller');
6632
6658
  xrDevice.primaryInputMode = 'controller';
6633
6659
  }
6634
- }, children: jsxRuntimeExports.jsx(FAIcon, { icon: inputMode === 'controller' ? faGamepad : faHand, "$size": 16 }) }), xrDevice.sem && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(SectionBreak, { "$horizontal": false }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to toggle visibility of planes", onClick: () => {
6660
+ }, children: jsxRuntimeExports.jsx(FAIcon, { icon: inputMode === 'controller' ? faGamepad : faHand, "$size": 16 }) }), xrDevice.sem && (jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(SectionBreak, { "$horizontal": false }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to select/change emulated environment", onClick: () => setEnvDropDownOpen(!envDropDownOpen), children: jsxRuntimeExports.jsx(FAIcon, { icon: faPersonShelter, "$size": 16 }) }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to toggle visibility of planes", onClick: () => {
6635
6661
  xrDevice.sem.planesVisible = !planesVisible;
6636
6662
  setPlanesVisible(!planesVisible);
6637
6663
  }, children: jsxRuntimeExports.jsx(PlaneIcon, { size: 16, color: planesVisible ? Colors.textWhite : Colors.textGrey }) }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to toggle visibility of bounding boxes", onClick: () => {
@@ -6674,7 +6700,18 @@
6674
6700
  borderRadius: ControlButtonStyles.radiusSolo,
6675
6701
  }, onClick: () => {
6676
6702
  window.open('https://github.com/meta-quest/immersive-web-emulation-runtime', '_blank');
6677
- }, children: "View Source on GitHub" })] }))] }));
6703
+ }, children: "View Source on GitHub" })] })), envDropDownOpen && (jsxRuntimeExports.jsx(ControlPanel, { style: {
6704
+ position: 'absolute',
6705
+ top: '40px',
6706
+ }, children: envNames.map((name) => (jsxRuntimeExports.jsx("div", { children: jsxRuntimeExports.jsx(HeaderButton, { style: {
6707
+ fontSize: '12px',
6708
+ width: '100%',
6709
+ justifyContent: 'start',
6710
+ borderRadius: '8px',
6711
+ }, onClick: () => {
6712
+ // @ts-ignore
6713
+ xrDevice.sem.loadDefaultEnvironment(name);
6714
+ }, children: underscoreToTitleCase(name) }) }, name))) }))] }));
6678
6715
  };
6679
6716
 
6680
6717
  const HeadsetOptionContainer = dt.div `
@@ -42619,7 +42656,7 @@ void main() {
42619
42656
  }
42620
42657
  }
42621
42658
 
42622
- const VERSION = "1.1.0";
42659
+ const VERSION = "1.1.1";
42623
42660
 
42624
42661
  var client = {};
42625
42662