@luxonis/visualizer-protobuf 3.0.1-rc.5 → 3.0.1-rc.7

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 (59) hide show
  1. package/dist/{FoxgloveServer-IKIxLGUB.js → FoxgloveServer-B98MHUu6.js} +1 -1
  2. package/dist/{communicator-RNelFNGS.js → communicator-D1clAtYY.js} +1 -1
  3. package/dist/{depth-BD-Wmpta.js → depth-CkdNsD0V.js} +11 -32
  4. package/dist/{deserialization.worker-CsBpQ5vd.js → deserialization.worker-D08jiYzy.js} +51 -3
  5. package/dist/{foxglove-protocol-CrmuHMeG.js → foxglove-protocol-yHdoBNaD.js} +1 -1
  6. package/dist/{index-B5zPby8z.js → index-3KFjSedc.js} +28 -28
  7. package/dist/{index-Qe-J5nkr.js → index-BB2saLL0.js} +7 -7
  8. package/dist/{index-Dp7c828Q.js → index-BLnkjzfu.js} +5 -5
  9. package/dist/{index-CH4fwcv8.js → index-Bc7fI6TL.js} +5 -5
  10. package/dist/{index-DcawCGnD.js → index-BwIFr2GO.js} +5 -5
  11. package/dist/{index-DyjKbXRs.js → index-C1pwwXba.js} +5 -5
  12. package/dist/{index-CJiGYWMY.js → index-CC2P2xHA.js} +5 -5
  13. package/dist/{index-DDskP_nw.js → index-CK6gj9jd.js} +9 -8
  14. package/dist/{index-D4Ziaz8T.js → index-CWZGghIT.js} +5 -5
  15. package/dist/{index-Dc6XerOH.js → index-CcMsY-mW.js} +5 -5
  16. package/dist/{index-DlNRShy7.js → index-CoTxV44P.js} +5 -5
  17. package/dist/{index-B5-YNjFE.js → index-CuE1UIOh.js} +5 -5
  18. package/dist/{index-ZJF2Agu3.js → index-D8hbZSaA.js} +5 -5
  19. package/dist/{index-CiKIi-OD.js → index-DC2Vl10a.js} +5 -5
  20. package/dist/{index-DtYs_9ps.js → index-DewmbivE.js} +5 -5
  21. package/dist/{index-ER9UoMQP.js → index-DhUKoxH_.js} +5 -5
  22. package/dist/{index-DyhbVTSX.js → index-Dqm1x8G2.js} +1 -1
  23. package/dist/{index-BIvUdKoe.js → index-SLuN_qOx.js} +5 -5
  24. package/dist/{index-C7KKdK9u.js → index-l0W3bXZ2.js} +5 -5
  25. package/dist/{index-C248x08U.js → index-mWx07wNt.js} +5 -5
  26. package/dist/{index-Cikd8xGl.js → index-oetn7eeB.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/messaging/deserialization/detections/detection.d.ts +1 -1
  29. package/dist/lib/src/messaging/deserialization/detections/detection.d.ts.map +1 -1
  30. package/dist/lib/src/messaging/deserialization/detections/detection.js +49 -5
  31. package/dist/lib/src/messaging/deserialization/detections/detection.js.map +1 -1
  32. package/dist/lib/src/messaging/deserialization/video/depth.js +1 -1
  33. package/dist/lib/src/messaging/deserialization/video/depth.js.map +1 -1
  34. package/dist/lib/src/protobuf.generated/Event.d.ts +114 -25
  35. package/dist/lib/src/protobuf.generated/Event.d.ts.map +1 -1
  36. package/dist/lib/src/protobuf.generated/Event.js +1427 -275
  37. package/dist/lib/src/protobuf.generated/Event.js.map +1 -1
  38. package/dist/lib/src/protobuf.generated/ImageAnnotations.d.ts +2 -1
  39. package/dist/lib/src/protobuf.generated/ImageAnnotations.d.ts.map +1 -1
  40. package/dist/lib/src/protobuf.generated/ImageAnnotations.js +19 -2
  41. package/dist/lib/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  42. package/dist/lib/src/protobuf.generated/ImgDetections.d.ts +6 -1
  43. package/dist/lib/src/protobuf.generated/ImgDetections.d.ts.map +1 -1
  44. package/dist/lib/src/protobuf.generated/ImgDetections.js +128 -3
  45. package/dist/lib/src/protobuf.generated/ImgDetections.js.map +1 -1
  46. package/dist/lib/src/protobuf.generated/SpatialImgDetections.d.ts +11 -10
  47. package/dist/lib/src/protobuf.generated/SpatialImgDetections.d.ts.map +1 -1
  48. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +184 -86
  49. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  50. package/dist/lib/src/protobuf.generated/common.d.ts +47 -0
  51. package/dist/lib/src/protobuf.generated/common.d.ts.map +1 -1
  52. package/dist/lib/src/protobuf.generated/common.js +661 -0
  53. package/dist/lib/src/protobuf.generated/common.js.map +1 -1
  54. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.js +3 -3
  55. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.js.map +1 -1
  56. package/dist/{protobuf-BuuGfjDH.js → protobuf-Be0G3NFz.js} +1047 -118
  57. package/dist/{worker-BptbF7TT.js → worker-B6paT-I9.js} +3 -3
  58. package/dist/{worker-CneWixWe.js → worker-BdmIK_Az.js} +4 -4
  59. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { g as getDefaultExportFromCjs } from './protobuf-BuuGfjDH.js';
2
+ import { g as getDefaultExportFromCjs } from './protobuf-Be0G3NFz.js';
3
3
  import require$$0 from 'ms';
4
4
 
5
5
  var eventemitter3 = {exports: {}};
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { _ as _classPrivateFieldLooseBase, p as protobufsBySchema, b as _objectSpread2, a as _classPrivateFieldLooseKey } from './protobuf-BuuGfjDH.js';
2
+ import { _ as _classPrivateFieldLooseBase, p as protobufsBySchema, b as _objectSpread2, a as _classPrivateFieldLooseKey } from './protobuf-Be0G3NFz.js';
3
3
  import { r as recordToDataView } from './encoding-jXImCIb4.js';
4
4
 
5
5
  // | { type: "custom"; data: any };
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { w as wrap, t as transfer } from './comlink-wXOdMqIH.js';
3
- import { f as commonjsGlobal, _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, g as getDefaultExportFromCjs, b as _objectSpread2, T as Type } from './protobuf-BuuGfjDH.js';
3
+ import { f as commonjsGlobal, _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, g as getDefaultExportFromCjs, b as _objectSpread2, T as Type } from './protobuf-Be0G3NFz.js';
4
4
  import { useContext, useRef, useLayoutEffect, createContext, useReducer, useState, useCallback } from 'react';
5
5
  import 'zustand';
6
6
  import { isParent, getLeaves, createRemoveUpdate, updateTree, getNodeAtPath } from 'react-mosaic-component';
@@ -546,7 +546,7 @@ var Logger$1 = Logger.default;
546
546
  // License, v2.0. If a copy of the MPL was not distributed with this
547
547
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
548
548
 
549
- const log$6 = Logger$1.getLogger("src/index.ts");
549
+ const log$5 = Logger$1.getLogger("src/index.ts");
550
550
  /**
551
551
  * Values of the contants below are a (more or less) informed guesses and not guaranteed to be accurate.
552
552
  */
@@ -622,7 +622,7 @@ function estimateObjectSize(obj) {
622
622
  throw new Error(`Can't estimate size of type '${typeof obj}'`);
623
623
  }
624
624
  }
625
- log$6.error(`Can't estimate size of type '${typeof obj}'`);
625
+ log$5.error(`Can't estimate size of type '${typeof obj}'`);
626
626
  return SMALL_INTEGER_SIZE;
627
627
  }
628
628
 
@@ -2656,15 +2656,15 @@ function useGuaranteedContext(contextType, debugContextName) {
2656
2656
  // License, v2.0. If a copy of the MPL was not distributed with this
2657
2657
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
2658
2658
 
2659
- const log$5 = Logger$1.getLogger("src/index.ts");
2659
+ const log$4 = Logger$1.getLogger("src/index.ts");
2660
2660
  const useMustNotChangeImpl = value => {
2661
2661
  const valueRef = useRef(value);
2662
2662
  if (valueRef.current !== value) {
2663
- log$5.error("Value must not change", valueRef.current);
2663
+ log$4.error("Value must not change", valueRef.current);
2664
2664
  }
2665
2665
  valueRef.current = value;
2666
2666
  };
2667
- const noOpImpl$1 = () => {};
2667
+ const noOpImpl = () => {};
2668
2668
 
2669
2669
  /**
2670
2670
  * useMustNotChange throws if the value provided as the first argument ever changes.
@@ -2672,7 +2672,7 @@ const noOpImpl$1 = () => {};
2672
2672
  * Note: In production builds this hook is a no-op.
2673
2673
  *
2674
2674
  */
2675
- const useMustNotChange = process.env.NODE_ENV !== "development" ? noOpImpl$1 : useMustNotChangeImpl;
2675
+ const useMustNotChange = process.env.NODE_ENV !== "development" ? noOpImpl : useMustNotChangeImpl;
2676
2676
 
2677
2677
  // This Source Code Form is subject to the terms of the Mozilla Public
2678
2678
  // License, v2.0. If a copy of the MPL was not distributed with this
@@ -2688,29 +2688,6 @@ function useShallowMemo(value) {
2688
2688
  return value;
2689
2689
  }
2690
2690
 
2691
- // This Source Code Form is subject to the terms of the Mozilla Public
2692
- // License, v2.0. If a copy of the MPL was not distributed with this
2693
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
2694
-
2695
- const log$4 = Logger$1.getLogger("src/index.ts");
2696
- const noOpImpl = () => {};
2697
- function useValueChangedDebugLogImpl(value, msg) {
2698
- const prevValue = useRef(value);
2699
- if (prevValue.current !== value) {
2700
- log$4.debug(`value changed: ${msg}`);
2701
- }
2702
- useLayoutEffect(() => {
2703
- prevValue.current = value;
2704
- });
2705
- }
2706
-
2707
- /**
2708
- * useValueChangedDebugLog logs `msg` if `value` changes
2709
- *
2710
- * Note: In production builds this hook is a no-op.
2711
- */
2712
- const useValueChangedDebugLog = process.env.NODE_ENV !== "development" && process.env.NODE_ENV !== "test" ? noOpImpl : useValueChangedDebugLogImpl;
2713
-
2714
2691
  // This Source Code Form is subject to the terms of the Mozilla Public
2715
2692
  // License, v2.0. If a copy of the MPL was not distributed with this
2716
2693
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
@@ -3819,7 +3796,9 @@ const WORKER_COUNT = 3;
3819
3796
  const workerPool = Array.from({
3820
3797
  length: WORKER_COUNT
3821
3798
  }, () => ({
3822
- remote: wrap(new Worker(new URL("depth-coloring.worker-CAXQfIhb.js", import.meta.url))),
3799
+ remote: wrap(new Worker(new URL("depth-coloring.worker-CAXQfIhb.js", import.meta.url), {
3800
+ type: "module"
3801
+ })),
3823
3802
  busy: false
3824
3803
  }));
3825
3804
  function getDepthWorker() {
@@ -3928,4 +3907,4 @@ function getDistanceFromDepthDataForOffset(depthData, width, height, xOffset, yO
3928
3907
  return sum / count;
3929
3908
  }
3930
3909
 
3931
- export { arrayPush as $, AppError as A, getAllPanelIds as B, getConfigsForNestedPanelsInsideTab as C, DEFAULT_TAB_PANEL_CONFIG as D, reorderTabWithinTabPanel as E, moveTabBetweenTabPanels as F, isTabPanelConfig as G, addPanelToTab as H, createAddUpdates as I, filterMap as J, uniq as K, Logger$1 as L, useShallowMemo as M, CurrentLayoutContext as N, MessageOrderTracker as O, AppConfigurationContext as P, getDistanceFromDepthDataForOffset as Q, parseMessage as R, fromMillis as S, TAB_PANEL_TYPE as T, parsePixelFormat as U, deserializeDepthFrame as V, isSymbol as W, toString as X, keys as Y, getSymbols as Z, stubArray as _, baseEach as a, baseGetAllKeys as a0, getAllKeys as a1, arrayMap as a2, useMustNotChange as a3, useCurrentLayoutActions as a4, useCurrentLayoutSelector as a5, usePanelMosaicId as a6, noop as a7, useSelectedPanels as a8, useAppConfiguration as a9, useValueChangedDebugLog as aa, useJsonTreeTheme as ab, baseFlatten as b, baseIteratee as c, dist as d, estimateObjectSize as e, baseDifference as f, getTag as g, baseKeys as h, baseIsEqual as i, castPath as j, baseGet as k, hasIn as l, shallowequal$1 as m, getPanelIdsInsideTabPanels as n, getPanelTypeFromId as o, removePanelFromTabPanel as p, getPanelIdForType as q, reportError as r, sendNotification as s, toKey as t, useGuaranteedContext as u, getPathFromNode as v, updateTabPanelLayout as w, getSaveConfigsPayloadForAddedPanel as x, replaceAndRemovePanels as y, inlineTabPanelLayouts as z };
3910
+ export { arrayPush as $, AppError as A, getAllPanelIds as B, getConfigsForNestedPanelsInsideTab as C, DEFAULT_TAB_PANEL_CONFIG as D, reorderTabWithinTabPanel as E, moveTabBetweenTabPanels as F, isTabPanelConfig as G, addPanelToTab as H, createAddUpdates as I, filterMap as J, uniq as K, Logger$1 as L, useShallowMemo as M, CurrentLayoutContext as N, MessageOrderTracker as O, AppConfigurationContext as P, getDistanceFromDepthDataForOffset as Q, parseMessage as R, fromMillis as S, TAB_PANEL_TYPE as T, parsePixelFormat as U, deserializeDepthFrame as V, isSymbol as W, toString as X, keys as Y, getSymbols as Z, stubArray as _, baseEach as a, baseGetAllKeys as a0, getAllKeys as a1, arrayMap as a2, useMustNotChange as a3, useCurrentLayoutActions as a4, useCurrentLayoutSelector as a5, usePanelMosaicId as a6, noop as a7, useSelectedPanels as a8, useAppConfiguration as a9, useJsonTreeTheme as aa, baseFlatten as b, baseIteratee as c, dist as d, estimateObjectSize as e, baseDifference as f, getTag as g, baseKeys as h, baseIsEqual as i, castPath as j, baseGet as k, hasIn as l, shallowequal$1 as m, getPanelIdsInsideTabPanels as n, getPanelTypeFromId as o, removePanelFromTabPanel as p, getPanelIdForType as q, reportError as r, sendNotification as s, toKey as t, useGuaranteedContext as u, getPathFromNode as v, updateTabPanelLayout as w, getSaveConfigsPayloadForAddedPanel as x, replaceAndRemovePanels as y, inlineTabPanelLayouts as z };
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { b as _objectSpread2, P as PointsAnnotationType, p as protobufsBySchema, T as Type, h as Profile } from './protobuf-BuuGfjDH.js';
2
+ import { b as _objectSpread2, P as PointsAnnotationType, p as protobufsBySchema, T as Type, h as Profile } from './protobuf-Be0G3NFz.js';
3
3
  import { e as expose } from './comlink-wXOdMqIH.js';
4
- import { t as typescript } from './index-DyhbVTSX.js';
5
- import { R as parseMessage, e as estimateObjectSize, S as fromMillis, d as dist, U as parsePixelFormat, V as deserializeDepthFrame } from './depth-BD-Wmpta.js';
4
+ import { t as typescript } from './index-Dqm1x8G2.js';
5
+ import { R as parseMessage, e as estimateObjectSize, S as fromMillis, d as dist, U as parsePixelFormat, V as deserializeDepthFrame } from './depth-CkdNsD0V.js';
6
6
  import { i as isCapableOfEncodedStream } from './encoding-jXImCIb4.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -368,6 +368,54 @@ function deserializeImgDetections({
368
368
  outline_color: DEBUG_COLOR,
369
369
  fill_color: style.fill
370
370
  });
371
+ if (detection.keypoints) {
372
+ const confThreshold = 0.7;
373
+ const {
374
+ keypoints: keypointsBeforeConfidenceFilter,
375
+ edges
376
+ } = detection.keypoints;
377
+ const keypoints = keypointsBeforeConfidenceFilter.filter(keypoint => keypoint.confidence >= confThreshold);
378
+
379
+ // Add keypoints as circles
380
+ for (const keypoint of keypoints) {
381
+ if (keypoint.imageCoordinates) {
382
+ foxgloveMessage.circles.push({
383
+ timestamp: receiveTime,
384
+ position: {
385
+ x: keypoint.imageCoordinates.x,
386
+ y: keypoint.imageCoordinates.y
387
+ },
388
+ diameter: 0.01,
389
+ thickness: 2,
390
+ fill_color: style.outline,
391
+ outline_color: style.outline
392
+ });
393
+ }
394
+ }
395
+
396
+ // Add edges as line segments
397
+ for (const edge of edges) {
398
+ const srcKeypoint = keypointsBeforeConfidenceFilter[edge.src];
399
+ const dstKeypoint = keypointsBeforeConfidenceFilter[edge.dst];
400
+ if (srcKeypoint !== null && srcKeypoint !== void 0 && srcKeypoint.imageCoordinates && dstKeypoint !== null && dstKeypoint !== void 0 && dstKeypoint.imageCoordinates && srcKeypoint.confidence >= confThreshold && dstKeypoint.confidence >= confThreshold) {
401
+ foxgloveMessage.points.push({
402
+ timestamp: receiveTime,
403
+ points: [{
404
+ x: srcKeypoint.imageCoordinates.x,
405
+ y: srcKeypoint.imageCoordinates.y
406
+ }, {
407
+ x: dstKeypoint.imageCoordinates.x,
408
+ y: dstKeypoint.imageCoordinates.y
409
+ }],
410
+ type: typescript.PointsAnnotationType.LINE_LIST,
411
+ outline_colors: [],
412
+ thickness: 2,
413
+ outline_color: style.outline,
414
+ fill_color: DEBUG_COLOR
415
+ });
416
+ }
417
+ }
418
+ }
371
419
  const baseHighlightConfig = {
372
420
  timestamp: receiveTime,
373
421
  type: typescript.PointsAnnotationType.LINE_LIST,
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-IKIxLGUB.js';
2
+ import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-B98MHUu6.js';
3
3
 
4
4
  // This Source Code Form is subject to the terms of the Mozilla Public
5
5
  // License, v2.0. If a copy of the MPL was not distributed with this
@@ -1,12 +1,12 @@
1
1
  'use client';
2
- import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, b as _objectSpread2, p as protobufsBySchema, c as protobufSchemaNameToType, g as getDefaultExportFromCjs, d as _objectWithoutProperties$2, e as _extends$2, f as commonjsGlobal } from './protobuf-BuuGfjDH.js';
3
- import { d as dist$1, e as estimateObjectSize, r as reportError, A as AppError, b as baseFlatten, a as baseEach, c as baseIteratee, f as baseDifference, g as getTag, h as baseKeys, i as baseIsEqual, j as castPath, t as toKey, k as baseGet, l as hasIn, s as sendNotification, m as shallowequal, u as useGuaranteedContext, n as getPanelIdsInsideTabPanels, o as getPanelTypeFromId, T as TAB_PANEL_TYPE, p as removePanelFromTabPanel, q as getPanelIdForType, v as getPathFromNode, w as updateTabPanelLayout, x as getSaveConfigsPayloadForAddedPanel, y as replaceAndRemovePanels, z as inlineTabPanelLayouts, B as getAllPanelIds, D as DEFAULT_TAB_PANEL_CONFIG, C as getConfigsForNestedPanelsInsideTab, E as reorderTabWithinTabPanel, F as moveTabBetweenTabPanels, G as isTabPanelConfig, H as addPanelToTab, I as createAddUpdates, J as filterMap, L as Logger, K as uniq$2, M as useShallowMemo, N as CurrentLayoutContext, O as MessageOrderTracker, P as AppConfigurationContext } from './depth-BD-Wmpta.js';
2
+ import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, b as _objectSpread2, p as protobufsBySchema, c as protobufSchemaNameToType, g as getDefaultExportFromCjs, d as _objectWithoutProperties$2, e as _extends$2, f as commonjsGlobal } from './protobuf-Be0G3NFz.js';
3
+ import { d as dist$1, e as estimateObjectSize, r as reportError, A as AppError, b as baseFlatten, a as baseEach, c as baseIteratee, f as baseDifference, g as getTag, h as baseKeys, i as baseIsEqual, j as castPath, t as toKey, k as baseGet, l as hasIn, s as sendNotification, m as shallowequal, u as useGuaranteedContext, n as getPanelIdsInsideTabPanels, o as getPanelTypeFromId, T as TAB_PANEL_TYPE, p as removePanelFromTabPanel, q as getPanelIdForType, v as getPathFromNode, w as updateTabPanelLayout, x as getSaveConfigsPayloadForAddedPanel, y as replaceAndRemovePanels, z as inlineTabPanelLayouts, B as getAllPanelIds, D as DEFAULT_TAB_PANEL_CONFIG, C as getConfigsForNestedPanelsInsideTab, E as reorderTabWithinTabPanel, F as moveTabBetweenTabPanels, G as isTabPanelConfig, H as addPanelToTab, I as createAddUpdates, J as filterMap, L as Logger, K as uniq$2, M as useShallowMemo, N as CurrentLayoutContext, O as MessageOrderTracker, P as AppConfigurationContext } from './depth-CkdNsD0V.js';
4
4
  import { w as wrap$3, p as proxy } from './comlink-wXOdMqIH.js';
5
5
  import { u as uint8ArrayToUint16Array } from './utils-DmlHZWuo.js';
6
6
  import * as React$1 from 'react';
7
7
  import React__default, { useRef, useMemo, createContext, useContext, forwardRef, createElement, useState, Component, useCallback, useEffect, useLayoutEffect, useReducer, useImperativeHandle, Fragment as Fragment$1, Suspense } from 'react';
8
- import { B as BinaryOpcode } from './FoxgloveServer-IKIxLGUB.js';
9
- import { p as parseFoxgloveMessage } from './foxglove-protocol-CrmuHMeG.js';
8
+ import { B as BinaryOpcode } from './FoxgloveServer-B98MHUu6.js';
9
+ import { p as parseFoxgloveMessage } from './foxglove-protocol-yHdoBNaD.js';
10
10
  import { DndProvider } from 'react-dnd';
11
11
  import { HTML5Backend } from 'react-dnd-html5-backend';
12
12
  import { getLeaves, createRemoveUpdate, updateTree, createHideUpdate, createDragToUpdates, getNodeAtPath, MosaicContext, MosaicWindowContext } from 'react-mosaic-component';
@@ -907,7 +907,7 @@ ConfigStore.instance = void 0;
907
907
 
908
908
  var _localStorage$getItem;
909
909
  function initWorker(callback) {
910
- const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-CsBpQ5vd.js", import.meta.url), {
910
+ const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-D08jiYzy.js", import.meta.url), {
911
911
  type: "module",
912
912
  name: `message-decoder`
913
913
  }));
@@ -22911,7 +22911,7 @@ class WebRtcBridge extends ArtificialWorker {
22911
22911
  value: null
22912
22912
  });
22913
22913
  this.commsProxy = null;
22914
- _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-CneWixWe.js", import.meta.url), {
22914
+ _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-BdmIK_Az.js", import.meta.url), {
22915
22915
  type: "module"
22916
22916
  });
22917
22917
  _classPrivateFieldLooseBase(this, _setupArtificialWorker)[_setupArtificialWorker]();
@@ -23166,7 +23166,7 @@ class VisualizerConnection extends FoxgloveConnection {
23166
23166
  let _worker;
23167
23167
  if (type === "ws") {
23168
23168
  _classPrivateFieldLooseBase(this, _url)[_url] = data.connectionUrl;
23169
- _worker = new Worker(new URL("worker-BptbF7TT.js", import.meta.url), {
23169
+ _worker = new Worker(new URL("worker-B6paT-I9.js", import.meta.url), {
23170
23170
  type: "module"
23171
23171
  });
23172
23172
  } else {
@@ -89211,7 +89211,7 @@ function legacy(parser) {
89211
89211
  return new LanguageSupport(StreamLanguage.define(parser));
89212
89212
  }
89213
89213
  function sql$1(dialectName) {
89214
- return import('./index-ER9UoMQP.js').then(m => m.sql({ dialect: m[dialectName] }));
89214
+ return import('./index-DhUKoxH_.js').then(m => m.sql({ dialect: m[dialectName] }));
89215
89215
  }
89216
89216
  /**
89217
89217
  An array of language descriptions for known language packages.
@@ -89222,7 +89222,7 @@ const languages = [
89222
89222
  name: "C",
89223
89223
  extensions: ["c", "h", "ino"],
89224
89224
  load() {
89225
- return import('./index-CiKIi-OD.js').then(m => m.cpp());
89225
+ return import('./index-DC2Vl10a.js').then(m => m.cpp());
89226
89226
  }
89227
89227
  }),
89228
89228
  /*@__PURE__*/LanguageDescription.of({
@@ -89230,7 +89230,7 @@ const languages = [
89230
89230
  alias: ["cpp"],
89231
89231
  extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
89232
89232
  load() {
89233
- return import('./index-CiKIi-OD.js').then(m => m.cpp());
89233
+ return import('./index-DC2Vl10a.js').then(m => m.cpp());
89234
89234
  }
89235
89235
  }),
89236
89236
  /*@__PURE__*/LanguageDescription.of({
@@ -89250,7 +89250,7 @@ const languages = [
89250
89250
  name: "Go",
89251
89251
  extensions: ["go"],
89252
89252
  load() {
89253
- return import('./index-CH4fwcv8.js').then(m => m.go());
89253
+ return import('./index-Bc7fI6TL.js').then(m => m.go());
89254
89254
  }
89255
89255
  }),
89256
89256
  /*@__PURE__*/LanguageDescription.of({
@@ -89265,7 +89265,7 @@ const languages = [
89265
89265
  name: "Java",
89266
89266
  extensions: ["java"],
89267
89267
  load() {
89268
- return import('./index-Dp7c828Q.js').then(m => m.java());
89268
+ return import('./index-BLnkjzfu.js').then(m => m.java());
89269
89269
  }
89270
89270
  }),
89271
89271
  /*@__PURE__*/LanguageDescription.of({
@@ -89280,7 +89280,7 @@ const languages = [
89280
89280
  name: "Jinja",
89281
89281
  extensions: ["j2", "jinja", "jinja2"],
89282
89282
  load() {
89283
- return import('./index-Cikd8xGl.js').then(m => m.jinja());
89283
+ return import('./index-oetn7eeB.js').then(m => m.jinja());
89284
89284
  }
89285
89285
  }),
89286
89286
  /*@__PURE__*/LanguageDescription.of({
@@ -89288,7 +89288,7 @@ const languages = [
89288
89288
  alias: ["json5"],
89289
89289
  extensions: ["json", "map"],
89290
89290
  load() {
89291
- return import('./index-DtYs_9ps.js').then(m => m.json());
89291
+ return import('./index-DewmbivE.js').then(m => m.json());
89292
89292
  }
89293
89293
  }),
89294
89294
  /*@__PURE__*/LanguageDescription.of({
@@ -89302,14 +89302,14 @@ const languages = [
89302
89302
  name: "LESS",
89303
89303
  extensions: ["less"],
89304
89304
  load() {
89305
- return import('./index-D4Ziaz8T.js').then(m => m.less());
89305
+ return import('./index-CWZGghIT.js').then(m => m.less());
89306
89306
  }
89307
89307
  }),
89308
89308
  /*@__PURE__*/LanguageDescription.of({
89309
89309
  name: "Liquid",
89310
89310
  extensions: ["liquid"],
89311
89311
  load() {
89312
- return import('./index-Dc6XerOH.js').then(m => m.liquid());
89312
+ return import('./index-CcMsY-mW.js').then(m => m.liquid());
89313
89313
  }
89314
89314
  }),
89315
89315
  /*@__PURE__*/LanguageDescription.of({
@@ -89335,7 +89335,7 @@ const languages = [
89335
89335
  name: "PHP",
89336
89336
  extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
89337
89337
  load() {
89338
- return import('./index-ZJF2Agu3.js').then(m => m.php());
89338
+ return import('./index-D8hbZSaA.js').then(m => m.php());
89339
89339
  }
89340
89340
  }),
89341
89341
  /*@__PURE__*/LanguageDescription.of({
@@ -89352,28 +89352,28 @@ const languages = [
89352
89352
  extensions: ["BUILD", "bzl", "py", "pyw"],
89353
89353
  filename: /^(BUCK|BUILD)$/,
89354
89354
  load() {
89355
- return import('./index-C248x08U.js').then(m => m.python());
89355
+ return import('./index-mWx07wNt.js').then(m => m.python());
89356
89356
  }
89357
89357
  }),
89358
89358
  /*@__PURE__*/LanguageDescription.of({
89359
89359
  name: "Rust",
89360
89360
  extensions: ["rs"],
89361
89361
  load() {
89362
- return import('./index-C7KKdK9u.js').then(m => m.rust());
89362
+ return import('./index-l0W3bXZ2.js').then(m => m.rust());
89363
89363
  }
89364
89364
  }),
89365
89365
  /*@__PURE__*/LanguageDescription.of({
89366
89366
  name: "Sass",
89367
89367
  extensions: ["sass"],
89368
89368
  load() {
89369
- return import('./index-DlNRShy7.js').then(m => m.sass({ indented: true }));
89369
+ return import('./index-CoTxV44P.js').then(m => m.sass({ indented: true }));
89370
89370
  }
89371
89371
  }),
89372
89372
  /*@__PURE__*/LanguageDescription.of({
89373
89373
  name: "SCSS",
89374
89374
  extensions: ["scss"],
89375
89375
  load() {
89376
- return import('./index-DlNRShy7.js').then(m => m.sass());
89376
+ return import('./index-CoTxV44P.js').then(m => m.sass());
89377
89377
  }
89378
89378
  }),
89379
89379
  /*@__PURE__*/LanguageDescription.of({
@@ -89404,7 +89404,7 @@ const languages = [
89404
89404
  name: "WebAssembly",
89405
89405
  extensions: ["wat", "wast"],
89406
89406
  load() {
89407
- return import('./index-CJiGYWMY.js').then(m => m.wast());
89407
+ return import('./index-CC2P2xHA.js').then(m => m.wast());
89408
89408
  }
89409
89409
  }),
89410
89410
  /*@__PURE__*/LanguageDescription.of({
@@ -89412,7 +89412,7 @@ const languages = [
89412
89412
  alias: ["rss", "wsdl", "xsd"],
89413
89413
  extensions: ["xml", "xsl", "xsd", "svg"],
89414
89414
  load() {
89415
- return import('./index-BIvUdKoe.js').then(m => m.xml());
89415
+ return import('./index-SLuN_qOx.js').then(m => m.xml());
89416
89416
  }
89417
89417
  }),
89418
89418
  /*@__PURE__*/LanguageDescription.of({
@@ -89420,7 +89420,7 @@ const languages = [
89420
89420
  alias: ["yml"],
89421
89421
  extensions: ["yaml", "yml"],
89422
89422
  load() {
89423
- return import('./index-DyjKbXRs.js').then(m => m.yaml());
89423
+ return import('./index-C1pwwXba.js').then(m => m.yaml());
89424
89424
  }
89425
89425
  }),
89426
89426
  // Legacy modes ported from CodeMirror 5
@@ -90209,13 +90209,13 @@ const languages = [
90209
90209
  name: "Vue",
90210
90210
  extensions: ["vue"],
90211
90211
  load() {
90212
- return import('./index-B5-YNjFE.js').then(m => m.vue());
90212
+ return import('./index-CuE1UIOh.js').then(m => m.vue());
90213
90213
  }
90214
90214
  }),
90215
90215
  /*@__PURE__*/LanguageDescription.of({
90216
90216
  name: "Angular Template",
90217
90217
  load() {
90218
- return import('./index-DcawCGnD.js').then(m => m.angular());
90218
+ return import('./index-BwIFr2GO.js').then(m => m.angular());
90219
90219
  }
90220
90220
  })
90221
90221
  ];
@@ -175268,7 +175268,7 @@ function createRenderDelaySampler() {
175268
175268
  };
175269
175269
  }
175270
175270
 
175271
- const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-Qe-J5nkr.js'));
175271
+ const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BB2saLL0.js'));
175272
175272
  const ImagePanelBody = ({
175273
175273
  topic,
175274
175274
  frameRenderedEvent,
@@ -175363,7 +175363,7 @@ const DEFAULT_CAMERA_STATE = {
175363
175363
  // License, v2.0. If a copy of the MPL was not distributed with this
175364
175364
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
175365
175365
 
175366
- const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-DDskP_nw.js'));
175366
+ const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-CK6gj9jd.js'));
175367
175367
  const PointCloudPanelBody = ({
175368
175368
  topic,
175369
175369
  frameRenderedEvent,
@@ -1,19 +1,19 @@
1
1
  'use client';
2
- import { ImagePanel } from './index-DDskP_nw.js';
2
+ import { ImagePanel } from './index-CK6gj9jd.js';
3
3
  import 'react';
4
4
  import 'react-dom/client';
5
- import './depth-BD-Wmpta.js';
5
+ import './depth-CkdNsD0V.js';
6
6
  import './comlink-wXOdMqIH.js';
7
- import './protobuf-BuuGfjDH.js';
7
+ import './protobuf-Be0G3NFz.js';
8
8
  import 'zustand';
9
9
  import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
- import './index-B5zPby8z.js';
12
+ import './index-3KFjSedc.js';
13
13
  import './utils-DmlHZWuo.js';
14
- import './FoxgloveServer-IKIxLGUB.js';
14
+ import './FoxgloveServer-B98MHUu6.js';
15
15
  import 'ms';
16
- import './foxglove-protocol-CrmuHMeG.js';
16
+ import './foxglove-protocol-yHdoBNaD.js';
17
17
  import 'react-dnd';
18
18
  import 'react-dnd-html5-backend';
19
19
  import './i18next-17tp0Ngf.js';
@@ -33,7 +33,7 @@ import '@mui/icons-material/MoreVert';
33
33
  import '@mui/icons-material/Cancel';
34
34
  import '@mui/icons-material/Search';
35
35
  import './decodeImage-DseBx4N0.js';
36
- import './index-DyhbVTSX.js';
36
+ import './index-Dqm1x8G2.js';
37
37
  import '@mui/material/styles/createTypography';
38
38
  import 'color';
39
39
  import 'lodash.curry';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-B5zPby8z.js';
3
- import './protobuf-BuuGfjDH.js';
4
- import './depth-BD-Wmpta.js';
2
+ import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-3KFjSedc.js';
3
+ import './protobuf-Be0G3NFz.js';
4
+ import './depth-CkdNsD0V.js';
5
5
  import './comlink-wXOdMqIH.js';
6
6
  import 'react';
7
7
  import 'zustand';
@@ -9,9 +9,9 @@ import 'react-mosaic-component';
9
9
  import '@mui/material';
10
10
  import './isArrayLikeObject-n9ytTioB.js';
11
11
  import './utils-DmlHZWuo.js';
12
- import './FoxgloveServer-IKIxLGUB.js';
12
+ import './FoxgloveServer-B98MHUu6.js';
13
13
  import 'ms';
14
- import './foxglove-protocol-CrmuHMeG.js';
14
+ import './foxglove-protocol-yHdoBNaD.js';
15
15
  import 'react-dnd';
16
16
  import 'react-dnd-html5-backend';
17
17
  import './i18next-17tp0Ngf.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, a7 as snippetCompletion, a1 as syntaxTree, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, $ as ifNotIn, a0 as completeFromList, a8 as IterMode, a9 as NodeWeakMap } from './index-B5zPby8z.js';
3
- import './protobuf-BuuGfjDH.js';
4
- import './depth-BD-Wmpta.js';
2
+ import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, a7 as snippetCompletion, a1 as syntaxTree, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, $ as ifNotIn, a0 as completeFromList, a8 as IterMode, a9 as NodeWeakMap } from './index-3KFjSedc.js';
3
+ import './protobuf-Be0G3NFz.js';
4
+ import './depth-CkdNsD0V.js';
5
5
  import './comlink-wXOdMqIH.js';
6
6
  import 'react';
7
7
  import 'zustand';
@@ -9,9 +9,9 @@ import 'react-mosaic-component';
9
9
  import '@mui/material';
10
10
  import './isArrayLikeObject-n9ytTioB.js';
11
11
  import './utils-DmlHZWuo.js';
12
- import './FoxgloveServer-IKIxLGUB.js';
12
+ import './FoxgloveServer-B98MHUu6.js';
13
13
  import 'ms';
14
- import './foxglove-protocol-CrmuHMeG.js';
14
+ import './foxglove-protocol-yHdoBNaD.js';
15
15
  import 'react-dnd';
16
16
  import 'react-dnd-html5-backend';
17
17
  import './i18next-17tp0Ngf.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { U as styleTags, V as tags, ag as javascriptLanguage, W as LRLanguage, X as LanguageSupport, Z as LRParser, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-B5zPby8z.js';
3
- import './protobuf-BuuGfjDH.js';
4
- import './depth-BD-Wmpta.js';
2
+ import { U as styleTags, V as tags, ag as javascriptLanguage, W as LRLanguage, X as LanguageSupport, Z as LRParser, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-3KFjSedc.js';
3
+ import './protobuf-Be0G3NFz.js';
4
+ import './depth-CkdNsD0V.js';
5
5
  import './comlink-wXOdMqIH.js';
6
6
  import 'react';
7
7
  import 'zustand';
@@ -9,9 +9,9 @@ import 'react-mosaic-component';
9
9
  import '@mui/material';
10
10
  import './isArrayLikeObject-n9ytTioB.js';
11
11
  import './utils-DmlHZWuo.js';
12
- import './FoxgloveServer-IKIxLGUB.js';
12
+ import './FoxgloveServer-B98MHUu6.js';
13
13
  import 'ms';
14
- import './foxglove-protocol-CrmuHMeG.js';
14
+ import './foxglove-protocol-yHdoBNaD.js';
15
15
  import 'react-dnd';
16
16
  import 'react-dnd-html5-backend';
17
17
  import './i18next-17tp0Ngf.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, ad as parseMixed } from './index-B5zPby8z.js';
3
- import './protobuf-BuuGfjDH.js';
4
- import './depth-BD-Wmpta.js';
2
+ import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, ad as parseMixed } from './index-3KFjSedc.js';
3
+ import './protobuf-Be0G3NFz.js';
4
+ import './depth-CkdNsD0V.js';
5
5
  import './comlink-wXOdMqIH.js';
6
6
  import 'react';
7
7
  import 'zustand';
@@ -9,9 +9,9 @@ import 'react-mosaic-component';
9
9
  import '@mui/material';
10
10
  import './isArrayLikeObject-n9ytTioB.js';
11
11
  import './utils-DmlHZWuo.js';
12
- import './FoxgloveServer-IKIxLGUB.js';
12
+ import './FoxgloveServer-B98MHUu6.js';
13
13
  import 'ms';
14
- import './foxglove-protocol-CrmuHMeG.js';
14
+ import './foxglove-protocol-yHdoBNaD.js';
15
15
  import 'react-dnd';
16
16
  import 'react-dnd-html5-backend';
17
17
  import './i18next-17tp0Ngf.js';
@@ -1,7 +1,7 @@
1
1
  'use client';
2
- import { W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, U as styleTags, V as tags, X as LanguageSupport, Z as LRParser } from './index-B5zPby8z.js';
3
- import './protobuf-BuuGfjDH.js';
4
- import './depth-BD-Wmpta.js';
2
+ import { W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, U as styleTags, V as tags, X as LanguageSupport, Z as LRParser } from './index-3KFjSedc.js';
3
+ import './protobuf-Be0G3NFz.js';
4
+ import './depth-CkdNsD0V.js';
5
5
  import './comlink-wXOdMqIH.js';
6
6
  import 'react';
7
7
  import 'zustand';
@@ -9,9 +9,9 @@ import 'react-mosaic-component';
9
9
  import '@mui/material';
10
10
  import './isArrayLikeObject-n9ytTioB.js';
11
11
  import './utils-DmlHZWuo.js';
12
- import './FoxgloveServer-IKIxLGUB.js';
12
+ import './FoxgloveServer-B98MHUu6.js';
13
13
  import 'ms';
14
- import './foxglove-protocol-CrmuHMeG.js';
14
+ import './foxglove-protocol-yHdoBNaD.js';
15
15
  import 'react-dnd';
16
16
  import 'react-dnd-html5-backend';
17
17
  import './i18next-17tp0Ngf.js';
@@ -2,10 +2,10 @@
2
2
  import * as React from 'react';
3
3
  import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Component, useContext, useState, useEffect, createContext, forwardRef, useMemo, Profiler, createElement, cloneElement, memo, StrictMode } from 'react';
4
4
  import { createRoot } from 'react-dom/client';
5
- import { W as isSymbol, X as toString, Y as keys, Z as getSymbols$1, _ as stubArray, $ as arrayPush, a0 as baseGetAllKeys, g as getTag, a1 as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a2 as arrayMap$1, a3 as useMustNotChange, a4 as useCurrentLayoutActions, a5 as useCurrentLayoutSelector, r as reportError, A as AppError, a6 as usePanelMosaicId, a7 as noop$4, L as Logger, a8 as useSelectedPanels, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$2, a9 as useAppConfiguration, aa as useValueChangedDebugLog, ab as useJsonTreeTheme } from './depth-BD-Wmpta.js';
5
+ import { W as isSymbol, X as toString, Y as keys, Z as getSymbols$1, _ as stubArray, $ as arrayPush, a0 as baseGetAllKeys, g as getTag, a1 as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a2 as arrayMap$1, a3 as useMustNotChange, a4 as useCurrentLayoutActions, a5 as useCurrentLayoutSelector, r as reportError, A as AppError, a6 as usePanelMosaicId, a7 as noop$4, L as Logger, a8 as useSelectedPanels, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$2, a9 as useAppConfiguration, aa as useJsonTreeTheme } from './depth-CkdNsD0V.js';
6
6
  import { createStore, useStore } from 'zustand';
7
- import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, e as EmptyState, i as isEmpty, h as PanelContext, j as PanelCatalogContext, k as usePanelStateStore, l as difference, n as usePanelContext, o as useMessagePipeline, v as v4, p as useDefaultPanelTitle, q as useHoverValue, r as useSetHoverValue, s as useClearHoverValue, t as useMessagePipelineGetter, w as usePanelSettingsTreeUpdate, x as PlayerCapabilities, y as assertNever, z as PlayerPresence, B as isEqual, C as AppEvent, D as isDesktopApp, F as createTheme, G as propTypesExports, H as DEFAULT_CAMERA_STATE$1, I as format$1, J as stringType, K as serializeError, L as stringify$1, M as createIntl, N as createIntlCache, O as useAnalytics } from './index-B5zPby8z.js';
8
- import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, d as _objectWithoutProperties, e as _extends$1, f as commonjsGlobal, g as getDefaultExportFromCjs, b as _objectSpread2, i as getAugmentedNamespace, j as _asyncIterator } from './protobuf-BuuGfjDH.js';
7
+ import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, e as EmptyState, i as isEmpty, h as PanelContext, j as PanelCatalogContext, k as usePanelStateStore, l as difference, n as usePanelContext, o as useMessagePipeline, v as v4, p as useDefaultPanelTitle, q as useHoverValue, r as useSetHoverValue, s as useClearHoverValue, t as useMessagePipelineGetter, w as usePanelSettingsTreeUpdate, x as PlayerCapabilities, y as assertNever, z as PlayerPresence, B as isEqual, C as AppEvent, D as isDesktopApp, F as createTheme, G as propTypesExports, H as DEFAULT_CAMERA_STATE$1, I as format$1, J as stringType, K as serializeError, L as stringify$1, M as createIntl, N as createIntlCache, O as useAnalytics } from './index-3KFjSedc.js';
8
+ import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, d as _objectWithoutProperties, e as _extends$1, f as commonjsGlobal, g as getDefaultExportFromCjs, b as _objectSpread2, i as getAugmentedNamespace, j as _asyncIterator } from './protobuf-Be0G3NFz.js';
9
9
  import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
10
10
  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, inputBaseClasses, autocompleteClasses, inputClasses, Checkbox, dialogActionsClasses, filledInputClasses, inputAdornmentClasses, listSubheaderClasses, selectClasses, tableCellClasses, ThemeProvider as ThemeProvider$1, tabsClasses as tabsClasses$1, tabClasses, Tabs, Tab, ListItemIcon } from '@mui/material';
11
11
  import { a as assignValue, b as baseAssignValue, t as tinycolor, c as t$1, i as instance } from './i18next-17tp0Ngf.js';
@@ -18,17 +18,17 @@ import { useDrag, useDrop } from 'react-dnd';
18
18
  import { h as isObject, r as root, S as Symbol$1, k as isObjectLike, A as nodeUtil, B as baseUnary, d as isBuffer, v as Stack, i as isArray, b as baseRest } from './isArrayLikeObject-n9ytTioB.js';
19
19
  import ReactDOM__default from 'react-dom';
20
20
  import { c as copyObject, k as keysIn, g as getPrototype, a as cloneArrayBuffer, b as cloneTypedArray, e as copyArray, f as cloneBuffer, i as initCloneObject, h as isPlainObject$1, B as Box3, V as Vector3, I as InstancedBufferGeometry, F as Float32BufferAttribute, j as InstancedInterleavedBuffer, l as InterleavedBufferAttribute, W as WireframeGeometry, S as Sphere, U as UniformsLib, m as Vector2, n as ShaderLib, o as UniformsUtils, p as ShaderMaterial, q as Vector4, M as Matrix4, L as Line3, r as Mesh, s as MathUtils, O as Object3D, C as Color, t as rgbToThreeColor, u as stringToRgba, v as makeRgba, w as MeshStandardMaterial, R as ReplaceStencilOp, N as NotEqualStencilFunc, D as DoubleSide, P as PointsMaterial, x as rgbaToCssString, y as autoSelectColorSettings, z as colorModeSettingsFields, A as PlaneGeometry, E as DataTexture, G as UVMapping, H as ClampToEdgeWrapping, J as NearestFilter, K as LinearFilter, Q as FS_SRGB_TO_LINEAR, T as SRGBColorSpace, X as LinearSRGBColorSpace, Y as rgbaToLinear, Z as RedFormat, _ as RGBAFormat, $ as getColorConverter, a0 as FloatType, a1 as UnsignedByteType, a2 as NEEDS_MIN_MAX$1, a3 as InstancedMesh, a4 as CylinderGeometry, a5 as ConeGeometry, a6 as DataTextureLoader, a7 as LinearMipmapLinearFilter, a8 as Loader, a9 as LoaderUtils, aa as FileLoader, ab as MeshBasicMaterial, ac as Scene, ad as TextureLoader, ae as AnimationClip, af as VectorKeyframeTrack, ag as QuaternionKeyframeTrack, ah as MeshLambertMaterial, ai as MeshPhongMaterial, aj as FrontSide, ak as PerspectiveCamera, al as OrthographicCamera, am as AmbientLight, an as SpotLight, ao as PointLight, ap as DirectionalLight, aq as BufferGeometry, ar as Group, as as Quaternion, at as Bone, au as LineBasicMaterial, av as SkinnedMesh, aw as Line, ax as LineSegments, ay as RepeatWrapping, az as Skeleton, aA as BufferAttribute, aB as TrianglesDrawMode, aC as TriangleFanDrawMode, aD as TriangleStripDrawMode, aE as MeshPhysicalMaterial, aF as ImageBitmapLoader, aG as InterleavedBuffer, aH as Material, aI as PropertyBinding, aJ as LineLoop, aK as Points, aL as InterpolateLinear, aM as ColorManagement, aN as NearestMipmapNearestFilter, aO as LinearMipmapNearestFilter, aP as NearestMipmapLinearFilter, aQ as MirroredRepeatWrapping, aR as InterpolateDiscrete, aS as Texture, aT as NumberKeyframeTrack, aU as Interpolant, aV as EdgesGeometry, aW as LoadingManager, aX as stringToRgb, aY as getLuminance, aZ as Euler, a_ as vec3TupleApproxEquals, a$ as decodeCompressedImageToBitmap, b0 as CanvasTexture, b1 as Shape, b2 as SRGBToLinear, b3 as ShapeGeometry, b4 as DynamicDrawUsage, b5 as ShaderChunk, b6 as IMAGE_DEFAULT_COLOR_MODE_SETTINGS, b7 as merge$1, b8 as colorHasTransparency, b9 as StaticDrawUsage, ba as RawShaderMaterial, bb as GLSL3, bc as colorFieldComputedPrefix, bd as getRotationTo, be as SphereGeometry, bf as rgbaGradient, bg as InstancedBufferAttribute, bh as BoxGeometry, bi as DARK_OUTLINE, bj as LIGHT_OUTLINE, bk as CircleGeometry, bl as LineDashedMaterial, bm as GreaterDepth, bn as EventDispatcher$1, bo as Plane, bp as Raycaster, bq as WebGLRenderTarget, br as THREE$1, bs as Spherical, bt as WebGLRenderer, bu as NoToneMapping, bv as VSMShadowMap, bw as HemisphereLight } from './decodeImage-DseBx4N0.js';
21
- import { t as typescript } from './index-DyhbVTSX.js';
21
+ import { t as typescript } from './index-Dqm1x8G2.js';
22
22
  import { CacheProvider } from '@emotion/react';
23
23
  import '@mui/material/styles/createTypography';
24
- import { E as EventEmitter } from './FoxgloveServer-IKIxLGUB.js';
24
+ import { E as EventEmitter } from './FoxgloveServer-B98MHUu6.js';
25
25
  import require$$1$3 from 'color';
26
26
  import require$$2$1 from 'lodash.curry';
27
27
  import OpenInNewIcon from '@mui/icons-material/OpenInNew';
28
28
  import SettingsIcon from '@mui/icons-material/Settings';
29
29
  import './comlink-wXOdMqIH.js';
30
30
  import './utils-DmlHZWuo.js';
31
- import './foxglove-protocol-CrmuHMeG.js';
31
+ import './foxglove-protocol-yHdoBNaD.js';
32
32
  import 'react-dnd-html5-backend';
33
33
  import '@mui/system/colorManipulator';
34
34
  import 'object-assign';
@@ -8372,8 +8372,9 @@ function PanelExtensionAdapter(props) {
8372
8372
  const panelContainerRef = useRef(null);
8373
8373
 
8374
8374
  // useValueChangedDebugLog(initPanel, "initPanel");
8375
- useValueChangedDebugLog(panelId, "panelId");
8376
- useValueChangedDebugLog(partialExtensionContext, "partialExtensionContext");
8375
+ // useValueChangedDebugLog(panelId, "panelId");
8376
+ // useValueChangedDebugLog(partialExtensionContext, "partialExtensionContext");
8377
+
8377
8378
  const configTooNew = useMemo(() => {
8378
8379
  const latestConfig = initialState.current;
8379
8380
  return isVersionedPanelConfig(latestConfig) && highestSupportedConfigVersion != undefined && latestConfig[VERSION_CONFIG_KEY] > highestSupportedConfigVersion;