@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
@@ -5062,6 +5062,11 @@ const faCirclePlay = {
5062
5062
  iconName: 'circle-play',
5063
5063
  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"]
5064
5064
  };
5065
+ const faPersonShelter = {
5066
+ prefix: 'fas',
5067
+ iconName: 'person-shelter',
5068
+ 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"]
5069
+ };
5065
5070
  const faHandScissors = {
5066
5071
  prefix: 'fas',
5067
5072
  iconName: 'hand-scissors',
@@ -6594,13 +6599,32 @@ const VersionTableCol2 = dt.td `
6594
6599
  color: ${Colors.textGrey};
6595
6600
  padding: 0;
6596
6601
  `;
6602
+ const envNames = [
6603
+ 'meeting_room',
6604
+ 'living_room',
6605
+ 'music_room',
6606
+ 'office_large',
6607
+ 'office_small',
6608
+ ];
6609
+ const useHeaderStateStore = create((set) => ({
6610
+ infoPanelOpen: false,
6611
+ envDropDownOpen: false,
6612
+ setInfoPanelOpen: (open) => set(() => ({ infoPanelOpen: open })),
6613
+ setEnvDropDownOpen: (open) => set(() => ({ envDropDownOpen: open })),
6614
+ }));
6615
+ function underscoreToTitleCase(str) {
6616
+ return str
6617
+ .split('_')
6618
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
6619
+ .join(' ');
6620
+ }
6597
6621
  const HeaderUI = ({ xrDevice, inputLayer }) => {
6598
6622
  var _a, _b, _c;
6599
6623
  const [planesVisible, setPlanesVisible] = React.useState(Boolean((_a = xrDevice.sem) === null || _a === void 0 ? void 0 : _a.planesVisible));
6600
6624
  const [boxesVisible, setBoxesVisible] = React.useState(Boolean((_b = xrDevice.sem) === null || _b === void 0 ? void 0 : _b.boundingBoxesVisible));
6601
6625
  const [meshesVisible, setMeshesVisible] = React.useState(Boolean((_c = xrDevice.sem) === null || _c === void 0 ? void 0 : _c.meshesVisible));
6602
- const [infoPanelOpen, setInfoPanelOpen] = React.useState(false);
6603
6626
  const { inputMode, setInputMode } = useInputModeStore();
6627
+ const { infoPanelOpen, setInfoPanelOpen, envDropDownOpen, setEnvDropDownOpen, } = useHeaderStateStore();
6604
6628
  return (jsxRuntimeExports.jsxs("div", { style: {
6605
6629
  display: 'flex',
6606
6630
  justifyContent: 'center',
@@ -6616,6 +6640,8 @@ const HeaderUI = ({ xrDevice, inputLayer }) => {
6616
6640
  inputLayer.resetDeviceTransforms();
6617
6641
  }, children: jsxRuntimeExports.jsx(FAIcon, { icon: faRotateLeft, "$size": 16 }) }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to activate play mode", onClick: () => {
6618
6642
  inputLayer.lockPointer();
6643
+ setEnvDropDownOpen(false);
6644
+ setInfoPanelOpen(false);
6619
6645
  }, children: jsxRuntimeExports.jsx(FAIcon, { icon: faCirclePlay, "$size": 16 }) }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to toggle input mode", onClick: () => {
6620
6646
  if (inputMode === 'controller') {
6621
6647
  setInputMode('hand');
@@ -6625,7 +6651,7 @@ const HeaderUI = ({ xrDevice, inputLayer }) => {
6625
6651
  setInputMode('controller');
6626
6652
  xrDevice.primaryInputMode = 'controller';
6627
6653
  }
6628
- }, 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: () => {
6654
+ }, 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: () => {
6629
6655
  xrDevice.sem.planesVisible = !planesVisible;
6630
6656
  setPlanesVisible(!planesVisible);
6631
6657
  }, children: jsxRuntimeExports.jsx(PlaneIcon, { size: 16, color: planesVisible ? Colors.textWhite : Colors.textGrey }) }), jsxRuntimeExports.jsx(HeaderButton, { title: "Click to toggle visibility of bounding boxes", onClick: () => {
@@ -6668,7 +6694,18 @@ const HeaderUI = ({ xrDevice, inputLayer }) => {
6668
6694
  borderRadius: ControlButtonStyles.radiusSolo,
6669
6695
  }, onClick: () => {
6670
6696
  window.open('https://github.com/meta-quest/immersive-web-emulation-runtime', '_blank');
6671
- }, children: "View Source on GitHub" })] }))] }));
6697
+ }, children: "View Source on GitHub" })] })), envDropDownOpen && (jsxRuntimeExports.jsx(ControlPanel, { style: {
6698
+ position: 'absolute',
6699
+ top: '40px',
6700
+ }, children: envNames.map((name) => (jsxRuntimeExports.jsx("div", { children: jsxRuntimeExports.jsx(HeaderButton, { style: {
6701
+ fontSize: '12px',
6702
+ width: '100%',
6703
+ justifyContent: 'start',
6704
+ borderRadius: '8px',
6705
+ }, onClick: () => {
6706
+ // @ts-ignore
6707
+ xrDevice.sem.loadDefaultEnvironment(name);
6708
+ }, children: underscoreToTitleCase(name) }) }, name))) }))] }));
6672
6709
  };
6673
6710
 
6674
6711
  const HeadsetOptionContainer = dt.div `
@@ -42613,7 +42650,7 @@ class InputLayer {
42613
42650
  }
42614
42651
  }
42615
42652
 
42616
- const VERSION = "1.1.0";
42653
+ const VERSION = "1.1.1";
42617
42654
 
42618
42655
  var client = {};
42619
42656