@luxonis/visualizer-protobuf 3.0.1-rc.13 → 3.0.1-rc.14

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 (57) hide show
  1. package/dist/{FoxgloveServer-Ck4XVALC.js → FoxgloveServer-CzGfv6A4.js} +1 -1
  2. package/dist/{communicator-DwoWapnY.js → communicator-Bry8Rhl_.js} +1 -1
  3. package/dist/{depth-DtQG33aY.js → depth-CQVPltgS.js} +92 -92
  4. package/dist/{deserialization.worker-BfbPeqsq.js → deserialization.worker-Dr424k53.js} +84 -13
  5. package/dist/{foxglove-protocol-DDWtWavo.js → foxglove-protocol-BvaCHfze.js} +1 -1
  6. package/dist/{index-Demh7UGG.js → index-0N5jT0qI.js} +5 -5
  7. package/dist/{index-PLxb-jpm.js → index-6pyxMrdZ.js} +23 -89
  8. package/dist/{index-DpD1Pyy-.js → index-B7vihySB.js} +5 -5
  9. package/dist/{index-B4Qrfc5I.js → index-BLi9zAwC.js} +1 -1
  10. package/dist/{index-DOcUMmIe.js → index-BMUFmgfu.js} +142 -1383
  11. package/dist/{index-DqwQs3lZ.js → index-BVPJuhU6.js} +5 -5
  12. package/dist/{index-CQsVrKqv.js → index-BZDGGSbg.js} +5 -5
  13. package/dist/{index-2G7qU-Pv.js → index-BzszmCxE.js} +5 -5
  14. package/dist/{index-Co7XRmuL.js → index-C6IDeS-w.js} +7 -7
  15. package/dist/{index-DbzFfooa.js → index-C75d2aLn.js} +5 -5
  16. package/dist/{index-BBalrlYS.js → index-CHgbDKH7.js} +5 -5
  17. package/dist/{index-Dmt7o837.js → index-CIkfyMIl.js} +5 -5
  18. package/dist/{index-EV3As2dS.js → index-CRwuM1IA.js} +5 -5
  19. package/dist/{index-CAj2s_yQ.js → index-CYbL5nVP.js} +5 -5
  20. package/dist/{index-Dqa0cme2.js → index-DIROa15a.js} +5 -5
  21. package/dist/{index-B8xnGl1x.js → index-DVrugHgF.js} +5 -5
  22. package/dist/{index-CSvBvTpC.js → index-DWEznhJL.js} +5 -5
  23. package/dist/{index-DxP5vLJB.js → index-TKIJO4wB.js} +5 -5
  24. package/dist/{index-BLwlM8wv.js → index-WobqpyZw.js} +5 -5
  25. package/dist/{index-zwhb2kXc.js → index-m0WExi_f.js} +5 -5
  26. package/dist/{index-TMe-gZmH.js → index-xvURDh-8.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/messaging/deserialization/detections/detection.d.ts.map +1 -1
  29. package/dist/lib/src/messaging/deserialization/detections/detection.js +56 -14
  30. package/dist/lib/src/messaging/deserialization/detections/detection.js.map +1 -1
  31. package/dist/lib/src/protobuf.generated/EncodedFrame.js +1 -1
  32. package/dist/lib/src/protobuf.generated/EncodedFrame.js.map +1 -1
  33. package/dist/lib/src/protobuf.generated/Event.js +1 -1
  34. package/dist/lib/src/protobuf.generated/Event.js.map +1 -1
  35. package/dist/lib/src/protobuf.generated/IMUData.js +1 -1
  36. package/dist/lib/src/protobuf.generated/IMUData.js.map +1 -1
  37. package/dist/lib/src/protobuf.generated/ImageAnnotations.js +1 -1
  38. package/dist/lib/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  39. package/dist/lib/src/protobuf.generated/ImgDetections.js +1 -1
  40. package/dist/lib/src/protobuf.generated/ImgDetections.js.map +1 -1
  41. package/dist/lib/src/protobuf.generated/ImgFrame.js +1 -1
  42. package/dist/lib/src/protobuf.generated/ImgFrame.js.map +1 -1
  43. package/dist/lib/src/protobuf.generated/PointCloudData.js +1 -1
  44. package/dist/lib/src/protobuf.generated/PointCloudData.js.map +1 -1
  45. package/dist/lib/src/protobuf.generated/RGBDData.js +1 -1
  46. package/dist/lib/src/protobuf.generated/RGBDData.js.map +1 -1
  47. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +1 -1
  48. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  49. package/dist/lib/src/protobuf.generated/common.js +1 -1
  50. package/dist/lib/src/protobuf.generated/common.js.map +1 -1
  51. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.d.ts.map +1 -1
  52. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.js +0 -1
  53. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.js.map +1 -1
  54. package/dist/{protobuf-C2hFflNu.js → protobuf-fLt-ppqN.js} +8 -8
  55. package/dist/{worker-CHANzqz1.js → worker-BGG-ZdUp.js} +3 -3
  56. package/dist/{worker-Dtxm0lWz.js → worker-DR9o4zBS.js} +4 -4
  57. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { g as getDefaultExportFromCjs } from './protobuf-C2hFflNu.js';
2
+ import { g as getDefaultExportFromCjs } from './protobuf-fLt-ppqN.js';
3
3
  import require$$0 from 'ms';
4
4
 
5
5
  var eventemitter3 = {exports: {}};
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { L as Logger, _ as _classPrivateFieldLooseBase, b as _objectSpread2, a as _classPrivateFieldLooseKey } from './logger-CgxnhrWP.js';
3
- import { p as protobufsBySchema } from './protobuf-C2hFflNu.js';
3
+ import { p as protobufsBySchema } from './protobuf-fLt-ppqN.js';
4
4
  import { r as recordToDataView } from './encoding-jXImCIb4.js';
5
5
 
6
6
  const logger = Logger.getLogger();
@@ -4,7 +4,7 @@ import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, b as
4
4
  import { useContext, useRef, createContext, useReducer, useLayoutEffect, useState, useCallback } from 'react';
5
5
  import 'zustand';
6
6
  import { isParent, getLeaves, createRemoveUpdate, updateTree, getNodeAtPath } from 'react-mosaic-component';
7
- import { c as commonjsGlobal, g as getDefaultExportFromCjs, T as Type } from './protobuf-C2hFflNu.js';
7
+ import { c as commonjsGlobal, g as getDefaultExportFromCjs, T as Type } from './protobuf-fLt-ppqN.js';
8
8
  import { useTheme } from '@mui/material';
9
9
  import { k as isObjectLike, l as baseGetTag, S as Symbol, i as isArray, m as getNative, r as root, n as overArg, g as isPrototype, c as isArrayLike, p as arrayLikeKeys, M as MapCache, f as isArguments, t as toSource, q as Map$1, u as eq, U as Uint8Array, d as isBuffer, v as Stack, e as isTypedArray, h as isObject, w as isLength, j as isIndex, x as identity, y as baseFor, b as baseRest, a as isArrayLikeObject } from './isArrayLikeObject-n9ytTioB.js';
10
10
 
@@ -547,6 +547,90 @@ var Logger$1 = Logger.default;
547
547
  // License, v2.0. If a copy of the MPL was not distributed with this
548
548
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
549
549
 
550
+ const log$2 = Logger$1.getLogger("src/index.ts");
551
+ /**
552
+ * Values of the contants below are a (more or less) informed guesses and not guaranteed to be accurate.
553
+ */
554
+ const COMPRESSED_POINTER_SIZE = 4; // Pointers use 4 bytes (also on 64-bit systems) due to pointer compression
555
+ const OBJECT_BASE_SIZE = 3 * COMPRESSED_POINTER_SIZE; // 3 compressed pointers
556
+ // Arrays have an additional length property (1 pointer) and a backing store header (2 pointers)
557
+ // See https://stackoverflow.com/a/70550693.
558
+ const ARRAY_BASE_SIZE = OBJECT_BASE_SIZE + 3 * COMPRESSED_POINTER_SIZE;
559
+ const TYPED_ARRAY_BASE_SIZE = 25 * COMPRESSED_POINTER_SIZE; // byteLength, byteOffset, ..., see https://stackoverflow.com/a/45808835
560
+ const SMALL_INTEGER_SIZE = COMPRESSED_POINTER_SIZE; // Small integers (up to 31 bits), pointer tagging
561
+ const HEAP_NUMBER_SIZE = 8 + 2 * COMPRESSED_POINTER_SIZE; // 4-byte map pointer + 8-byte payload + property pointer
562
+ const MAX_NUM_FAST_PROPERTIES = 1020;
563
+
564
+ /**
565
+ * Estimate the size in bytes of an arbitrary object or primitive.
566
+ * @param obj Object or primitive to estimate the size for
567
+ * @returns Estimated size in bytes
568
+ */
569
+ function estimateObjectSize(obj) {
570
+ // catches null and undefined
571
+ // typeof null == "object"
572
+ if (obj == undefined) {
573
+ return SMALL_INTEGER_SIZE;
574
+ }
575
+ switch (typeof obj) {
576
+ case "undefined":
577
+ case "boolean":
578
+ {
579
+ return SMALL_INTEGER_SIZE;
580
+ }
581
+ case "number":
582
+ {
583
+ return Number.isInteger(obj) ? SMALL_INTEGER_SIZE : HEAP_NUMBER_SIZE;
584
+ }
585
+ case "bigint":
586
+ {
587
+ return HEAP_NUMBER_SIZE;
588
+ }
589
+ case "string":
590
+ {
591
+ // The string length is rounded up to the next multiple of 4.
592
+ return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Math.ceil(obj.length / 4) * 4;
593
+ }
594
+ case "object":
595
+ {
596
+ if (Array.isArray(obj)) {
597
+ return COMPRESSED_POINTER_SIZE + ARRAY_BASE_SIZE + Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
598
+ } else if (ArrayBuffer.isView(obj)) {
599
+ return TYPED_ARRAY_BASE_SIZE + obj.byteLength;
600
+ } else if (obj instanceof Set) {
601
+ return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Array.from(obj.values()).reduce((acc, val) => acc + estimateObjectSize(val), 0);
602
+ } else if (obj instanceof Map) {
603
+ return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Array.from(obj.entries()).reduce((acc, [key, val]) => acc + estimateObjectSize(key) + estimateObjectSize(val), 0);
604
+ }
605
+ let propertiesSize = 0;
606
+ const numProps = Object.keys(obj).length;
607
+ if (numProps > MAX_NUM_FAST_PROPERTIES) {
608
+ // If there are too many properties, V8 stores Objects in dictionary mode (slow properties)
609
+ // with each object having a self-contained dictionary. This dictionary contains the key, value
610
+ // and details of properties. Below we estimate the size of this additional dictionary. Formula
611
+ // adapted from
612
+ // medium.com/@bpmxmqd/v8-engine-jsobject-structure-analysis-and-memory-optimization-ideas-be30cfcdcd16
613
+ const propertiesDictSize = 16 + 5 * 8 + 2 ** Math.ceil(Math.log2((numProps + 2) * 1.5)) * 3 * 4;
614
+ // In return, properties are no longer stored in the properties array, so we subtract that.
615
+ propertiesSize = propertiesDictSize - numProps * COMPRESSED_POINTER_SIZE;
616
+ }
617
+ const valuesSize = Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
618
+ return OBJECT_BASE_SIZE + propertiesSize + valuesSize;
619
+ }
620
+ case "symbol":
621
+ case "function":
622
+ {
623
+ throw new Error(`Can't estimate size of type '${typeof obj}'`);
624
+ }
625
+ }
626
+ log$2.error(`Can't estimate size of type '${typeof obj}'`);
627
+ return SMALL_INTEGER_SIZE;
628
+ }
629
+
630
+ // This Source Code Form is subject to the terms of the Mozilla Public
631
+ // License, v2.0. If a copy of the MPL was not distributed with this
632
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/
633
+
550
634
  const globalWithHandler = global;
551
635
 
552
636
  /**
@@ -2735,7 +2819,7 @@ function useJsonTreeTheme() {
2735
2819
  }
2736
2820
  const TAB_PANEL_TYPE = "Tab";
2737
2821
 
2738
- const log$2 = Logger$1.getLogger("src/index.ts");
2822
+ const log$1 = Logger$1.getLogger("src/index.ts");
2739
2823
 
2740
2824
  // given a panel type, create a unique id for a panel
2741
2825
  // with the type embedded within the id
@@ -2950,13 +3034,13 @@ const validateTabPanelConfig = config => {
2950
3034
  }
2951
3035
  if (!Array.isArray(config.tabs) || typeof config.activeTabIdx !== "number") {
2952
3036
  const error = new Error("A non-Tab panel config is being operated on as if it were a Tab panel.");
2953
- log$2.info(`Invalid Tab panel config: ${error.message}`, config);
3037
+ log$1.info(`Invalid Tab panel config: ${error.message}`, config);
2954
3038
  reportError(error);
2955
3039
  return false;
2956
3040
  }
2957
3041
  if (config.activeTabIdx >= config.tabs.length) {
2958
3042
  const error = new Error("A Tab panel has an activeTabIdx for a nonexistent tab.");
2959
- log$2.info(`Invalid Tab panel config: ${error.message}`, config);
3043
+ log$1.info(`Invalid Tab panel config: ${error.message}`, config);
2960
3044
  reportError(error);
2961
3045
  return false;
2962
3046
  }
@@ -3228,7 +3312,7 @@ function toggleSelectedPanel(panelId, containingTabId, configById, selectedPanel
3228
3312
  * part of a saved "layout") used by the current workspace.
3229
3313
  */
3230
3314
 
3231
- const log$1 = Logger$1.getLogger("src/index.ts");
3315
+ const log = Logger$1.getLogger("src/index.ts");
3232
3316
  const CurrentLayoutContext = /*#__PURE__*/createContext(undefined);
3233
3317
  CurrentLayoutContext.displayName = "CurrentLayoutContext";
3234
3318
  function usePanelMosaicId() {
@@ -3243,7 +3327,7 @@ function useCurrentLayoutSelector(selector) {
3243
3327
 
3244
3328
  // Catch locations using unstable function selectors
3245
3329
  useShouldNotChangeOften(selector, () => {
3246
- log$1.warn("useCurrentLayoutSelector is changing frequently. Rewrite your selector as a stable function.");
3330
+ log.warn("useCurrentLayoutSelector is changing frequently. Rewrite your selector as a stable function.");
3247
3331
  });
3248
3332
  const state = useRef(undefined);
3249
3333
  if (!state.current || selector !== state.current.selector) {
@@ -3563,91 +3647,6 @@ sendNotification.expectCalledDuringTest = () => {
3563
3647
  throw new Error("Should be overriden in setupTestFramework.ts");
3564
3648
  };
3565
3649
 
3566
- // This Source Code Form is subject to the terms of the Mozilla Public
3567
- // License, v2.0. If a copy of the MPL was not distributed with this
3568
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
3569
- const log = Logger$1.getLogger("src/index.ts");
3570
- /**
3571
- * Values of the contants below are a (more or less) informed guesses and not guaranteed to be accurate.
3572
- */
3573
- const COMPRESSED_POINTER_SIZE = 4; // Pointers use 4 bytes (also on 64-bit systems) due to pointer compression
3574
- const OBJECT_BASE_SIZE = 3 * COMPRESSED_POINTER_SIZE; // 3 compressed pointers
3575
- // Arrays have an additional length property (1 pointer) and a backing store header (2 pointers)
3576
- // See https://stackoverflow.com/a/70550693.
3577
- const ARRAY_BASE_SIZE = OBJECT_BASE_SIZE + 3 * COMPRESSED_POINTER_SIZE;
3578
- const TYPED_ARRAY_BASE_SIZE = 25 * COMPRESSED_POINTER_SIZE; // byteLength, byteOffset, ..., see https://stackoverflow.com/a/45808835
3579
- const SMALL_INTEGER_SIZE = COMPRESSED_POINTER_SIZE; // Small integers (up to 31 bits), pointer tagging
3580
- const HEAP_NUMBER_SIZE = 8 + 2 * COMPRESSED_POINTER_SIZE; // 4-byte map pointer + 8-byte payload + property pointer
3581
- const MAX_NUM_FAST_PROPERTIES = 1020;
3582
- /**
3583
- * Estimate the size in bytes of an arbitrary object or primitive.
3584
- * @param obj Object or primitive to estimate the size for
3585
- * @returns Estimated size in bytes
3586
- */
3587
- function estimateObjectSize(obj) {
3588
- // catches null and undefined
3589
- // typeof null == "object"
3590
- if (obj == undefined) {
3591
- return SMALL_INTEGER_SIZE;
3592
- }
3593
- switch (typeof obj) {
3594
- case "undefined":
3595
- case "boolean": {
3596
- return SMALL_INTEGER_SIZE;
3597
- }
3598
- case "number": {
3599
- return Number.isInteger(obj) ? SMALL_INTEGER_SIZE : HEAP_NUMBER_SIZE;
3600
- }
3601
- case "bigint": {
3602
- return HEAP_NUMBER_SIZE;
3603
- }
3604
- case "string": {
3605
- // The string length is rounded up to the next multiple of 4.
3606
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Math.ceil(obj.length / 4) * 4;
3607
- }
3608
- case "object": {
3609
- if (Array.isArray(obj)) {
3610
- return (COMPRESSED_POINTER_SIZE +
3611
- ARRAY_BASE_SIZE +
3612
- Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0));
3613
- }
3614
- else if (ArrayBuffer.isView(obj)) {
3615
- return TYPED_ARRAY_BASE_SIZE + obj.byteLength;
3616
- }
3617
- else if (obj instanceof Set) {
3618
- return (COMPRESSED_POINTER_SIZE +
3619
- OBJECT_BASE_SIZE +
3620
- Array.from(obj.values()).reduce((acc, val) => acc + estimateObjectSize(val), 0));
3621
- }
3622
- else if (obj instanceof Map) {
3623
- return (COMPRESSED_POINTER_SIZE +
3624
- OBJECT_BASE_SIZE +
3625
- Array.from(obj.entries()).reduce((acc, [key, val]) => acc + estimateObjectSize(key) + estimateObjectSize(val), 0));
3626
- }
3627
- let propertiesSize = 0;
3628
- const numProps = Object.keys(obj).length;
3629
- if (numProps > MAX_NUM_FAST_PROPERTIES) {
3630
- // If there are too many properties, V8 stores Objects in dictionary mode (slow properties)
3631
- // with each object having a self-contained dictionary. This dictionary contains the key, value
3632
- // and details of properties. Below we estimate the size of this additional dictionary. Formula
3633
- // adapted from
3634
- // medium.com/@bpmxmqd/v8-engine-jsobject-structure-analysis-and-memory-optimization-ideas-be30cfcdcd16
3635
- const propertiesDictSize = 16 + 5 * 8 + 2 ** Math.ceil(Math.log2((numProps + 2) * 1.5)) * 3 * 4;
3636
- // In return, properties are no longer stored in the properties array, so we subtract that.
3637
- propertiesSize = propertiesDictSize - numProps * COMPRESSED_POINTER_SIZE;
3638
- }
3639
- const valuesSize = Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
3640
- return OBJECT_BASE_SIZE + propertiesSize + valuesSize;
3641
- }
3642
- case "symbol":
3643
- case "function": {
3644
- throw new Error(`Can't estimate size of type '${typeof obj}'`);
3645
- }
3646
- }
3647
- log.error(`Can't estimate size of type '${typeof obj}'`);
3648
- return SMALL_INTEGER_SIZE;
3649
- }
3650
-
3651
3650
  // This Source Code Form is subject to the terms of the Mozilla Public
3652
3651
  // License, v2.0. If a copy of the MPL was not distributed with this
3653
3652
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
@@ -3660,6 +3659,7 @@ function estimateObjectSize(obj) {
3660
3659
  // This source code is licensed under the Apache License, Version 2.0,
3661
3660
  // found at http://www.apache.org/licenses/LICENSE-2.0
3662
3661
  // You may not use this file except in compliance with the License.
3662
+
3663
3663
  Logger$1.getLogger("src/index.ts");
3664
3664
 
3665
3665
  // This Source Code Form is subject to the terms of the Mozilla Public
@@ -3874,4 +3874,4 @@ function getDistanceFromDepthDataForOffset(depthData, width, height, xOffset, yO
3874
3874
  return sum / count;
3875
3875
  }
3876
3876
 
3877
- export { arrayPush as $, AppError as A, getConfigsForNestedPanelsInsideTab as B, reorderTabWithinTabPanel as C, DEFAULT_TAB_PANEL_CONFIG as D, moveTabBetweenTabPanels as E, isTabPanelConfig as F, addPanelToTab as G, createAddUpdates as H, filterMap as I, uniq as J, useShallowMemo as K, Logger$1 as L, CurrentLayoutContext as M, MessageOrderTracker as N, AppConfigurationContext as O, getDistanceFromDepthDataForOffset as P, parseMessage as Q, estimateObjectSize 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, useCurrentLayoutActions as a3, useCurrentLayoutSelector as a4, usePanelMosaicId as a5, noop as a6, useSelectedPanels as a7, useAppConfiguration as a8, useJsonTreeTheme as a9, baseFlatten as b, baseIteratee as c, dist as d, baseDifference as e, baseKeys as f, getTag as g, baseIsEqual as h, castPath as i, baseGet as j, hasIn as k, shallowequal$1 as l, getPanelIdsInsideTabPanels as m, getPanelTypeFromId as n, removePanelFromTabPanel as o, getPanelIdForType as p, getPathFromNode as q, reportError as r, sendNotification as s, toKey as t, useGuaranteedContext as u, updateTabPanelLayout as v, getSaveConfigsPayloadForAddedPanel as w, replaceAndRemovePanels as x, inlineTabPanelLayouts as y, getAllPanelIds as z };
3877
+ 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, useCurrentLayoutActions as a3, useCurrentLayoutSelector as a4, usePanelMosaicId as a5, noop as a6, useSelectedPanels as a7, useAppConfiguration as a8, useJsonTreeTheme as a9, 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,9 +1,9 @@
1
1
  'use client';
2
2
  import { b as _objectSpread2, L as Logger } from './logger-CgxnhrWP.js';
3
3
  import { e as expose } from './comlink-wXOdMqIH.js';
4
- import { t as typescript } from './index-B4Qrfc5I.js';
5
- import { Q as parseMessage, R as estimateObjectSize, S as fromMillis, d as dist, U as parsePixelFormat, V as deserializeDepthFrame } from './depth-DtQG33aY.js';
6
- import { P as PointsAnnotationType, p as protobufsBySchema, T as Type, b as Profile } from './protobuf-C2hFflNu.js';
4
+ import { t as typescript } from './index-BLi9zAwC.js';
5
+ import { R as parseMessage, e as estimateObjectSize, S as fromMillis, d as dist, U as parsePixelFormat, V as deserializeDepthFrame } from './depth-CQVPltgS.js';
6
+ import { P as PointsAnnotationType, p as protobufsBySchema, T as Type, b as Profile } from './protobuf-fLt-ppqN.js';
7
7
  import { i as isCapableOfEncodedStream } from './encoding-jXImCIb4.js';
8
8
  import 'react';
9
9
  import 'zustand';
@@ -319,6 +319,17 @@ function deserializeImgDetectionsCustom({
319
319
  });
320
320
  }
321
321
 
322
+ function rotatePoint(point, centerX, centerY, angleDegrees) {
323
+ const angleRad = angleDegrees * Math.PI / 180;
324
+ const xTranslated = point.x - centerX;
325
+ const yTranslated = point.y - centerY;
326
+ const xRotated = xTranslated * Math.cos(angleRad) - yTranslated * Math.sin(angleRad);
327
+ const yRotated = xTranslated * Math.sin(angleRad) + yTranslated * Math.cos(angleRad);
328
+ return {
329
+ x: xRotated + centerX,
330
+ y: yRotated + centerY
331
+ };
332
+ }
322
333
  function deserializeImgDetections({
323
334
  topic,
324
335
  message,
@@ -335,7 +346,7 @@ function deserializeImgDetections({
335
346
  };
336
347
  if (message.detections.length > 0) {
337
348
  for (const detection of message.detections) {
338
- var _message$transformati, _topicSizes$values$ne, _DETECTION_STYLE$dete, _style$label;
349
+ var _message$transformati, _topicSizes$values$ne, _DETECTION_STYLE$dete, _detection$boundingBo, _detection$boundingBo2, _detection$boundingBo3, _detection$boundingBo4, _detection$boundingBo5, _detection$boundingBo6, _detection$boundingBo7, _detection$boundingBo8, _detection$boundingBo9, _detection$boundingBo0, _detection$boundingBo1, _detection$boundingBo10, _detection$boundingBo11, _detection$boundingBo12, _detection$boundingBo13, _detection$boundingBo14, _detection$boundingBo15, _detection$boundingBo16, _style$label;
339
350
  const detectionWidth = detection.xmax - detection.xmin;
340
351
  const {
341
352
  width,
@@ -357,7 +368,19 @@ function deserializeImgDetections({
357
368
  }
358
369
  foxgloveMessage.points.push({
359
370
  timestamp: receiveTime,
360
- points: [{
371
+ points: (_detection$boundingBo = detection.boundingBox) !== null && _detection$boundingBo !== void 0 && _detection$boundingBo.angle && (_detection$boundingBo2 = detection.boundingBox) !== null && _detection$boundingBo2 !== void 0 && _detection$boundingBo2.center ? [rotatePoint({
372
+ x: detection.xmin,
373
+ y: detection.ymin
374
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
375
+ x: detection.xmin,
376
+ y: detection.ymax
377
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
378
+ x: detection.xmax,
379
+ y: detection.ymax
380
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
381
+ x: detection.xmax,
382
+ y: detection.ymin
383
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
361
384
  x: detection.xmin,
362
385
  y: detection.ymin
363
386
  }, {
@@ -431,7 +454,13 @@ function deserializeImgDetections({
431
454
  fill_color: DEBUG_COLOR
432
455
  };
433
456
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
434
- points: [{
457
+ points: (_detection$boundingBo3 = detection.boundingBox) !== null && _detection$boundingBo3 !== void 0 && _detection$boundingBo3.angle && (_detection$boundingBo4 = detection.boundingBox) !== null && _detection$boundingBo4 !== void 0 && _detection$boundingBo4.center ? [rotatePoint({
458
+ x: detection.xmin,
459
+ y: detection.ymin
460
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
461
+ x: detection.xmin + highlightSizeX,
462
+ y: detection.ymin
463
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
435
464
  x: detection.xmin,
436
465
  y: detection.ymin
437
466
  }, {
@@ -440,7 +469,13 @@ function deserializeImgDetections({
440
469
  }]
441
470
  }));
442
471
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
443
- points: [{
472
+ points: (_detection$boundingBo5 = detection.boundingBox) !== null && _detection$boundingBo5 !== void 0 && _detection$boundingBo5.angle && (_detection$boundingBo6 = detection.boundingBox) !== null && _detection$boundingBo6 !== void 0 && _detection$boundingBo6.center ? [rotatePoint({
473
+ x: detection.xmin,
474
+ y: detection.ymin
475
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
476
+ x: detection.xmin,
477
+ y: detection.ymin + highlightSizeY
478
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
444
479
  x: detection.xmin,
445
480
  y: detection.ymin
446
481
  }, {
@@ -449,7 +484,13 @@ function deserializeImgDetections({
449
484
  }]
450
485
  }));
451
486
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
452
- points: [{
487
+ points: (_detection$boundingBo7 = detection.boundingBox) !== null && _detection$boundingBo7 !== void 0 && _detection$boundingBo7.angle && (_detection$boundingBo8 = detection.boundingBox) !== null && _detection$boundingBo8 !== void 0 && _detection$boundingBo8.center ? [rotatePoint({
488
+ x: detection.xmax,
489
+ y: detection.ymin
490
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
491
+ x: detection.xmax - highlightSizeX,
492
+ y: detection.ymin
493
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
453
494
  x: detection.xmax,
454
495
  y: detection.ymin
455
496
  }, {
@@ -458,7 +499,13 @@ function deserializeImgDetections({
458
499
  }]
459
500
  }));
460
501
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
461
- points: [{
502
+ points: (_detection$boundingBo9 = detection.boundingBox) !== null && _detection$boundingBo9 !== void 0 && _detection$boundingBo9.angle && (_detection$boundingBo0 = detection.boundingBox) !== null && _detection$boundingBo0 !== void 0 && _detection$boundingBo0.center ? [rotatePoint({
503
+ x: detection.xmax,
504
+ y: detection.ymin
505
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
506
+ x: detection.xmax,
507
+ y: detection.ymin + highlightSizeY
508
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
462
509
  x: detection.xmax,
463
510
  y: detection.ymin
464
511
  }, {
@@ -467,7 +514,13 @@ function deserializeImgDetections({
467
514
  }]
468
515
  }));
469
516
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
470
- points: [{
517
+ points: (_detection$boundingBo1 = detection.boundingBox) !== null && _detection$boundingBo1 !== void 0 && _detection$boundingBo1.angle && (_detection$boundingBo10 = detection.boundingBox) !== null && _detection$boundingBo10 !== void 0 && _detection$boundingBo10.center ? [rotatePoint({
518
+ x: detection.xmax,
519
+ y: detection.ymax
520
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
521
+ x: detection.xmax - highlightSizeX,
522
+ y: detection.ymax
523
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
471
524
  x: detection.xmax,
472
525
  y: detection.ymax
473
526
  }, {
@@ -476,7 +529,13 @@ function deserializeImgDetections({
476
529
  }]
477
530
  }));
478
531
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
479
- points: [{
532
+ points: (_detection$boundingBo11 = detection.boundingBox) !== null && _detection$boundingBo11 !== void 0 && _detection$boundingBo11.angle && (_detection$boundingBo12 = detection.boundingBox) !== null && _detection$boundingBo12 !== void 0 && _detection$boundingBo12.center ? [rotatePoint({
533
+ x: detection.xmax,
534
+ y: detection.ymax
535
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
536
+ x: detection.xmax,
537
+ y: detection.ymax - highlightSizeY
538
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
480
539
  x: detection.xmax,
481
540
  y: detection.ymax
482
541
  }, {
@@ -485,7 +544,13 @@ function deserializeImgDetections({
485
544
  }]
486
545
  }));
487
546
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
488
- points: [{
547
+ points: (_detection$boundingBo13 = detection.boundingBox) !== null && _detection$boundingBo13 !== void 0 && _detection$boundingBo13.angle && (_detection$boundingBo14 = detection.boundingBox) !== null && _detection$boundingBo14 !== void 0 && _detection$boundingBo14.center ? [rotatePoint({
548
+ x: detection.xmin,
549
+ y: detection.ymax
550
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
551
+ x: detection.xmin + highlightSizeX,
552
+ y: detection.ymax
553
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
489
554
  x: detection.xmin,
490
555
  y: detection.ymax
491
556
  }, {
@@ -494,7 +559,13 @@ function deserializeImgDetections({
494
559
  }]
495
560
  }));
496
561
  foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
497
- points: [{
562
+ points: (_detection$boundingBo15 = detection.boundingBox) !== null && _detection$boundingBo15 !== void 0 && _detection$boundingBo15.angle && (_detection$boundingBo16 = detection.boundingBox) !== null && _detection$boundingBo16 !== void 0 && _detection$boundingBo16.center ? [rotatePoint({
563
+ x: detection.xmin,
564
+ y: detection.ymax
565
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
566
+ x: detection.xmin,
567
+ y: detection.ymax - highlightSizeY
568
+ }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
498
569
  x: detection.xmin,
499
570
  y: detection.ymax
500
571
  }, {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-Ck4XVALC.js';
2
+ import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-CzGfv6A4.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,18 +1,18 @@
1
1
  'use client';
2
- import { a4 as ContextTracker, W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, Q as foldNodeProp, ad as bracketMatchingHandle, V as LanguageSupport, a8 as EditorView, $ as syntaxTree, a9 as EditorSelection } from './index-DOcUMmIe.js';
2
+ import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, T as foldNodeProp, af as bracketMatchingHandle, X as LanguageSupport, aa as EditorView, a1 as syntaxTree, ab as EditorSelection } from './index-BMUFmgfu.js';
3
3
  import './logger-CgxnhrWP.js';
4
- import './depth-DtQG33aY.js';
4
+ import './depth-CQVPltgS.js';
5
5
  import './comlink-wXOdMqIH.js';
6
6
  import 'react';
7
7
  import 'zustand';
8
8
  import 'react-mosaic-component';
9
- import './protobuf-C2hFflNu.js';
9
+ import './protobuf-fLt-ppqN.js';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-Ck4XVALC.js';
13
+ import './FoxgloveServer-CzGfv6A4.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-DDWtWavo.js';
15
+ import './foxglove-protocol-BvaCHfze.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';