@luxonis/visualizer-protobuf 2.66.6 → 2.66.8

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 (34) hide show
  1. package/dist/{index-C1rpl7ej.js → index-BCNQjEez.js} +2 -2
  2. package/dist/{index-LFrJ7QJF.js → index-BLaE8vrb.js} +1 -1
  3. package/dist/{index-vFzLuU2s.js → index-BRSoQ8_Y.js} +1 -1
  4. package/dist/{index-C_ss40yh.js → index-BYTVvykH.js} +1 -1
  5. package/dist/{index-7W7Bpi0P.js → index-BkruEbO5.js} +1 -1
  6. package/dist/{index-B7t9zftd.js → index-BqkFobGp.js} +1 -1
  7. package/dist/{index-CfjINWXt.js → index-BxuDWAWd.js} +1 -1
  8. package/dist/{index-QGBVFY6c.js → index-C05AhKNz.js} +1 -1
  9. package/dist/{index-DjBSlW9v.js → index-CPFO1Uvg.js} +1 -1
  10. package/dist/{index-BwIG6RpB.js → index-CUuB2DeV.js} +20 -20
  11. package/dist/{index-Dzz_RpFw.js → index-CfLr9xrN.js} +1 -1
  12. package/dist/{index-BdZejZ7X.js → index-D1xmWApp.js} +104 -59
  13. package/dist/{index-Ch649Twx.js → index-DE5zu3LB.js} +1 -1
  14. package/dist/{index-D9wXkupL.js → index-DIY7ddlQ.js} +1 -1
  15. package/dist/{index-D7famdsR.js → index-DgYMoCLL.js} +1 -1
  16. package/dist/{index-n4zrsReP.js → index-DxPt_hhw.js} +1 -1
  17. package/dist/{index-mZOyhi9P.js → index-DyM7JMrj.js} +1 -1
  18. package/dist/{index-iWE1O1L8.js → index-OV08AjM2.js} +1 -1
  19. package/dist/{index-AroVDAsS.js → index-UAnOeVfw.js} +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.d.ts.map +1 -1
  22. package/dist/packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.js +3 -3
  23. package/dist/packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.js.map +1 -1
  24. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts +1 -0
  25. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts.map +1 -1
  26. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js +95 -28
  27. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js.map +1 -1
  28. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.d.ts.map +1 -1
  29. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.js.map +1 -1
  30. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/PointClouds.d.ts.map +1 -1
  31. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/PointClouds.js +1 -0
  32. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/PointClouds.js.map +1 -1
  33. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/pointExtensionUtils.js +1 -1
  34. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { ImagePanel } from './index-BdZejZ7X.js';
1
+ import { ImagePanel } from './index-D1xmWApp.js';
2
2
  import 'react';
3
3
  import 'react-dom';
4
4
  import './depth-B7VOdK0y.js';
@@ -8,7 +8,7 @@ import 'zustand';
8
8
  import 'react-mosaic-component';
9
9
  import '@mui/material';
10
10
  import './isArrayLikeObject-Bytw9p-q.js';
11
- import './index-BwIG6RpB.js';
11
+ import './index-CUuB2DeV.js';
12
12
  import './comlink-DHMAu6X7.js';
13
13
  import './utils-Hzt3wxhG.js';
14
14
  import './FoxgloveServer-h5m-pXp3.js';
@@ -1,4 +1,4 @@
1
- import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, ah as html, a0 as LanguageSupport, ai as parseMixed } from './index-BwIG6RpB.js';
1
+ import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, ah as html, a0 as LanguageSupport, ai as parseMixed } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-BwIG6RpB.js';
1
+ import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, aa as LocalTokenGroup, ab as snippetCompletion, a5 as syntaxTree, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, a3 as ifNotIn, a4 as completeFromList, ac as IterMode, ad as NodeWeakMap } from './index-BwIG6RpB.js';
1
+ import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, aa as LocalTokenGroup, ab as snippetCompletion, a5 as syntaxTree, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, a3 as ifNotIn, a4 as completeFromList, ac as IterMode, ad as NodeWeakMap } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { U as indentNodeProp, V as continuedIndent, X as foldNodeProp, Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a1 as ExternalTokenizer, a2 as LRParser, a3 as ifNotIn, a4 as completeFromList, a5 as syntaxTree } from './index-BwIG6RpB.js';
1
+ import { U as indentNodeProp, V as continuedIndent, X as foldNodeProp, Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a1 as ExternalTokenizer, a2 as LRParser, a3 as ifNotIn, a4 as completeFromList, a5 as syntaxTree } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { af as EditorView, ag as EditorSelection, $ as LRLanguage, Y as styleTags, Z as tags, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a0 as LanguageSupport, a2 as LRParser, a5 as syntaxTree, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-BwIG6RpB.js';
1
+ import { af as EditorView, ag as EditorSelection, $ as LRLanguage, Y as styleTags, Z as tags, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a0 as LanguageSupport, a2 as LRParser, a5 as syntaxTree, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-BwIG6RpB.js';
1
+ import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, a5 as syntaxTree, a3 as ifNotIn, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ac as IterMode, a4 as completeFromList, ad as NodeWeakMap, ab as snippetCompletion } from './index-BwIG6RpB.js';
1
+ import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, a5 as syntaxTree, a3 as ifNotIn, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ac as IterMode, a4 as completeFromList, ad as NodeWeakMap, ab as snippetCompletion } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { Y as styleTags, Z as tags, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, ae as defineCSSCompletionSource, a0 as LanguageSupport, a2 as LRParser, a1 as ExternalTokenizer } from './index-BwIG6RpB.js';
1
+ import { Y as styleTags, Z as tags, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, ae as defineCSSCompletionSource, a0 as LanguageSupport, a2 as LRParser, a1 as ExternalTokenizer } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -86840,7 +86840,7 @@ function legacy(parser) {
86840
86840
  return new LanguageSupport(StreamLanguage.define(parser));
86841
86841
  }
86842
86842
  function sql$1(dialectName) {
86843
- return import('./index-7W7Bpi0P.js').then(m => m.sql({ dialect: m[dialectName] }));
86843
+ return import('./index-BkruEbO5.js').then(m => m.sql({ dialect: m[dialectName] }));
86844
86844
  }
86845
86845
  /**
86846
86846
  An array of language descriptions for known language packages.
@@ -86851,7 +86851,7 @@ const languages = [
86851
86851
  name: "C",
86852
86852
  extensions: ["c", "h", "ino"],
86853
86853
  load() {
86854
- return import('./index-mZOyhi9P.js').then(m => m.cpp());
86854
+ return import('./index-DyM7JMrj.js').then(m => m.cpp());
86855
86855
  }
86856
86856
  }),
86857
86857
  /*@__PURE__*/LanguageDescription.of({
@@ -86859,7 +86859,7 @@ const languages = [
86859
86859
  alias: ["cpp"],
86860
86860
  extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
86861
86861
  load() {
86862
- return import('./index-mZOyhi9P.js').then(m => m.cpp());
86862
+ return import('./index-DyM7JMrj.js').then(m => m.cpp());
86863
86863
  }
86864
86864
  }),
86865
86865
  /*@__PURE__*/LanguageDescription.of({
@@ -86879,7 +86879,7 @@ const languages = [
86879
86879
  name: "Go",
86880
86880
  extensions: ["go"],
86881
86881
  load() {
86882
- return import('./index-C_ss40yh.js').then(m => m.go());
86882
+ return import('./index-BYTVvykH.js').then(m => m.go());
86883
86883
  }
86884
86884
  }),
86885
86885
  /*@__PURE__*/LanguageDescription.of({
@@ -86894,7 +86894,7 @@ const languages = [
86894
86894
  name: "Java",
86895
86895
  extensions: ["java"],
86896
86896
  load() {
86897
- return import('./index-CfjINWXt.js').then(m => m.java());
86897
+ return import('./index-BxuDWAWd.js').then(m => m.java());
86898
86898
  }
86899
86899
  }),
86900
86900
  /*@__PURE__*/LanguageDescription.of({
@@ -86910,7 +86910,7 @@ const languages = [
86910
86910
  alias: ["json5"],
86911
86911
  extensions: ["json", "map"],
86912
86912
  load() {
86913
- return import('./index-AroVDAsS.js').then(m => m.json());
86913
+ return import('./index-UAnOeVfw.js').then(m => m.json());
86914
86914
  }
86915
86915
  }),
86916
86916
  /*@__PURE__*/LanguageDescription.of({
@@ -86924,14 +86924,14 @@ const languages = [
86924
86924
  name: "LESS",
86925
86925
  extensions: ["less"],
86926
86926
  load() {
86927
- return import('./index-DjBSlW9v.js').then(m => m.less());
86927
+ return import('./index-CPFO1Uvg.js').then(m => m.less());
86928
86928
  }
86929
86929
  }),
86930
86930
  /*@__PURE__*/LanguageDescription.of({
86931
86931
  name: "Liquid",
86932
86932
  extensions: ["liquid"],
86933
86933
  load() {
86934
- return import('./index-B7t9zftd.js').then(m => m.liquid());
86934
+ return import('./index-BqkFobGp.js').then(m => m.liquid());
86935
86935
  }
86936
86936
  }),
86937
86937
  /*@__PURE__*/LanguageDescription.of({
@@ -86957,7 +86957,7 @@ const languages = [
86957
86957
  name: "PHP",
86958
86958
  extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
86959
86959
  load() {
86960
- return import('./index-LFrJ7QJF.js').then(m => m.php());
86960
+ return import('./index-BLaE8vrb.js').then(m => m.php());
86961
86961
  }
86962
86962
  }),
86963
86963
  /*@__PURE__*/LanguageDescription.of({
@@ -86974,28 +86974,28 @@ const languages = [
86974
86974
  extensions: ["BUILD", "bzl", "py", "pyw"],
86975
86975
  filename: /^(BUCK|BUILD)$/,
86976
86976
  load() {
86977
- return import('./index-QGBVFY6c.js').then(m => m.python());
86977
+ return import('./index-C05AhKNz.js').then(m => m.python());
86978
86978
  }
86979
86979
  }),
86980
86980
  /*@__PURE__*/LanguageDescription.of({
86981
86981
  name: "Rust",
86982
86982
  extensions: ["rs"],
86983
86983
  load() {
86984
- return import('./index-vFzLuU2s.js').then(m => m.rust());
86984
+ return import('./index-BRSoQ8_Y.js').then(m => m.rust());
86985
86985
  }
86986
86986
  }),
86987
86987
  /*@__PURE__*/LanguageDescription.of({
86988
86988
  name: "Sass",
86989
86989
  extensions: ["sass"],
86990
86990
  load() {
86991
- return import('./index-Ch649Twx.js').then(m => m.sass({ indented: true }));
86991
+ return import('./index-DE5zu3LB.js').then(m => m.sass({ indented: true }));
86992
86992
  }
86993
86993
  }),
86994
86994
  /*@__PURE__*/LanguageDescription.of({
86995
86995
  name: "SCSS",
86996
86996
  extensions: ["scss"],
86997
86997
  load() {
86998
- return import('./index-Ch649Twx.js').then(m => m.sass());
86998
+ return import('./index-DE5zu3LB.js').then(m => m.sass());
86999
86999
  }
87000
87000
  }),
87001
87001
  /*@__PURE__*/LanguageDescription.of({
@@ -87026,7 +87026,7 @@ const languages = [
87026
87026
  name: "WebAssembly",
87027
87027
  extensions: ["wat", "wast"],
87028
87028
  load() {
87029
- return import('./index-n4zrsReP.js').then(m => m.wast());
87029
+ return import('./index-DxPt_hhw.js').then(m => m.wast());
87030
87030
  }
87031
87031
  }),
87032
87032
  /*@__PURE__*/LanguageDescription.of({
@@ -87034,7 +87034,7 @@ const languages = [
87034
87034
  alias: ["rss", "wsdl", "xsd"],
87035
87035
  extensions: ["xml", "xsl", "xsd", "svg"],
87036
87036
  load() {
87037
- return import('./index-D9wXkupL.js').then(m => m.xml());
87037
+ return import('./index-DIY7ddlQ.js').then(m => m.xml());
87038
87038
  }
87039
87039
  }),
87040
87040
  /*@__PURE__*/LanguageDescription.of({
@@ -87042,7 +87042,7 @@ const languages = [
87042
87042
  alias: ["yml"],
87043
87043
  extensions: ["yaml", "yml"],
87044
87044
  load() {
87045
- return import('./index-Dzz_RpFw.js').then(m => m.yaml());
87045
+ return import('./index-CfLr9xrN.js').then(m => m.yaml());
87046
87046
  }
87047
87047
  }),
87048
87048
  // Legacy modes ported from CodeMirror 5
@@ -87838,13 +87838,13 @@ const languages = [
87838
87838
  name: "Vue",
87839
87839
  extensions: ["vue"],
87840
87840
  load() {
87841
- return import('./index-iWE1O1L8.js').then(m => m.vue());
87841
+ return import('./index-OV08AjM2.js').then(m => m.vue());
87842
87842
  }
87843
87843
  }),
87844
87844
  /*@__PURE__*/LanguageDescription.of({
87845
87845
  name: "Angular Template",
87846
87846
  load() {
87847
- return import('./index-D7famdsR.js').then(m => m.angular());
87847
+ return import('./index-DgYMoCLL.js').then(m => m.angular());
87848
87848
  }
87849
87849
  })
87850
87850
  ];
@@ -166553,7 +166553,7 @@ function createRenderDelaySampler() {
166553
166553
  };
166554
166554
  }
166555
166555
 
166556
- const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-C1rpl7ej.js'));
166556
+ const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BCNQjEez.js'));
166557
166557
  const ImagePanelBody = ({
166558
166558
  topic,
166559
166559
  frameRenderedEvent,
@@ -166648,7 +166648,7 @@ const DEFAULT_CAMERA_STATE = {
166648
166648
  // License, v2.0. If a copy of the MPL was not distributed with this
166649
166649
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
166650
166650
 
166651
- const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BdZejZ7X.js'));
166651
+ const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-D1xmWApp.js'));
166652
166652
  const PointCloudPanelBody = ({
166653
166653
  topic,
166654
166654
  frameRenderedEvent,
@@ -1,4 +1,4 @@
1
- import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ai as parseMixed } from './index-BwIG6RpB.js';
1
+ import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ai as parseMixed } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -3,7 +3,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
3
3
  import ReactDOM__default from 'react-dom';
4
4
  import { Z as isSymbol, $ as toString, a0 as keys, a1 as getSymbols$1, a2 as stubArray, a3 as arrayPush, a4 as baseGetAllKeys, g as getTag, a5 as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a6 as arrayMap$1, a7 as baseUniq, b as baseFlatten, a8 as useMustNotChange, a9 as useCurrentLayoutActions, aa as useCurrentLayoutSelector, r as reportError, A as AppError, L as Logger, u as useGuaranteedContext, ab as usePanelMosaicId, ac as useSelectedPanels, ad as PANEL_TITLE_CONFIG_KEY, ae as noop$4, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$2, af as useAppConfiguration, ag as useValueChangedDebugLog, V as typescript, ah as useJsonTreeTheme } from './depth-B7VOdK0y.js';
5
5
  import { createStore, useStore } from 'zustand';
6
- import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports, J as DEFAULT_CAMERA_STATE$1, K as format$1, M as z, N as serializeError, O as stringify$1, Q as createIntl, T as createIntlCache } from './index-BwIG6RpB.js';
6
+ import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports, J as DEFAULT_CAMERA_STATE$1, K as format$1, M as z, N as serializeError, O as stringify$1, Q as createIntl, T as createIntlCache } from './index-CUuB2DeV.js';
7
7
  import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
8
8
  import { g as getDefaultExportFromCjs, c as commonjsGlobal, d as getAugmentedNamespace } from './protobuf-BFCtaU7c.js';
9
9
  import { Link, Button, alpha, IconButton, Card, CardActionArea, CardMedia, CardContent, Typography, Container, Tooltip, Fade, ListItem, ListItemButton, ListItemText, List, TextField, InputAdornment, Popper, Grow, Paper, ClickAwayListener, Menu, MenuItem, Divider, buttonClasses, Backdrop, Chip, useTheme, alertClasses, darken, lighten, inputBaseClasses, autocompleteClasses, inputClasses, Checkbox, dialogActionsClasses, filledInputClasses, inputAdornmentClasses, listSubheaderClasses, selectClasses, tableCellClasses, ThemeProvider as ThemeProvider$1, SvgIcon, tabsClasses as tabsClasses$1, tabClasses, Tabs, Tab, ListItemIcon } from '@mui/material';
@@ -4435,9 +4435,6 @@ const Info20Regular = /*#__PURE__*/createFluentIcon('Info20Regular', "20", ["M10
4435
4435
 
4436
4436
  const ReOrderDotsVertical16Filled = /*#__PURE__*/createFluentIcon('ReOrderDotsVertical16Filled', "16", ["M5.5 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm0 4.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm1.5 3a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM10.5 5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM12 8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Zm-1.5 6a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"]);
4437
4437
 
4438
- const Ruler20Filled = /*#__PURE__*/createFluentIcon('Ruler20Filled', "20", ["m13.97 3.2.03.3v13c0 .83-.67 1.5-1.5 1.5h-5A1.5 1.5 0 0 1 6 16.5v-13A1.5 1.5 0 0 1 7.5 2h5c.72 0 1.33.51 1.47 1.2ZM7 14.5v1h1.5a.5.5 0 0 0 0-1H7Zm0-10v1h1.5a.5.5 0 0 0 0-1H7ZM7 7v1h2.5a.5.5 0 0 0 0-1H7Zm0 2.5v1h1.5a.5.5 0 0 0 0-1H7ZM7 12v1h2.5a.5.5 0 1 0 0-1H7Z"]);
4439
- const Ruler20Regular = /*#__PURE__*/createFluentIcon('Ruler20Regular', "20", ["M14 3.5c0-.83-.67-1.5-1.5-1.5h-5C6.67 2 6 2.67 6 3.5v13c0 .83.67 1.5 1.5 1.5h5c.83 0 1.5-.67 1.5-1.5v-13ZM7 13h2.5a.5.5 0 0 0 0-1H7v-1.5h1.5a.5.5 0 0 0 0-1H7V8h2.5a.5.5 0 0 0 0-1H7V5.5h1.5a.5.5 0 0 0 0-1H7v-1c0-.28.22-.5.5-.5h5c.28 0 .5.22.5.5v13a.5.5 0 0 1-.5.5h-5a.5.5 0 0 1-.5-.5v-1h1.5a.5.5 0 0 0 0-1H7V13Z"]);
4440
-
4441
4438
  const SplitHorizontal20Regular = /*#__PURE__*/createFluentIcon('SplitHorizontal20Regular', "20", ["M17.5 10a.5.5 0 0 0 0-1h-15a.5.5 0 0 0 0 1h15ZM16 4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4h1V4a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v4h1V4Zm0 7h-1v4a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-4H4v4c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2v-4Z"]);
4442
4439
  const SplitVertical20Regular = /*#__PURE__*/createFluentIcon('SplitVertical20Regular', "20", ["M10 2.5a.5.5 0 0 0-1 0v15a.5.5 0 0 0 1 0v-15ZM4 4a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h4v-1H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4V4H4Zm7 0v1h4a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1h-4v1h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4Z"]);
4443
4440
  const TabDesktop20Regular = /*#__PURE__*/createFluentIcon('TabDesktop20Regular', "20", ["M3 5.5A2.5 2.5 0 0 1 5.5 3h9A2.5 2.5 0 0 1 17 5.5v9a2.5 2.5 0 0 1-2.5 2.5h-9A2.5 2.5 0 0 1 3 14.5v-9ZM16 6v-.5c0-.83-.67-1.5-1.5-1.5H9v1.5c0 .28.22.5.5.5H16ZM8 4H5.5C4.67 4 4 4.67 4 5.5v9c0 .83.67 1.5 1.5 1.5h9c.83 0 1.5-.67 1.5-1.5V7H9.5A1.5 1.5 0 0 1 8 5.5V4Z"]);
@@ -32509,6 +32506,9 @@ function getAnnotationAtPath(message, path) {
32509
32506
  const syncToleranceSec = 0.15; // maximum acceptable time difference for selecting a “closest” annotation.
32510
32507
  const maxStalenessSec = 1.1; // how long we can hold the last older annotation if no better match is available. 1s corresponds to 1 FPS + 100ms window for jitter.
32511
32508
  const hysteresisSec = 0.1; // how much “stickiness” we allow before switching candidates.
32509
+ // New: how long (seconds) of recent images we keep around to allow picking an older image that better matches annotations
32510
+ const imageRetentionSec = 5; // keep small window of recent images
32511
+ const maxImageBuffer = 120; // cap number of stored images (e.g. 24 FPS * 5s)
32512
32512
 
32513
32513
  // Have constants for the HUD items so that they don't need to be recreated and GCed every message
32514
32514
  const WAITING_FOR_BOTH_HUD_ITEM = {
@@ -32566,6 +32566,8 @@ class MessageHandler {
32566
32566
 
32567
32567
  #onAnnotationReceivedEvent;
32568
32568
  #annotationsFpsRefreshInterval = null;
32569
+ // New: keep a buffer of recent images for annotation-prioritized synchronization
32570
+ imagesBuffer = [];
32569
32571
  // Store a small buffer of recent annotations per topic with computed seconds timestamps
32570
32572
  annotationsMap = new Map();
32571
32573
  // Track last selected annotation per topic to add hysteresis and reduce flicker
@@ -32614,6 +32616,35 @@ class MessageHandler {
32614
32616
  ...message,
32615
32617
  message: image
32616
32618
  };
32619
+
32620
+ // Compute timestamp seconds for buffer storage (prefer image stamp, then receiveTime, then wall clock)
32621
+ const stamp = getTimestampFromImage(image);
32622
+ let timeSec;
32623
+ const stampSec = stamp?.sec;
32624
+ const stampNsec = stamp?.nsec;
32625
+ if (typeof stampSec === "number" && typeof stampNsec === "number") {
32626
+ timeSec = stampSec + stampNsec / 1e9;
32627
+ } else {
32628
+ const recv = message.receiveTime;
32629
+ const recvSec = recv?.sec;
32630
+ const recvNsec = recv?.nsec;
32631
+ if (typeof recvSec === "number" && typeof recvNsec === "number") {
32632
+ timeSec = recvSec + recvNsec / 1e9;
32633
+ } else {
32634
+ timeSec = performance.now() / 1000;
32635
+ }
32636
+ }
32637
+ this.imagesBuffer.push({
32638
+ image: this.lastImage,
32639
+ timeSec
32640
+ });
32641
+ // Trim by time and length
32642
+ const nowSec = performance.now() / 1000;
32643
+ const cutoff = nowSec - imageRetentionSec;
32644
+ this.imagesBuffer = this.imagesBuffer.filter(e => e.timeSec >= cutoff);
32645
+ if (this.imagesBuffer.length > maxImageBuffer) {
32646
+ this.imagesBuffer.splice(0, this.imagesBuffer.length - maxImageBuffer);
32647
+ }
32617
32648
  this.#emitState();
32618
32649
  }
32619
32650
  handleCameraInfo = message => {
@@ -32708,6 +32739,7 @@ class MessageHandler {
32708
32739
  this.annotationsMap.clear();
32709
32740
  this.lastSelectedByTopic.clear();
32710
32741
  this.lastImage = undefined;
32742
+ this.imagesBuffer = [];
32711
32743
  this.#oldRenderState = undefined;
32712
32744
  this.#emitState();
32713
32745
  }
@@ -32736,30 +32768,45 @@ class MessageHandler {
32736
32768
  this.#hud.displayIfTrue(waitingForImage && calibrationRequired, WAITING_FOR_IMAGE_NOTICE_HUD_ITEM);
32737
32769
  }
32738
32770
  #getRenderState() {
32739
- if (!this.lastImage) {
32771
+ if (this.imagesBuffer.length === 0) {
32740
32772
  return {
32741
32773
  annotationsByTopic: new Map(),
32742
32774
  presentAnnotationTopics: undefined,
32743
32775
  missingAnnotationTopics: undefined
32744
32776
  };
32745
32777
  }
32746
- const state = {
32747
- image: this.lastImage,
32748
- annotationsByTopic: new Map()
32749
- };
32750
- const imageTimestampSec = (() => {
32751
- const stamp = getTimestampFromImage(this.lastImage.message);
32752
- const sec = stamp?.sec;
32753
- const nsec = stamp?.nsec;
32754
- if (typeof sec === "number" && typeof nsec === "number") {
32755
- return sec + nsec / 1e9;
32756
- }
32757
- return performance.now() / 1000;
32758
- })();
32759
- for (const [topic, buffer] of this.annotationsMap.entries()) {
32760
- if (buffer.length === 0) continue;
32761
-
32762
- // Prefer newest annotation older than the image within staleness window
32778
+
32779
+ // Visible topics
32780
+ const visibleTopics = new Set();
32781
+ if (this.#config.annotations) {
32782
+ for (const [topic, settings] of Object.entries(this.#config.annotations)) {
32783
+ if (settings?.visible) visibleTopics.add(topic);
32784
+ }
32785
+ }
32786
+
32787
+ // Required topics (available & visible)
32788
+ const requiredTopics = [];
32789
+ for (const t of visibleTopics) {
32790
+ if (this.availableAnnotationTopics.size === 0 || this.availableAnnotationTopics.has(t)) {
32791
+ requiredTopics.push(t);
32792
+ }
32793
+ }
32794
+
32795
+ // New policy: always start from newest image (do not freeze on older frame).
32796
+ const newestImageEntry = this.imagesBuffer[this.imagesBuffer.length - 1];
32797
+ const imageTimestampSec = newestImageEntry.timeSec;
32798
+ const selectedAnnotations = new Map();
32799
+ const presentTopics = [];
32800
+ const missingTopics = [];
32801
+ for (const topic of visibleTopics) {
32802
+ const buffer = this.annotationsMap.get(topic);
32803
+ if (!buffer || buffer.length === 0) {
32804
+ // No annotations yet for this topic
32805
+ if (requiredTopics.includes(topic)) ;
32806
+ continue;
32807
+ }
32808
+
32809
+ // Find preferred (newest <= image time within staleness)
32763
32810
  let preferred;
32764
32811
  for (let i = buffer.length - 1; i >= 0; i--) {
32765
32812
  const entry = buffer[i];
@@ -32770,28 +32817,28 @@ class MessageHandler {
32770
32817
  }
32771
32818
  }
32772
32819
 
32773
- // If none older within staleness, fall back to closest within tolerance
32774
- let fallback = buffer[0];
32775
- let fallbackDelta = Math.abs(fallback.timeSec - imageTimestampSec);
32820
+ // Fallback: closest within tolerance window
32821
+ let closest = buffer[0];
32822
+ let closestDelta = Math.abs(closest.timeSec - imageTimestampSec);
32776
32823
  for (let i = 1; i < buffer.length; i++) {
32777
32824
  const entry = buffer[i];
32778
32825
  const delta = Math.abs(entry.timeSec - imageTimestampSec);
32779
- if (delta < fallbackDelta) {
32780
- fallback = entry;
32781
- fallbackDelta = delta;
32826
+ if (delta < closestDelta) {
32827
+ closest = entry;
32828
+ closestDelta = delta;
32782
32829
  }
32783
32830
  }
32784
- let candidate = preferred ?? fallback;
32831
+ let candidate = preferred ?? closest;
32785
32832
  if (!candidate) continue;
32786
32833
  const candidateDelta = Math.abs(candidate.timeSec - imageTimestampSec);
32787
32834
  const candidateAge = imageTimestampSec - candidate.timeSec;
32788
- const acceptable = preferred != undefined && candidateAge >= 0 && candidateAge <= maxStalenessSec || preferred == undefined && candidateDelta <= syncToleranceSec;
32835
+ const acceptable = preferred && candidateAge >= 0 && candidateAge <= maxStalenessSec || !preferred && candidateDelta <= syncToleranceSec;
32789
32836
  const notFutureFar = candidate.timeSec <= imageTimestampSec + syncToleranceSec;
32790
32837
  if (!acceptable || !notFutureFar) {
32838
+ // can't use for now
32791
32839
  continue;
32792
32840
  }
32793
-
32794
- // Hysteresis: if previous selection is very close and still valid, keep it to avoid flicker
32841
+ // Hysteresis: keep previous if close
32795
32842
  const prevTime = this.lastSelectedByTopic.get(topic);
32796
32843
  if (prevTime != undefined) {
32797
32844
  const prevEntry = buffer.find(e => Math.abs(e.timeSec - prevTime) < 1e-6);
@@ -32804,10 +32851,30 @@ class MessageHandler {
32804
32851
  }
32805
32852
  }
32806
32853
  }
32807
- state.annotationsByTopic.set(topic, candidate.annotation);
32854
+ selectedAnnotations.set(topic, candidate.annotation);
32855
+ presentTopics.push(topic);
32808
32856
  this.lastSelectedByTopic.set(topic, candidate.timeSec);
32809
32857
  }
32810
- return state;
32858
+
32859
+ // Determine missing topics (we have at least some annotation messages for them but could not align one this frame)
32860
+ for (const t of requiredTopics) {
32861
+ if (!presentTopics.includes(t)) {
32862
+ const buf = this.annotationsMap.get(t);
32863
+ if (buf && buf.length > 0) {
32864
+ // We received data but could not synchronize within tolerance -> mark missing
32865
+ missingTopics.push(t);
32866
+ }
32867
+ }
32868
+ }
32869
+
32870
+ // Always return newest image; do not block rendering if annotations incomplete
32871
+ return {
32872
+ image: newestImageEntry.image,
32873
+ annotationsByTopic: selectedAnnotations,
32874
+ // Provide mismatch info only if we have both present and missing; otherwise undefined to reduce HUD noise
32875
+ presentAnnotationTopics: presentTopics.length > 0 && missingTopics.length > 0 ? presentTopics.sort() : undefined,
32876
+ missingAnnotationTopics: presentTopics.length > 0 && missingTopics.length > 0 ? missingTopics.sort() : undefined
32877
+ };
32811
32878
  }
32812
32879
  }
32813
32880
 
@@ -35197,7 +35264,7 @@ class Images extends SceneExtension {
35197
35264
  // License, v2.0. If a copy of the MPL was not distributed with this
35198
35265
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35199
35266
 
35200
- const DEFAULT_POINT_SIZE = 1.5;
35267
+ const DEFAULT_POINT_SIZE = 4.0;
35201
35268
  const DEFAULT_POINT_SHAPE = "circle";
35202
35269
  const DEFAULT_COLOR_MAP = "turbo";
35203
35270
  const DEFAULT_FLAT_COLOR = {
@@ -37865,6 +37932,7 @@ class PointClouds extends SceneExtension {
37865
37932
  ...DEFAULT_SETTINGS$5,
37866
37933
  ...userSettings
37867
37934
  };
37935
+ settings.pointSize = DEFAULT_SETTINGS$5.pointSize; // Renderer resets PC point size to 2 on init, so always replace with default
37868
37936
 
37869
37937
  // want to avoid setting this if fields didn't update
37870
37938
  if (settings.colorField == undefined && fieldsForTopicUpdated) {
@@ -72627,18 +72695,6 @@ function RendererOverlay(props) {
72627
72695
  flexDirection: "column"
72628
72696
  }
72629
72697
  }, /*#__PURE__*/React__default.createElement(Tooltip, {
72630
- placement: "left",
72631
- title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, `Switch to ${props.perspective ? "2" : "3"}D camera `, /*#__PURE__*/React__default.createElement("kbd", {
72632
- className: classes.kbd
72633
- }, "3"))
72634
- }, /*#__PURE__*/React__default.createElement(IconButton, {
72635
- className: classes.iconButton,
72636
- size: "small",
72637
- color: props.perspective ? "info" : "inherit",
72638
- onClick: props.onTogglePerspective
72639
- }, /*#__PURE__*/React__default.createElement("span", {
72640
- className: classes.threeDeeButton
72641
- }, "3D"))), /*#__PURE__*/React__default.createElement(Tooltip, {
72642
72698
  placement: "left",
72643
72699
  title: "Reset view"
72644
72700
  }, /*#__PURE__*/React__default.createElement(IconButton, {
@@ -72648,18 +72704,7 @@ function RendererOverlay(props) {
72648
72704
  onClick: () => {
72649
72705
  on3dSceneReset.emit("resetView");
72650
72706
  }
72651
- }, /*#__PURE__*/React__default.createElement(ArrowResetRegular, null))), /*#__PURE__*/React__default.createElement(Tooltip, {
72652
- placement: "left",
72653
- title: props.measureActive ? "Cancel measuring" : "Measure distance"
72654
- }, /*#__PURE__*/React__default.createElement(IconButton, {
72655
- "data-testid": "measure-button",
72656
- className: classes.iconButton,
72657
- size: "small",
72658
- color: props.measureActive ? "info" : "inherit",
72659
- onClick: props.onClickMeasure
72660
- }, /*#__PURE__*/React__default.createElement("div", {
72661
- className: classes.rulerIcon
72662
- }, props.measureActive ? /*#__PURE__*/React__default.createElement(Ruler20Filled, null) : /*#__PURE__*/React__default.createElement(Ruler20Regular, null)))), publishControls)), clickedObjects.length > 1 && !selectedObject && /*#__PURE__*/React__default.createElement(InteractionContextMenu, {
72707
+ }, /*#__PURE__*/React__default.createElement(ArrowResetRegular, null))), publishControls)), clickedObjects.length > 1 && !selectedObject && /*#__PURE__*/React__default.createElement(InteractionContextMenu, {
72663
72708
  onClose: () => {
72664
72709
  setSelectedRenderables([]);
72665
72710
  },
@@ -1,4 +1,4 @@
1
- import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, X as foldNodeProp, a8 as foldInside, U as indentNodeProp, V as continuedIndent, ae as defineCSSCompletionSource, a0 as LanguageSupport } from './index-BwIG6RpB.js';
1
+ import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, X as foldNodeProp, a8 as foldInside, U as indentNodeProp, V as continuedIndent, ae as defineCSSCompletionSource, a0 as LanguageSupport } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, X as foldNodeProp, aj as bracketMatchingHandle, a0 as LanguageSupport, af as EditorView, a5 as syntaxTree, ag as EditorSelection } from './index-BwIG6RpB.js';
1
+ import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, X as foldNodeProp, aj as bracketMatchingHandle, a0 as LanguageSupport, af as EditorView, a5 as syntaxTree, ag as EditorSelection } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { Y as styleTags, Z as tags, ak as javascriptLanguage, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-BwIG6RpB.js';
1
+ import { Y as styleTags, Z as tags, ak as javascriptLanguage, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, Y as styleTags, Z as tags, a0 as LanguageSupport, a2 as LRParser } from './index-BwIG6RpB.js';
1
+ import { $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, Y as styleTags, Z as tags, a0 as LanguageSupport, a2 as LRParser } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-BwIG6RpB.js';
1
+ import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, aa as LocalTokenGroup, ah as html, ai as parseMixed, ak as javascriptLanguage } from './index-BwIG6RpB.js';
1
+ import { Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, aa as LocalTokenGroup, ah as html, ai as parseMixed, ak as javascriptLanguage } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
@@ -1,4 +1,4 @@
1
- import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-BwIG6RpB.js';
1
+ import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-CUuB2DeV.js';
2
2
  import './depth-B7VOdK0y.js';
3
3
  import './protobuf-BFCtaU7c.js';
4
4
  import 'protobufjs/minimal';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { av as FrameStore, ao as ImagePanel, an as PanelLayout, ap as PointCloudPanel, al as VisualizerConnection, am as VisualizerContext, aq as constructKeyForTopicRenderMetrics, aw as getIMUEventEmitter, as as globalDecodeMetricsManager, ar as globalInputEventMetricsManager, at as globalRenderMetricsManager, au as globalThroughputMetricsManager } from './index-BwIG6RpB.js';
1
+ export { av as FrameStore, ao as ImagePanel, an as PanelLayout, ap as PointCloudPanel, al as VisualizerConnection, am as VisualizerContext, aq as constructKeyForTopicRenderMetrics, aw as getIMUEventEmitter, as as globalDecodeMetricsManager, ar as globalInputEventMetricsManager, at as globalRenderMetricsManager, au as globalThroughputMetricsManager } from './index-CUuB2DeV.js';
2
2
  export { S as getDistanceFromDepthDataForOffset } from './depth-B7VOdK0y.js';
3
3
  import './comlink-DHMAu6X7.js';
4
4
  import './utils-Hzt3wxhG.js';
@@ -1 +1 @@
1
- {"version":3,"file":"RendererOverlay.d.ts","sourceRoot":"","sources":["../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAsD7C,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,wBAAwB,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,cAAc,oCAAqB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CA8SzD"}
1
+ {"version":3,"file":"RendererOverlay.d.ts","sourceRoot":"","sources":["../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAsD7C,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,wBAAwB,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,cAAc,oCAAqB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CA2QzD"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  // This Source Code Form is subject to the terms of the Mozilla Public
3
3
  // License, v2.0. If a copy of the MPL was not distributed with this
4
4
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
5
- import { ArrowResetRegular, Ruler20Filled, Ruler20Regular } from "@fluentui/react-icons";
5
+ import { ArrowResetRegular } from "@fluentui/react-icons";
6
6
  import { Button, IconButton, ListItemIcon, ListItemText, Menu, MenuItem, Paper, Tooltip, useTheme } from "@mui/material";
7
7
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
8
8
  import { useTranslation } from "react-i18next";
@@ -181,9 +181,9 @@ export function RendererOverlay(props) {
181
181
  const mousePresent = usePanelMousePresence(mousePresenceRef);
182
182
  return (_jsxs(_Fragment, { children: [props.interfaceMode === "image" && _jsx(PanelContextMenu, { getItems: getContextMenuItems }), _jsxs("div", { ref: mousePresenceRef, className: classes.root, children: [
183
183
  // Only show on hover for image panel
184
- (props.interfaceMode === "3d" || mousePresent) && (_jsx(Interactions, { addPanel: props.addPanel, interactionsTabType: interactionsTabType, onShowTopicSettings: props.onShowTopicSettings, selectedObject: selectedObject, setInteractionsTabType: setInteractionsTabType, timezone: props.timezone })), props.interfaceMode === "3d" && (_jsxs(Paper, { square: false, elevation: 4, style: { display: "flex", flexDirection: "column" }, children: [_jsx(Tooltip, { placement: "left", title: _jsxs(_Fragment, { children: [`Switch to ${props.perspective ? "2" : "3"}D camera `, _jsx("kbd", { className: classes.kbd, children: "3" })] }), children: _jsx(IconButton, { className: classes.iconButton, size: "small", color: props.perspective ? "info" : "inherit", onClick: props.onTogglePerspective, children: _jsx("span", { className: classes.threeDeeButton, children: "3D" }) }) }), _jsx(Tooltip, { placement: "left", title: "Reset view", children: _jsx(IconButton, { className: classes.iconButton, size: "small", color: "inherit", onClick: () => {
184
+ (props.interfaceMode === "3d" || mousePresent) && (_jsx(Interactions, { addPanel: props.addPanel, interactionsTabType: interactionsTabType, onShowTopicSettings: props.onShowTopicSettings, selectedObject: selectedObject, setInteractionsTabType: setInteractionsTabType, timezone: props.timezone })), props.interfaceMode === "3d" && (_jsxs(Paper, { square: false, elevation: 4, style: { display: "flex", flexDirection: "column" }, children: [_jsx(Tooltip, { placement: "left", title: "Reset view", children: _jsx(IconButton, { className: classes.iconButton, size: "small", color: "inherit", onClick: () => {
185
185
  on3dSceneReset.emit("resetView");
186
- }, children: _jsx(ArrowResetRegular, {}) }) }), _jsx(Tooltip, { placement: "left", title: props.measureActive ? "Cancel measuring" : "Measure distance", children: _jsx(IconButton, { "data-testid": "measure-button", className: classes.iconButton, size: "small", color: props.measureActive ? "info" : "inherit", onClick: props.onClickMeasure, children: _jsx("div", { className: classes.rulerIcon, children: props.measureActive ? _jsx(Ruler20Filled, {}) : _jsx(Ruler20Regular, {}) }) }) }), publishControls] }))] }), clickedObjects.length > 1 && !selectedObject && (_jsx(InteractionContextMenu, { onClose: () => {
186
+ }, children: _jsx(ArrowResetRegular, {}) }) }), publishControls] }))] }), clickedObjects.length > 1 && !selectedObject && (_jsx(InteractionContextMenu, { onClose: () => {
187
187
  setSelectedRenderables([]);
188
188
  }, clickedPosition: clickedPosition, clickedObjects: clickedObjects, selectObject: (selection) => {
189
189
  if (selection) {