@luxonis/visualizer-protobuf 3.1.4 → 3.1.6

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 (66) hide show
  1. package/dist/{FoxgloveServer-Z9mJitqG.js → FoxgloveServer-B98MHUu6.js} +1 -1
  2. package/dist/{communicator-t3uE4_km.js → communicator-Bzkx3Qfr.js} +1 -1
  3. package/dist/{depth-Ct_zm8Rq.js → depth-DlC6A3Te.js} +92 -92
  4. package/dist/{deserialization.worker-DvXlnMzb.js → deserialization.worker-BPsjKVe4.js} +49 -10
  5. package/dist/{foxglove-protocol-DTBud3kT.js → foxglove-protocol-yHdoBNaD.js} +1 -1
  6. package/dist/{index-C_Rypho5.js → index-1RjTt6HK.js} +7 -7
  7. package/dist/{index-1D5S7eR3.js → index-BF6pGj6y.js} +60 -101
  8. package/dist/{index-DnPkbSwI.js → index-BOEXymjd.js} +5 -5
  9. package/dist/{index-CrogdRc3.js → index-Bcd7r8Iv.js} +5 -5
  10. package/dist/{index-BWUFvnnr.js → index-Bi4nJb4U.js} +143 -1384
  11. package/dist/{index-CEJd4Yuv.js → index-Bnw5i4J9.js} +5 -5
  12. package/dist/{index-CfSbEMmb.js → index-BoqJy5eD.js} +5 -5
  13. package/dist/{index-Xp6XXYGL.js → index-C5yt-flE.js} +5 -5
  14. package/dist/{index-DRTvKm-0.js → index-CHlhmU5r.js} +5 -5
  15. package/dist/{index-CtcRTdcC.js → index-CKfc_K3x.js} +5 -5
  16. package/dist/{index-C-rWRmE5.js → index-CjcnWHBX.js} +5 -5
  17. package/dist/{index-DpfKCYgk.js → index-D-ixoHgF.js} +5 -5
  18. package/dist/{index-4r5XO2hY.js → index-DLW4CyCW.js} +5 -5
  19. package/dist/{index-D4NfQEba.js → index-DLZ3xvY3.js} +5 -5
  20. package/dist/{index-DXHvsHzl.js → index-DOEAktbW.js} +5 -5
  21. package/dist/{index-Z2_pOHuN.js → index-DQXLqhI5.js} +5 -5
  22. package/dist/{index-DrXETBmj.js → index-DRcGifo6.js} +5 -5
  23. package/dist/{index-I7fQaE0_.js → index-DhI-rSJS.js} +5 -5
  24. package/dist/{index-BEfrzxM3.js → index-Dqm1x8G2.js} +1 -1
  25. package/dist/{index-Dgmw82OA.js → index-Drd3hxmz.js} +5 -5
  26. package/dist/{index-DUpgA7e6.js → index-mot3qpp9.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
  29. package/dist/lib/src/messaging/deserialization/video/h264.js +14 -1
  30. package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
  31. package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -1
  32. package/dist/lib/src/messaging/deserialization/video/h265.js +34 -4
  33. package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -1
  34. package/dist/lib/src/output.css +1 -1
  35. package/dist/lib/src/protobuf.generated/EncodedFrame.js +1 -1
  36. package/dist/lib/src/protobuf.generated/EncodedFrame.js.map +1 -1
  37. package/dist/lib/src/protobuf.generated/Event.js +1 -1
  38. package/dist/lib/src/protobuf.generated/Event.js.map +1 -1
  39. package/dist/lib/src/protobuf.generated/IMUData.js +1 -1
  40. package/dist/lib/src/protobuf.generated/IMUData.js.map +1 -1
  41. package/dist/lib/src/protobuf.generated/ImageAnnotations.js +1 -1
  42. package/dist/lib/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  43. package/dist/lib/src/protobuf.generated/ImgDetections.js +1 -1
  44. package/dist/lib/src/protobuf.generated/ImgDetections.js.map +1 -1
  45. package/dist/lib/src/protobuf.generated/ImgFrame.js +1 -1
  46. package/dist/lib/src/protobuf.generated/ImgFrame.js.map +1 -1
  47. package/dist/lib/src/protobuf.generated/PointCloudData.js +1 -1
  48. package/dist/lib/src/protobuf.generated/PointCloudData.js.map +1 -1
  49. package/dist/lib/src/protobuf.generated/RGBDData.js +1 -1
  50. package/dist/lib/src/protobuf.generated/RGBDData.js.map +1 -1
  51. package/dist/lib/src/protobuf.generated/SegmentationMask.js +1 -1
  52. package/dist/lib/src/protobuf.generated/SegmentationMask.js.map +1 -1
  53. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +1 -1
  54. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  55. package/dist/lib/src/protobuf.generated/common.js +1 -1
  56. package/dist/lib/src/protobuf.generated/common.js.map +1 -1
  57. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.d.ts.map +1 -1
  58. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js +10 -0
  59. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js.map +1 -1
  60. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.d.ts.map +1 -1
  61. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js +23 -14
  62. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js.map +1 -1
  63. package/dist/{protobuf-BQPUfAzh.js → protobuf-Be0G3NFz.js} +8 -8
  64. package/dist/{worker-IhN8LKNl.js → worker-0Q6os6Ck.js} +4 -4
  65. package/dist/{worker-ChcSJthL.js → worker-NFznpx6V.js} +3 -3
  66. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { g as getDefaultExportFromCjs } from './protobuf-BQPUfAzh.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-BQPUfAzh.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
  import { L as Logger } from './logger-Bqy1nuLj.js';
5
5
 
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { w as wrap, t as transfer } from './comlink-jf8bdrAf.js';
3
- import { f as commonjsGlobal, _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, g as getDefaultExportFromCjs, b as _objectSpread2, T as Type } from './protobuf-BQPUfAzh.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 { L as Logger$2 } from './logger-Bqy1nuLj.js';
5
5
  import { useContext, useRef, createContext, useReducer, useLayoutEffect, useState, useCallback } from 'react';
6
6
  import 'zustand';
@@ -543,6 +543,90 @@ _Logger = Logger;
543
543
  Logger.default = new _Logger("");
544
544
  var Logger$1 = Logger.default;
545
545
 
546
+ // This Source Code Form is subject to the terms of the Mozilla Public
547
+ // License, v2.0. If a copy of the MPL was not distributed with this
548
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/
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
+
546
630
  const decodingErrorDefinitions = {
547
631
  UnsupportedTopic: {
548
632
  message: "This topic is not supported by the current decoder."
@@ -2799,7 +2883,7 @@ function useJsonTreeTheme() {
2799
2883
  }
2800
2884
  const TAB_PANEL_TYPE = "Tab";
2801
2885
 
2802
- const log$2 = Logger$1.getLogger("src/index.ts");
2886
+ const log$1 = Logger$1.getLogger("src/index.ts");
2803
2887
 
2804
2888
  // given a panel type, create a unique id for a panel
2805
2889
  // with the type embedded within the id
@@ -3014,13 +3098,13 @@ const validateTabPanelConfig = config => {
3014
3098
  }
3015
3099
  if (!Array.isArray(config.tabs) || typeof config.activeTabIdx !== "number") {
3016
3100
  const error = new Error("A non-Tab panel config is being operated on as if it were a Tab panel.");
3017
- log$2.info(`Invalid Tab panel config: ${error.message}`, config);
3101
+ log$1.info(`Invalid Tab panel config: ${error.message}`, config);
3018
3102
  reportError(error);
3019
3103
  return false;
3020
3104
  }
3021
3105
  if (config.activeTabIdx >= config.tabs.length) {
3022
3106
  const error = new Error("A Tab panel has an activeTabIdx for a nonexistent tab.");
3023
- log$2.info(`Invalid Tab panel config: ${error.message}`, config);
3107
+ log$1.info(`Invalid Tab panel config: ${error.message}`, config);
3024
3108
  reportError(error);
3025
3109
  return false;
3026
3110
  }
@@ -3292,7 +3376,7 @@ function toggleSelectedPanel(panelId, containingTabId, configById, selectedPanel
3292
3376
  * part of a saved "layout") used by the current workspace.
3293
3377
  */
3294
3378
 
3295
- const log$1 = Logger$1.getLogger("src/index.ts");
3379
+ const log = Logger$1.getLogger("src/index.ts");
3296
3380
  const CurrentLayoutContext = /*#__PURE__*/createContext(undefined);
3297
3381
  CurrentLayoutContext.displayName = "CurrentLayoutContext";
3298
3382
  function usePanelMosaicId() {
@@ -3307,7 +3391,7 @@ function useCurrentLayoutSelector(selector) {
3307
3391
 
3308
3392
  // Catch locations using unstable function selectors
3309
3393
  useShouldNotChangeOften(selector, () => {
3310
- log$1.warn("useCurrentLayoutSelector is changing frequently. Rewrite your selector as a stable function.");
3394
+ log.warn("useCurrentLayoutSelector is changing frequently. Rewrite your selector as a stable function.");
3311
3395
  });
3312
3396
  const state = useRef(undefined);
3313
3397
  if (!state.current || selector !== state.current.selector) {
@@ -3627,91 +3711,6 @@ sendNotification.expectCalledDuringTest = () => {
3627
3711
  throw new Error("Should be overriden in setupTestFramework.ts");
3628
3712
  };
3629
3713
 
3630
- // This Source Code Form is subject to the terms of the Mozilla Public
3631
- // License, v2.0. If a copy of the MPL was not distributed with this
3632
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
3633
- const log = Logger$1.getLogger("src/index.ts");
3634
- /**
3635
- * Values of the contants below are a (more or less) informed guesses and not guaranteed to be accurate.
3636
- */
3637
- const COMPRESSED_POINTER_SIZE = 4; // Pointers use 4 bytes (also on 64-bit systems) due to pointer compression
3638
- const OBJECT_BASE_SIZE = 3 * COMPRESSED_POINTER_SIZE; // 3 compressed pointers
3639
- // Arrays have an additional length property (1 pointer) and a backing store header (2 pointers)
3640
- // See https://stackoverflow.com/a/70550693.
3641
- const ARRAY_BASE_SIZE = OBJECT_BASE_SIZE + 3 * COMPRESSED_POINTER_SIZE;
3642
- const TYPED_ARRAY_BASE_SIZE = 25 * COMPRESSED_POINTER_SIZE; // byteLength, byteOffset, ..., see https://stackoverflow.com/a/45808835
3643
- const SMALL_INTEGER_SIZE = COMPRESSED_POINTER_SIZE; // Small integers (up to 31 bits), pointer tagging
3644
- const HEAP_NUMBER_SIZE = 8 + 2 * COMPRESSED_POINTER_SIZE; // 4-byte map pointer + 8-byte payload + property pointer
3645
- const MAX_NUM_FAST_PROPERTIES = 1020;
3646
- /**
3647
- * Estimate the size in bytes of an arbitrary object or primitive.
3648
- * @param obj Object or primitive to estimate the size for
3649
- * @returns Estimated size in bytes
3650
- */
3651
- function estimateObjectSize(obj) {
3652
- // catches null and undefined
3653
- // typeof null == "object"
3654
- if (obj == undefined) {
3655
- return SMALL_INTEGER_SIZE;
3656
- }
3657
- switch (typeof obj) {
3658
- case "undefined":
3659
- case "boolean": {
3660
- return SMALL_INTEGER_SIZE;
3661
- }
3662
- case "number": {
3663
- return Number.isInteger(obj) ? SMALL_INTEGER_SIZE : HEAP_NUMBER_SIZE;
3664
- }
3665
- case "bigint": {
3666
- return HEAP_NUMBER_SIZE;
3667
- }
3668
- case "string": {
3669
- // The string length is rounded up to the next multiple of 4.
3670
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Math.ceil(obj.length / 4) * 4;
3671
- }
3672
- case "object": {
3673
- if (Array.isArray(obj)) {
3674
- return (COMPRESSED_POINTER_SIZE +
3675
- ARRAY_BASE_SIZE +
3676
- Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0));
3677
- }
3678
- else if (ArrayBuffer.isView(obj)) {
3679
- return TYPED_ARRAY_BASE_SIZE + obj.byteLength;
3680
- }
3681
- else if (obj instanceof Set) {
3682
- return (COMPRESSED_POINTER_SIZE +
3683
- OBJECT_BASE_SIZE +
3684
- Array.from(obj.values()).reduce((acc, val) => acc + estimateObjectSize(val), 0));
3685
- }
3686
- else if (obj instanceof Map) {
3687
- return (COMPRESSED_POINTER_SIZE +
3688
- OBJECT_BASE_SIZE +
3689
- Array.from(obj.entries()).reduce((acc, [key, val]) => acc + estimateObjectSize(key) + estimateObjectSize(val), 0));
3690
- }
3691
- let propertiesSize = 0;
3692
- const numProps = Object.keys(obj).length;
3693
- if (numProps > MAX_NUM_FAST_PROPERTIES) {
3694
- // If there are too many properties, V8 stores Objects in dictionary mode (slow properties)
3695
- // with each object having a self-contained dictionary. This dictionary contains the key, value
3696
- // and details of properties. Below we estimate the size of this additional dictionary. Formula
3697
- // adapted from
3698
- // medium.com/@bpmxmqd/v8-engine-jsobject-structure-analysis-and-memory-optimization-ideas-be30cfcdcd16
3699
- const propertiesDictSize = 16 + 5 * 8 + 2 ** Math.ceil(Math.log2((numProps + 2) * 1.5)) * 3 * 4;
3700
- // In return, properties are no longer stored in the properties array, so we subtract that.
3701
- propertiesSize = propertiesDictSize - numProps * COMPRESSED_POINTER_SIZE;
3702
- }
3703
- const valuesSize = Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
3704
- return OBJECT_BASE_SIZE + propertiesSize + valuesSize;
3705
- }
3706
- case "symbol":
3707
- case "function": {
3708
- throw new Error(`Can't estimate size of type '${typeof obj}'`);
3709
- }
3710
- }
3711
- log.error(`Can't estimate size of type '${typeof obj}'`);
3712
- return SMALL_INTEGER_SIZE;
3713
- }
3714
-
3715
3714
  // This Source Code Form is subject to the terms of the Mozilla Public
3716
3715
  // License, v2.0. If a copy of the MPL was not distributed with this
3717
3716
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
@@ -3724,6 +3723,7 @@ function estimateObjectSize(obj) {
3724
3723
  // This source code is licensed under the Apache License, Version 2.0,
3725
3724
  // found at http://www.apache.org/licenses/LICENSE-2.0
3726
3725
  // You may not use this file except in compliance with the License.
3726
+
3727
3727
  Logger$1.getLogger("src/index.ts");
3728
3728
 
3729
3729
  // This Source Code Form is subject to the terms of the Mozilla Public
@@ -3938,4 +3938,4 @@ function getDistanceFromDepthDataForOffset(depthData, width, height, xOffset, yO
3938
3938
  return sum / count;
3939
3939
  }
3940
3940
 
3941
- export { deserializeDepthFrame 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, DecodingError as Q, getDistanceFromDepthDataForOffset as R, parseMessage as S, TAB_PANEL_TYPE as T, estimateObjectSize as U, fromMillis as V, DecoderRuntimeError as W, parsePixelFormat as X, UnsupportedTopicError as Y, NotInSecureContextError as Z, EncodedStreamNotSupportedError as _, baseEach as a, isSymbol as a0, toString as a1, keys as a2, getSymbols as a3, stubArray as a4, arrayPush as a5, baseGetAllKeys as a6, getAllKeys as a7, arrayMap as a8, useCurrentLayoutActions as a9, useCurrentLayoutSelector as aa, usePanelMosaicId as ab, noop as ac, useSelectedPanels as ad, useAppConfiguration as ae, useJsonTreeTheme as af, baseFlatten as b, createDecodingError as c, dist as d, baseIteratee 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 };
3941
+ export { deserializeDepthFrame as $, AppError as A, inlineTabPanelLayouts as B, getAllPanelIds as C, DEFAULT_TAB_PANEL_CONFIG as D, getConfigsForNestedPanelsInsideTab as E, reorderTabWithinTabPanel as F, moveTabBetweenTabPanels as G, isTabPanelConfig as H, addPanelToTab as I, createAddUpdates as J, filterMap as K, Logger$1 as L, uniq as M, useShallowMemo as N, CurrentLayoutContext as O, MessageOrderTracker as P, AppConfigurationContext as Q, DecodingError as R, getDistanceFromDepthDataForOffset as S, TAB_PANEL_TYPE as T, parseMessage as U, fromMillis as V, DecoderRuntimeError as W, parsePixelFormat as X, UnsupportedTopicError as Y, NotInSecureContextError as Z, EncodedStreamNotSupportedError as _, baseEach as a, isSymbol as a0, toString as a1, keys as a2, getSymbols as a3, stubArray as a4, arrayPush as a5, baseGetAllKeys as a6, getAllKeys as a7, arrayMap as a8, useCurrentLayoutActions as a9, useCurrentLayoutSelector as aa, usePanelMosaicId as ab, noop as ac, useSelectedPanels as ad, useAppConfiguration as ae, useJsonTreeTheme as af, baseFlatten as b, createDecodingError as c, dist as d, estimateObjectSize as e, baseIteratee as f, baseDifference as g, getTag as h, baseKeys as i, baseIsEqual as j, castPath as k, baseGet as l, hasIn as m, shallowequal$1 as n, getPanelIdsInsideTabPanels as o, getPanelTypeFromId as p, removePanelFromTabPanel as q, reportError as r, sendNotification as s, toKey as t, useGuaranteedContext as u, getPanelIdForType as v, getPathFromNode as w, updateTabPanelLayout as x, getSaveConfigsPayloadForAddedPanel as y, replaceAndRemovePanels 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-BQPUfAzh.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-jf8bdrAf.js';
4
- import { t as typescript } from './index-BEfrzxM3.js';
5
- import { S as parseMessage, U as estimateObjectSize, V as fromMillis, W as DecoderRuntimeError, d as dist, X as parsePixelFormat, Y as UnsupportedTopicError, Z as NotInSecureContextError, _ as EncodedStreamNotSupportedError, $ as deserializeDepthFrame } from './depth-Ct_zm8Rq.js';
4
+ import { t as typescript } from './index-Dqm1x8G2.js';
5
+ import { U as parseMessage, e as estimateObjectSize, V as fromMillis, W as DecoderRuntimeError, d as dist, X as parsePixelFormat, Y as UnsupportedTopicError, Z as NotInSecureContextError, _ as EncodedStreamNotSupportedError, $ as deserializeDepthFrame } from './depth-DlC6A3Te.js';
6
6
  import { L as Logger } from './logger-Bqy1nuLj.js';
7
7
  import { i as isCapableOfEncodedStream } from './encoding-jXImCIb4.js';
8
8
  import 'react';
@@ -797,12 +797,17 @@ function ensureWebCodecsSupported(target) {
797
797
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
798
798
 
799
799
  const logger$2 = Logger.getLogger();
800
- function configureDecoder(decoder) {
800
+ function configureDecoder$1(decoder) {
801
801
  decoder.configure({
802
802
  codec: "avc1.42001E",
803
803
  optimizeForLatency: true
804
804
  });
805
805
  }
806
+ function ensureDecoderConfigured$1(decoder) {
807
+ if (decoder.state === "unconfigured") {
808
+ configureDecoder$1(decoder);
809
+ }
810
+ }
806
811
  function closeDecoder$1(decoder) {
807
812
  if (!decoder) {
808
813
  return;
@@ -1040,7 +1045,7 @@ async function deserializeEncodedFrameH264({
1040
1045
  onError
1041
1046
  });
1042
1047
  try {
1043
- configureDecoder(decoder);
1048
+ configureDecoder$1(decoder);
1044
1049
  } catch (error) {
1045
1050
  closeDecoder$1(decoder);
1046
1051
  onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to configure H.264 decoder."));
@@ -1059,7 +1064,7 @@ async function deserializeEncodedFrameH264({
1059
1064
  }
1060
1065
  } else if (existingDecoderInfo.decoder.state === "unconfigured") {
1061
1066
  try {
1062
- configureDecoder(existingDecoderInfo.decoder);
1067
+ ensureDecoderConfigured$1(existingDecoderInfo.decoder);
1063
1068
  existingDecoderInfo.timing.clear();
1064
1069
  existingDecoderInfo.transformations.clear();
1065
1070
  } catch (error) {
@@ -1074,6 +1079,12 @@ async function deserializeEncodedFrameH264({
1074
1079
  }
1075
1080
  if (decoderInfo.decoder.decodeQueueSize > 60) {
1076
1081
  decoderInfo.decoder.reset();
1082
+ try {
1083
+ ensureDecoderConfigured$1(decoderInfo.decoder);
1084
+ } catch (error) {
1085
+ closeTopicDecoder$1(topic, topicDecoders);
1086
+ onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.264 decoder after reset."));
1087
+ }
1077
1088
  decoderInfo.timing.clear();
1078
1089
  decoderInfo.transformations.clear();
1079
1090
  return;
@@ -1087,6 +1098,7 @@ async function deserializeEncodedFrameH264({
1087
1098
  timestamp: microTimestamp
1088
1099
  };
1089
1100
  try {
1101
+ ensureDecoderConfigured$1(decoderInfo.decoder);
1090
1102
  const chunk = new EncodedVideoChunk(frame);
1091
1103
  decoderInfo.decoder.decode(chunk);
1092
1104
  } catch (error) {
@@ -1104,6 +1116,17 @@ async function deserializeEncodedFrameH264({
1104
1116
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
1105
1117
 
1106
1118
  const logger$1 = Logger.getLogger();
1119
+ function configureDecoder(decoder) {
1120
+ decoder.configure({
1121
+ codec: "hev1.1.6.L93.B0",
1122
+ optimizeForLatency: true
1123
+ });
1124
+ }
1125
+ function ensureDecoderConfigured(decoder) {
1126
+ if (decoder.state === "unconfigured") {
1127
+ configureDecoder(decoder);
1128
+ }
1129
+ }
1107
1130
  function closeDecoder(decoder) {
1108
1131
  if (!decoder) {
1109
1132
  return;
@@ -1187,10 +1210,7 @@ async function deserializeEncodedFrameH265({
1187
1210
  onError
1188
1211
  });
1189
1212
  try {
1190
- decoder.configure({
1191
- codec: "hev1.1.6.L93.B0",
1192
- optimizeForLatency: true
1193
- });
1213
+ configureDecoder(decoder);
1194
1214
  } catch (error) {
1195
1215
  closeDecoder(decoder);
1196
1216
  onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to configure H.265 decoder."));
@@ -1207,6 +1227,16 @@ async function deserializeEncodedFrameH265({
1207
1227
  transformations: new Map()
1208
1228
  });
1209
1229
  }
1230
+ } else if (existingDecoderInfo.decoder.state === "unconfigured") {
1231
+ try {
1232
+ ensureDecoderConfigured(existingDecoderInfo.decoder);
1233
+ existingDecoderInfo.timing.clear();
1234
+ existingDecoderInfo.transformations.clear();
1235
+ } catch (error) {
1236
+ closeTopicDecoder(topic, topicDecoders);
1237
+ onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.265 decoder."));
1238
+ return;
1239
+ }
1210
1240
  }
1211
1241
  const decoderInfo = topicDecoders.get(topic);
1212
1242
  if (!decoderInfo) {
@@ -1214,6 +1244,14 @@ async function deserializeEncodedFrameH265({
1214
1244
  }
1215
1245
  if (decoderInfo.decoder.decodeQueueSize > 60) {
1216
1246
  decoderInfo.decoder.reset();
1247
+ try {
1248
+ ensureDecoderConfigured(decoderInfo.decoder);
1249
+ } catch (error) {
1250
+ closeTopicDecoder(topic, topicDecoders);
1251
+ onError(new DecoderRuntimeError(topic, error instanceof Error ? error.message : "Failed to reconfigure H.265 decoder after reset."));
1252
+ }
1253
+ decoderInfo.timing.clear();
1254
+ decoderInfo.transformations.clear();
1217
1255
  return;
1218
1256
  }
1219
1257
  const microTimestamp = receiveTime.sec * 1000000 + Math.floor(receiveTime.nsec / 1000);
@@ -1225,6 +1263,7 @@ async function deserializeEncodedFrameH265({
1225
1263
  timestamp: microTimestamp
1226
1264
  };
1227
1265
  try {
1266
+ ensureDecoderConfigured(decoderInfo.decoder);
1228
1267
  const chunk = new EncodedVideoChunk(frame);
1229
1268
  decoderInfo.decoder.decode(chunk);
1230
1269
  } catch (error) {
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-Z9mJitqG.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,20 +1,20 @@
1
1
  'use client';
2
- import { ImagePanel } from './index-1D5S7eR3.js';
2
+ import { ImagePanel } from './index-BF6pGj6y.js';
3
3
  import 'react';
4
4
  import 'react-dom/client';
5
- import './depth-Ct_zm8Rq.js';
5
+ import './depth-DlC6A3Te.js';
6
6
  import './comlink-jf8bdrAf.js';
7
- import './protobuf-BQPUfAzh.js';
7
+ import './protobuf-Be0G3NFz.js';
8
8
  import './logger-Bqy1nuLj.js';
9
9
  import 'zustand';
10
10
  import 'react-mosaic-component';
11
11
  import '@mui/material';
12
12
  import './isArrayLikeObject-n9ytTioB.js';
13
- import './index-BWUFvnnr.js';
13
+ import './index-Bi4nJb4U.js';
14
14
  import './utils-DmlHZWuo.js';
15
- import './FoxgloveServer-Z9mJitqG.js';
15
+ import './FoxgloveServer-B98MHUu6.js';
16
16
  import 'ms';
17
- import './foxglove-protocol-DTBud3kT.js';
17
+ import './foxglove-protocol-yHdoBNaD.js';
18
18
  import 'react-dnd';
19
19
  import 'react-dnd-html5-backend';
20
20
  import './i18next-17tp0Ngf.js';
@@ -34,7 +34,7 @@ import '@mui/icons-material/MoreVert';
34
34
  import '@mui/icons-material/Cancel';
35
35
  import '@mui/icons-material/Search';
36
36
  import './decodeImage-DseBx4N0.js';
37
- import './index-BEfrzxM3.js';
37
+ import './index-Dqm1x8G2.js';
38
38
  import '@mui/material/styles/createTypography';
39
39
  import 'color';
40
40
  import 'lodash.curry';