vim-web 0.5.0-dev.21 → 0.5.0-dev.23

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.
@@ -55406,7 +55406,7 @@ void main() {
55406
55406
  }
55407
55407
  unparent2dObjects(target) {
55408
55408
  if (target instanceof Group) {
55409
- for (const child of target.children) {
55409
+ for (const child of [...target.children]) {
55410
55410
  if (child instanceof CSS2DObject) {
55411
55411
  target.remove(child);
55412
55412
  }
@@ -55581,6 +55581,7 @@ void main() {
55581
55581
  }
55582
55582
  add(objectOrObjects) {
55583
55583
  if (!this.enabled) return;
55584
+ if (!objectOrObjects) return;
55584
55585
  const objects = this.toArray(objectOrObjects);
55585
55586
  let changed = false;
55586
55587
  for (const obj of objects) {
@@ -61575,80 +61576,72 @@ Averrage Date/Second ${avgDataRatePS} kb
61575
61576
  Ultra: index$7,
61576
61577
  Webgl: index$8
61577
61578
  }, Symbol.toStringTag, { value: "Module" }));
61578
- const sectionSelection = "controlBar.sectionSelection";
61579
- const sectionCamera = "controlBar.sectionCamera";
61580
- const sectionInputs = "controlBar.sectionInputs";
61581
- const sectionActions = "controlBar.sectionActions";
61582
- const sectionTools = "controlBar.sectionTools";
61583
- const sectionSettings = "controlBar.sectionSettings";
61584
- const sectionMeasure = "controlBar.sectionMeasure";
61585
- const sectionSectionBox = "controlBar.sectionSectionBox";
61586
- const buttonCameraFrameSelection = "controlBar.camera.frameSelection";
61587
- const buttonCameraFrameScene = "controlBar.camera.frameScene";
61588
- const buttonCameraAuto = "controlBar.camera.auto";
61589
- const buttonCameraOrbit = "controlBar.camera.orbit";
61590
- const buttonCameraLook = "controlBarcamera.look";
61591
- const buttonCameraPan = "controlBar.camera.pan";
61592
- const buttonCameraZoom = "controlBar.camera.zoom";
61593
- const buttonCameraZoomWindow = "controlBar.camera.zoomWindow";
61594
- const buttonProjectInspector = "controlBar.projectInspector";
61595
- const buttonSettings = "controlBar.settings";
61596
- const buttonHelp = "controlBar.help";
61597
- const buttonMaximize = "controlBar.maximize";
61598
- const buttonClearSelection = "controlBar.action.clearSelection";
61599
- const buttonShowAll = "controlBar.selection.showAll";
61600
- const buttonIsolateSelection = "controlBar.selection.isolate";
61601
- const buttonHideSelection = "controlBar.selection.hide";
61602
- const buttonShowSelection = "controlBar.selection.show";
61603
- const buttonAutoIsolate = "controlBar.selection.autoIsolate";
61604
- const buttonIsolationSettings = "controlBar.selection.isolationSettings";
61605
- const buttonRenderSettings = "controlBar.action.renderSettings";
61606
- const buttonSectionBox = "controlBar.sectionBox";
61607
- const buttonMeasure = "controlBar.measure";
61608
- const buttonSectionBoxEnable = "controlBar.sectionBox.enable";
61609
- const buttonSectionBoxVisible = "controlBar.sectionBox.visible";
61610
- const buttonSectionBoxToSelection = "controlBar.sectionBox.sectionSelection";
61611
- const buttonSectionBoxToScene = "controlBar.sectionBox.sectionScene";
61612
- const buttonSectionBoxAuto = "controlBar.sectionBox.auto";
61613
- const buttonSectionBoxSettings = "controlBar.sectionBox.settings";
61579
+ const cameraSpan = "controlBar.cameraSpan";
61580
+ const cameraFrameSelection = "controlBar.cameraFrameSelection";
61581
+ const cameraFrameScene = "controlBar.cameraFrameScene";
61582
+ const cameraAuto = "controlBar.cameraAuto";
61583
+ const cursorSpan = "controlBar.cursorSpan";
61584
+ const cursorOrbit = "controlBar.cursorOrbit";
61585
+ const cursorLook = "controlBar.cursorLook";
61586
+ const cursorPan = "controlBar.cursorPan";
61587
+ const cursorZoom = "controlBar.cursorZoom";
61588
+ const cursorZoomWindow = "controlBar.cursorZoomWindow";
61589
+ const visibilitySpan = "controlBar.visibilitySpan";
61590
+ const visibilityClearSelection = "controlBar.visibilityClearSelection";
61591
+ const visibilityShowAll = "controlBar.visibilityShowAll";
61592
+ const visibilityIsolateSelection = "controlBar.visibilityIsolateSelection";
61593
+ const visibilityHideSelection = "controlBar.visibilityHideSelection";
61594
+ const visibilityShowSelection = "controlBar.visibilityShowSelection";
61595
+ const visibilityAutoIsolate = "controlBar.visibilityAutoIsolate";
61596
+ const visibilitySettings = "controlBar.visibilitySettings";
61597
+ const sectioningSpan = "controlBar.sectioningSpan";
61598
+ const sectioningEnable = "controlBar.sectioningEnable";
61599
+ const sectioningVisible = "controlBar.sectioningVisible";
61600
+ const sectioningFitSelection = "controlBar.sectioningFitSelection";
61601
+ const sectioningFitScene = "controlBar.sectioningFitScene";
61602
+ const sectioningAuto = "controlBar.sectioningAuto";
61603
+ const sectioningSettings = "controlBar.sectioningSettings";
61604
+ const measureSpan = "controlBar.measureSpan";
61605
+ const measureEnable = "controlBar.measureEnable";
61606
+ const miscSpan = "controlBar.miscSpan";
61607
+ const miscInspector = "controlBar.miscInspector";
61608
+ const miscSettings = "controlBar.miscSettings";
61609
+ const miscHelp = "controlBar.miscHelp";
61610
+ const miscMaximize = "controlBar.miscMaximize";
61614
61611
  const controlBarIds = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
61615
61612
  __proto__: null,
61616
- buttonAutoIsolate,
61617
- buttonCameraAuto,
61618
- buttonCameraFrameScene,
61619
- buttonCameraFrameSelection,
61620
- buttonCameraLook,
61621
- buttonCameraOrbit,
61622
- buttonCameraPan,
61623
- buttonCameraZoom,
61624
- buttonCameraZoomWindow,
61625
- buttonClearSelection,
61626
- buttonHelp,
61627
- buttonHideSelection,
61628
- buttonIsolateSelection,
61629
- buttonIsolationSettings,
61630
- buttonMaximize,
61631
- buttonMeasure,
61632
- buttonProjectInspector,
61633
- buttonRenderSettings,
61634
- buttonSectionBox,
61635
- buttonSectionBoxAuto,
61636
- buttonSectionBoxEnable,
61637
- buttonSectionBoxSettings,
61638
- buttonSectionBoxToScene,
61639
- buttonSectionBoxToSelection,
61640
- buttonSectionBoxVisible,
61641
- buttonSettings,
61642
- buttonShowAll,
61643
- buttonShowSelection,
61644
- sectionActions,
61645
- sectionCamera,
61646
- sectionInputs,
61647
- sectionMeasure,
61648
- sectionSectionBox,
61649
- sectionSelection,
61650
- sectionSettings,
61651
- sectionTools
61613
+ cameraAuto,
61614
+ cameraFrameScene,
61615
+ cameraFrameSelection,
61616
+ cameraSpan,
61617
+ cursorLook,
61618
+ cursorOrbit,
61619
+ cursorPan,
61620
+ cursorSpan,
61621
+ cursorZoom,
61622
+ cursorZoomWindow,
61623
+ measureEnable,
61624
+ measureSpan,
61625
+ miscHelp,
61626
+ miscInspector,
61627
+ miscMaximize,
61628
+ miscSettings,
61629
+ miscSpan,
61630
+ sectioningAuto,
61631
+ sectioningEnable,
61632
+ sectioningFitScene,
61633
+ sectioningFitSelection,
61634
+ sectioningSettings,
61635
+ sectioningSpan,
61636
+ sectioningVisible,
61637
+ visibilityAutoIsolate,
61638
+ visibilityClearSelection,
61639
+ visibilityHideSelection,
61640
+ visibilityIsolateSelection,
61641
+ visibilitySettings,
61642
+ visibilityShowAll,
61643
+ visibilityShowSelection,
61644
+ visibilitySpan
61652
61645
  }, Symbol.toStringTag, { value: "Module" }));
61653
61646
  const baseSectionStyle = "vc-flex vc-items-center vc-rounded-full vc-mb-2 vc-shadow-md";
61654
61647
  const sectionDefaultStyle = baseSectionStyle + " vc-bg-white";
@@ -67628,75 +67621,75 @@ Averrage Date/Second ${avgDataRatePS} kb
67628
67621
  const Ids$2 = controlBarIds;
67629
67622
  function controlBarSectionBox(section, hasSelection, settings2) {
67630
67623
  return {
67631
- id: Ids$2.sectionSectionBox,
67624
+ id: Ids$2.sectioningSpan,
67632
67625
  style: section.enable.get() ? Style.sectionNoPadStyle : Style.sectionDefaultStyle,
67633
67626
  //enable: () => section.getEnable(),
67634
67627
  buttons: [
67635
67628
  {
67636
- id: Ids$2.buttonSectionBoxEnable,
67629
+ id: Ids$2.sectioningEnable,
67637
67630
  enabled: () => isTrue(settings2.sectioningEnable),
67638
67631
  tip: "Enable Section Box",
67639
67632
  isOn: () => section.enable.get(),
67640
- style: (on) => Style.buttonExpandStyle(on),
67633
+ style: Style.buttonExpandStyle,
67641
67634
  action: () => section.enable.set(!section.enable.get()),
67642
67635
  icon: sectionBox
67643
67636
  },
67644
67637
  {
67645
- id: Ids$2.buttonSectionBoxToSelection,
67638
+ id: Ids$2.sectioningFitSelection,
67646
67639
  tip: "Fit Section",
67647
67640
  enabled: () => section.enable.get() && isTrue(settings2.sectioningFitToSelection),
67648
67641
  isOn: () => hasSelection,
67649
- style: (on) => Style.buttonDisableStyle(on),
67642
+ style: Style.buttonDisableStyle,
67650
67643
  action: () => section.sectionSelection.call(),
67651
67644
  icon: sectionBoxShrink
67652
67645
  },
67653
67646
  {
67654
- id: Ids$2.buttonSectionBoxToScene,
67647
+ id: Ids$2.sectioningFitScene,
67655
67648
  tip: "Reset Section",
67656
67649
  enabled: () => section.enable.get() && isTrue(settings2.sectioningReset),
67657
- style: (on) => Style.buttonDefaultStyle(on),
67650
+ style: Style.buttonDefaultStyle,
67658
67651
  action: () => section.sectionScene.call(),
67659
67652
  icon: sectionBoxReset
67660
67653
  },
67661
67654
  {
67662
- id: Ids$2.buttonSectionBoxVisible,
67655
+ id: Ids$2.sectioningVisible,
67663
67656
  tip: "Show Section Box",
67664
67657
  enabled: () => section.enable.get() && isTrue(settings2.sectioningShow),
67665
67658
  isOn: () => section.visible.get(),
67666
- style: (on) => Style.buttonDefaultStyle(on),
67659
+ style: Style.buttonDefaultStyle,
67667
67660
  action: () => section.visible.set(!section.visible.get()),
67668
67661
  icon: visible
67669
67662
  },
67670
67663
  {
67671
- id: Ids$2.buttonSectionBoxAuto,
67664
+ id: Ids$2.sectioningAuto,
67672
67665
  tip: "Auto Section",
67673
67666
  enabled: () => section.enable.get() && isTrue(settings2.sectioningAuto),
67674
67667
  isOn: () => section.auto.get(),
67675
- style: (on) => Style.buttonDefaultStyle(on),
67668
+ style: Style.buttonDefaultStyle,
67676
67669
  action: () => section.auto.set(!section.auto.get()),
67677
67670
  icon: sectionBoxAuto
67678
67671
  },
67679
67672
  {
67680
- id: Ids$2.buttonSectionBoxSettings,
67673
+ id: Ids$2.sectioningSettings,
67681
67674
  tip: "Section Settings",
67682
67675
  enabled: () => section.enable.get() && isTrue(settings2.sectioningSettings),
67683
67676
  isOn: () => section.showOffsetPanel.get(),
67684
- style: (on) => Style.buttonDefaultStyle(on),
67677
+ style: Style.buttonDefaultStyle,
67685
67678
  action: () => section.showOffsetPanel.set(!section.showOffsetPanel.get()),
67686
67679
  icon: slidersHoriz
67687
67680
  }
67688
67681
  ]
67689
67682
  };
67690
67683
  }
67691
- function controlBarPointer(viewer, camera2, settings2, section) {
67684
+ function controlBarPointer(viewer, settings2) {
67692
67685
  const pointer2 = getPointerState(viewer);
67693
67686
  return {
67694
- id: Ids$2.sectionInputs,
67687
+ id: Ids$2.cursorSpan,
67695
67688
  enable: () => anyUiCursorButton(settings2),
67696
67689
  style: Style.sectionDefaultStyle,
67697
67690
  buttons: [
67698
67691
  {
67699
- id: Ids$2.buttonCameraOrbit,
67692
+ id: Ids$2.cursorOrbit,
67700
67693
  enabled: () => isTrue(settings2.cursorOrbit),
67701
67694
  tip: "Orbit",
67702
67695
  action: () => pointer2.onButton(PointerMode$1.ORBIT),
@@ -67705,7 +67698,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67705
67698
  style: Style.buttonDefaultStyle
67706
67699
  },
67707
67700
  {
67708
- id: Ids$2.buttonCameraLook,
67701
+ id: Ids$2.cursorLook,
67709
67702
  enabled: () => isTrue(settings2.cursorLookAround),
67710
67703
  tip: "Look Around",
67711
67704
  action: () => pointer2.onButton(PointerMode$1.LOOK),
@@ -67714,7 +67707,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67714
67707
  style: Style.buttonDefaultStyle
67715
67708
  },
67716
67709
  {
67717
- id: Ids$2.buttonCameraPan,
67710
+ id: Ids$2.cursorPan,
67718
67711
  enabled: () => isTrue(settings2.cursorPan),
67719
67712
  tip: "Pan",
67720
67713
  action: () => pointer2.onButton(PointerMode$1.PAN),
@@ -67723,7 +67716,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67723
67716
  style: Style.buttonDefaultStyle
67724
67717
  },
67725
67718
  {
67726
- id: Ids$2.buttonCameraZoom,
67719
+ id: Ids$2.cursorZoom,
67727
67720
  enabled: () => isTrue(settings2.cursorZoom),
67728
67721
  tip: "Zoom",
67729
67722
  action: () => pointer2.onButton(PointerMode$1.ZOOM),
@@ -67736,12 +67729,12 @@ Averrage Date/Second ${avgDataRatePS} kb
67736
67729
  }
67737
67730
  function controlBarMeasure(measure$1, settings2) {
67738
67731
  return {
67739
- id: Ids$2.sectionActions,
67732
+ id: Ids$2.measureSpan,
67740
67733
  enable: () => true,
67741
67734
  style: Style.sectionDefaultStyle,
67742
67735
  buttons: [
67743
67736
  {
67744
- id: Ids$2.buttonMeasure,
67737
+ id: Ids$2.measureEnable,
67745
67738
  enabled: () => isTrue(settings2.measureEnable),
67746
67739
  isOn: () => measure$1.active,
67747
67740
  tip: "Measuring Mode",
@@ -67752,57 +67745,57 @@ Averrage Date/Second ${avgDataRatePS} kb
67752
67745
  ]
67753
67746
  };
67754
67747
  }
67755
- function controlBarSettingsUltra(side, settings$1) {
67748
+ function createMiscSettingsButton(side, settings$1) {
67756
67749
  return {
67757
- id: Ids$2.sectionSettings,
67758
- enable: () => isTrue(settings$1.ui.settings),
67750
+ id: Ids$2.miscSettings,
67751
+ enabled: () => isTrue(settings$1.ui.miscSettings),
67752
+ tip: "Settings",
67753
+ action: () => side.toggleContent("settings"),
67754
+ icon: settings,
67755
+ style: Style.buttonDefaultStyle
67756
+ };
67757
+ }
67758
+ function createMiscHelpButton(modal, settings2) {
67759
+ return {
67760
+ id: Ids$2.miscHelp,
67761
+ enabled: () => isTrue(settings2.ui.miscHelp),
67762
+ tip: "Help",
67763
+ action: () => modal.help(true),
67764
+ icon: help,
67765
+ style: Style.buttonDefaultStyle
67766
+ };
67767
+ }
67768
+ function controlBarMiscUltra(modal, side, settings2) {
67769
+ return {
67770
+ id: Ids$2.miscSpan,
67771
+ enable: () => anyUltraMiscButton(settings2),
67759
67772
  style: Style.sectionDefaultStyle,
67760
67773
  buttons: [
67761
- {
67762
- id: Ids$2.buttonSettings,
67763
- enabled: () => isTrue(settings$1.ui.settings),
67764
- tip: "Settings",
67765
- action: () => side.toggleContent("settings"),
67766
- icon: settings,
67767
- style: Style.buttonDefaultStyle
67768
- }
67774
+ createMiscSettingsButton(side, settings2),
67775
+ createMiscHelpButton(modal, settings2)
67769
67776
  ]
67770
67777
  };
67771
67778
  }
67772
- function controlBarSettings(modal, side, settings$1) {
67779
+ function controlBarMisc(modal, side, settings2) {
67773
67780
  const fullScreen = getFullScreenState();
67774
67781
  return {
67775
- id: Ids$2.sectionSettings,
67776
- enable: () => anyUiSettingButton(settings$1),
67782
+ id: Ids$2.miscSpan,
67783
+ enable: () => anyWebglMiscButton(settings2),
67777
67784
  style: Style.sectionDefaultStyle,
67778
67785
  buttons: [
67779
67786
  {
67780
- id: Ids$2.buttonProjectInspector,
67781
- enabled: () => isTrue(settings$1.ui.miscProjectInspector) && (isTrue(settings$1.ui.panelBimTree) || isTrue(settings$1.ui.panelBimInfo)),
67787
+ id: Ids$2.miscInspector,
67788
+ enabled: () => showBimButton(settings2),
67782
67789
  tip: "Project Inspector",
67783
67790
  action: () => side.toggleContent("bim"),
67784
67791
  icon: treeView,
67785
67792
  style: Style.buttonDefaultStyle
67786
67793
  },
67794
+ createMiscSettingsButton(side, settings2),
67795
+ createMiscHelpButton(modal, settings2),
67787
67796
  {
67788
- id: Ids$2.buttonSettings,
67789
- enabled: () => isTrue(settings$1.ui.miscSettings),
67790
- tip: "Settings",
67791
- action: () => side.toggleContent("settings"),
67792
- icon: settings,
67793
- style: Style.buttonDefaultStyle
67794
- },
67795
- {
67796
- id: Ids$2.buttonHelp,
67797
- enabled: () => isTrue(settings$1.ui.miscHelp),
67798
- tip: "Help",
67799
- action: () => modal.help(true),
67800
- icon: help,
67801
- style: Style.buttonDefaultStyle
67802
- },
67803
- {
67804
- id: Ids$2.buttonMaximize,
67805
- enabled: () => isTrue(settings$1.ui.miscMaximise) && settings$1.capacity.canGoFullScreen,
67797
+ id: Ids$2.miscMaximize,
67798
+ enabled: () => isTrue(settings2.ui.miscMaximise) && settings2.capacity.canGoFullScreen,
67806
67799
  tip: fullScreen.get() ? "Minimize" : "Fullscreen",
67807
67800
  action: () => fullScreen.toggle(),
67808
67801
  icon: fullScreen.get() ? minimize : fullsScreen,
@@ -67813,12 +67806,12 @@ Averrage Date/Second ${avgDataRatePS} kb
67813
67806
  }
67814
67807
  function controlBarCamera(camera2, settings2) {
67815
67808
  return {
67816
- id: Ids$2.sectionCamera,
67809
+ id: Ids$2.cameraSpan,
67817
67810
  enable: () => true,
67818
67811
  style: Style.sectionDefaultStyle,
67819
67812
  buttons: [
67820
67813
  {
67821
- id: Ids$2.buttonCameraAuto,
67814
+ id: Ids$2.cameraAuto,
67822
67815
  enabled: () => isTrue(settings2.cameraAuto),
67823
67816
  tip: "Auto Camera",
67824
67817
  isOn: () => camera2.autoCamera.get(),
@@ -67827,7 +67820,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67827
67820
  style: Style.buttonDefaultStyle
67828
67821
  },
67829
67822
  {
67830
- id: Ids$2.buttonCameraFrameSelection,
67823
+ id: Ids$2.cameraFrameSelection,
67831
67824
  enabled: () => isTrue(settings2.cameraFrameSelection),
67832
67825
  tip: "Frame Selection",
67833
67826
  action: () => camera2.frameSelection.call(),
@@ -67836,7 +67829,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67836
67829
  style: Style.buttonDefaultStyle
67837
67830
  },
67838
67831
  {
67839
- id: Ids$2.buttonCameraFrameScene,
67832
+ id: Ids$2.cameraFrameScene,
67840
67833
  enabled: () => isTrue(settings2.cameraFrameScene),
67841
67834
  tip: "Frame All",
67842
67835
  action: () => camera2.frameScene.call(),
@@ -67851,12 +67844,12 @@ Averrage Date/Second ${avgDataRatePS} kb
67851
67844
  const adapter = isolation.adapter.current;
67852
67845
  const someVisible = adapter.hasVisibleSelection() || !adapter.hasHiddenSelection();
67853
67846
  return {
67854
- id: Ids$2.sectionSelection,
67847
+ id: Ids$2.visibilitySpan,
67855
67848
  enable: () => true,
67856
- style: `${Style.sectionDefaultStyle}`,
67849
+ style: Style.sectionDefaultStyle,
67857
67850
  buttons: [
67858
67851
  {
67859
- id: Ids$2.buttonClearSelection,
67852
+ id: Ids$2.visibilityClearSelection,
67860
67853
  enabled: () => isTrue(settings2.visibilityClearSelection),
67861
67854
  tip: "Clear Selection",
67862
67855
  action: () => adapter.clearSelection(),
@@ -67865,7 +67858,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67865
67858
  style: Style.buttonDisableDefaultStyle
67866
67859
  },
67867
67860
  {
67868
- id: Ids$2.buttonShowAll,
67861
+ id: Ids$2.visibilityShowAll,
67869
67862
  tip: "Show All",
67870
67863
  enabled: () => isTrue(settings2.visibilityShowAll),
67871
67864
  action: () => adapter.showAll(),
@@ -67874,7 +67867,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67874
67867
  style: Style.buttonDisableStyle
67875
67868
  },
67876
67869
  {
67877
- id: Ids$2.buttonHideSelection,
67870
+ id: Ids$2.visibilityHideSelection,
67878
67871
  enabled: () => someVisible && isTrue(settings2.visibilityToggle),
67879
67872
  tip: "Hide Selection",
67880
67873
  action: () => adapter.hideSelection(),
@@ -67883,7 +67876,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67883
67876
  style: Style.buttonDisableStyle
67884
67877
  },
67885
67878
  {
67886
- id: Ids$2.buttonShowSelection,
67879
+ id: Ids$2.visibilityShowSelection,
67887
67880
  enabled: () => !someVisible && isTrue(settings2.visibilityToggle),
67888
67881
  tip: "Show Selection",
67889
67882
  action: () => adapter.showSelection(),
@@ -67892,7 +67885,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67892
67885
  style: Style.buttonDisableStyle
67893
67886
  },
67894
67887
  {
67895
- id: Ids$2.buttonIsolateSelection,
67888
+ id: Ids$2.visibilityIsolateSelection,
67896
67889
  enabled: () => isTrue(settings2.visibilityIsolate),
67897
67890
  tip: "Isolate Selection",
67898
67891
  action: () => adapter.isolateSelection(),
@@ -67901,7 +67894,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67901
67894
  style: Style.buttonDisableStyle
67902
67895
  },
67903
67896
  {
67904
- id: Ids$2.buttonAutoIsolate,
67897
+ id: Ids$2.visibilityAutoIsolate,
67905
67898
  enabled: () => isTrue(settings2.visibilityAutoIsolate),
67906
67899
  tip: "Auto Isolate",
67907
67900
  action: () => isolation.autoIsolate.set(!isolation.autoIsolate.get()),
@@ -67909,7 +67902,7 @@ Averrage Date/Second ${avgDataRatePS} kb
67909
67902
  icon: autoIsolate
67910
67903
  },
67911
67904
  {
67912
- id: Ids$2.buttonIsolationSettings,
67905
+ id: Ids$2.visibilitySettings,
67913
67906
  enabled: () => isTrue(settings2.visibilitySettings),
67914
67907
  tip: "Isolation Settings",
67915
67908
  action: () => isolation.showPanel.set(!isolation.showPanel.get()),
@@ -67922,22 +67915,31 @@ Averrage Date/Second ${avgDataRatePS} kb
67922
67915
  function useControlBar(viewer, camera2, modal, side, cursor, settings2, section, isolationRef, customization) {
67923
67916
  const measure2 = getMeasureState(viewer, cursor);
67924
67917
  let controlBarSections = [
67925
- controlBarPointer(viewer, camera2, settings2.ui),
67918
+ controlBarPointer(viewer, settings2.ui),
67926
67919
  controlBarCamera(camera2, settings2.ui),
67927
67920
  controlBarVisibility(isolationRef, settings2.ui),
67928
67921
  controlBarMeasure(measure2, settings2.ui),
67929
67922
  controlBarSectionBox(section, viewer.selection.any(), settings2.ui),
67930
- controlBarSettings(modal, side, settings2)
67923
+ controlBarMisc(modal, side, settings2)
67931
67924
  ];
67932
67925
  controlBarSections = (customization == null ? void 0 : customization(controlBarSections)) ?? controlBarSections;
67933
67926
  return controlBarSections;
67934
67927
  }
67928
+ function showBimButton(settings2) {
67929
+ if (isFalse(settings2.ui.miscProjectInspector)) return false;
67930
+ if (isTrue(settings2.ui.panelBimTree)) return true;
67931
+ if (isTrue(settings2.ui.panelBimInfo)) return true;
67932
+ return false;
67933
+ }
67935
67934
  function anyUiCursorButton(settings2) {
67936
67935
  return isTrue(settings2.cursorOrbit) || isTrue(settings2.cursorLookAround) || isTrue(settings2.cursorPan) || isTrue(settings2.cursorZoom);
67937
67936
  }
67938
- function anyUiSettingButton(settings2) {
67937
+ function anyWebglMiscButton(settings2) {
67939
67938
  return isTrue(settings2.ui.miscProjectInspector) || isTrue(settings2.ui.miscSettings) || isTrue(settings2.ui.miscHelp) || isTrue(settings2.ui.miscMaximise);
67940
67939
  }
67940
+ function anyUltraMiscButton(settings2) {
67941
+ return isTrue(settings2.ui.miscSettings) || isTrue(settings2.ui.miscHelp);
67942
+ }
67941
67943
  function RestOfScreen(props) {
67942
67944
  const [, setVersion] = React2.useState(0);
67943
67945
  const resizeObserver = React2.useRef();
@@ -74824,7 +74826,7 @@ Averrage Date/Second ${avgDataRatePS} kb
74824
74826
  }, Symbol.toStringTag, { value: "Module" }));
74825
74827
  function fileOpeningError(url) {
74826
74828
  return {
74827
- title: "File Opening Error",
74829
+ title: "VIM Ultra File Error",
74828
74830
  body: serverFileOpeningErrorBody(url),
74829
74831
  footer: footer$1(),
74830
74832
  canClose: false
@@ -74832,12 +74834,8 @@ Averrage Date/Second ${avgDataRatePS} kb
74832
74834
  }
74833
74835
  function serverFileOpeningErrorBody(url) {
74834
74836
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74835
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74836
- "Oops, it appears that there's an ",
74837
- bold("error opening the VIM file"),
74838
- ". Please check the file exists at the path noted below."
74839
- ] })),
74840
- subTitle("Error details:"),
74837
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error opening the VIM file in VIM Ultra." })),
74838
+ subTitle("Details"),
74841
74839
  dotList([bullet("File path:", url)])
74842
74840
  ] });
74843
74841
  }
@@ -74846,7 +74844,7 @@ Averrage Date/Second ${avgDataRatePS} kb
74846
74844
  return fileOpeningError(url);
74847
74845
  }
74848
74846
  return {
74849
- title: "File Downloading Error",
74847
+ title: "VIM Ultra Download Error",
74850
74848
  body: body$5(url, authToken, server),
74851
74849
  footer: footer$1(),
74852
74850
  canClose: false
@@ -74854,28 +74852,23 @@ Averrage Date/Second ${avgDataRatePS} kb
74854
74852
  }
74855
74853
  function body$5(url, authToken, server) {
74856
74854
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74857
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74858
- "Oops, it appears that there’s an ",
74859
- bold("error downloading the VIM file"),
74860
- ". Please check the following conditions to get back up and running quickly."
74861
- ] })),
74862
- subTitle("Error details:"),
74855
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error downloading the VIM file in VIM Ultra." })),
74856
+ subTitle("Details"),
74863
74857
  dotList([
74864
- server ? bullet("VIM ULTRA Server:", server) : null,
74865
- bullet("File URL:", url),
74866
- authToken ? bullet("Auth Token:", authToken) : null
74858
+ server ? bullet("VIM Ultra:", server) : null,
74859
+ bullet("VIM URL:", url),
74860
+ authToken ? bullet("Access Token:", authToken) : null
74867
74861
  ]),
74868
- subTitle("Troubleshooting tips:"),
74862
+ subTitle("Tips"),
74869
74863
  numList([
74870
- "Make sure the VIM exists at the url listed above.",
74871
- "Reprocess the VIM file and refresh the Power BI report dataset.",
74872
- server ? "Check network access policies to allow the VIM Ultra Server access to the VIM File url." : ""
74864
+ "Ensure the VIM URL is valid",
74865
+ "Check your network connection and access policies"
74873
74866
  ])
74874
74867
  ] });
74875
74868
  }
74876
74869
  function serverFileLoadingError(url) {
74877
74870
  return {
74878
- title: "File Loading Error",
74871
+ title: "VIM Ultra Loading Error",
74879
74872
  body: body$4(url),
74880
74873
  footer: footer$1(),
74881
74874
  canClose: false
@@ -74883,30 +74876,20 @@ Averrage Date/Second ${avgDataRatePS} kb
74883
74876
  }
74884
74877
  function body$4(url) {
74885
74878
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74886
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74887
- "Oops, it appears that we ",
74888
- bold("couldn’t load the VIM file"),
74889
- ". This could be due to a couple of reasons, including that the file could be corrupt or not recognizable."
74890
- ] })),
74891
- subTitle("Error details:"),
74879
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error loading the VIM file in VIM Ultra." })),
74880
+ subTitle("Details"),
74892
74881
  dotList([bullet("File path:", url)]),
74893
- subTitle("Troubleshooting tips:"),
74882
+ subTitle("Tips"),
74894
74883
  numList([
74895
- "Reload this Power BI report",
74896
- "Reprocess the VIM file and refresh the Power BI report dataset"
74884
+ "Reload the page",
74885
+ "Ensure the VIM URL points to a valid VIM file",
74886
+ "Clear your VIM Ultra download cache"
74897
74887
  ])
74898
74888
  ] });
74899
74889
  }
74900
- const supportUltra = "https://docs.vimaec.com/docs/vim-for-windows/configuring-vim-ultra";
74901
- const supportControls = "https://docs.vimaec.com/docs/vim-cloud/webgl-navigation-and-controls-guide";
74902
- const urls = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
74903
- __proto__: null,
74904
- supportControls,
74905
- supportUltra
74906
- }, Symbol.toStringTag, { value: "Module" }));
74907
74890
  function serverConnectionError(url) {
74908
74891
  return {
74909
- title: "Connection Error",
74892
+ title: "VIM Ultra Connection",
74910
74893
  body: body$3(url, isLocalUrl(url)),
74911
74894
  footer: footer$1(),
74912
74895
  canClose: false
@@ -74914,29 +74897,17 @@ Averrage Date/Second ${avgDataRatePS} kb
74914
74897
  }
74915
74898
  function body$3(url, local) {
74916
74899
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74917
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74918
- "Oops, it appears that there’s an ",
74919
- bold("error connecting to the ULTRA server"),
74920
- ". Please check the following conditions to get back up and running quickly."
74921
- ] })),
74922
- subTitle("Troubleshooting tips:"),
74900
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered an error connecting to VIM Ultra." })),
74901
+ subTitle("Tips"),
74923
74902
  numList([
74924
- /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74925
- "Ensure that VIM Ultra",
74926
- " ",
74927
- link(supportUltra, "process is running"),
74928
- " ",
74929
- "at ",
74930
- detailText(url)
74931
- ] }),
74932
- "Check your internet connection.",
74933
- "Check firewall permissions."
74903
+ `Ensure that VIM Ultra is running at ${detailText(url)}`,
74904
+ "Check your network connection and access policies"
74934
74905
  ])
74935
74906
  ] });
74936
74907
  }
74937
74908
  function serverCompatibilityError(url, localVersion, remoteVersion) {
74938
74909
  return {
74939
- title: "Compatibility Error",
74910
+ title: "VIM Ultra Compatibility",
74940
74911
  body: body$2(url, localVersion, remoteVersion),
74941
74912
  footer: footer$1(),
74942
74913
  canClose: false
@@ -74944,28 +74915,23 @@ Averrage Date/Second ${avgDataRatePS} kb
74944
74915
  }
74945
74916
  function body$2(url, localVersion, remoteVersion) {
74946
74917
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74947
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74948
- "Oops, it appears that you’re running a ",
74949
- " ",
74950
- bold("version of VIM Ultra Server that isn’t compatible with this visual"),
74951
- ". Please check the following conditions to get back up and running quickly."
74952
- ] })),
74953
- subTitle("Error details:"),
74918
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "The VIM Ultra version is incompatible with this visual." })),
74919
+ subTitle("Details"),
74954
74920
  dotList([
74955
74921
  bullet("Url:", url),
74956
74922
  bullet("Local Version:", localVersion),
74957
74923
  bullet("Remote Version:", remoteVersion)
74958
74924
  ]),
74959
- subTitle("Troubleshooting tips:"),
74925
+ subTitle("Tips"),
74960
74926
  numList([
74961
- "Update your PowerBI visual with the compatible version.",
74962
- "Or, run the compatible version of VIM Ultra."
74927
+ "Update this visual to a compatible version.",
74928
+ "Start a compatible version of VIM Ultra."
74963
74929
  ])
74964
74930
  ] });
74965
74931
  }
74966
74932
  function serverStreamError(url) {
74967
74933
  return {
74968
- title: "Stream Error",
74934
+ title: "VIM Ultra Stream Error",
74969
74935
  body: body$1(),
74970
74936
  footer: footer$1(),
74971
74937
  canClose: false
@@ -74973,16 +74939,12 @@ Averrage Date/Second ${avgDataRatePS} kb
74973
74939
  }
74974
74940
  function body$1(url) {
74975
74941
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: vcRoboto, children: [
74976
- mainText(/* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
74977
- "Oops, it appears that there’s an ",
74978
- bold("error starting a stream on the VIM Ultra Server"),
74979
- ". Please check the following conditions to get back up and running quickly."
74980
- ] })),
74981
- subTitle("Troubleshooting tips:"),
74942
+ mainText(/* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: "We encountered a streaming error with VIM Ultra." })),
74943
+ subTitle("Tips"),
74982
74944
  numList([
74983
- "Close other applications that may be using the server.",
74984
- "Try reconnecting to the server.",
74985
- "Restart the server."
74945
+ "Reload the page",
74946
+ "Close other applications that may be using VIM Ultra",
74947
+ "Restart VIM Ultra"
74986
74948
  ])
74987
74949
  ] });
74988
74950
  }
@@ -75597,7 +75559,7 @@ Averrage Date/Second ${avgDataRatePS} kb
75597
75559
  adapter.setVisible(false);
75598
75560
  adapter.setClip(false);
75599
75561
  return adapter.onSelectionChanged.sub(() => {
75600
- if (auto.get() && enable.get()) sectionSelection2.call();
75562
+ if (auto.get() && enable.get()) sectionSelection.call();
75601
75563
  });
75602
75564
  }, []);
75603
75565
  enable.useOnChange((v) => {
@@ -75605,7 +75567,7 @@ Averrage Date/Second ${avgDataRatePS} kb
75605
75567
  visible2.set(v);
75606
75568
  showOffsetPanel.set(false);
75607
75569
  if (v && auto.get()) {
75608
- sectionSelection2.call();
75570
+ sectionSelection.call();
75609
75571
  } else {
75610
75572
  sectionScene.call();
75611
75573
  }
@@ -75616,7 +75578,7 @@ Averrage Date/Second ${avgDataRatePS} kb
75616
75578
  sideOffset.useOnChange((v) => sectionBox2.call(boxRef.current));
75617
75579
  bottomOffset.useOnChange((v) => sectionBox2.call(boxRef.current));
75618
75580
  auto.useOnChange((v) => {
75619
- if (v) sectionSelection2.call();
75581
+ if (v) sectionSelection.call();
75620
75582
  });
75621
75583
  visible2.useOnChange((v) => adapter.setVisible(v));
75622
75584
  const sectionBox2 = useArgActionRef((box) => {
@@ -75626,7 +75588,7 @@ Averrage Date/Second ${avgDataRatePS} kb
75626
75588
  const newBox = addBox(box, offsetsToBox3_(topOffset.get(), sideOffset.get(), bottomOffset.get()));
75627
75589
  adapter.setBox(newBox);
75628
75590
  });
75629
- const sectionSelection2 = useFuncRef(async () => {
75591
+ const sectionSelection = useFuncRef(async () => {
75630
75592
  const id2 = requestId.current;
75631
75593
  const box = await getSelectionBox.call() ?? await getSceneBox.call();
75632
75594
  if (requestId.current !== id2) return;
@@ -75646,7 +75608,7 @@ Averrage Date/Second ${avgDataRatePS} kb
75646
75608
  topOffset,
75647
75609
  sideOffset,
75648
75610
  bottomOffset,
75649
- sectionSelection: sectionSelection2,
75611
+ sectionSelection,
75650
75612
  sectionScene,
75651
75613
  sectionBox: sectionBox2,
75652
75614
  getBox: () => adapter.getBox(),
@@ -76180,11 +76142,11 @@ Averrage Date/Second ${avgDataRatePS} kb
76180
76142
  __publicField(SettingsPanelKeys, "ControlBarVisibilityAutoIsolate", "controlBar.visibility.autoIsolate");
76181
76143
  __publicField(SettingsPanelKeys, "ControlBarVisibilitySettings", "controlBar.visibility.settings");
76182
76144
  // --- Control Bar - Settings ---
76183
- __publicField(SettingsPanelKeys, "ControlBarSettingsSubtitle", "controlBarSettings");
76184
- __publicField(SettingsPanelKeys, "ControlBarSettingsShowProjectInspectorButtonToggle", "projectInspector");
76185
- __publicField(SettingsPanelKeys, "ControlBarSettingsShowSettingsButtonToggle", "settingsButton");
76186
- __publicField(SettingsPanelKeys, "ControlBarSettingsShowHelpButtonToggle", "help");
76187
- __publicField(SettingsPanelKeys, "ControlBarSettingsShowMaximiseButtonToggle", "maximise");
76145
+ __publicField(SettingsPanelKeys, "ControlBarMiscSubtitle", "controlBarSettings");
76146
+ __publicField(SettingsPanelKeys, "ControlBarMiscShowProjectInspectorButtonToggle", "projectInspector");
76147
+ __publicField(SettingsPanelKeys, "ControlBarMiscShowSettingsButtonToggle", "settingsButton");
76148
+ __publicField(SettingsPanelKeys, "ControlBarMiscShowHelpButtonToggle", "help");
76149
+ __publicField(SettingsPanelKeys, "ControlBarMiscShowMaximiseButtonToggle", "maximise");
76188
76150
  function getControlBarCursorSettings() {
76189
76151
  return [
76190
76152
  {
@@ -76358,33 +76320,33 @@ Averrage Date/Second ${avgDataRatePS} kb
76358
76320
  return [
76359
76321
  {
76360
76322
  type: "subtitle",
76361
- key: SettingsPanelKeys.ControlBarSettingsSubtitle,
76323
+ key: SettingsPanelKeys.ControlBarMiscSubtitle,
76362
76324
  title: "Control Bar - Settings"
76363
76325
  },
76364
76326
  {
76365
76327
  type: "toggle",
76366
- key: SettingsPanelKeys.ControlBarSettingsShowProjectInspectorButtonToggle,
76328
+ key: SettingsPanelKeys.ControlBarMiscShowProjectInspectorButtonToggle,
76367
76329
  label: "Project Inspector",
76368
76330
  getter: (s) => s.ui.miscProjectInspector,
76369
76331
  setter: (s, v) => s.ui.miscProjectInspector = v
76370
76332
  },
76371
76333
  {
76372
76334
  type: "toggle",
76373
- key: SettingsPanelKeys.ControlBarSettingsShowSettingsButtonToggle,
76335
+ key: SettingsPanelKeys.ControlBarMiscShowSettingsButtonToggle,
76374
76336
  label: "Settings",
76375
76337
  getter: (s) => s.ui.miscSettings,
76376
76338
  setter: (s, v) => s.ui.miscSettings = v
76377
76339
  },
76378
76340
  {
76379
76341
  type: "toggle",
76380
- key: SettingsPanelKeys.ControlBarSettingsShowHelpButtonToggle,
76342
+ key: SettingsPanelKeys.ControlBarMiscShowHelpButtonToggle,
76381
76343
  label: "Help",
76382
76344
  getter: (s) => s.ui.miscHelp,
76383
76345
  setter: (s, v) => s.ui.miscHelp = v
76384
76346
  },
76385
76347
  {
76386
76348
  type: "toggle",
76387
- key: SettingsPanelKeys.ControlBarSettingsShowMaximiseButtonToggle,
76349
+ key: SettingsPanelKeys.ControlBarMiscShowMaximiseButtonToggle,
76388
76350
  label: "Maximise",
76389
76351
  getter: (s) => s.ui.miscMaximise,
76390
76352
  setter: (s, v) => s.ui.miscMaximise = v
@@ -76788,12 +76750,12 @@ Averrage Date/Second ${avgDataRatePS} kb
76788
76750
  };
76789
76751
  return useSectionBox(ultraAdapter);
76790
76752
  }
76791
- function useUltraControlBar(viewer, section, isolation, camera2, settings2, side, customization) {
76753
+ function useUltraControlBar(viewer, section, isolation, camera2, settings2, side, modal, customization) {
76792
76754
  let bar = [
76793
76755
  controlBarCamera(camera2, settings2.ui),
76794
76756
  controlBarVisibility(isolation, settings2.ui),
76795
76757
  controlBarSectionBox(section, viewer.selection.any(), settings2.ui),
76796
- controlBarSettingsUltra(side, settings2)
76758
+ controlBarMiscUltra(modal, side, settings2)
76797
76759
  ];
76798
76760
  bar = (customization == null ? void 0 : customization(bar)) ?? bar;
76799
76761
  return bar;
@@ -76945,6 +76907,9 @@ Averrage Date/Second ${avgDataRatePS} kb
76945
76907
  function getDefaultUltraSettings() {
76946
76908
  return {
76947
76909
  ui: {
76910
+ // panels
76911
+ panelLogo: true,
76912
+ panelControlBar: true,
76948
76913
  // Control bar - cursors
76949
76914
  cursorOrbit: true,
76950
76915
  cursorLookAround: true,
@@ -76968,7 +76933,9 @@ Averrage Date/Second ${avgDataRatePS} kb
76968
76933
  visibilityIsolate: true,
76969
76934
  visibilityAutoIsolate: true,
76970
76935
  visibilitySettings: true,
76971
- settings: true
76936
+ // Control bar - misc
76937
+ miscSettings: true,
76938
+ miscHelp: true
76972
76939
  }
76973
76940
  };
76974
76941
  }
@@ -76976,15 +76943,22 @@ Averrage Date/Second ${avgDataRatePS} kb
76976
76943
  return [
76977
76944
  {
76978
76945
  type: "subtitle",
76979
- key: SettingsPanelKeys.ControlBarSettingsSubtitle,
76946
+ key: SettingsPanelKeys.ControlBarMiscSubtitle,
76980
76947
  title: "Control Bar - Settings"
76981
76948
  },
76982
76949
  {
76983
76950
  type: "toggle",
76984
- key: SettingsPanelKeys.ControlBarSettingsShowSettingsButtonToggle,
76951
+ key: SettingsPanelKeys.ControlBarMiscShowSettingsButtonToggle,
76985
76952
  label: "Settings",
76986
- getter: (s) => s.ui.settings,
76987
- setter: (s, v) => s.ui.settings = v
76953
+ getter: (s) => s.ui.miscSettings,
76954
+ setter: (s, v) => s.ui.miscSettings = v
76955
+ },
76956
+ {
76957
+ type: "toggle",
76958
+ key: SettingsPanelKeys.ControlBarMiscShowHelpButtonToggle,
76959
+ label: "Help",
76960
+ getter: (s) => s.ui.miscHelp,
76961
+ setter: (s, v) => s.ui.miscHelp = v
76988
76962
  }
76989
76963
  ];
76990
76964
  }
@@ -77040,6 +77014,7 @@ Averrage Date/Second ${avgDataRatePS} kb
77040
77014
  camera2,
77041
77015
  settings2.value,
77042
77016
  side,
77017
+ modalHandle.current,
77043
77018
  (_2) => _2
77044
77019
  );
77045
77020
  useViewerInput(props.core.inputs, camera2);
@@ -77105,13 +77080,13 @@ Averrage Date/Second ${avgDataRatePS} kb
77105
77080
  ),
77106
77081
  /* @__PURE__ */ jsxRuntimeExports.jsx(RestOfScreen, { side, content: () => {
77107
77082
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
77108
- whenTrue(true, /* @__PURE__ */ jsxRuntimeExports.jsx(LogoMemo, {})),
77083
+ whenTrue(settings2.value.ui.panelLogo, /* @__PURE__ */ jsxRuntimeExports.jsx(LogoMemo, {})),
77109
77084
  /* @__PURE__ */ jsxRuntimeExports.jsx(Overlay, { canvas: props.core.viewport.canvas }),
77110
77085
  /* @__PURE__ */ jsxRuntimeExports.jsx(
77111
77086
  ControlBar,
77112
77087
  {
77113
77088
  content: controlBarCustom(controlBar),
77114
- show: true
77089
+ show: isTrue(settings2.value.ui.panelControlBar)
77115
77090
  }
77116
77091
  ),
77117
77092
  /* @__PURE__ */ jsxRuntimeExports.jsx(SectionBoxPanel$1, { ref: sectionBoxPanelHandle, state: sectionBoxRef }),
@@ -77156,6 +77131,13 @@ Averrage Date/Second ${avgDataRatePS} kb
77156
77131
  createViewer,
77157
77132
  getDefaultUltraSettings
77158
77133
  }, Symbol.toStringTag, { value: "Module" }));
77134
+ const supportUltra = "https://docs.vimaec.com/docs/vim-for-windows/configuring-vim-ultra";
77135
+ const supportControls = "https://docs.vimaec.com/docs/vim-cloud/webgl-navigation-and-controls-guide";
77136
+ const urls = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
77137
+ __proto__: null,
77138
+ supportControls,
77139
+ supportUltra
77140
+ }, Symbol.toStringTag, { value: "Module" }));
77159
77141
  const SectionBoxPanel = {
77160
77142
  Ids
77161
77143
  };