@luxonis/visualizer-protobuf 2.36.0 → 2.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/{communicator-1cvNRjMr.js → communicator-BjQGdkEF.js} +2 -17
  2. package/dist/{deserialization.worker-DNEeTWZI.js → deserialization.worker-B4mbcVaD.js} +38 -11
  3. package/dist/{protobuf-By8duXQO.js → encoding-BaoHXAPX.js} +20 -1
  4. package/dist/{index-YJjThsR7.js → index-B0a8Fcsq.js} +7 -3
  5. package/dist/{index-DW-jX1Pj.js → index-BJQvzWXZ.js} +1 -1
  6. package/dist/{index-Bvv0HvjK.js → index-BXVV46N_.js} +1 -1
  7. package/dist/{index-D2oWjA51.js → index-B_YpX6mQ.js} +1 -1
  8. package/dist/{index-ucqGPDVI.js → index-Bju8N8aL.js} +1 -1
  9. package/dist/{index-BuMzm_bX.js → index-BtiKczUb.js} +1 -1
  10. package/dist/{index-BlH0MRDH.js → index-C4J2Ez3Z.js} +1 -1
  11. package/dist/{index-CkZLfUOH.js → index-CHQ8c72c.js} +1 -1
  12. package/dist/{index-DebFrzdK.js → index-CVyLuyd1.js} +1 -1
  13. package/dist/{index-CWZkD8lT.js → index-CW07jSZd.js} +1 -1
  14. package/dist/{index-CnbNpBYY.js → index-CfastwMS.js} +1 -1
  15. package/dist/{index-DMheIO2h.js → index-D4iLc9pG.js} +1 -1
  16. package/dist/{index-Dmtoo58v.js → index-DV2Nx63w.js} +1 -1
  17. package/dist/{index-CM2SdPmX.js → index-Dss-letG.js} +1 -1
  18. package/dist/{index-B_MLNn71.js → index-Dzy9H4eN.js} +2 -2
  19. package/dist/{index-BFI0jE7B.js → index-FFoDQ871.js} +1 -1
  20. package/dist/{index-zCN1izA0.js → index-MWcjCcp7.js} +46 -43
  21. package/dist/{index-CwTQiogH.js → index-fCPVXmPm.js} +1 -1
  22. package/dist/{index-CWL1MGbI.js → index-wJ2ZczEf.js} +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/lib/src/components/PanelToolbar.d.ts.map +1 -1
  25. package/dist/lib/src/components/PanelToolbar.js +8 -2
  26. package/dist/lib/src/components/PanelToolbar.js.map +1 -1
  27. package/dist/lib/src/connection/connection.d.ts +8 -4
  28. package/dist/lib/src/connection/connection.d.ts.map +1 -1
  29. package/dist/lib/src/connection/connection.js +7 -7
  30. package/dist/lib/src/connection/connection.js.map +1 -1
  31. package/dist/lib/src/connection/foxglove-connection.d.ts +3 -1
  32. package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
  33. package/dist/lib/src/connection/foxglove-connection.js +26 -9
  34. package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
  35. package/dist/lib/src/messaging/deserialization.worker.d.ts +1 -1
  36. package/dist/lib/src/messaging/deserialization.worker.d.ts.map +1 -1
  37. package/dist/lib/src/messaging/deserialization.worker.js +30 -12
  38. package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
  39. package/dist/lib/src/messaging/message-handler.d.ts +2 -1
  40. package/dist/lib/src/messaging/message-handler.d.ts.map +1 -1
  41. package/dist/lib/src/messaging/message-handler.js +2 -2
  42. package/dist/lib/src/messaging/message-handler.js.map +1 -1
  43. package/dist/lib/src/utils/encoding.d.ts +1 -0
  44. package/dist/lib/src/utils/encoding.d.ts.map +1 -1
  45. package/dist/lib/src/utils/encoding.js +4 -0
  46. package/dist/lib/src/utils/encoding.js.map +1 -1
  47. package/dist/lib/src/utils/error.d.ts +5 -0
  48. package/dist/lib/src/utils/error.d.ts.map +1 -0
  49. package/dist/lib/src/utils/error.js +8 -0
  50. package/dist/lib/src/utils/error.js.map +1 -0
  51. package/dist/packages/studio-base/src/i18n/en/threeDee.js +1 -1
  52. package/dist/packages/studio-base/src/i18n/en/threeDee.js.map +1 -1
  53. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js +6 -2
  54. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js.map +1 -1
  55. package/dist/packages/studio-base/src/players/types.d.ts +1 -0
  56. package/dist/packages/studio-base/src/players/types.d.ts.map +1 -1
  57. package/dist/packages/studio-base/src/players/types.js.map +1 -1
  58. package/dist/{worker-CzUjMpCN.js → worker-4R8nuLc9.js} +2 -2
  59. package/dist/{worker-B7qK-cxf.js → worker-5EVhuR0-.js} +2 -2
  60. package/package.json +1 -1
@@ -1,19 +1,4 @@
1
- import { p as protobufsBySchema } from './protobuf-By8duXQO.js';
2
-
3
- // This Source Code Form is subject to the terms of the Mozilla Public
4
- // License, v2.0. If a copy of the MPL was not distributed with this
5
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
6
-
7
- function recordToDataView(record) {
8
- const text = JSON.stringify(record);
9
- if (!text) {
10
- throw new Error("Invalid record");
11
- }
12
- const encoder = new TextEncoder();
13
- const data = encoder.encode(text);
14
- const dataView = new DataView(data.buffer);
15
- return dataView;
16
- }
1
+ import { p as protobufsBySchema, r as recordToDataView } from './encoding-BaoHXAPX.js';
17
2
 
18
3
  // This Source Code Form is subject to the terms of the Mozilla Public
19
4
  // License, v2.0. If a copy of the MPL was not distributed with this
@@ -144,4 +129,4 @@ class FoxgloveCommunicator {
144
129
  }
145
130
  }
146
131
 
147
- export { FoxgloveCommunicator as F, recordToDataView as r };
132
+ export { FoxgloveCommunicator as F };
@@ -1,7 +1,7 @@
1
1
  import { e as expose } from './comlink-DHMAu6X7.js';
2
2
  import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
3
3
  import { e as estimateObjectSize, d as dist } from './tslib.es6-C73eoP_E.js';
4
- import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, a as Profile } from './protobuf-By8duXQO.js';
4
+ import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, i as isCapableOfEncodedStream, a as Profile } from './encoding-BaoHXAPX.js';
5
5
  import 'react';
6
6
  import './_commonjsHelpers-E-ZsRS8r.js';
7
7
  import 'zustand';
@@ -1057,6 +1057,13 @@ async function deserializeMJPEGFrame({
1057
1057
  });
1058
1058
  }
1059
1059
 
1060
+ class EncodedStreamNotSupportedError extends Error {
1061
+ constructor(topicName) {
1062
+ super("Encoded stream not supported on this platform");
1063
+ this.topicName = topicName;
1064
+ }
1065
+ }
1066
+
1060
1067
  // This Source Code Form is subject to the terms of the Mozilla Public
1061
1068
  // License, v2.0. If a copy of the MPL was not distributed with this
1062
1069
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
@@ -1070,22 +1077,35 @@ function handleMessageToDecode({
1070
1077
  schema,
1071
1078
  buffer,
1072
1079
  topic
1073
- }) {
1080
+ }, errorCallback) {
1081
+ const handleDecodingError = error => {
1082
+ // TODO: Enable this log once we fix topic unsubscription not working
1083
+ // console.error("An error occurred during DAI message decoding.", error);
1084
+
1085
+ errorCallback?.(error);
1086
+ };
1074
1087
  const protobufSchema = protobufsBySchema[schema];
1075
1088
  if (!protobufSchema) {
1076
1089
  console.warn(`Unsupported message schema "${schema}"`);
1090
+ handleDecodingError(new Error(`Unsupported message schema "${schema}"`));
1077
1091
  return;
1078
1092
  }
1079
1093
  const bufferArray = new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
1080
- const message = protobufSchema.decoder.decode(bufferArray);
1081
- void deserializeDepthAiMessage({
1082
- topic,
1083
- topicSizes,
1084
- topicDecoders,
1085
- message,
1086
- callback,
1087
- type: protobufSchema.type
1088
- });
1094
+ try {
1095
+ const message = protobufSchema.decoder.decode(bufferArray);
1096
+
1097
+ // Handle the promise correctly
1098
+ deserializeDepthAiMessage({
1099
+ topic,
1100
+ topicSizes,
1101
+ topicDecoders,
1102
+ message,
1103
+ callback,
1104
+ type: protobufSchema.type
1105
+ }).catch(handleDecodingError);
1106
+ } catch (error) {
1107
+ handleDecodingError(error);
1108
+ }
1089
1109
  }
1090
1110
  async function deserializeDepthAiMessage(args) {
1091
1111
  const {
@@ -1099,6 +1119,9 @@ async function deserializeDepthAiMessage(args) {
1099
1119
  switch (type) {
1100
1120
  case "encodedFrame":
1101
1121
  {
1122
+ if (!isCapableOfEncodedStream()) {
1123
+ throw new EncodedStreamNotSupportedError(topic);
1124
+ }
1102
1125
  topicSizes.set(topic, {
1103
1126
  width: message.width,
1104
1127
  height: message.height
@@ -1219,6 +1242,10 @@ async function deserializeDepthAiMessage(args) {
1219
1242
  }
1220
1243
  }
1221
1244
  }
1245
+
1246
+ // Update the exported API
1247
+
1248
+ // Expose the updated API
1222
1249
  expose({
1223
1250
  initCallback,
1224
1251
  handleMessageToDecode
@@ -5069,4 +5069,23 @@ const protobufsBySchema = Object.fromEntries(Object.entries(protobufs).map(([typ
5069
5069
  ...data
5070
5070
  }]));
5071
5071
 
5072
- export { PointsAnnotationType as P, Type as T, Profile as a, protobufsBySchema as p };
5072
+ // This Source Code Form is subject to the terms of the Mozilla Public
5073
+ // License, v2.0. If a copy of the MPL was not distributed with this
5074
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/
5075
+
5076
+ // Function decides if the current browser is capable of working with encoded streams
5077
+ function isCapableOfEncodedStream() {
5078
+ return !!navigator?.userAgent?.includes('Chrome');
5079
+ }
5080
+ function recordToDataView(record) {
5081
+ const text = JSON.stringify(record);
5082
+ if (!text) {
5083
+ throw new Error("Invalid record");
5084
+ }
5085
+ const encoder = new TextEncoder();
5086
+ const data = encoder.encode(text);
5087
+ const dataView = new DataView(data.buffer);
5088
+ return dataView;
5089
+ }
5090
+
5091
+ export { PointsAnnotationType as P, Type as T, Profile as a, isCapableOfEncodedStream as i, protobufsBySchema as p, recordToDataView as r };
@@ -3,7 +3,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
3
3
  import ReactDOM__default from 'react-dom';
4
4
  import { S as isSymbol, U as toString, V as keys, W as getSymbols$1, X as stubArray, Y as arrayPush, Z as baseGetAllKeys, g as getTag, $ as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a0 as arrayMap$1, a1 as baseUniq, b as baseFlatten, a2 as useMustNotChange, a3 as useCurrentLayoutActions, a4 as useCurrentLayoutSelector, r as reportError, A as AppError, L as Logger, u as useGuaranteedContext, a5 as usePanelMosaicId, a6 as useSelectedPanels, a7 as PANEL_TITLE_CONFIG_KEY, a8 as noop$4, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$3, a9 as useAppConfiguration, aa as useValueChangedDebugLog, ab as useJsonTreeTheme } from './tslib.es6-C73eoP_E.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 } from './index-zCN1izA0.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 } from './index-MWcjCcp7.js';
7
7
  import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
8
8
  import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
9
9
  import { g as getDefaultExportFromCjs, c as commonjsGlobal, a as getAugmentedNamespace } from './_commonjsHelpers-E-ZsRS8r.js';
@@ -33637,7 +33637,11 @@ class MessageHandler {
33637
33637
  };
33638
33638
  const ghostTimeMs = annoationsFpsToGhostTimeMs(this.#averageAnnotationsFps);
33639
33639
  if (result.found && [...result.messages.annotationsByTopic.values()].length === 0 && this.#ghostAnnotation && now - this.#ghostAnnotation.createdAtMs < ghostTimeMs) {
33640
- console.warn(`No annotations found for this frame but still in ghost period (diff = ${now - this.#ghostAnnotation.createdAtMs} ms, ghostTimeMs = ${ghostTimeMs} ms) - returning ghost annotation`);
33640
+ //console.warn(
33641
+ // `No annotations found for this frame but still in ghost period (diff = ${
33642
+ // now - this.#ghostAnnotation.createdAtMs
33643
+ // } ms, ghostTimeMs = ${ghostTimeMs} ms) - returning ghost annotation`,
33644
+ //);
33641
33645
  renderState.annotationsByTopic = this.#ghostAnnotation.annotations;
33642
33646
  }
33643
33647
  return renderState;
@@ -33703,7 +33707,7 @@ function findSynchronizedSetAndRemoveOlderItems(tree, visibleAnnotations) {
33703
33707
  }
33704
33708
  if (validEntry) {
33705
33709
  if (validEntry[1].annotationsByTopic.size === 0 && lastAnnotationsOrphanEntry) {
33706
- console.warn("Using annotationsByTopic from lastAnnotationsEntry orphan");
33710
+ // console.warn("Using annotationsByTopic from lastAnnotationsEntry orphan");
33707
33711
  validEntry[1].annotationsByTopic = lastAnnotationsOrphanEntry[1].annotationsByTopic;
33708
33712
  }
33709
33713
 
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, a8 as defineCSSCompletionSource, U as LanguageSupport, X as LRParser, V as ExternalTokenizer } from './index-zCN1izA0.js';
1
+ import { O as styleTags, Q as tags, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, a8 as defineCSSCompletionSource, U as LanguageSupport, X as LRParser, V as ExternalTokenizer } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-zCN1izA0.js';
1
+ import { O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, a4 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-zCN1izA0.js';
1
+ import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, a4 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { a9 as EditorView, aa as EditorSelection, T as LRLanguage, O as styleTags, Q as tags, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, U as LanguageSupport, X as LRParser, $ as syntaxTree, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-zCN1izA0.js';
1
+ import { a9 as EditorView, aa as EditorSelection, T as LRLanguage, O as styleTags, Q as tags, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, U as LanguageSupport, X as LRParser, $ as syntaxTree, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, X as LRParser, a4 as LocalTokenGroup, ab as html, ac as parseMixed, ae as javascriptLanguage } from './index-zCN1izA0.js';
1
+ import { O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, X as LRParser, a4 as LocalTokenGroup, ab as html, ac as parseMixed, ae as javascriptLanguage } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, N as foldNodeProp, ad as bracketMatchingHandle, U as LanguageSupport, a9 as EditorView, $ as syntaxTree, aa as EditorSelection } from './index-zCN1izA0.js';
1
+ import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, N as foldNodeProp, ad as bracketMatchingHandle, U as LanguageSupport, a9 as EditorView, $ as syntaxTree, aa as EditorSelection } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { K as indentNodeProp, M as continuedIndent, N as foldNodeProp, O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, V as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-zCN1izA0.js';
1
+ import { K as indentNodeProp, M as continuedIndent, N as foldNodeProp, O as styleTags, Q as tags, T as LRLanguage, U as LanguageSupport, V as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-zCN1izA0.js';
1
+ import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, ac as parseMixed } from './index-zCN1izA0.js';
1
+ import { a3 as ContextTracker, V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport, ac as parseMixed } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-zCN1izA0.js';
1
+ import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a0 as flatIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, O as styleTags, Q as tags, U as LanguageSupport, X as LRParser } from './index-zCN1izA0.js';
1
+ import { T as LRLanguage, K as indentNodeProp, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, O as styleTags, Q as tags, U as LanguageSupport, X as LRParser } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, N as foldNodeProp, a2 as foldInside, K as indentNodeProp, M as continuedIndent, a8 as defineCSSCompletionSource, U as LanguageSupport } from './index-zCN1izA0.js';
1
+ import { V as ExternalTokenizer, a3 as ContextTracker, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, N as foldNodeProp, a2 as foldInside, K as indentNodeProp, M as continuedIndent, a8 as defineCSSCompletionSource, U as LanguageSupport } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, ab as html, U as LanguageSupport, ac as parseMixed } from './index-zCN1izA0.js';
1
+ import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, a1 as delimitedIndent, N as foldNodeProp, a2 as foldInside, ab as html, U as LanguageSupport, ac as parseMixed } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -1,4 +1,4 @@
1
- import { ImagePanel } from './index-YJjThsR7.js';
1
+ import { ImagePanel } from './index-B0a8Fcsq.js';
2
2
  import 'react';
3
3
  import 'react-dom';
4
4
  import './tslib.es6-C73eoP_E.js';
@@ -7,7 +7,7 @@ import './_commonjsHelpers-E-ZsRS8r.js';
7
7
  import '@mui/material';
8
8
  import './isArrayLikeObject-Bytw9p-q.js';
9
9
  import 'zustand';
10
- import './index-zCN1izA0.js';
10
+ import './index-MWcjCcp7.js';
11
11
  import './comlink-DHMAu6X7.js';
12
12
  import './utils-Hzt3wxhG.js';
13
13
  import './FoxgloveServer-C39Uooyk.js';
@@ -1,4 +1,4 @@
1
- import { O as styleTags, Q as tags, ae as javascriptLanguage, T as LRLanguage, U as LanguageSupport, X as LRParser, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-zCN1izA0.js';
1
+ import { O as styleTags, Q as tags, ae as javascriptLanguage, T as LRLanguage, U as LanguageSupport, X as LRParser, ab as html, ac as parseMixed, V as ExternalTokenizer } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';
@@ -768,7 +768,7 @@ class DepthToPointcloudWorkerPool {
768
768
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
769
769
 
770
770
  function initWorker(callback) {
771
- const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-DNEeTWZI.js", import.meta.url), {
771
+ const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-B4mbcVaD.js", import.meta.url), {
772
772
  type: "module",
773
773
  name: `message-decoder`
774
774
  }));
@@ -783,7 +783,7 @@ function createMessageHandler(callback) {
783
783
  schema,
784
784
  buffer,
785
785
  topic
786
- }) => {
786
+ }, errorCallback) => {
787
787
  let worker = workerPool.get(topic);
788
788
  if (!worker) {
789
789
  const newWorker = initWorker(callback);
@@ -795,7 +795,7 @@ function createMessageHandler(callback) {
795
795
  buffer,
796
796
  topic,
797
797
  neuralCameraIntrinsics
798
- });
798
+ }, errorCallback ? proxy(error => errorCallback(error, topic)) : undefined);
799
799
  }
800
800
  };
801
801
  }
@@ -915,6 +915,7 @@ class FoxgloveConnection {
915
915
  parameters = new Map();
916
916
  publishedTopics = new Map();
917
917
  subscribedTopics = new Map();
918
+ unsupportedTopics = new Set();
918
919
  advertisedServices = new Map();
919
920
  skipPoitcloud = false;
920
921
  problems = new ProblemManager();
@@ -948,10 +949,10 @@ class FoxgloveConnection {
948
949
  getCurrentTime() {
949
950
  return dist$1.fromMillis(Date.now());
950
951
  }
951
- onMessagePacket(event) {
952
+ onMessagePacket(event, errorCallback) {
952
953
  this.inputMetrics.registerEvent(event.data.topic);
953
954
  this.throughputMetrics.registerEvent(event.data.topic, event.data.buffer.byteLength);
954
- this.messageHandler.handle(event.data);
955
+ this.messageHandler.handle(event.data, errorCallback);
955
956
  }
956
957
  submitPoitcloudFrameCallback(coloredEvent, poitcloudFrame, message) {
957
958
  coloredEvent.topic = "Point Cloud";
@@ -991,7 +992,7 @@ class FoxgloveConnection {
991
992
  parseResolutionFromMessage(message, topic) {
992
993
  // Check if usual width/height attributes are present
993
994
  // @ts-expect-error - ITS unknow
994
- if ('width' in message && 'height' in message) {
995
+ if ("width" in message && "height" in message) {
995
996
  this.resolutions.set(topic, `${message.width}x${message.height}`);
996
997
  return {
997
998
  width: message.width,
@@ -1076,6 +1077,7 @@ class FoxgloveConnection {
1076
1077
  parameters: this.parameters,
1077
1078
  publishedTopics: this.publishedTopics,
1078
1079
  subscribedTopics: this.subscribedTopics,
1080
+ unsupportedTopics: this.unsupportedTopics,
1079
1081
  services: this.advertisedServices
1080
1082
  }
1081
1083
  };
@@ -19971,7 +19973,7 @@ class WebRtcBridge extends ArtificialWorker {
19971
19973
  constructor(automaticTokenRefresh) {
19972
19974
  super();
19973
19975
  this.automaticTokenRefresh = automaticTokenRefresh;
19974
- this.#worker = new Worker(new URL("worker-CzUjMpCN.js", import.meta.url), {
19976
+ this.#worker = new Worker(new URL("worker-4R8nuLc9.js", import.meta.url), {
19975
19977
  type: "module"
19976
19978
  });
19977
19979
  this.#setupArtificialWorker();
@@ -20181,20 +20183,21 @@ class VisualizerConnection extends FoxgloveConnection {
20181
20183
  #adapter;
20182
20184
  constructor({
20183
20185
  type,
20184
- data
20186
+ data,
20187
+ errorCallback
20185
20188
  }) {
20186
- super(type === 'ws' ? data.connectionUrl : data.config.clientId);
20189
+ super(type === "ws" ? data.connectionUrl : data.config.clientId);
20187
20190
  let worker;
20188
- if (type === 'ws') {
20191
+ if (type === "ws") {
20189
20192
  this.#url = data.connectionUrl;
20190
- worker = new Worker(new URL("worker-B7qK-cxf.js", import.meta.url), {
20193
+ worker = new Worker(new URL("worker-5EVhuR0-.js", import.meta.url), {
20191
20194
  type: "module"
20192
20195
  });
20193
20196
  } else {
20194
20197
  this.#config = data.config;
20195
20198
  worker = new WebRtcBridge(data.automaticTokenRefresh);
20196
20199
  }
20197
- this.#open(worker);
20200
+ this.#open(worker, errorCallback);
20198
20201
  }
20199
20202
  close() {
20200
20203
  this.#adapter?.close();
@@ -20223,7 +20226,7 @@ class VisualizerConnection extends FoxgloveConnection {
20223
20226
  get connected() {
20224
20227
  return Boolean(this.#adapter?.readyState === WebSocket.OPEN);
20225
20228
  }
20226
- #open = worker => {
20229
+ #open = (worker, errorCallback) => {
20227
20230
  this.#adapter = new FoxgloveWebSocketAdapter({
20228
20231
  wsUrl: this.#url,
20229
20232
  config: this.#config
@@ -20242,7 +20245,7 @@ class VisualizerConnection extends FoxgloveConnection {
20242
20245
  this.emitState();
20243
20246
  });
20244
20247
  this.#adapter.addEventListener("message", event => {
20245
- this.onMessagePacket.bind(this)(event);
20248
+ this.onMessagePacket.bind(this)(event, errorCallback);
20246
20249
  });
20247
20250
  };
20248
20251
  }
@@ -34415,7 +34418,7 @@ const threeDee$2 = {
34415
34418
  yDeviation: "Y deviation",
34416
34419
  yDeviationHelp: "The Y standard deviation to publish with pose estimates",
34417
34420
  // HUD Items and empty states
34418
- noImageTopicsAvailable: "No image topics available.",
34421
+ noImageTopicsAvailable: "Waiting for image messages to arrive.",
34419
34422
  imageTopicDNE: "Stream not found",
34420
34423
  calibrationTopicDNE: "Calibration topic does not exist.",
34421
34424
  imageAndCalibrationDNE: "Image and calibration topics do not exist.",
@@ -86600,7 +86603,7 @@ function legacy(parser) {
86600
86603
  return new LanguageSupport(StreamLanguage.define(parser));
86601
86604
  }
86602
86605
  function sql$1(dialectName) {
86603
- return import('./index-CkZLfUOH.js').then(m => m.sql({ dialect: m[dialectName] }));
86606
+ return import('./index-CHQ8c72c.js').then(m => m.sql({ dialect: m[dialectName] }));
86604
86607
  }
86605
86608
  /**
86606
86609
  An array of language descriptions for known language packages.
@@ -86611,7 +86614,7 @@ const languages = [
86611
86614
  name: "C",
86612
86615
  extensions: ["c", "h", "ino"],
86613
86616
  load() {
86614
- return import('./index-CnbNpBYY.js').then(m => m.cpp());
86617
+ return import('./index-CfastwMS.js').then(m => m.cpp());
86615
86618
  }
86616
86619
  }),
86617
86620
  /*@__PURE__*/LanguageDescription.of({
@@ -86619,7 +86622,7 @@ const languages = [
86619
86622
  alias: ["cpp"],
86620
86623
  extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
86621
86624
  load() {
86622
- return import('./index-CnbNpBYY.js').then(m => m.cpp());
86625
+ return import('./index-CfastwMS.js').then(m => m.cpp());
86623
86626
  }
86624
86627
  }),
86625
86628
  /*@__PURE__*/LanguageDescription.of({
@@ -86639,7 +86642,7 @@ const languages = [
86639
86642
  name: "Go",
86640
86643
  extensions: ["go"],
86641
86644
  load() {
86642
- return import('./index-D2oWjA51.js').then(m => m.go());
86645
+ return import('./index-B_YpX6mQ.js').then(m => m.go());
86643
86646
  }
86644
86647
  }),
86645
86648
  /*@__PURE__*/LanguageDescription.of({
@@ -86654,7 +86657,7 @@ const languages = [
86654
86657
  name: "Java",
86655
86658
  extensions: ["java"],
86656
86659
  load() {
86657
- return import('./index-Bvv0HvjK.js').then(m => m.java());
86660
+ return import('./index-BXVV46N_.js').then(m => m.java());
86658
86661
  }
86659
86662
  }),
86660
86663
  /*@__PURE__*/LanguageDescription.of({
@@ -86670,7 +86673,7 @@ const languages = [
86670
86673
  alias: ["json5"],
86671
86674
  extensions: ["json", "map"],
86672
86675
  load() {
86673
- return import('./index-CWL1MGbI.js').then(m => m.json());
86676
+ return import('./index-wJ2ZczEf.js').then(m => m.json());
86674
86677
  }
86675
86678
  }),
86676
86679
  /*@__PURE__*/LanguageDescription.of({
@@ -86684,14 +86687,14 @@ const languages = [
86684
86687
  name: "LESS",
86685
86688
  extensions: ["less"],
86686
86689
  load() {
86687
- return import('./index-DW-jX1Pj.js').then(m => m.less());
86690
+ return import('./index-BJQvzWXZ.js').then(m => m.less());
86688
86691
  }
86689
86692
  }),
86690
86693
  /*@__PURE__*/LanguageDescription.of({
86691
86694
  name: "Liquid",
86692
86695
  extensions: ["liquid"],
86693
86696
  load() {
86694
- return import('./index-ucqGPDVI.js').then(m => m.liquid());
86697
+ return import('./index-Bju8N8aL.js').then(m => m.liquid());
86695
86698
  }
86696
86699
  }),
86697
86700
  /*@__PURE__*/LanguageDescription.of({
@@ -86717,7 +86720,7 @@ const languages = [
86717
86720
  name: "PHP",
86718
86721
  extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
86719
86722
  load() {
86720
- return import('./index-CM2SdPmX.js').then(m => m.php());
86723
+ return import('./index-Dss-letG.js').then(m => m.php());
86721
86724
  }
86722
86725
  }),
86723
86726
  /*@__PURE__*/LanguageDescription.of({
@@ -86734,28 +86737,28 @@ const languages = [
86734
86737
  extensions: ["BUILD", "bzl", "py", "pyw"],
86735
86738
  filename: /^(BUCK|BUILD)$/,
86736
86739
  load() {
86737
- return import('./index-DebFrzdK.js').then(m => m.python());
86740
+ return import('./index-CVyLuyd1.js').then(m => m.python());
86738
86741
  }
86739
86742
  }),
86740
86743
  /*@__PURE__*/LanguageDescription.of({
86741
86744
  name: "Rust",
86742
86745
  extensions: ["rs"],
86743
86746
  load() {
86744
- return import('./index-CwTQiogH.js').then(m => m.rust());
86747
+ return import('./index-fCPVXmPm.js').then(m => m.rust());
86745
86748
  }
86746
86749
  }),
86747
86750
  /*@__PURE__*/LanguageDescription.of({
86748
86751
  name: "Sass",
86749
86752
  extensions: ["sass"],
86750
86753
  load() {
86751
- return import('./index-Dmtoo58v.js').then(m => m.sass({ indented: true }));
86754
+ return import('./index-DV2Nx63w.js').then(m => m.sass({ indented: true }));
86752
86755
  }
86753
86756
  }),
86754
86757
  /*@__PURE__*/LanguageDescription.of({
86755
86758
  name: "SCSS",
86756
86759
  extensions: ["scss"],
86757
86760
  load() {
86758
- return import('./index-Dmtoo58v.js').then(m => m.sass());
86761
+ return import('./index-DV2Nx63w.js').then(m => m.sass());
86759
86762
  }
86760
86763
  }),
86761
86764
  /*@__PURE__*/LanguageDescription.of({
@@ -86786,7 +86789,7 @@ const languages = [
86786
86789
  name: "WebAssembly",
86787
86790
  extensions: ["wat", "wast"],
86788
86791
  load() {
86789
- return import('./index-DMheIO2h.js').then(m => m.wast());
86792
+ return import('./index-D4iLc9pG.js').then(m => m.wast());
86790
86793
  }
86791
86794
  }),
86792
86795
  /*@__PURE__*/LanguageDescription.of({
@@ -86794,7 +86797,7 @@ const languages = [
86794
86797
  alias: ["rss", "wsdl", "xsd"],
86795
86798
  extensions: ["xml", "xsl", "xsd", "svg"],
86796
86799
  load() {
86797
- return import('./index-BlH0MRDH.js').then(m => m.xml());
86800
+ return import('./index-C4J2Ez3Z.js').then(m => m.xml());
86798
86801
  }
86799
86802
  }),
86800
86803
  /*@__PURE__*/LanguageDescription.of({
@@ -86802,7 +86805,7 @@ const languages = [
86802
86805
  alias: ["yml"],
86803
86806
  extensions: ["yaml", "yml"],
86804
86807
  load() {
86805
- return import('./index-CWZkD8lT.js').then(m => m.yaml());
86808
+ return import('./index-CW07jSZd.js').then(m => m.yaml());
86806
86809
  }
86807
86810
  }),
86808
86811
  // Legacy modes ported from CodeMirror 5
@@ -87598,13 +87601,13 @@ const languages = [
87598
87601
  name: "Vue",
87599
87602
  extensions: ["vue"],
87600
87603
  load() {
87601
- return import('./index-BuMzm_bX.js').then(m => m.vue());
87604
+ return import('./index-BtiKczUb.js').then(m => m.vue());
87602
87605
  }
87603
87606
  }),
87604
87607
  /*@__PURE__*/LanguageDescription.of({
87605
87608
  name: "Angular Template",
87606
87609
  load() {
87607
- return import('./index-BFI0jE7B.js').then(m => m.angular());
87610
+ return import('./index-FFoDQ871.js').then(m => m.angular());
87608
87611
  }
87609
87612
  })
87610
87613
  ];
@@ -165820,11 +165823,11 @@ function PanelToolbarMetrics({
165820
165823
  className: "font-semibold"
165821
165824
  }, " Camera:"), " ", !targetFps || targetFps === 0 ? "-" : targetFps, "\xA0FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165822
165825
  className: "font-semibold"
165823
- }, "Network: "), !metrics || metrics?.incomingMessagesFps === 0 ? "-" : metrics.incomingMessagesFps, "\xA0FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165826
+ }, "Network: "), !metrics || metrics?.incomingMessagesFps === 0 || !Number.isFinite(metrics.incomingMessagesFps) ? "-" : metrics.incomingMessagesFps, "\xA0FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165824
165827
  className: "font-semibold"
165825
- }, "Decoding: "), !metrics || metrics?.decodedMessagesFps === 0 ? "-" : metrics.decodedMessagesFps, "\xA0FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165828
+ }, "Decoding: "), !metrics || metrics?.decodedMessagesFps === 0 || !Number.isFinite(metrics.decodedMessagesFps) ? "-" : metrics.decodedMessagesFps, "\xA0FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165826
165829
  className: "font-semibold"
165827
- }, "Rendering:"), " ", !renderedFps || renderedFps === 0 ? "-" : renderedFps, "\xA0FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165830
+ }, "Rendering:"), " ", !renderedFps || renderedFps === 0 || !Number.isFinite(renderedFps) ? "-" : renderedFps, "\xA0FPS"), annotationsFps !== undefined && annotationsFps !== 0 && /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165828
165831
  className: "font-semibold"
165829
165832
  }, "Annotations: "), !annotationsFps || annotationsFps === 0 || !Number.isFinite(annotationsFps) ? "-" : annotationsFps, "\xA0FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
165830
165833
  className: "font-semibold"
@@ -165839,15 +165842,15 @@ function PanelToolbarMetrics({
165839
165842
  colorVariant: "white",
165840
165843
  size: "sm",
165841
165844
  className: "text-gray-700"
165842
- })) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, targetFps !== undefined && /*#__PURE__*/React__default.createElement(Label$3, {
165845
+ })) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, targetFps !== undefined && !isNaN(targetFps) && /*#__PURE__*/React__default.createElement(Label$3, {
165843
165846
  text: `Camera: ${targetFps === 0 ? "-" : targetFps}\u00A0FPS`
165844
165847
  }), metrics?.incomingMessagesFps !== undefined && /*#__PURE__*/React__default.createElement(Label$3, {
165845
- text: `Network: ${metrics.incomingMessagesFps === 0 ? "-" : metrics.incomingMessagesFps}\u00A0FPS`
165848
+ text: `Network: ${metrics.incomingMessagesFps === 0 || !Number.isFinite(metrics.incomingMessagesFps) ? "-" : metrics.incomingMessagesFps}\u00A0FPS`
165846
165849
  }), metrics?.decodedMessagesFps !== undefined && /*#__PURE__*/React__default.createElement(Label$3, {
165847
- text: `Decoding: ${metrics.decodedMessagesFps === 0 ? "-" : metrics.decodedMessagesFps}\u00A0FPS`
165850
+ text: `Decoding: ${metrics.decodedMessagesFps === 0 || !Number.isFinite(metrics.decodedMessagesFps) ? "-" : metrics.decodedMessagesFps}\u00A0FPS`
165848
165851
  }), renderedFps !== undefined && /*#__PURE__*/React__default.createElement(Label$3, {
165849
- text: `Rendering: ${renderedFps === 0 ? "-" : renderedFps}\u00A0FPS`
165850
- }), annotationsFps !== undefined && /*#__PURE__*/React__default.createElement(Label$3, {
165852
+ text: `Rendering: ${renderedFps === 0 || !Number.isFinite(renderedFps) ? "-" : renderedFps}\u00A0FPS`
165853
+ }), annotationsFps !== undefined && annotationsFps !== 0 && /*#__PURE__*/React__default.createElement(Label$3, {
165851
165854
  text: `Annotations: ${annotationsFps === 0 || !Number.isFinite(annotationsFps) ? "-" : annotationsFps}\u00A0FPS`
165852
165855
  }), metrics?.messageThroughput !== undefined && /*#__PURE__*/React__default.createElement(Label$3, {
165853
165856
  text: `Throughput: ${metrics.messageThroughput === 0 ? "-" : metrics.messageThroughput}\u00A0Mbps`
@@ -166178,7 +166181,7 @@ function createRenderDelaySampler() {
166178
166181
  };
166179
166182
  }
166180
166183
 
166181
- const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-B_MLNn71.js'));
166184
+ const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-Dzy9H4eN.js'));
166182
166185
  const ImagePanelBody = ({
166183
166186
  topic,
166184
166187
  frameRenderedEvent,
@@ -166277,7 +166280,7 @@ const DEFAULT_CAMERA_STATE = {
166277
166280
  // License, v2.0. If a copy of the MPL was not distributed with this
166278
166281
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
166279
166282
 
166280
- const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-YJjThsR7.js'));
166283
+ const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-B0a8Fcsq.js'));
166281
166284
  const PointCloudPanelBody = ({
166282
166285
  topic,
166283
166286
  frameRenderedEvent
@@ -1,4 +1,4 @@
1
- import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-zCN1izA0.js';
1
+ import { V as ExternalTokenizer, O as styleTags, Q as tags, X as LRParser, T as LRLanguage, K as indentNodeProp, M as continuedIndent, N as foldNodeProp, a2 as foldInside, U as LanguageSupport } from './index-MWcjCcp7.js';
2
2
  import './tslib.es6-C73eoP_E.js';
3
3
  import 'react';
4
4
  import 'react-mosaic-component';