@luxonis/visualizer-protobuf 3.1.11 → 3.1.13

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 (81) hide show
  1. package/dist/{FoxgloveServer-B98MHUu6.js → FoxgloveServer-Da9kV1cr.js} +1 -1
  2. package/dist/{communicator-Bzkx3Qfr.js → communicator-Dh2aL-rj.js} +1 -1
  3. package/dist/{depth-DlC6A3Te.js → depth-DiD1V2Sg.js} +15 -28
  4. package/dist/{deserialization.worker-CO4m6y8V.js → deserialization.worker-DU2Hs4UP.js} +577 -341
  5. package/dist/{foxglove-protocol-yHdoBNaD.js → foxglove-protocol-BtLMVx24.js} +1 -1
  6. package/dist/{index-CB1fYMKI.js → index--95nXh6E.js} +5 -5
  7. package/dist/{index-Dqm1x8G2.js → index-B5oN0fQm.js} +1 -1
  8. package/dist/{index-BXzWxQD4.js → index-B9-rLgJ9.js} +7 -7
  9. package/dist/{index-DCsDqt-U.js → index-BMp_L7Aa.js} +5 -5
  10. package/dist/{index-Be6EYnox.js → index-B_3PleIH.js} +49 -35
  11. package/dist/{index-BYTk-1GW.js → index-BjiepKHF.js} +5 -5
  12. package/dist/{index-DgUF0rJi.js → index-C45UVGjk.js} +5 -5
  13. package/dist/{index-D_pNGJGQ.js → index-CCq5_y78.js} +5 -5
  14. package/dist/{index-D2sxEb00.js → index-CNjpp5xs.js} +5 -5
  15. package/dist/{index-B-g3aWAt.js → index-CcWunxJv.js} +5 -5
  16. package/dist/{index-BEUjTghZ.js → index-CidrwlEk.js} +5 -5
  17. package/dist/{index-CKE7xLWy.js → index-CqayH0_I.js} +5 -5
  18. package/dist/{index-CDp9Pzg1.js → index-CxKEiKY9.js} +5 -5
  19. package/dist/{index-BlROWu-J.js → index-D686pHc1.js} +6 -6
  20. package/dist/{index-DCsBkCC7.js → index-DWt4Nj5G.js} +5 -5
  21. package/dist/{index-DtnnnQqJ.js → index-DewnJOHY.js} +5 -5
  22. package/dist/{index-D0BOBLGo.js → index-DnhrXuH6.js} +5 -5
  23. package/dist/{index-OIOsl1pr.js → index-DopAEQk2.js} +5 -5
  24. package/dist/{index-D063HnO-.js → index-DzOBiI2h.js} +5 -5
  25. package/dist/{index-Dvd5sByT.js → index-JlGCfxtk.js} +5 -5
  26. package/dist/{index-DXmbPIsN.js → index-X1k93Nku.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
  29. package/dist/lib/src/connection/foxglove-connection.js +7 -1
  30. package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
  31. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +2 -2
  32. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -1
  33. package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
  34. package/dist/lib/src/messaging/deserialization/pointcloud/utils.d.ts.map +1 -1
  35. package/dist/lib/src/messaging/deserialization/pointcloud/utils.js.map +1 -1
  36. package/dist/lib/src/messaging/deserialization/video/depth.d.ts.map +1 -1
  37. package/dist/lib/src/messaging/deserialization/video/depth.js +11 -1
  38. package/dist/lib/src/messaging/deserialization/video/depth.js.map +1 -1
  39. package/dist/lib/src/messaging/deserialization/video/h264.d.ts +11 -6
  40. package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
  41. package/dist/lib/src/messaging/deserialization/video/h264.js +115 -166
  42. package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
  43. package/dist/lib/src/messaging/deserialization/video/h265.d.ts +2 -7
  44. package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -1
  45. package/dist/lib/src/messaging/deserialization/video/h265.js +55 -126
  46. package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -1
  47. package/dist/lib/src/messaging/deserialization/video/mjpeg.d.ts.map +1 -1
  48. package/dist/lib/src/messaging/deserialization/video/mjpeg.js +7 -8
  49. package/dist/lib/src/messaging/deserialization/video/mjpeg.js.map +1 -1
  50. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.d.ts +17 -0
  51. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.d.ts.map +1 -0
  52. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.js +325 -0
  53. package/dist/lib/src/messaging/deserialization/video/rgbd-to-pointcloud.js.map +1 -0
  54. package/dist/lib/src/messaging/deserialization.worker.d.ts +4 -0
  55. package/dist/lib/src/messaging/deserialization.worker.d.ts.map +1 -1
  56. package/dist/lib/src/messaging/deserialization.worker.js +16 -3
  57. package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
  58. package/dist/lib/src/messaging/protobuf.d.ts +12 -1
  59. package/dist/lib/src/messaging/protobuf.d.ts.map +1 -1
  60. package/dist/lib/src/messaging/protobuf.js +8 -0
  61. package/dist/lib/src/messaging/protobuf.js.map +1 -1
  62. package/dist/lib/src/messaging/utils.d.ts.map +1 -1
  63. package/dist/lib/src/messaging/utils.js +2 -0
  64. package/dist/lib/src/messaging/utils.js.map +1 -1
  65. package/dist/lib/src/output.css +2 -21
  66. package/dist/lib/src/panels/PointCloudPanel.d.ts.map +1 -1
  67. package/dist/lib/src/panels/PointCloudPanel.js +5 -1
  68. package/dist/lib/src/panels/PointCloudPanel.js.map +1 -1
  69. package/dist/lib/src/utils/metrics-manager.d.ts +1 -0
  70. package/dist/lib/src/utils/metrics-manager.d.ts.map +1 -1
  71. package/dist/lib/src/utils/metrics-manager.js +4 -2
  72. package/dist/lib/src/utils/metrics-manager.js.map +1 -1
  73. package/dist/lib/src/utils/poitcloud-sync.d.ts +4 -3
  74. package/dist/lib/src/utils/poitcloud-sync.d.ts.map +1 -1
  75. package/dist/lib/src/utils/poitcloud-sync.js +3 -1
  76. package/dist/lib/src/utils/poitcloud-sync.js.map +1 -1
  77. package/dist/{pointcloudFromDepth.worker-JLptpLHr.js → pointcloudFromDepth.worker-60RA4Ief.js} +2 -2
  78. package/dist/{protobuf-Be0G3NFz.js → protobuf-OcbVtxg1.js} +406 -218
  79. package/dist/{worker-NFznpx6V.js → worker-Be-hru8f.js} +3 -3
  80. package/dist/{worker-0Q6os6Ck.js → worker-C2MHIq3t.js} +4 -4
  81. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-B98MHUu6.js';
2
+ import { C as ClientBinaryOpcode, B as BinaryOpcode } from './FoxgloveServer-Da9kV1cr.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,8 +1,8 @@
1
1
  'use client';
2
- import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a1 as syntaxTree, $ as ifNotIn, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, a8 as IterMode, a0 as completeFromList, a9 as NodeWeakMap, a7 as snippetCompletion } from './index-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.js';
2
+ import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a1 as syntaxTree, $ as ifNotIn, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, a8 as IterMode, a0 as completeFromList, a9 as NodeWeakMap, a7 as snippetCompletion } from './index-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { i as getAugmentedNamespace } from './protobuf-Be0G3NFz.js';
2
+ import { i as getAugmentedNamespace } from './protobuf-OcbVtxg1.js';
3
3
 
4
4
  var typescript = {};
5
5
 
@@ -1,20 +1,20 @@
1
1
  'use client';
2
- import { ImagePanel } from './index-BlROWu-J.js';
2
+ import { ImagePanel } from './index-D686pHc1.js';
3
3
  import 'react';
4
4
  import 'react-dom/client';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
- import './protobuf-Be0G3NFz.js';
7
+ import './protobuf-OcbVtxg1.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-Be6EYnox.js';
13
+ import './index-B_3PleIH.js';
14
14
  import './utils-DmlHZWuo.js';
15
- import './FoxgloveServer-B98MHUu6.js';
15
+ import './FoxgloveServer-Da9kV1cr.js';
16
16
  import 'ms';
17
- import './foxglove-protocol-yHdoBNaD.js';
17
+ import './foxglove-protocol-BtLMVx24.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-Dqm1x8G2.js';
37
+ import './index-B5oN0fQm.js';
38
38
  import '@mui/material/styles/createTypography';
39
39
  import 'color';
40
40
  import 'lodash.curry';
@@ -1,8 +1,8 @@
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-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.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-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,13 +1,13 @@
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-Be0G3NFz.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-OcbVtxg1.js';
3
3
  import { L as Logger } from './logger-Bqy1nuLj.js';
4
- import { d as dist$1, e as estimateObjectSize, c as createDecodingError, r as reportError, A as AppError, b as baseFlatten, a as baseEach, f as baseIteratee, g as baseDifference, h as getTag, i as baseKeys, j as baseIsEqual, k as castPath, t as toKey, l as baseGet, m as hasIn, s as sendNotification, n as shallowequal, u as useGuaranteedContext, o as getPanelIdsInsideTabPanels, p as getPanelTypeFromId, T as TAB_PANEL_TYPE, q as removePanelFromTabPanel, v as getPanelIdForType, w as getPathFromNode, x as updateTabPanelLayout, y as getSaveConfigsPayloadForAddedPanel, z as replaceAndRemovePanels, B as inlineTabPanelLayouts, C as getAllPanelIds, D as DEFAULT_TAB_PANEL_CONFIG, E as getConfigsForNestedPanelsInsideTab, F as reorderTabWithinTabPanel, G as moveTabBetweenTabPanels, H as isTabPanelConfig, I as addPanelToTab, J as createAddUpdates, K as filterMap, L as Logger$1, M as uniq$2, N as useShallowMemo, O as CurrentLayoutContext, P as MessageOrderTracker, Q as AppConfigurationContext, R as DecodingError } from './depth-DlC6A3Te.js';
4
+ import { d as dist$1, e as estimateObjectSize, c as createDecodingError, r as reportError, A as AppError, b as baseFlatten, a as baseEach, f as baseIteratee, g as baseDifference, h as getTag, i as baseKeys, j as baseIsEqual, k as castPath, t as toKey, l as baseGet, m as hasIn, s as sendNotification, n as shallowequal, u as useGuaranteedContext, o as getPanelIdsInsideTabPanels, p as getPanelTypeFromId, T as TAB_PANEL_TYPE, q as removePanelFromTabPanel, v as getPanelIdForType, w as getPathFromNode, x as updateTabPanelLayout, y as getSaveConfigsPayloadForAddedPanel, z as replaceAndRemovePanels, B as inlineTabPanelLayouts, C as getAllPanelIds, D as DEFAULT_TAB_PANEL_CONFIG, E as getConfigsForNestedPanelsInsideTab, F as reorderTabWithinTabPanel, G as moveTabBetweenTabPanels, H as isTabPanelConfig, I as addPanelToTab, J as createAddUpdates, K as filterMap, L as Logger$1, M as uniq$2, N as useShallowMemo, O as CurrentLayoutContext, P as MessageOrderTracker, Q as AppConfigurationContext, R as DecodingError } from './depth-DiD1V2Sg.js';
5
5
  import { w as wrap$3, r as releaseProxy, p as proxy } from './comlink-jf8bdrAf.js';
6
6
  import { u as uint8ArrayToUint16Array } from './utils-DmlHZWuo.js';
7
- import { B as BinaryOpcode } from './FoxgloveServer-B98MHUu6.js';
7
+ import { B as BinaryOpcode } from './FoxgloveServer-Da9kV1cr.js';
8
8
  import * as React$1 from 'react';
9
9
  import React__default, { useRef, useMemo, createContext, useContext, forwardRef, createElement, useState, Component, useCallback, useEffect, useLayoutEffect, useReducer, useImperativeHandle, Fragment as Fragment$1, Suspense } from 'react';
10
- import { p as parseFoxgloveMessage } from './foxglove-protocol-yHdoBNaD.js';
10
+ import { p as parseFoxgloveMessage } from './foxglove-protocol-BtLMVx24.js';
11
11
  import { DndProvider } from 'react-dnd';
12
12
  import { HTML5Backend } from 'react-dnd-html5-backend';
13
13
  import { getLeaves, createRemoveUpdate, updateTree, createHideUpdate, createDragToUpdates, getNodeAtPath, MosaicContext, MosaicWindowContext } from 'react-mosaic-component';
@@ -29,7 +29,7 @@ import { defineGlobalStyles, defineTokens as defineTokens$1, defineKeyframes, de
29
29
 
30
30
  var e=[],t$1=[];function n$1(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t$1[u]={}),a=t$1[u]&&t$1[u][s]?t$1[u][s]:t$1[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
31
31
 
32
- var css$b = "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-700: oklch(0.373 0.034 259.733);\n --color-white: #fff;\n --spacing: 0.25rem;\n --font-weight-semibold: 600;\n --radius-lg: 0.5rem;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .fixed {\n position: fixed;\n }\n .static {\n position: static;\n }\n .start {\n inset-inline-start: var(--spacing);\n }\n .end {\n inset-inline-end: var(--spacing);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .w-full {\n width: 100%;\n }\n .max-w-\\[60\\%\\%\\] {\n max-width: 60%%;\n }\n .grow {\n flex-grow: 1;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-start {\n align-items: flex-start;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-\\[\\#d3d3d3d9\\] {\n border-color: #d3d3d3d9;\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .text-\\[14px\\]\\/\\[14px\\] {\n font-size: 14px;\n line-height: 14px;\n }\n .text-\\[20px\\]\\/\\[20px\\] {\n font-size: 20px;\n line-height: 20px;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-nowrap {\n text-wrap: nowrap;\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:items-end {\n @media (width >= 80rem) {\n align-items: flex-end;\n }\n }\n .xl\\:pb-\\[2px\\] {\n @media (width >= 80rem) {\n padding-bottom: 2px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-outline-style: solid;\n }\n }\n}\n";
32
+ var css$b = "/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-700: oklch(0.373 0.034 259.733);\n --color-white: #fff;\n --spacing: 0.25rem;\n --font-weight-semibold: 600;\n --radius-lg: 0.5rem;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .fixed {\n position: fixed;\n }\n .static {\n position: static;\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .w-full {\n width: 100%;\n }\n .max-w-\\[60\\%\\%\\] {\n max-width: 60%%;\n }\n .grow {\n flex-grow: 1;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-start {\n align-items: flex-start;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-\\[\\#d3d3d3d9\\] {\n border-color: #d3d3d3d9;\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .text-\\[14px\\]\\/\\[14px\\] {\n font-size: 14px;\n line-height: 14px;\n }\n .text-\\[20px\\]\\/\\[20px\\] {\n font-size: 20px;\n line-height: 20px;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-nowrap {\n text-wrap: nowrap;\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:items-end {\n @media (width >= 80rem) {\n align-items: flex-end;\n }\n }\n .xl\\:pb-\\[2px\\] {\n @media (width >= 80rem) {\n padding-bottom: 2px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n";
33
33
  n$1(css$b,{});
34
34
 
35
35
  // This Source Code Form is subject to the terms of the Mozilla Public
@@ -557,6 +557,10 @@ class MetricsManager {
557
557
  }
558
558
  }
559
559
  class EventMetricsManager extends MetricsManager {
560
+ ensureTopic(topic) {
561
+ var _this$metrics, _this$metrics$topic;
562
+ (_this$metrics$topic = (_this$metrics = this.metrics)[topic]) !== null && _this$metrics$topic !== void 0 ? _this$metrics$topic : _this$metrics[topic] = [];
563
+ }
560
564
  calculate(topic) {
561
565
  const topicMetrics = this.metrics[topic];
562
566
  if (!topicMetrics) {
@@ -573,10 +577,8 @@ class EventMetricsManager extends MetricsManager {
573
577
  return Math.round(fps);
574
578
  }
575
579
  registerEvent(topic) {
576
- var _this$metrics, _this$metrics$topic;
577
580
  const currentTime = performance.now();
578
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
579
- (_this$metrics$topic = (_this$metrics = this.metrics)[topic]) !== null && _this$metrics$topic !== void 0 ? _this$metrics$topic : _this$metrics[topic] = [];
581
+ this.ensureTopic(topic);
580
582
  this.metrics[topic].unshift(currentTime);
581
583
  if (this.metrics[topic].length > MAX_SAMPLE_SIZE) {
582
584
  this.metrics[topic].length = MAX_SAMPLE_SIZE;
@@ -751,7 +753,7 @@ class DepthToPointcloudWorkerPool {
751
753
  _classPrivateFieldLooseBase(this, _targetDispatchIntervalMs)[_targetDispatchIntervalMs] = DISPATCH_INTERVAL_MS / Math.max(1, Math.round(targetFps / DISPATCH_INTERVAL_FRACTION)) * _classPrivateFieldLooseBase(this, _calculateBatchMultiplier)[_calculateBatchMultiplier]();
752
754
  _classPrivateFieldLooseBase(this, _maxProcessedQueueSize)[_maxProcessedQueueSize] = Math.max(1, maxProcessedQueueSize);
753
755
  this.workerApis = new Array(WORKER_COUNT).fill(undefined).map(() => {
754
- const worker = new Worker(new URL("pointcloudFromDepth.worker-JLptpLHr.js", import.meta.url), {
756
+ const worker = new Worker(new URL("pointcloudFromDepth.worker-60RA4Ief.js", import.meta.url), {
755
757
  type: "module"
756
758
  });
757
759
  return ComlinkWrap(worker);
@@ -975,7 +977,7 @@ ConfigStore.instance = void 0;
975
977
 
976
978
  var _localStorage$getItem;
977
979
  function initWorker(callback) {
978
- const worker = new Worker(new URL("deserialization.worker-CO4m6y8V.js", import.meta.url), {
980
+ const worker = new Worker(new URL("deserialization.worker-DU2Hs4UP.js", import.meta.url), {
979
981
  type: "module",
980
982
  name: `message-decoder`
981
983
  });
@@ -1214,6 +1216,7 @@ class PoitCloudSyncFramework {
1214
1216
  if (Math.abs(popedFrame.timestamp.nsec - nsec) / 10 ** 9 < _classPrivateFieldLooseBase(this, _MAX_DELAY_SEC)[_MAX_DELAY_SEC]) {
1215
1217
  return popedFrame;
1216
1218
  }
1219
+ //@ts-ignore
1217
1220
  this.storedFrames.push(popedFrame);
1218
1221
  }
1219
1222
  return null;
@@ -1222,6 +1225,7 @@ class PoitCloudSyncFramework {
1222
1225
  if (Object.keys(this.storedFrames).length > _classPrivateFieldLooseBase(this, _MAX_STORED_FRAMES)[_MAX_STORED_FRAMES]) {
1223
1226
  return;
1224
1227
  }
1228
+ //@ts-ignore
1225
1229
  this.storedFrames.push(frame);
1226
1230
  }
1227
1231
  }
@@ -1244,7 +1248,7 @@ function _binarySearch2(arr, targetKey) {
1244
1248
  }
1245
1249
  while (left <= right) {
1246
1250
  const mid = Math.floor((left + right) / 2);
1247
- // biome-ignore lint/style/noNonNullAssertion:
1251
+ // biome-ignore lint/style/noNonNullAssertion:
1248
1252
  const midKey = arr[mid].timestamp.nsec;
1249
1253
  if (midKey === targetKey) {
1250
1254
  if (Math.abs(midKey - targetKey) / 10 ** 9 < _classPrivateFieldLooseBase(this, _MAX_DELAY_SEC)[_MAX_DELAY_SEC]) {
@@ -1333,6 +1337,7 @@ class FoxgloveConnection {
1333
1337
  image: 0,
1334
1338
  pointCloud: 0,
1335
1339
  annotations: 0,
1340
+ rgbd: 0,
1336
1341
  imu: 0
1337
1342
  };
1338
1343
  this.rateLimiter = new RateLimiter([{
@@ -1463,6 +1468,11 @@ class FoxgloveConnection {
1463
1468
  coloredEvent.message.data = message;
1464
1469
  const messageSize = estimateObjectSize(coloredEvent.message);
1465
1470
  coloredEvent.sizeInBytes = messageSize;
1471
+ this.inputMetrics.registerEvent(constructKeyForTopicRenderMetrics("incomingPointCloudFrame", "Point Cloud"));
1472
+ globalRenderMetricsManager.ensureTopic(constructKeyForTopicRenderMetrics("renderPointCloudFrame", "Point Cloud"));
1473
+ this.decodeMetrics.registerEvent("Point Cloud");
1474
+ this.throughputMetrics.registerEvent("Point Cloud", messageSize);
1475
+ this.parseResolutionFromMessage(coloredEvent.message, "Point Cloud");
1466
1476
  FrameStore.getInstance().registerFrame("Point Cloud", coloredEvent);
1467
1477
  this.messageEvents.push(coloredEvent);
1468
1478
  this.emitState();
@@ -22311,7 +22321,7 @@ class WebRtcBridge extends ArtificialWorker {
22311
22321
  writable: true,
22312
22322
  value: null
22313
22323
  });
22314
- _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-0Q6os6Ck.js", import.meta.url), {
22324
+ _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-C2MHIq3t.js", import.meta.url), {
22315
22325
  type: "module"
22316
22326
  });
22317
22327
  _classPrivateFieldLooseBase(this, _setupArtificialWorker)[_setupArtificialWorker]();
@@ -22632,7 +22642,7 @@ class VisualizerConnection extends FoxgloveConnection {
22632
22642
  let _worker;
22633
22643
  if (type === "ws") {
22634
22644
  _classPrivateFieldLooseBase(this, _url)[_url] = data.connectionUrl;
22635
- _worker = new Worker(new URL("worker-NFznpx6V.js", import.meta.url), {
22645
+ _worker = new Worker(new URL("worker-Be-hru8f.js", import.meta.url), {
22636
22646
  type: "module"
22637
22647
  });
22638
22648
  } else {
@@ -88702,7 +88712,7 @@ function legacy(parser) {
88702
88712
  return new LanguageSupport(StreamLanguage.define(parser));
88703
88713
  }
88704
88714
  function sql$1(dialectName) {
88705
- return import('./index-B-g3aWAt.js').then(m => m.sql({ dialect: m[dialectName] }));
88715
+ return import('./index-CcWunxJv.js').then(m => m.sql({ dialect: m[dialectName] }));
88706
88716
  }
88707
88717
  /**
88708
88718
  An array of language descriptions for known language packages.
@@ -88713,7 +88723,7 @@ const languages = [
88713
88723
  name: "C",
88714
88724
  extensions: ["c", "h", "ino"],
88715
88725
  load() {
88716
- return import('./index-D_pNGJGQ.js').then(m => m.cpp());
88726
+ return import('./index-CCq5_y78.js').then(m => m.cpp());
88717
88727
  }
88718
88728
  }),
88719
88729
  /*@__PURE__*/LanguageDescription.of({
@@ -88721,7 +88731,7 @@ const languages = [
88721
88731
  alias: ["cpp"],
88722
88732
  extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
88723
88733
  load() {
88724
- return import('./index-D_pNGJGQ.js').then(m => m.cpp());
88734
+ return import('./index-CCq5_y78.js').then(m => m.cpp());
88725
88735
  }
88726
88736
  }),
88727
88737
  /*@__PURE__*/LanguageDescription.of({
@@ -88741,7 +88751,7 @@ const languages = [
88741
88751
  name: "Go",
88742
88752
  extensions: ["go"],
88743
88753
  load() {
88744
- return import('./index-OIOsl1pr.js').then(m => m.go());
88754
+ return import('./index-DopAEQk2.js').then(m => m.go());
88745
88755
  }
88746
88756
  }),
88747
88757
  /*@__PURE__*/LanguageDescription.of({
@@ -88756,7 +88766,7 @@ const languages = [
88756
88766
  name: "Java",
88757
88767
  extensions: ["java"],
88758
88768
  load() {
88759
- return import('./index-D0BOBLGo.js').then(m => m.java());
88769
+ return import('./index-DnhrXuH6.js').then(m => m.java());
88760
88770
  }
88761
88771
  }),
88762
88772
  /*@__PURE__*/LanguageDescription.of({
@@ -88771,7 +88781,7 @@ const languages = [
88771
88781
  name: "Jinja",
88772
88782
  extensions: ["j2", "jinja", "jinja2"],
88773
88783
  load() {
88774
- return import('./index-DtnnnQqJ.js').then(m => m.jinja());
88784
+ return import('./index-DewnJOHY.js').then(m => m.jinja());
88775
88785
  }
88776
88786
  }),
88777
88787
  /*@__PURE__*/LanguageDescription.of({
@@ -88779,7 +88789,7 @@ const languages = [
88779
88789
  alias: ["json5"],
88780
88790
  extensions: ["json", "map"],
88781
88791
  load() {
88782
- return import('./index-BYTk-1GW.js').then(m => m.json());
88792
+ return import('./index-BjiepKHF.js').then(m => m.json());
88783
88793
  }
88784
88794
  }),
88785
88795
  /*@__PURE__*/LanguageDescription.of({
@@ -88793,14 +88803,14 @@ const languages = [
88793
88803
  name: "LESS",
88794
88804
  extensions: ["less"],
88795
88805
  load() {
88796
- return import('./index-D2sxEb00.js').then(m => m.less());
88806
+ return import('./index-CNjpp5xs.js').then(m => m.less());
88797
88807
  }
88798
88808
  }),
88799
88809
  /*@__PURE__*/LanguageDescription.of({
88800
88810
  name: "Liquid",
88801
88811
  extensions: ["liquid"],
88802
88812
  load() {
88803
- return import('./index-D063HnO-.js').then(m => m.liquid());
88813
+ return import('./index-DzOBiI2h.js').then(m => m.liquid());
88804
88814
  }
88805
88815
  }),
88806
88816
  /*@__PURE__*/LanguageDescription.of({
@@ -88826,7 +88836,7 @@ const languages = [
88826
88836
  name: "PHP",
88827
88837
  extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
88828
88838
  load() {
88829
- return import('./index-DgUF0rJi.js').then(m => m.php());
88839
+ return import('./index-C45UVGjk.js').then(m => m.php());
88830
88840
  }
88831
88841
  }),
88832
88842
  /*@__PURE__*/LanguageDescription.of({
@@ -88843,28 +88853,28 @@ const languages = [
88843
88853
  extensions: ["BUILD", "bzl", "py", "pyw"],
88844
88854
  filename: /^(BUCK|BUILD)$/,
88845
88855
  load() {
88846
- return import('./index-CB1fYMKI.js').then(m => m.python());
88856
+ return import('./index--95nXh6E.js').then(m => m.python());
88847
88857
  }
88848
88858
  }),
88849
88859
  /*@__PURE__*/LanguageDescription.of({
88850
88860
  name: "Rust",
88851
88861
  extensions: ["rs"],
88852
88862
  load() {
88853
- return import('./index-DXmbPIsN.js').then(m => m.rust());
88863
+ return import('./index-X1k93Nku.js').then(m => m.rust());
88854
88864
  }
88855
88865
  }),
88856
88866
  /*@__PURE__*/LanguageDescription.of({
88857
88867
  name: "Sass",
88858
88868
  extensions: ["sass"],
88859
88869
  load() {
88860
- return import('./index-CDp9Pzg1.js').then(m => m.sass({ indented: true }));
88870
+ return import('./index-CxKEiKY9.js').then(m => m.sass({ indented: true }));
88861
88871
  }
88862
88872
  }),
88863
88873
  /*@__PURE__*/LanguageDescription.of({
88864
88874
  name: "SCSS",
88865
88875
  extensions: ["scss"],
88866
88876
  load() {
88867
- return import('./index-CDp9Pzg1.js').then(m => m.sass());
88877
+ return import('./index-CxKEiKY9.js').then(m => m.sass());
88868
88878
  }
88869
88879
  }),
88870
88880
  /*@__PURE__*/LanguageDescription.of({
@@ -88895,7 +88905,7 @@ const languages = [
88895
88905
  name: "WebAssembly",
88896
88906
  extensions: ["wat", "wast"],
88897
88907
  load() {
88898
- return import('./index-DCsBkCC7.js').then(m => m.wast());
88908
+ return import('./index-DWt4Nj5G.js').then(m => m.wast());
88899
88909
  }
88900
88910
  }),
88901
88911
  /*@__PURE__*/LanguageDescription.of({
@@ -88903,7 +88913,7 @@ const languages = [
88903
88913
  alias: ["rss", "wsdl", "xsd"],
88904
88914
  extensions: ["xml", "xsl", "xsd", "svg"],
88905
88915
  load() {
88906
- return import('./index-BEUjTghZ.js').then(m => m.xml());
88916
+ return import('./index-CidrwlEk.js').then(m => m.xml());
88907
88917
  }
88908
88918
  }),
88909
88919
  /*@__PURE__*/LanguageDescription.of({
@@ -88911,7 +88921,7 @@ const languages = [
88911
88921
  alias: ["yml"],
88912
88922
  extensions: ["yaml", "yml"],
88913
88923
  load() {
88914
- return import('./index-CKE7xLWy.js').then(m => m.yaml());
88924
+ return import('./index-CqayH0_I.js').then(m => m.yaml());
88915
88925
  }
88916
88926
  }),
88917
88927
  // Legacy modes ported from CodeMirror 5
@@ -89700,13 +89710,13 @@ const languages = [
89700
89710
  name: "Vue",
89701
89711
  extensions: ["vue"],
89702
89712
  load() {
89703
- return import('./index-Dvd5sByT.js').then(m => m.vue());
89713
+ return import('./index-JlGCfxtk.js').then(m => m.vue());
89704
89714
  }
89705
89715
  }),
89706
89716
  /*@__PURE__*/LanguageDescription.of({
89707
89717
  name: "Angular Template",
89708
89718
  load() {
89709
- return import('./index-DCsDqt-U.js').then(m => m.angular());
89719
+ return import('./index-BMp_L7Aa.js').then(m => m.angular());
89710
89720
  }
89711
89721
  })
89712
89722
  ];
@@ -174760,7 +174770,7 @@ function createRenderDelaySampler() {
174760
174770
  };
174761
174771
  }
174762
174772
 
174763
- const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BXzWxQD4.js'));
174773
+ const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-B9-rLgJ9.js'));
174764
174774
  const ImagePanelBody = ({
174765
174775
  topic,
174766
174776
  frameRenderedEvent,
@@ -174855,7 +174865,7 @@ const DEFAULT_CAMERA_STATE = {
174855
174865
  // License, v2.0. If a copy of the MPL was not distributed with this
174856
174866
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
174857
174867
 
174858
- const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BlROWu-J.js'));
174868
+ const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-D686pHc1.js'));
174859
174869
  const PointCloudPanelBody = ({
174860
174870
  topic,
174861
174871
  frameRenderedEvent,
@@ -174935,8 +174945,12 @@ const PointCloudPanel = /*#__PURE__*/React__default.memo(function PointCloudPane
174935
174945
  averageFrameDelay,
174936
174946
  addFrameTime
174937
174947
  } = createRenderDelaySampler();
174948
+ const renderMetricsKey = React__default.useMemo(() => constructKeyForTopicRenderMetrics("renderPointCloudFrame", topic), [topic]);
174949
+ React__default.useEffect(() => {
174950
+ globalRenderMetricsManager.ensureTopic(renderMetricsKey);
174951
+ }, [renderMetricsKey]);
174938
174952
  const handleFrameRendered = frameTime => {
174939
- globalRenderMetricsManager.registerEvent(constructKeyForTopicRenderMetrics("renderPointCloudFrame", topic));
174953
+ globalRenderMetricsManager.registerEvent(renderMetricsKey);
174940
174954
  addFrameTime(frameTime);
174941
174955
  };
174942
174956
  return /*#__PURE__*/React__default.createElement(Panel, {
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.js';
2
+ import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, ac as html, X as LanguageSupport, ad as parseMixed } from './index-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.js';
2
+ import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, ac as html, X as LanguageSupport, ad as parseMixed } from './index-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, 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-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.js';
2
+ import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, 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-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { U as styleTags, V as tags, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, ae as defineCSSCompletionSource, X as LanguageSupport, Z as LRParser, Y as ExternalTokenizer } from './index-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.js';
2
+ import { U as styleTags, V as tags, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, ae as defineCSSCompletionSource, X as LanguageSupport, Z as LRParser, Y as ExternalTokenizer } from './index-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,8 +1,8 @@
1
1
  'use client';
2
- import { Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Y as ExternalTokenizer, Z as LRParser, $ as ifNotIn, a0 as completeFromList, a1 as syntaxTree } from './index-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.js';
2
+ import { Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Y as ExternalTokenizer, Z as LRParser, $ as ifNotIn, a0 as completeFromList, a1 as syntaxTree } from './index-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,8 +1,8 @@
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, T as foldNodeProp, af as bracketMatchingHandle, X as LanguageSupport, aa as EditorView, a1 as syntaxTree, ab as EditorSelection } from './index-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.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-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,8 +1,8 @@
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-Be6EYnox.js';
3
- import './protobuf-Be0G3NFz.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-B_3PleIH.js';
3
+ import './protobuf-OcbVtxg1.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-DlC6A3Te.js';
5
+ import './depth-DiD1V2Sg.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-B98MHUu6.js';
13
+ import './FoxgloveServer-Da9kV1cr.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-yHdoBNaD.js';
15
+ import './foxglove-protocol-BtLMVx24.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';