@luxonis/visualizer-protobuf 2.20.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-Eif4QzE4.js → index-2tz0Pa-6.js} +1 -1
- package/dist/{index-BYimCKrW.js → index-7jr063Di.js} +1 -1
- package/dist/{index-CZSuxibZ.js → index-BNlbvjCZ.js} +1 -1
- package/dist/{index-Bph0s4yC.js → index-BWlbwkHO.js} +1 -1
- package/dist/{index-B7_AQKK_.js → index-B_cKZllx.js} +1 -1
- package/dist/{index-CwDMLOCh.js → index-BhLfUoxN.js} +1 -1
- package/dist/{index-C4JrCXqa.js → index-C05r9Gk7.js} +276 -242
- package/dist/{index-DLQIVtvt.js → index-C5TmQKcg.js} +1 -1
- package/dist/{index-hDQVp6bN.js → index-C7mMy9Y-.js} +1 -1
- package/dist/{index-XP-Bj_XI.js → index-CtH73YZC.js} +1 -1
- package/dist/{index-Dr1IjG1N.js → index-Cx8N6SZ0.js} +1 -1
- package/dist/{index-BpeL_ibo.js → index-D1_PpZqZ.js} +1 -1
- package/dist/{index-BfRMsy3f.js → index-DAbMVrLS.js} +1 -1
- package/dist/{index-CmON-FIE.js → index-DV-ASUfa.js} +1 -1
- package/dist/{index-D6Dyzzev.js → index-DXdZ7iZZ.js} +1 -1
- package/dist/{index-B5bnTrz3.js → index-DeylskOS.js} +2 -2
- package/dist/{index-DNFBslJY.js → index-DimpbTOv.js} +1 -1
- package/dist/{index-DNybfi0p.js → index-MupjT9zz.js} +1 -1
- package/dist/{index-DklUsnK1.js → index-xoIc0nWR.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/src/components/PanelToolbar.d.ts +1 -0
- package/dist/lib/src/components/PanelToolbar.d.ts.map +1 -1
- package/dist/lib/src/components/PanelToolbar.js +28 -22
- package/dist/lib/src/components/PanelToolbar.js.map +1 -1
- package/dist/lib/src/index.d.ts +1 -0
- package/dist/lib/src/index.d.ts.map +1 -1
- package/dist/lib/src/index.js +1 -0
- package/dist/lib/src/index.js.map +1 -1
- package/dist/lib/src/output.css +219 -0
- package/dist/lib/src/utils/metrics-manager.js +1 -1
- package/dist/lib/src/utils/metrics-manager.js.map +1 -1
- package/package.json +5 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, M as foldNodeProp, a1 as foldInside, J as indentNodeProp, K as continuedIndent, a7 as defineCSSCompletionSource, T as LanguageSupport } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, M as foldNodeProp, a1 as foldInside, J as indentNodeProp, K as continuedIndent, a7 as defineCSSCompletionSource, T as LanguageSupport } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, aa as html, T as LanguageSupport, ab as parseMixed } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, aa as html, T as LanguageSupport, ab as parseMixed } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, Z as syntaxTree, X as ifNotIn, Q as LRLanguage, J as indentNodeProp, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, a5 as IterMode, Y as completeFromList, a6 as NodeWeakMap, a4 as snippetCompletion } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, Z as syntaxTree, X as ifNotIn, Q as LRLanguage, J as indentNodeProp, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, a5 as IterMode, Y as completeFromList, a6 as NodeWeakMap, a4 as snippetCompletion } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, Q as LRLanguage, T as LanguageSupport, V as LRParser, a3 as LocalTokenGroup, aa as html, ab as parseMixed, ad as javascriptLanguage } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, Q as LRLanguage, T as LanguageSupport, V as LRParser, a3 as LocalTokenGroup, aa as html, ab as parseMixed, ad as javascriptLanguage } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -3,7 +3,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
|
|
|
3
3
|
import ReactDOM__default from 'react-dom';
|
|
4
4
|
import { S as isSymbol, U as toString, V as keys, W as getSymbols$1, X as stubArray, Y as arrayPush, Z as baseGetAllKeys, g as getTag, $ as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a0 as arrayMap$1, a1 as baseUniq, b as baseFlatten, a2 as useMustNotChange, a3 as useCurrentLayoutActions, a4 as useCurrentLayoutSelector, r as reportError, A as AppError, L as Logger, u as useGuaranteedContext, a5 as usePanelMosaicId, a6 as useSelectedPanels, a7 as PANEL_TITLE_CONFIG_KEY, a8 as noop$4, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$3, a9 as useAppConfiguration, aa as useValueChangedDebugLog, ab as useJsonTreeTheme } from './tslib.es6-C73eoP_E.js';
|
|
5
5
|
import { createStore, useStore } from 'zustand';
|
|
6
|
-
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports } from './index-
|
|
6
|
+
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports } from './index-C05r9Gk7.js';
|
|
7
7
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
8
8
|
import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
|
|
9
9
|
import { g as getDefaultExportFromCjs, c as commonjsGlobal, a as getAugmentedNamespace } from './_commonjsHelpers-E-ZsRS8r.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, ad as javascriptLanguage, Q as LRLanguage, T as LanguageSupport, V as LRParser, aa as html, ab as parseMixed, U as ExternalTokenizer } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, ad as javascriptLanguage, Q as LRLanguage, T as LanguageSupport, V as LRParser, aa as html, ab as parseMixed, U as ExternalTokenizer } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ImagePanel } from './index-
|
|
1
|
+
import { ImagePanel } from './index-DV-ASUfa.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
4
4
|
import './tslib.es6-C73eoP_E.js';
|
|
@@ -7,7 +7,7 @@ import './_commonjsHelpers-E-ZsRS8r.js';
|
|
|
7
7
|
import '@mui/material';
|
|
8
8
|
import './isArrayLikeObject-Bytw9p-q.js';
|
|
9
9
|
import 'zustand';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-C05r9Gk7.js';
|
|
11
11
|
import './utils-Cmsz3FxA.js';
|
|
12
12
|
import './comlink-DHMAu6X7.js';
|
|
13
13
|
import './FoxgloveServer-C39Uooyk.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a2 as ContextTracker, U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, ab as parseMixed } from './index-
|
|
1
|
+
import { a2 as ContextTracker, U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, ab as parseMixed } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, a3 as LocalTokenGroup, a4 as snippetCompletion, Z as syntaxTree, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, X as ifNotIn, Y as completeFromList, a5 as IterMode, a6 as NodeWeakMap } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, a3 as LocalTokenGroup, a4 as snippetCompletion, Z as syntaxTree, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, X as ifNotIn, Y as completeFromList, a5 as IterMode, a6 as NodeWeakMap } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ah as ImagePanel, ag as PanelLayout, ai as PointCloudPanel, ae as VisualizerConnection, af as VisualizerContext } from './index-
|
|
1
|
+
export { ah as ImagePanel, ag as PanelLayout, ai as PointCloudPanel, ae as VisualizerConnection, af as VisualizerContext } from './index-C05r9Gk7.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,eAAe,CAAC;AAuBvB,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,YAAY,CAAC;AAG5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,sCAAsC,CAAC;AAqI9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2KpD,CAAC"}
|
|
@@ -2,12 +2,29 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
3
3
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
4
4
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
5
|
-
import
|
|
5
|
+
import "../output.css";
|
|
6
|
+
import { CiFilter } from "react-icons/ci";
|
|
7
|
+
import { ArrowDownIcon, ArrowUpIcon, Button, CrossIcon, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Flex, HelpIcon, Icon, Label, NormalText, SubHeader, Tooltip } from "@luxonis/common-fe-components";
|
|
6
8
|
import { ImCheckboxChecked, ImCheckboxUnchecked } from "react-icons/im";
|
|
7
9
|
import { useDetections } from "./Panel.js";
|
|
8
10
|
import { useConnections } from "../context/ConnectionsProvider.js";
|
|
9
11
|
import "@luxonis/common-fe-components/styles";
|
|
10
12
|
import { createEventLoopDelaySampler } from "./measure-event-loop-delay";
|
|
13
|
+
import { RiNumbersFill } from "react-icons/ri";
|
|
14
|
+
function PanelToolbarMetrics({ renderedFps, targetFps, metrics }) {
|
|
15
|
+
const [variant, setVariant] = React.useState("full");
|
|
16
|
+
const eventLoopDelay = createEventLoopDelaySampler();
|
|
17
|
+
const descriptionRef = React.useRef(null);
|
|
18
|
+
React.useEffect(() => {
|
|
19
|
+
if (descriptionRef.current && descriptionRef.current.offsetWidth < 800) {
|
|
20
|
+
setVariant("compact");
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
setVariant("full");
|
|
24
|
+
}
|
|
25
|
+
}, [descriptionRef.current?.offsetWidth]);
|
|
26
|
+
return (_jsx(Flex, { direction: "row", gap: "sm", align: "start", justify: "end", ref: descriptionRef, width: "full", children: variant === "compact" ? (_jsx(Tooltip, { content: _jsxs("ul", { children: [_jsxs("li", { children: ["Camera: ", targetFps === 0 ? "-" : targetFps, " FPS"] }), _jsxs("li", { children: ["Network:", " ", !metrics || metrics?.incomingMessagesFps === 0 ? "-" : metrics.incomingMessagesFps, " ", "FPS"] }), _jsxs("li", { children: ["Decoding:", " ", !metrics || metrics?.decodedMessagesFps === 0 ? "-" : metrics.decodedMessagesFps, " ", "FPS"] }), _jsxs("li", { children: ["Throughput:", " ", !metrics || metrics?.messageThroughput === 0 ? "-" : metrics.messageThroughput, " ", "Mbps"] }), _jsxs("li", { children: ["Rendering: ", renderedFps === 0 ? "-" : renderedFps, " FPS"] }), _jsxs("li", { children: ["Frontend Delay: ", eventLoopDelay.toFixed(2), " ms"] })] }), direction: "bottom", className: "ml-auto", children: _jsx(Button, { icon: RiNumbersFill, variant: "outline", colorVariant: "white", size: "sm", className: "text-gray-700" }) })) : (_jsxs(_Fragment, { children: [targetFps !== undefined && (_jsx(Label, { text: `Camera: ${targetFps === 0 ? "-" : targetFps} FPS` })), metrics?.incomingMessagesFps !== undefined && (_jsx(Label, { text: `Network: ${metrics.incomingMessagesFps === 0 ? "-" : metrics.incomingMessagesFps} FPS` })), metrics?.decodedMessagesFps !== undefined && (_jsx(Label, { text: `Decoding: ${metrics.decodedMessagesFps === 0 ? "-" : metrics.decodedMessagesFps} FPS` })), metrics?.messageThroughput !== undefined && (_jsx(Label, { text: `Throughput: ${metrics.messageThroughput === 0 ? "-" : metrics.messageThroughput} MB` })), renderedFps !== undefined && (_jsx(Label, { text: `Rendering: ${renderedFps === 0 ? "-" : renderedFps} FPS` })), eventLoopDelay !== undefined && (_jsx(Label, { text: `Frontend Delay: ${Math.ceil(eventLoopDelay)} ms` }))] })) }));
|
|
27
|
+
}
|
|
11
28
|
const PanelAnnotationButton = ({ topic, onClick }) => {
|
|
12
29
|
const handleClick = React.useCallback((event) => {
|
|
13
30
|
event.preventDefault();
|
|
@@ -15,11 +32,10 @@ const PanelAnnotationButton = ({ topic, onClick }) => {
|
|
|
15
32
|
}, [onClick]);
|
|
16
33
|
return (_jsx(DropdownMenuItem, { onClick: handleClick, children: _jsxs(Flex, { align: "center", gap: "sm", children: [_jsx(Icon, { color: "active", icon: topic.enabled ? ImCheckboxChecked : ImCheckboxUnchecked }), _jsx(NormalText, { text: topic.name })] }) }));
|
|
17
34
|
};
|
|
18
|
-
export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations = false, targetFps, triggerToast, renderedFps, toggleTopic, streamResolution }) => {
|
|
35
|
+
export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations = false, targetFps, triggerToast, renderedFps, toggleTopic, streamResolution, }) => {
|
|
19
36
|
const [metrics, setMetrics] = React.useState();
|
|
20
37
|
const { detections } = useDetections();
|
|
21
38
|
const connections = useConnections();
|
|
22
|
-
const eventLoopDelay = createEventLoopDelaySampler();
|
|
23
39
|
React.useEffect(() => {
|
|
24
40
|
const interval = setInterval(() => {
|
|
25
41
|
setMetrics(connections[0]?.getTopicMetrics(topic));
|
|
@@ -29,7 +45,6 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
29
45
|
};
|
|
30
46
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
47
|
}, []);
|
|
32
|
-
const [annotationsOpened, setAnnotationsOpened] = React.useState(false);
|
|
33
48
|
const hasExtra = React.useMemo(() => detections.some((detection) => detection.extra && !detection.enabled), [detections]);
|
|
34
49
|
const [extraVisible, setExtraVisible] = React.useState(false);
|
|
35
50
|
const onToggleTopic = React.useCallback((toggleTopicName) => {
|
|
@@ -44,9 +59,9 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
44
59
|
const name = React.useMemo(() => {
|
|
45
60
|
return topic;
|
|
46
61
|
}, [topic]);
|
|
47
|
-
const
|
|
48
|
-
return streamResolution && streamResolution !==
|
|
49
|
-
}, [
|
|
62
|
+
const resolution = React.useMemo(() => {
|
|
63
|
+
return streamResolution && streamResolution !== "-" ? `(${streamResolution})` : undefined;
|
|
64
|
+
}, [streamResolution]);
|
|
50
65
|
React.useEffect(() => {
|
|
51
66
|
if (targetFps && metrics?.incomingMessagesFps && targetFps > metrics.incomingMessagesFps) {
|
|
52
67
|
const timeout = setTimeout(() => {
|
|
@@ -63,20 +78,11 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
63
78
|
const makeDetection = React.useCallback((detection, { extra }) => (extra ? detection.extra && !detection.enabled : !detection.extra || detection.enabled) && (_jsx(PanelAnnotationButton, { topic: detection, onClick: () => {
|
|
64
79
|
onToggleTopic(detection.name);
|
|
65
80
|
} }, detection.name)), [onToggleTopic]);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
height: "100%",
|
|
73
|
-
} }) }), _jsxs(DropdownMenuContent, { children: [detections.map((detection) => makeDetection(detection, { extra: false })), hasExtra && (_jsx(Button, { width: "full", paddingY: "xs", variant: "ghost", "aria-expanded": extraVisible ? "true" : undefined, onClick: () => {
|
|
74
|
-
setExtraVisible((current) => !current);
|
|
75
|
-
}, icon: extraVisible ? ArrowUpIcon : ArrowDownIcon, style: {
|
|
76
|
-
borderRadius: 4,
|
|
77
|
-
}, children: extraVisible ? "Less" : "More" })), extraVisible &&
|
|
78
|
-
detections.map((detection) => makeDetection(detection, { extra: true }))] })] })), kind === "pointCloud" && (_jsx(Flex, { style: {
|
|
79
|
-
paddingRight: 16,
|
|
80
|
-
}, children: _jsx(Tooltip, { content: _jsxs(_Fragment, { children: [_jsx(Label, { text: "To move camera:" }), _jsxs("ul", { children: [_jsx("li", { children: "W - Move camera forward" }), _jsx("li", { children: "A - Move camera backward" }), _jsx("li", { children: "S - Move camera to the left" }), _jsx("li", { children: "D - Move camera to the right" }), _jsx("li", { children: "Scroll \u2013 Zoom in and out" }), _jsx("li", { children: "Drag \u2013 Move camera parallel to the ground" }), _jsx("li", { children: `Right-click + Drag horizontally – Rotate the camera around the world's z-axis` }), _jsx("li", { children: `Right-click + Drag vertically – Pan the camera around the world's x- and y- axes` })] })] }), children: _jsx(Icon, { icon: HelpIcon, size: "sm", color: "gray", cursor: "help" }) }) }))] }));
|
|
81
|
+
return (_jsx(Flex, { direction: "row", gap: "sm", align: "center", justify: "space-between", className: "px-4", children: _jsxs(Flex, { direction: "row", gap: "xs", align: "center", justify: "start", width: "full", paddingY: "xs", children: [_jsxs(Flex, { width: "fit", gap: "xxs", className: "flex-col xl:flex-row items-start xl:items-end", children: [_jsx(SubHeader, { text: name, className: "whitespace-nowrap" }), resolution && _jsx(Label, { text: resolution, className: "h-fit" })] }), _jsx(PanelToolbarMetrics, { renderedFps: renderedFps, targetFps: targetFps, metrics: metrics }), _jsxs(Flex, { direction: "row", gap: "xs", align: "center", justify: "start", marginLeft: "auto", width: "fit", children: [!disableAnnotations && kind === "image" && (_jsxs(DropdownMenu, { children: [_jsx(DropdownMenuTrigger, { asChild: true, disabled: detections.length === 0, children: _jsx(Button, { variant: "outline", colorVariant: "white", size: "sm", icon: CiFilter, disabled: detections.length === 0 }) }), _jsxs(DropdownMenuContent, { children: [detections.map((detection) => makeDetection(detection, { extra: false })), hasExtra && (_jsx(Button, { width: "full", paddingY: "xs", variant: "ghost", "aria-expanded": extraVisible ? "true" : undefined, onClick: () => {
|
|
82
|
+
setExtraVisible((current) => !current);
|
|
83
|
+
}, icon: extraVisible ? ArrowUpIcon : ArrowDownIcon, style: {
|
|
84
|
+
borderRadius: 4,
|
|
85
|
+
}, children: extraVisible ? "Less" : "More" })), extraVisible &&
|
|
86
|
+
detections.map((detection) => makeDetection(detection, { extra: true }))] })] })), kind === "pointCloud" && (_jsx(Flex, { children: _jsx(Tooltip, { content: _jsxs(_Fragment, { children: [_jsx(Label, { text: "To move camera:" }), _jsxs("ul", { children: [_jsx("li", { children: "W - Move camera forward" }), _jsx("li", { children: "A - Move camera backward" }), _jsx("li", { children: "S - Move camera to the left" }), _jsx("li", { children: "D - Move camera to the right" }), _jsx("li", { children: "Scroll \u2013 Zoom in and out" }), _jsx("li", { children: "Drag \u2013 Move camera parallel to the ground" }), _jsx("li", { children: `Right-click + Drag horizontally – Rotate the camera around the world's z-axis` }), _jsx("li", { children: `Right-click + Drag vertically – Pan the camera around the world's x- and y- axes` })] })] }), children: _jsx(Button, { icon: HelpIcon, variant: "outline", colorVariant: "white", size: "sm", className: "text-gray-700" }) }) })), _jsx(Button, { icon: CrossIcon, variant: "outline", colorVariant: "white", size: "sm", onClick: () => toggleTopic?.(name) })] })] }) }));
|
|
81
87
|
};
|
|
82
88
|
//# sourceMappingURL=PanelToolbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelToolbar.js","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;
|
|
1
|
+
{"version":3,"file":"PanelToolbar.js","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"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"}
|
package/dist/lib/src/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import './output.css';
|
|
1
2
|
export type { PublicChannelData } from './connection/connection.js';
|
|
2
3
|
export { VisualizerConnection } from './connection/connection.js';
|
|
3
4
|
export type { WorkerOutputMessage as FoxgloveAdapterOutputMessage, WorkerInputMessage as FoxgloveAdapterInputMessage, FoxgloveMessage } from './connection/communicator.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,YAAY,EAAE,mBAAmB,IAAI,4BAA4B,EAAE,kBAAkB,IAAI,2BAA2B,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE5K,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,cAAc,CAAC;AAEtB,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAEjE,YAAY,EAAE,mBAAmB,IAAI,4BAA4B,EAAE,kBAAkB,IAAI,2BAA2B,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE5K,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/lib/src/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
2
2
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
3
3
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
4
|
+
import './output.css';
|
|
4
5
|
export { VisualizerConnection } from './connection/connection.js';
|
|
5
6
|
export { VisualizerContext } from "./context/VisualizerContext";
|
|
6
7
|
export { PanelLayout } from "./components/PanelLayout.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,cAAc,CAAC;AAGtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAIjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer theme, base, components, utilities;
|
|
3
|
+
@layer theme {
|
|
4
|
+
:root, :host {
|
|
5
|
+
--font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
|
|
6
|
+
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
|
7
|
+
--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
|
|
8
|
+
"Courier New", monospace;
|
|
9
|
+
--color-gray-700: oklch(0.373 0.034 259.733);
|
|
10
|
+
--spacing: 0.25rem;
|
|
11
|
+
--default-font-family: var(--font-sans);
|
|
12
|
+
--default-mono-font-family: var(--font-mono);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
@layer base {
|
|
16
|
+
*, ::after, ::before, ::backdrop, ::file-selector-button {
|
|
17
|
+
box-sizing: border-box;
|
|
18
|
+
margin: 0;
|
|
19
|
+
padding: 0;
|
|
20
|
+
border: 0 solid;
|
|
21
|
+
}
|
|
22
|
+
html, :host {
|
|
23
|
+
line-height: 1.5;
|
|
24
|
+
-webkit-text-size-adjust: 100%;
|
|
25
|
+
tab-size: 4;
|
|
26
|
+
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");
|
|
27
|
+
font-feature-settings: var(--default-font-feature-settings, normal);
|
|
28
|
+
font-variation-settings: var(--default-font-variation-settings, normal);
|
|
29
|
+
-webkit-tap-highlight-color: transparent;
|
|
30
|
+
}
|
|
31
|
+
hr {
|
|
32
|
+
height: 0;
|
|
33
|
+
color: inherit;
|
|
34
|
+
border-top-width: 1px;
|
|
35
|
+
}
|
|
36
|
+
abbr:where([title]) {
|
|
37
|
+
-webkit-text-decoration: underline dotted;
|
|
38
|
+
text-decoration: underline dotted;
|
|
39
|
+
}
|
|
40
|
+
h1, h2, h3, h4, h5, h6 {
|
|
41
|
+
font-size: inherit;
|
|
42
|
+
font-weight: inherit;
|
|
43
|
+
}
|
|
44
|
+
a {
|
|
45
|
+
color: inherit;
|
|
46
|
+
-webkit-text-decoration: inherit;
|
|
47
|
+
text-decoration: inherit;
|
|
48
|
+
}
|
|
49
|
+
b, strong {
|
|
50
|
+
font-weight: bolder;
|
|
51
|
+
}
|
|
52
|
+
code, kbd, samp, pre {
|
|
53
|
+
font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
|
|
54
|
+
font-feature-settings: var(--default-mono-font-feature-settings, normal);
|
|
55
|
+
font-variation-settings: var(--default-mono-font-variation-settings, normal);
|
|
56
|
+
font-size: 1em;
|
|
57
|
+
}
|
|
58
|
+
small {
|
|
59
|
+
font-size: 80%;
|
|
60
|
+
}
|
|
61
|
+
sub, sup {
|
|
62
|
+
font-size: 75%;
|
|
63
|
+
line-height: 0;
|
|
64
|
+
position: relative;
|
|
65
|
+
vertical-align: baseline;
|
|
66
|
+
}
|
|
67
|
+
sub {
|
|
68
|
+
bottom: -0.25em;
|
|
69
|
+
}
|
|
70
|
+
sup {
|
|
71
|
+
top: -0.5em;
|
|
72
|
+
}
|
|
73
|
+
table {
|
|
74
|
+
text-indent: 0;
|
|
75
|
+
border-color: inherit;
|
|
76
|
+
border-collapse: collapse;
|
|
77
|
+
}
|
|
78
|
+
:-moz-focusring {
|
|
79
|
+
outline: auto;
|
|
80
|
+
}
|
|
81
|
+
progress {
|
|
82
|
+
vertical-align: baseline;
|
|
83
|
+
}
|
|
84
|
+
summary {
|
|
85
|
+
display: list-item;
|
|
86
|
+
}
|
|
87
|
+
ol, ul, menu {
|
|
88
|
+
list-style: none;
|
|
89
|
+
}
|
|
90
|
+
img, svg, video, canvas, audio, iframe, embed, object {
|
|
91
|
+
display: block;
|
|
92
|
+
vertical-align: middle;
|
|
93
|
+
}
|
|
94
|
+
img, video {
|
|
95
|
+
max-width: 100%;
|
|
96
|
+
height: auto;
|
|
97
|
+
}
|
|
98
|
+
button, input, select, optgroup, textarea, ::file-selector-button {
|
|
99
|
+
font: inherit;
|
|
100
|
+
font-feature-settings: inherit;
|
|
101
|
+
font-variation-settings: inherit;
|
|
102
|
+
letter-spacing: inherit;
|
|
103
|
+
color: inherit;
|
|
104
|
+
border-radius: 0;
|
|
105
|
+
background-color: transparent;
|
|
106
|
+
opacity: 1;
|
|
107
|
+
}
|
|
108
|
+
:where(select:is([multiple], [size])) optgroup {
|
|
109
|
+
font-weight: bolder;
|
|
110
|
+
}
|
|
111
|
+
:where(select:is([multiple], [size])) optgroup option {
|
|
112
|
+
padding-inline-start: 20px;
|
|
113
|
+
}
|
|
114
|
+
::file-selector-button {
|
|
115
|
+
margin-inline-end: 4px;
|
|
116
|
+
}
|
|
117
|
+
::placeholder {
|
|
118
|
+
opacity: 1;
|
|
119
|
+
}
|
|
120
|
+
@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
|
|
121
|
+
::placeholder {
|
|
122
|
+
color: color-mix(in oklab, currentColor 50%, transparent);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
textarea {
|
|
126
|
+
resize: vertical;
|
|
127
|
+
}
|
|
128
|
+
::-webkit-search-decoration {
|
|
129
|
+
-webkit-appearance: none;
|
|
130
|
+
}
|
|
131
|
+
::-webkit-date-and-time-value {
|
|
132
|
+
min-height: 1lh;
|
|
133
|
+
text-align: inherit;
|
|
134
|
+
}
|
|
135
|
+
::-webkit-datetime-edit {
|
|
136
|
+
display: inline-flex;
|
|
137
|
+
}
|
|
138
|
+
::-webkit-datetime-edit-fields-wrapper {
|
|
139
|
+
padding: 0;
|
|
140
|
+
}
|
|
141
|
+
::-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 {
|
|
142
|
+
padding-block: 0;
|
|
143
|
+
}
|
|
144
|
+
:-moz-ui-invalid {
|
|
145
|
+
box-shadow: none;
|
|
146
|
+
}
|
|
147
|
+
button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
|
|
148
|
+
appearance: button;
|
|
149
|
+
}
|
|
150
|
+
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
|
|
151
|
+
height: auto;
|
|
152
|
+
}
|
|
153
|
+
[hidden]:where(:not([hidden="until-found"])) {
|
|
154
|
+
display: none !important;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
@layer utilities {
|
|
158
|
+
.visible {
|
|
159
|
+
visibility: visible;
|
|
160
|
+
}
|
|
161
|
+
.fixed {
|
|
162
|
+
position: fixed;
|
|
163
|
+
}
|
|
164
|
+
.ml-auto {
|
|
165
|
+
margin-left: auto;
|
|
166
|
+
}
|
|
167
|
+
.hidden {
|
|
168
|
+
display: none;
|
|
169
|
+
}
|
|
170
|
+
.h-fit {
|
|
171
|
+
height: fit-content;
|
|
172
|
+
}
|
|
173
|
+
.flex-col {
|
|
174
|
+
flex-direction: column;
|
|
175
|
+
}
|
|
176
|
+
.items-start {
|
|
177
|
+
align-items: flex-start;
|
|
178
|
+
}
|
|
179
|
+
.rounded {
|
|
180
|
+
border-radius: 0.25rem;
|
|
181
|
+
}
|
|
182
|
+
.border {
|
|
183
|
+
border-style: var(--tw-border-style);
|
|
184
|
+
border-width: 1px;
|
|
185
|
+
}
|
|
186
|
+
.px-4 {
|
|
187
|
+
padding-inline: calc(var(--spacing) * 4);
|
|
188
|
+
}
|
|
189
|
+
.whitespace-nowrap {
|
|
190
|
+
white-space: nowrap;
|
|
191
|
+
}
|
|
192
|
+
.text-gray-700 {
|
|
193
|
+
color: var(--color-gray-700);
|
|
194
|
+
}
|
|
195
|
+
.outline {
|
|
196
|
+
outline-style: var(--tw-outline-style);
|
|
197
|
+
outline-width: 1px;
|
|
198
|
+
}
|
|
199
|
+
.xl\:flex-row {
|
|
200
|
+
@media (width >= 80rem) {
|
|
201
|
+
flex-direction: row;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
.xl\:items-end {
|
|
205
|
+
@media (width >= 80rem) {
|
|
206
|
+
align-items: flex-end;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
@property --tw-border-style {
|
|
211
|
+
syntax: "*";
|
|
212
|
+
inherits: false;
|
|
213
|
+
initial-value: solid;
|
|
214
|
+
}
|
|
215
|
+
@property --tw-outline-style {
|
|
216
|
+
syntax: "*";
|
|
217
|
+
inherits: false;
|
|
218
|
+
initial-value: solid;
|
|
219
|
+
}
|
|
@@ -44,7 +44,7 @@ export class ThroughputMetricsManager {
|
|
|
44
44
|
return 0;
|
|
45
45
|
}
|
|
46
46
|
// Get time span in seconds
|
|
47
|
-
const timeSpanMs = topicMetrics
|
|
47
|
+
const timeSpanMs = topicMetrics.at(0)?.timestamp ?? 0 - (topicMetrics.at(-1)?.timestamp ?? 0);
|
|
48
48
|
const timeSpanSec = timeSpanMs / 1000;
|
|
49
49
|
if (timeSpanSec === 0) {
|
|
50
50
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics-manager.js","sourceRoot":"","sources":["../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,OAAO,mBAAmB;IACvB,OAAO,GAA6B,EAAE,CAAC;IAEvC,aAAa,CAAC,KAAa;QAChC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACtC,uEAAuE;QACvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,MAAM,GAAG,eAAe,CAAC;IAChD,CAAC;IAEM,SAAS,CAAC,KAAa;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YAC7C,aAAa,IAAI,YAAY,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,YAAY,CAAC,CAAC,CAAE,CAAC;QAC3D,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC,aAAa,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACF;AAED,MAAM,OAAO,wBAAwB;IAC5B,OAAO,GAA2D,EAAE,CAAC;IAErE,aAAa,CAAC,KAAa,EAAE,KAAa;QAC/C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,MAAM,GAAG,eAAe,CAAC;IAChD,CAAC;IAEM,SAAS,CAAC,KAAa;QAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,CAAC;QACX,CAAC;QAED,2BAA2B;QAC3B,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"metrics-manager.js","sourceRoot":"","sources":["../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@luxonis/visualizer-protobuf",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.21.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "RobotHub Visualizer Library",
|
|
6
6
|
"author": "Luxonis Corp",
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"types": "./dist/lib/src/index.js",
|
|
9
9
|
"license": "UNLICENSED",
|
|
10
10
|
"scripts": {
|
|
11
|
-
"build": "rm -rf dist && tsc && rollup -c && cp -r ./src/fonts dist/src",
|
|
11
|
+
"build": "npm run tailwind && rm -rf dist && tsc && rollup -c && cp -r ./src/fonts dist/src && cp ./src/output.css dist/lib/src",
|
|
12
|
+
"tailwind": "npx @tailwindcss/cli -i ./src/index.css -o ./src/output.css",
|
|
12
13
|
"lint": "npx eslint . --fix",
|
|
13
14
|
"gen:proto": "bash ./protobuf-gen.sh"
|
|
14
15
|
},
|
|
@@ -20,6 +21,7 @@
|
|
|
20
21
|
"@luxonis/remote-connection": "2.5.2",
|
|
21
22
|
"@mui/icons-material": "5.15.5",
|
|
22
23
|
"@mui/material": "5.15.6",
|
|
24
|
+
"@tailwindcss/cli": "4.0.17",
|
|
23
25
|
"color": "^4.2.3",
|
|
24
26
|
"lodash.curry": "^4.1.1",
|
|
25
27
|
"nearley": "2.20.1",
|
|
@@ -28,6 +30,7 @@
|
|
|
28
30
|
"react-dnd-html5-backend": "16.0.1",
|
|
29
31
|
"react-icons": "5.2.1",
|
|
30
32
|
"react-mosaic-component": "6.1.0",
|
|
33
|
+
"tailwindcss": "4.0.17",
|
|
31
34
|
"ts-proto": "1.181.1",
|
|
32
35
|
"uuidv7": "^1.0.2",
|
|
33
36
|
"zustand": "4.5.0"
|