@luxonis/visualizer-protobuf 1.8.8 → 1.9.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/apps/depthai-visualizer/src/components/Panel.d.ts.map +1 -1
- package/dist/apps/depthai-visualizer/src/components/Panel.js.map +1 -1
- package/dist/apps/depthai-visualizer/src/components/PanelToolbar.d.ts.map +1 -1
- package/dist/apps/depthai-visualizer/src/components/PanelToolbar.js +14 -1
- package/dist/apps/depthai-visualizer/src/components/PanelToolbar.js.map +1 -1
- package/dist/apps/depthai-visualizer/src/connection/BaseConnection.d.ts +10 -3
- package/dist/apps/depthai-visualizer/src/connection/BaseConnection.d.ts.map +1 -1
- package/dist/apps/depthai-visualizer/src/connection/BaseConnection.js +23 -38
- package/dist/apps/depthai-visualizer/src/connection/BaseConnection.js.map +1 -1
- package/dist/apps/depthai-visualizer/src/connection/ws/Connection.d.ts.map +1 -1
- package/dist/apps/depthai-visualizer/src/connection/ws/Connection.js +1 -2
- package/dist/apps/depthai-visualizer/src/connection/ws/Connection.js.map +1 -1
- package/dist/apps/depthai-visualizer/src/context/ConnectionsProvider.d.ts +4 -0
- package/dist/apps/depthai-visualizer/src/context/ConnectionsProvider.d.ts.map +1 -0
- package/dist/apps/depthai-visualizer/src/context/ConnectionsProvider.js +4 -0
- package/dist/apps/depthai-visualizer/src/context/ConnectionsProvider.js.map +1 -0
- package/dist/apps/depthai-visualizer/src/context/MessagePipelineProvider.d.ts +1 -4
- package/dist/apps/depthai-visualizer/src/context/MessagePipelineProvider.d.ts.map +1 -1
- package/dist/apps/depthai-visualizer/src/context/MessagePipelineProvider.js +3 -2
- package/dist/apps/depthai-visualizer/src/context/MessagePipelineProvider.js.map +1 -1
- package/dist/apps/depthai-visualizer/src/context/VisualizerContext.d.ts.map +1 -1
- package/dist/apps/depthai-visualizer/src/context/VisualizerContext.js +3 -1
- package/dist/apps/depthai-visualizer/src/context/VisualizerContext.js.map +1 -1
- package/dist/apps/depthai-visualizer/src/panels/ImagePanel.d.ts +4 -2
- package/dist/apps/depthai-visualizer/src/panels/ImagePanel.d.ts.map +1 -1
- package/dist/apps/depthai-visualizer/src/panels/ImagePanel.js.map +1 -1
- package/dist/apps/depthai-visualizer/src/utils/metrics-manager.d.ts +6 -0
- package/dist/apps/depthai-visualizer/src/utils/metrics-manager.d.ts.map +1 -0
- package/dist/apps/depthai-visualizer/src/utils/metrics-manager.js +25 -0
- package/dist/apps/depthai-visualizer/src/utils/metrics-manager.js.map +1 -0
- package/dist/{index-DCbNqqQc.js → index-2SFix7KY.js} +1 -1
- package/dist/{index-DlKZDt0v.js → index-7n6fnp2B.js} +1 -1
- package/dist/{index-ovt0UKFi.js → index-B8Cado6g.js} +1 -1
- package/dist/{index-zKmjws_7.js → index-B8FQDMoh.js} +1 -1
- package/dist/{index-lDSplInz.js → index-B8t-Gi4x.js} +1 -1
- package/dist/{index-0Q6EqxBW.js → index-BEcWpcB1.js} +1 -1
- package/dist/{index-DkQzCBNS.js → index-Bay9MnxH.js} +1 -1
- package/dist/{index-F8-9liAo.js → index-Bk6p8-al.js} +1 -1
- package/dist/{index-CbLiW7lk.js → index-BkQgkjmO.js} +1 -1
- package/dist/{index-Cl5tDqdc.js → index-BvNZUlo_.js} +1 -1
- package/dist/{index-BBXW7Wxj.js → index-CNWGMhCW.js} +94 -71
- package/dist/{index-DAPJpbdc.js → index-ChQWCJEj.js} +1 -1
- package/dist/{index-DUnP2Xma.js → index-Cp3omW6p.js} +2 -2
- package/dist/{index-QEJn3K9v.js → index-DKfQ_S8i.js} +1 -1
- package/dist/{index-Bpjac43y.js → index-DSLjhjen.js} +1 -1
- package/dist/{index-pNYe-U8V.js → index-Dn-E1-20.js} +1 -1
- package/dist/{index-W-M5T20d.js → index-GbwWdY6w.js} +1 -1
- package/dist/{index-H6bxF3CN.js → index-otpYhpPx.js} +1 -1
- package/dist/{index-CF21cEJo.js → index-txFQeh8N.js} +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,oBAAoB,CAAC;AAG5B,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAAC;AAIF,eAAO,MAAM,aAAa,QAAO,aAEhC,CAAC;AASF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAiDtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,UAAU,MAAM,gDAAgD,CAAC;AACxE,OAAO,aAAa,MAAM,mDAAmD,CAAC;AAC9E,OAAO,oBAAoB,MAAM,0DAA0D,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,UAAU,MAAM,gDAAgD,CAAC;AACxE,OAAO,aAAa,MAAM,mDAAmD,CAAC;AAC9E,OAAO,oBAAoB,MAAM,0DAA0D,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,oBAAoB,CAAC;AAuB5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAgB,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAkB,EAAE;IAC/C,OAAO,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,cAAwB,EAAE,KAAc,EAAE,OAAqB,EAAgB,EAAE,CACzG,cAAc,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE,eAAe;IACrB,KAAK;IACL,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,OAAO,IAAI,CAAC,KAAK;CACjF,CAAC,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAC1C,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,kBAAkB,GAAG,KAAK,EAC1B,gBAAgB,GAAG,EAAE,EACrB,qBAAqB,GAAG,EAAE,EAC3B,EAAE,EAAE;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAe,EAAE,CAAC,CAAC;IAErE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,CAAC;gBACrD,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAE9E,OAAO,CACL,KAAC,oBAAoB,IAAC,KAAK,EAAC,iBAAiB,YAC3C,KAAC,aAAa,cACZ,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,YAC9C,MAAC,KAAK,IACJ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAC,qBAAqB,EAC5B,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAE9B,KAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,GACtC,EACF,KAAC,QAAQ,IACP,QAAQ,EACN,KAAC,UAAU,cACT,uCAAqB,GACV,YAGf,KAAC,oBAAoB,IAAC,KAAK,EAAE,UAAU,YAAG,QAAQ,GAAwB,GACjE,IACL,GACkB,GACd,GACK,CACxB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKxD,OAAO,sCAAsC,CAAC;AAyB9C,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;CACtE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2IpD,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { useDetections } from "./Panel.js";
|
|
|
6
6
|
import { ArrowDownIcon, ArrowUpIcon, Button, DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, Flex, HelpIcon, Icon, Label, NormalText, SubHeader, Tooltip } from "@luxonis/common-fe-components";
|
|
7
7
|
import { ImCheckboxChecked, ImCheckboxUnchecked } from "react-icons/im";
|
|
8
8
|
import '@luxonis/common-fe-components/styles';
|
|
9
|
+
import { useConnections } from "../context/ConnectionsProvider.js";
|
|
9
10
|
const PanelAnnotationButton = ({ topic, onClick }) => {
|
|
10
11
|
const handleClick = React.useCallback(event => {
|
|
11
12
|
event.preventDefault();
|
|
@@ -15,6 +16,14 @@ const PanelAnnotationButton = ({ topic, onClick }) => {
|
|
|
15
16
|
};
|
|
16
17
|
export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations = false }) => {
|
|
17
18
|
const { detections } = useDetections();
|
|
19
|
+
const connections = useConnections();
|
|
20
|
+
const [metrics, setMetrics] = React.useState();
|
|
21
|
+
React.useEffect(() => {
|
|
22
|
+
const interval = setInterval(() => {
|
|
23
|
+
setMetrics(connections[0]?.getTopicMetrics(topic));
|
|
24
|
+
}, 500);
|
|
25
|
+
return () => clearInterval(interval);
|
|
26
|
+
}, []);
|
|
18
27
|
const [annotationsOpened, setAnnotationsOpened] = React.useState(false);
|
|
19
28
|
const hasExtra = React.useMemo(() => detections.some((topic) => topic.extra && !topic.enabled), [detections]);
|
|
20
29
|
const [extraVisible, setExtraVisible] = React.useState(false);
|
|
@@ -26,9 +35,13 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
26
35
|
})
|
|
27
36
|
})));
|
|
28
37
|
}, [detections, setDetections]);
|
|
38
|
+
// TODO: show only when debug mode is ON
|
|
39
|
+
const name = React.useMemo(() => {
|
|
40
|
+
return `${topic} - ${metrics?.inputFPS || 0}/${metrics?.postDecodeFPS || 0} FPS`;
|
|
41
|
+
}, [topic, metrics]);
|
|
29
42
|
return (_jsxs(Flex, { direction: "row", gap: "sm", align: "center", justify: "space-between", style: {
|
|
30
43
|
paddingLeft: 16
|
|
31
|
-
}, children: [_jsx(SubHeader, { text:
|
|
44
|
+
}, children: [_jsx(SubHeader, { text: name }), !disableAnnotations && kind === 'image' && (_jsxs(DropdownMenu, { onOpenChange: setAnnotationsOpened, children: [_jsx(DropdownMenuTrigger, { asChild: true, disabled: detections.length === 0, children: _jsx(Button, { variant: "outline", label: "Annotations", "aria-controls": annotationsOpened ? "basic-menu" : undefined, "aria-haspopup": "true", "aria-expanded": annotationsOpened ? "true" : undefined, icon: annotationsOpened ? ArrowUpIcon : ArrowDownIcon, disabled: detections.length === 0, style: {
|
|
32
45
|
borderRadius: 0,
|
|
33
46
|
borderTopRightRadius: 8,
|
|
34
47
|
} }) }), _jsxs(DropdownMenuContent, { children: [detections.map((topic) => (!topic.extra || topic.enabled) && (_jsx(PanelAnnotationButton, { topic: topic, onClick: () => onToggleTopic(topic.name) }, topic.name))), hasExtra && (_jsx(Button, { width: "full", paddingY: "xs", variant: "ghost", "aria-expanded": extraVisible ? "true" : undefined, onClick: () => setExtraVisible((current) => !current), icon: extraVisible ? ArrowUpIcon : ArrowDownIcon, style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelToolbar.js","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,aAAa,EAAmB,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE1N,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAExE,OAAO,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"PanelToolbar.js","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,11 @@ import { MessageEvent, PlayerState, PlayerPresence, PlayerProblem } from "@foxgl
|
|
|
3
3
|
import { MessageHandler } from "../messaging/message-handler.js";
|
|
4
4
|
import { WebSocketConnectionMessage } from "./ws/Adapter.js";
|
|
5
5
|
import { ProtobufKind } from "../messaging/protobuf.js";
|
|
6
|
+
import { MetricsManager } from "../utils/metrics-manager.js";
|
|
7
|
+
export type Metrics = {
|
|
8
|
+
inputFPS: number;
|
|
9
|
+
postDecodeFPS: number;
|
|
10
|
+
};
|
|
6
11
|
declare class ProblemManager {
|
|
7
12
|
protected problems: PlayerProblem[];
|
|
8
13
|
addProblem(problem: PlayerProblem): void;
|
|
@@ -14,8 +19,7 @@ declare abstract class FoxgloveConnection {
|
|
|
14
19
|
protected id: string;
|
|
15
20
|
protected playerPresence: PlayerPresence;
|
|
16
21
|
protected playerCapabilities: string[];
|
|
17
|
-
protected
|
|
18
|
-
protected parsedMessagesBytes: number;
|
|
22
|
+
protected messageEvent: MessageEvent | null;
|
|
19
23
|
protected receivedBytes: number;
|
|
20
24
|
protected startTime?: Time;
|
|
21
25
|
protected endTime?: Time;
|
|
@@ -24,6 +28,8 @@ declare abstract class FoxgloveConnection {
|
|
|
24
28
|
protected subscribedTopics: Map<any, any>;
|
|
25
29
|
protected advertisedServices: Map<any, any>;
|
|
26
30
|
protected problems: ProblemManager;
|
|
31
|
+
protected inputMetrics: MetricsManager;
|
|
32
|
+
protected decodeMetrics: MetricsManager;
|
|
27
33
|
protected messageHandler: MessageHandler;
|
|
28
34
|
protected topics: {
|
|
29
35
|
[key: string]: {
|
|
@@ -33,9 +39,10 @@ declare abstract class FoxgloveConnection {
|
|
|
33
39
|
};
|
|
34
40
|
constructor(id: string);
|
|
35
41
|
setListener(listener: (playerState: PlayerState) => Promise<void>): void;
|
|
42
|
+
getTopicMetrics(topic: string): Metrics;
|
|
36
43
|
protected getCurrentTime(): Time;
|
|
37
44
|
protected onMessagePacket(event: globalThis.MessageEvent<WebSocketConnectionMessage>): void;
|
|
38
|
-
protected
|
|
45
|
+
protected handleParsedMessage(event: MessageEvent): void;
|
|
39
46
|
protected emitState: (() => void) & {
|
|
40
47
|
currentPromise?: Promise<void>;
|
|
41
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseConnection.d.ts","sourceRoot":"","sources":["../../../../../src/connection/BaseConnection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,IAAI,EAAyC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EACL,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EAEd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAwB,MAAM,iCAAiC,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseConnection.d.ts","sourceRoot":"","sources":["../../../../../src/connection/BaseConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { fromMillis, isGreaterThan, isLessThan } from "@foxglove/rostime";
|
|
|
6
6
|
import { estimateObjectSize } from "@foxglove/studio-base/players/messageMemoryEstimation";
|
|
7
7
|
import { PlayerPresence, PlayerCapabilities } from "@foxglove/studio-base/players/types";
|
|
8
8
|
import { createMessageHandler } from "../messaging/message-handler.js";
|
|
9
|
-
|
|
9
|
+
import { MetricsManager } from "../utils/metrics-manager.js";
|
|
10
10
|
class ProblemManager {
|
|
11
11
|
problems = [];
|
|
12
12
|
addProblem(problem) {
|
|
@@ -26,8 +26,7 @@ class FoxgloveConnection {
|
|
|
26
26
|
playerPresence = PlayerPresence.NOT_PRESENT;
|
|
27
27
|
playerCapabilities = [PlayerCapabilities.playbackControl];
|
|
28
28
|
// state options
|
|
29
|
-
|
|
30
|
-
parsedMessagesBytes = 0;
|
|
29
|
+
messageEvent = null;
|
|
31
30
|
receivedBytes = 0;
|
|
32
31
|
startTime;
|
|
33
32
|
endTime;
|
|
@@ -36,55 +35,43 @@ class FoxgloveConnection {
|
|
|
36
35
|
subscribedTopics = new Map();
|
|
37
36
|
advertisedServices = new Map();
|
|
38
37
|
problems = new ProblemManager();
|
|
38
|
+
inputMetrics = new MetricsManager();
|
|
39
|
+
decodeMetrics = new MetricsManager();
|
|
39
40
|
// message handler
|
|
40
41
|
messageHandler;
|
|
41
42
|
topics = {};
|
|
42
43
|
constructor(id) {
|
|
43
44
|
this.id = id;
|
|
44
|
-
this.messageHandler = createMessageHandler(this.
|
|
45
|
+
this.messageHandler = createMessageHandler(this.handleParsedMessage.bind(this));
|
|
45
46
|
}
|
|
46
47
|
setListener(listener) {
|
|
47
48
|
this.listener = listener;
|
|
48
49
|
this.emitState();
|
|
49
50
|
}
|
|
51
|
+
getTopicMetrics(topic) {
|
|
52
|
+
return {
|
|
53
|
+
inputFPS: this.inputMetrics.calculate(topic),
|
|
54
|
+
postDecodeFPS: this.decodeMetrics.calculate(topic),
|
|
55
|
+
};
|
|
56
|
+
}
|
|
50
57
|
getCurrentTime() {
|
|
51
58
|
return fromMillis(Date.now());
|
|
52
59
|
}
|
|
53
60
|
onMessagePacket(event) {
|
|
61
|
+
this.inputMetrics.registerEvent(event.data.topic);
|
|
54
62
|
this.messageHandler.handle(event.data);
|
|
55
63
|
}
|
|
56
|
-
|
|
64
|
+
handleParsedMessage(event) {
|
|
65
|
+
this.decodeMetrics.registerEvent(event.topic);
|
|
57
66
|
const messageSize = estimateObjectSize(event.message);
|
|
58
67
|
event.sizeInBytes = messageSize;
|
|
59
|
-
this.
|
|
60
|
-
this.parsedMessages.push(event);
|
|
61
|
-
if (this.parsedMessagesBytes > CURRENT_FRAME_MAXIMUM_SIZE_BYTES) {
|
|
62
|
-
// console.debug(
|
|
63
|
-
// `WebSocketPlayer maximum frame size (${(
|
|
64
|
-
// CURRENT_FRAME_MAXIMUM_SIZE_BYTES / 1024 / 1024
|
|
65
|
-
// ).toFixed(
|
|
66
|
-
// 2,
|
|
67
|
-
// )}MB) reached. Dropping old messages. This accumulation can occur if the browser tab has been inactive.`,
|
|
68
|
-
// );
|
|
69
|
-
// Amortize cost of dropping messages by dropping parsedMessages size to
|
|
70
|
-
// 80% so that it doesn't happen for every message after reaching the limit
|
|
71
|
-
const evictUntilSize = 0.8 * CURRENT_FRAME_MAXIMUM_SIZE_BYTES;
|
|
72
|
-
let droppedBytes = 0;
|
|
73
|
-
let indexToCutBefore = 0;
|
|
74
|
-
while (this.parsedMessagesBytes - droppedBytes > evictUntilSize) {
|
|
75
|
-
droppedBytes += this.parsedMessages[indexToCutBefore].sizeInBytes;
|
|
76
|
-
indexToCutBefore++;
|
|
77
|
-
}
|
|
78
|
-
this.parsedMessages.splice(0, indexToCutBefore);
|
|
79
|
-
this.parsedMessagesBytes -= droppedBytes;
|
|
80
|
-
}
|
|
68
|
+
this.messageEvent = event;
|
|
81
69
|
this.emitState();
|
|
82
70
|
}
|
|
83
71
|
emitState = debouncePromise(async () => {
|
|
84
|
-
const
|
|
85
|
-
this.
|
|
86
|
-
this.
|
|
87
|
-
if (!this.listener) {
|
|
72
|
+
const message = this.messageEvent;
|
|
73
|
+
this.messageEvent = null;
|
|
74
|
+
if (!this.listener || !message) {
|
|
88
75
|
await Promise.resolve();
|
|
89
76
|
return;
|
|
90
77
|
}
|
|
@@ -97,12 +84,10 @@ class FoxgloveConnection {
|
|
|
97
84
|
}
|
|
98
85
|
const problems = this.problems.getProblems();
|
|
99
86
|
this.problems.clearProblems();
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
};
|
|
105
|
-
}
|
|
87
|
+
this.topics[message.topic] = {
|
|
88
|
+
name: message.topic,
|
|
89
|
+
schemaName: message.schemaName
|
|
90
|
+
};
|
|
106
91
|
const newPlayerState = {
|
|
107
92
|
name: this.id,
|
|
108
93
|
presence: this.playerPresence,
|
|
@@ -113,7 +98,7 @@ class FoxgloveConnection {
|
|
|
113
98
|
problems,
|
|
114
99
|
urlState: undefined,
|
|
115
100
|
activeData: {
|
|
116
|
-
messages,
|
|
101
|
+
messages: [message],
|
|
117
102
|
totalBytesReceived: this.receivedBytes,
|
|
118
103
|
startTime: this.startTime,
|
|
119
104
|
endTime: this.endTime,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseConnection.js","sourceRoot":"","sources":["../../../../../src/connection/BaseConnection.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAQ,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,EAGL,cAAc,EAEd,kBAAkB,EACnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAkB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseConnection.js","sourceRoot":"","sources":["../../../../../src/connection/BaseConnection.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAQ,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAC3F,OAAO,EAGL,cAAc,EAEd,kBAAkB,EACnB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAkB,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAO7D,MAAM,cAAc;IACR,QAAQ,GAAoB,EAAE,CAAC;IAElC,UAAU,CAAC,OAAsB;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAEM,aAAa;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,MAAe,kBAAkB;IACrB,QAAQ,CAA+C;IAEvD,EAAE,CAAS;IAErB,iBAAiB;IACP,cAAc,GAAmB,cAAc,CAAC,WAAW,CAAC;IAC5D,kBAAkB,GAAG,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IAEpE,gBAAgB;IACN,YAAY,GAAwB,IAAI,CAAC;IAEzC,aAAa,GAAW,CAAC,CAAC;IAE1B,SAAS,CAAQ;IACjB,OAAO,CAAQ;IAEf,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;IAC5B,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;IAC7B,kBAAkB,GAAG,IAAI,GAAG,EAAE,CAAC;IAE/B,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;IAChC,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;IACpC,aAAa,GAAG,IAAI,cAAc,EAAE,CAAC;IAE/C,kBAAkB;IACR,cAAc,CAAiB;IAE/B,MAAM,GAKZ,EAAE,CAAC;IAEP,YAAmB,EAAU;QAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,WAAW,CAAC,QAAqD;QACtE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,eAAe,CAAC,KAAa;QAClC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5C,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;SACnD,CAAC;IACJ,CAAC;IAES,cAAc;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAChC,CAAC;IAES,eAAe,CAAC,KAA0D;QAClF,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAES,mBAAmB,CAAC,KAAmB;QAC/C,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtD,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAES,SAAS,GAAG,eAAe,CAAC,KAAK,IAAI,EAAE;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG;YAC3B,IAAI,EAAE,OAAO,CAAC,KAAK;YACnB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;QAEF,MAAM,cAAc,GAAgB;YAClC,IAAI,EAAE,IAAI,CAAC,EAAE;YACb,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,IAAI,CAAC,kBAAkB;YACrC,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ;YACR,QAAQ,EAAE,SAAS;YAEnB,UAAU,EAAE;gBACV,QAAQ,EAAE,CAAC,OAAO,CAAC;gBACnB,kBAAkB,EAAE,IAAI,CAAC,aAAa;gBACtC,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW;gBACX,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClC,UAAU,EAAE,IAAI,GAAG,EAAE;gBACrB,SAAS,EAAE,IAAI,GAAG,EAAE;gBACpB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,QAAQ,EAAE,IAAI,CAAC,kBAAkB;aAClC;SACF,CAAC;QAEF,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;CACJ;AAsBD,MAAM,OAAgB,cAAsC,SAAQ,kBAAkB;CAgBrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/ws/Connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,mBAAmB,CAAC,aAAa,GAAG,KAAK,CAAE,SAAQ,cAAc,CAAC,aAAa,CAAC;;gBAIxE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOxC,EAAE,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAA2C;IAClF,GAAG,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAA4C;IACrF,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CACN;IAC3C,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAgC;IAEpF,IAAW,SAAS,YAEnB;
|
|
1
|
+
{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/ws/Connection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,mBAAmB,CAAC,aAAa,GAAG,KAAK,CAAE,SAAQ,cAAc,CAAC,aAAa,CAAC;;gBAIxE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAOxC,EAAE,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAA2C;IAClF,GAAG,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAA4C;IACrF,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CACN;IAC3C,KAAK,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAgC;IAEpF,IAAW,SAAS,YAEnB;CA8BF"}
|
|
@@ -37,8 +37,7 @@ export class WebSocketConnection extends BaseConnection {
|
|
|
37
37
|
this.emitState();
|
|
38
38
|
};
|
|
39
39
|
#onError = (_event) => {
|
|
40
|
-
this.
|
|
41
|
-
this.parsedMessagesBytes = 0;
|
|
40
|
+
this.messageEvent = null;
|
|
42
41
|
this.playerPresence = PlayerPresence.ERROR;
|
|
43
42
|
this.emitState();
|
|
44
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../../../src/connection/ws/Connection.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,OAAuC,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,mBAA2C,SAAQ,cAA6B;IAC3F,IAAI,CAAS;IACb,QAAQ,CAAW;IAEnB,YAAmB,GAAW,EAAE,MAAe;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAEM,EAAE,GAAwC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAClF,GAAG,GAAyC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACrF,OAAO,GAA6C,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,CAC3E,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3C,KAAK,GAA2C,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAEpF,IAAW,SAAS;QAClB,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,GAA8B,CAAC,MAAM,EAAE,EAAE;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAA4D,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,OAAO,GAAe,GAAG,EAAE;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,QAAQ,GAAe,GAAG,EAAE;QAC1B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,QAAQ,GAA6B,CAAC,MAAM,EAAE,EAAE;QAC9C,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../../../src/connection/ws/Connection.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,OAAuC,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,OAAO,mBAA2C,SAAQ,cAA6B;IAC3F,IAAI,CAAS;IACb,QAAQ,CAAW;IAEnB,YAAmB,GAAW,EAAE,MAAe;QAC7C,KAAK,CAAC,GAAG,CAAC,CAAC;QAEX,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAEM,EAAE,GAAwC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;IAClF,GAAG,GAAyC,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACrF,OAAO,GAA6C,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,CAC3E,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;IAC3C,KAAK,GAA2C,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;IAEpF,IAAW,SAAS;QAClB,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,GAA8B,CAAC,MAAM,EAAE,EAAE;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAClD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAA4D,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,OAAO,GAAe,GAAG,EAAE;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,QAAQ,GAAe,GAAG,EAAE;QAC1B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,CAAC;IAEF,QAAQ,GAA6B,CAAC,MAAM,EAAE,EAAE;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;QAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC,CAAC;CACH"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BaseConnection } from "../connection/BaseConnection.js";
|
|
2
|
+
export declare const ConnectionsProvider: import("react").Provider<BaseConnection<never>[]>;
|
|
3
|
+
export declare const useConnections: () => BaseConnection<never>[];
|
|
4
|
+
//# sourceMappingURL=ConnectionsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionsProvider.d.ts","sourceRoot":"","sources":["../../../../../src/context/ConnectionsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAIjE,eAAO,MAAM,mBAAmB,mDAAmB,CAAC;AACpD,eAAO,MAAM,cAAc,+BAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConnectionsProvider.js","sourceRoot":"","sources":["../../../../../src/context/ConnectionsProvider.tsx"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAmB,EAAE,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { PropsWithChildren } from "react";
|
|
2
2
|
import { MessagePipelineContext } from "@foxglove/studio-base/components/MessagePipeline/types";
|
|
3
|
-
import { BaseConnection } from "../connection/BaseConnection";
|
|
4
3
|
export type { MessagePipelineContext };
|
|
5
|
-
export declare function MessagePipelineProvider(props: PropsWithChildren
|
|
6
|
-
connections: BaseConnection[];
|
|
7
|
-
}>): React.ReactElement;
|
|
4
|
+
export declare function MessagePipelineProvider(props: PropsWithChildren): React.ReactElement;
|
|
8
5
|
//# sourceMappingURL=MessagePipelineProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagePipelineProvider.d.ts","sourceRoot":"","sources":["../../../../../src/context/MessagePipelineProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AAOf,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"MessagePipelineProvider.d.ts","sourceRoot":"","sources":["../../../../../src/context/MessagePipelineProvider.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AAOf,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAQhG,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAIvC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CAyCpF"}
|
|
@@ -8,10 +8,11 @@ import { ContextInternal } from "@foxglove/studio-base/components/MessagePipelin
|
|
|
8
8
|
import MessageOrderTracker from "@foxglove/studio-base/components/MessagePipeline/MessageOrderTracker";
|
|
9
9
|
import { pauseFrameForPromises } from "@foxglove/studio-base/components/MessagePipeline/pauseFrameForPromise";
|
|
10
10
|
import { createMessagePipelineStore, defaultPlayerState } from "@foxglove/studio-base/components/MessagePipeline/store";
|
|
11
|
+
import { useConnections } from "./ConnectionsProvider.js";
|
|
11
12
|
const selectRenderDone = (state) => state.renderDone;
|
|
12
13
|
export function MessagePipelineProvider(props) {
|
|
14
|
+
const connections = useConnections();
|
|
13
15
|
const promisesToWaitForRef = useRef([]);
|
|
14
|
-
const { children, connections } = props;
|
|
15
16
|
const store = useMemo(() => {
|
|
16
17
|
return createMessagePipelineStore({ promisesToWaitForRef, initialPlayer: undefined });
|
|
17
18
|
}, []);
|
|
@@ -40,7 +41,7 @@ export function MessagePipelineProvider(props) {
|
|
|
40
41
|
});
|
|
41
42
|
};
|
|
42
43
|
}, [connections, store]);
|
|
43
|
-
return _jsx(ContextInternal.Provider, { value: store, children: children });
|
|
44
|
+
return _jsx(ContextInternal.Provider, { value: store, children: props.children });
|
|
44
45
|
}
|
|
45
46
|
function createMessageListener(args) {
|
|
46
47
|
const { promisesToWaitForRef, store } = args;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessagePipelineProvider.js","sourceRoot":"","sources":["../../../../../src/context/MessagePipelineProvider.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAEL,SAAS,EACT,eAAe,EACf,OAAO,EACP,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAY,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,mBAAmB,MAAM,sEAAsE,CAAC;AACvG,OAAO,EAAgB,qBAAqB,EAAE,MAAM,uEAAuE,CAAC;AAC5H,OAAO,EAAgC,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"MessagePipelineProvider.js","sourceRoot":"","sources":["../../../../../src/context/MessagePipelineProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisualizerContext.d.ts","sourceRoot":"","sources":["../../../../../src/context/VisualizerContext.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAQpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"VisualizerContext.d.ts","sourceRoot":"","sources":["../../../../../src/context/VisualizerContext.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAQpE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,wBAAgB,iBAAiB,IAAI,SAAS,aAAa,EAAE,CAE5D;AAED,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,cAAc,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB,oDA+F5B,CAAC"}
|
|
@@ -18,6 +18,7 @@ import { PanelStateContextProvider } from "@foxglove/studio-base/providers/Panel
|
|
|
18
18
|
import TimelineInteractionStateProvider from "@foxglove/studio-base/providers/TimelineInteractionStateProvider";
|
|
19
19
|
import WorkspaceContextProvider from "@foxglove/studio-base/providers/WorkspaceContextProvider";
|
|
20
20
|
import { MessagePipelineProvider } from "./MessagePipelineProvider";
|
|
21
|
+
import { ConnectionsProvider } from "./ConnectionsProvider.js";
|
|
21
22
|
export function useSourceProblems() {
|
|
22
23
|
return useMessagePipeline((ctx) => ctx.playerState.problems ?? []);
|
|
23
24
|
}
|
|
@@ -75,6 +76,7 @@ export const VisualizerContext = React.memo(function VisualizerContext({ childre
|
|
|
75
76
|
return undefined;
|
|
76
77
|
},
|
|
77
78
|
};
|
|
78
|
-
|
|
79
|
+
// TODO: Simplify
|
|
80
|
+
return (_jsx(AppConfigurationContext.Provider, { value: appConfiguration, children: _jsx(DndProvider, { backend: HTML5Backend, children: _jsxs(WorkspaceContextProvider, { children: [_jsx(GlobalCss, {}), _jsx(CssBaseline, { children: _jsx(ErrorBoundary, { children: _jsx(TimelineInteractionStateProvider, { children: _jsx(CurrentLayoutProvider, { children: _jsx(ConnectionsProvider, { value: connections, children: _jsx(MessagePipelineProvider, { children: _jsx(EventsProvider, { children: _jsx(MosaicContext.Provider, { value: mosaicContext, children: _jsx(MosaicWindowContext.Provider, { value: mosaicWindowContext, children: _jsx(PanelCatalogContext.Provider, { value: panelCatalog, children: _jsx(PanelStateContextProvider, { children: children }) }) }) }) }) }) }) }) }) }) })] }) }) }));
|
|
79
81
|
});
|
|
80
82
|
//# sourceMappingURL=VisualizerContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisualizerContext.js","sourceRoot":"","sources":["../../../../../src/context/VisualizerContext.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAiC,MAAM,wBAAwB,CAAC;AAE3G,OAAO,WAAW,MAAM,8CAA8C,CAAC;AACvE,OAAO,aAAa,MAAM,gDAAgD,CAAC;AAC3E,OAAO,SAAS,MAAM,4CAA4C,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,uBAA8C,MAAM,uDAAuD,CAAC;AACnH,OAAO,mBAAkC,MAAM,mDAAmD,CAAC;AAEnG,OAAO,qBAAqB,MAAM,uDAAuD,CAAC;AAC1F,OAAO,cAAc,MAAM,gDAAgD,CAAC;AAC5E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2DAA2D,CAAC;AACtG,OAAO,gCAAgC,MAAM,kEAAkE,CAAC;AAChH,OAAO,wBAAwB,MAAM,0DAA0D,CAAC;AAEhG,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"VisualizerContext.js","sourceRoot":"","sources":["../../../../../src/context/VisualizerContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { PanelProps } from "../components/Panel.js";
|
|
3
|
-
|
|
3
|
+
type ImagePanelBodyProps = {
|
|
4
4
|
topic: string;
|
|
5
5
|
};
|
|
6
|
-
export
|
|
6
|
+
export type ImagePanelProps = Omit<PanelProps, 'kind' | 'metrics'> & ImagePanelBodyProps;
|
|
7
|
+
export declare const ImagePanel: React.NamedExoticComponent<ImagePanelProps>;
|
|
8
|
+
export {};
|
|
7
9
|
//# sourceMappingURL=ImagePanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagePanel.d.ts","sourceRoot":"","sources":["../../../../../src/panels/ImagePanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAS,UAAU,EAAiB,MAAM,wBAAwB,CAAC;AAM1E,
|
|
1
|
+
{"version":3,"file":"ImagePanel.d.ts","sourceRoot":"","sources":["../../../../../src/panels/ImagePanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAS,UAAU,EAAiB,MAAM,wBAAwB,CAAC;AAM1E,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAyBF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,mBAAmB,CAAC;AAEzF,eAAO,MAAM,UAAU,6CAMrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImagePanel.js","sourceRoot":"","sources":["../../../../../src/panels/ImagePanel.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAc,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CACpC,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAC/D,CAAC;AAMF,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"ImagePanel.js","sourceRoot":"","sources":["../../../../../src/panels/ImagePanel.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,EAAc,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CACpC,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAC/D,CAAC;AAMF,MAAM,cAAc,GAAkC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAClE,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IAEvC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CACjC,GAAG,EAAE,CAAC,CAAC;QACL,SAAS,EAAE;YACT,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,EAAE,EAAE;gBAClB,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;aAC/B,CAAC,CACH;YACD,SAAS,EAAE,UAAmB;SAC/B;KACF,CAAC,EACF,CAAC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC;IAEF,OAAO,KAAC,mBAAmB,IAAC,cAAc,EAAE,aAAa,GAAI,CAAC;AAChE,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,CAAC,KAAsB;IAC7E,OAAO,CACL,KAAC,KAAK,IAAC,IAAI,EAAC,OAAO,KAAK,KAAK,YAC3B,KAAC,cAAc,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAI,GAChC,CACT,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-manager.d.ts","sourceRoot":"","sources":["../../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAEvC,aAAa,CAAC,KAAK,EAAE,MAAM;IAO3B,SAAS,CAAC,KAAK,EAAE,MAAM;CAkB/B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export class MetricsManager {
|
|
2
|
+
metrics = {};
|
|
3
|
+
registerEvent(topic) {
|
|
4
|
+
const currentTime = performance.now();
|
|
5
|
+
this.metrics[topic] ??= [];
|
|
6
|
+
this.metrics[topic].unshift(currentTime);
|
|
7
|
+
this.metrics[topic].length = 100;
|
|
8
|
+
}
|
|
9
|
+
calculate(topic) {
|
|
10
|
+
const topicMetrics = this.metrics[topic];
|
|
11
|
+
if (!topicMetrics) {
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
let totalInterval = 0;
|
|
15
|
+
for (let i = 1; i < topicMetrics.length; ++i) {
|
|
16
|
+
totalInterval += topicMetrics[i - 1] - topicMetrics[i];
|
|
17
|
+
}
|
|
18
|
+
if (isNaN(totalInterval)) {
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
const fps = 1_000 / (totalInterval / (topicMetrics.length - 1));
|
|
22
|
+
return Math.round(fps);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=metrics-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-manager.js","sourceRoot":"","sources":["../../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,cAAc;IAClB,OAAO,GAA6B,EAAE,CAAC;IAEvC,aAAa,CAAC,KAAa;QAChC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACtC,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,GAAG,CAAC;IACpC,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aI as EditorView, aJ as EditorSelection, as as LRLanguage, aq as styleTags, ar as tags, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, at as LanguageSupport, av as LRParser, ay as syntaxTree, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-
|
|
1
|
+
import { aI as EditorView, aJ as EditorSelection, as as LRLanguage, aq as styleTags, ar as tags, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, at as LanguageSupport, av as LRParser, ay as syntaxTree, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, aN as javascriptLanguage, as as LRLanguage, at as LanguageSupport, av as LRParser, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, aN as javascriptLanguage, as as LRLanguage, at as LanguageSupport, av as LRParser, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ap as foldNodeProp, aM as bracketMatchingHandle, at as LanguageSupport, aI as EditorView, ay as syntaxTree, aJ as EditorSelection } from './index-
|
|
1
|
+
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ap as foldNodeProp, aM as bracketMatchingHandle, at as LanguageSupport, aI as EditorView, ay as syntaxTree, aJ as EditorSelection } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, aD as LocalTokenGroup, aE as snippetCompletion, ay as syntaxTree, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aw as ifNotIn, ax as completeFromList, aF as IterMode, aG as NodeWeakMap } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, aD as LocalTokenGroup, aE as snippetCompletion, ay as syntaxTree, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aw as ifNotIn, ax as completeFromList, aF as IterMode, aG as NodeWeakMap } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, ay as syntaxTree, aw as ifNotIn, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aF as IterMode, ax as completeFromList, aG as NodeWeakMap, aE as snippetCompletion } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, ay as syntaxTree, aw as ifNotIn, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aF as IterMode, ax as completeFromList, aG as NodeWeakMap, aE as snippetCompletion } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Component, useContext, useState, useEffect, createContext, forwardRef, createElement, cloneElement, useMemo, Profiler, StrictMode } from 'react';
|
|
3
3
|
import ReactDOM__default from 'react-dom';
|
|
4
|
-
import { i as isSymbol, t as toString, k as keys, g as getSymbols$1, s as stubArray, a as arrayPush, b as baseGetAllKeys, c as getTag, d as getAllKeys, e as createAggregator, f as baseGet, h as baseIteratee, j as castPath, l as toKey, m as flatRest, n as arrayMap$1, o as baseSet, p as baseUniq, q as baseFlatten, r as generateUtilityClass, A as AnalyticsContext, u as useMustNotChange, P as PropTypes, v as useCurrentLayoutActions, w as useCurrentLayoutSelector, x as reportError, y as AppError, E as ErrorDisplay, S as Stack$1, z as makeStyles$1, _ as _extends$1, L as Logger, B as useGuaranteedContext, W as WorkspaceContext, C as useAnalytics, D as AppEvent, F as LeftSidebarItemKeys, R as RightSidebarItemKeys, G as usePanelMosaicId, H as useTranslation, I as usePanelCatalog, J as EmptyState, K as isEmpty, M as PanelContext, N as PanelCatalogContext, O as useSelectedPanels, Q as usePanelStateStore, T as useDefaultPanelTitle, U as PANEL_TITLE_CONFIG_KEY, V as noop$4, X as getPanelTypeFromId, Y as useWorkspaceStore, Z as useShallowMemo, $ as TAB_PANEL_TYPE, a0 as WorkspaceStoreSelectors, a1 as difference, a2 as filterMap, a3 as dist$3, a4 as usePanelContext, a5 as useMessagePipeline, a6 as v4, a7 as useHoverValue, a8 as useSetHoverValue, a9 as useClearHoverValue, aa as useAppConfiguration, ab as useMessagePipelineGetter, ac as usePanelSettingsTreeUpdate, ad as PlayerCapabilities, ae as useValueChangedDebugLog, af as assertNever, ag as PlayerPresence, ah as typescript, ai as isEqual, aj as isDesktopApp, ak as createTheme, al as propTypesExports, am as useJsonTreeTheme } from './index-
|
|
4
|
+
import { i as isSymbol, t as toString, k as keys, g as getSymbols$1, s as stubArray, a as arrayPush, b as baseGetAllKeys, c as getTag, d as getAllKeys, e as createAggregator, f as baseGet, h as baseIteratee, j as castPath, l as toKey, m as flatRest, n as arrayMap$1, o as baseSet, p as baseUniq, q as baseFlatten, r as generateUtilityClass, A as AnalyticsContext, u as useMustNotChange, P as PropTypes, v as useCurrentLayoutActions, w as useCurrentLayoutSelector, x as reportError, y as AppError, E as ErrorDisplay, S as Stack$1, z as makeStyles$1, _ as _extends$1, L as Logger, B as useGuaranteedContext, W as WorkspaceContext, C as useAnalytics, D as AppEvent, F as LeftSidebarItemKeys, R as RightSidebarItemKeys, G as usePanelMosaicId, H as useTranslation, I as usePanelCatalog, J as EmptyState, K as isEmpty, M as PanelContext, N as PanelCatalogContext, O as useSelectedPanels, Q as usePanelStateStore, T as useDefaultPanelTitle, U as PANEL_TITLE_CONFIG_KEY, V as noop$4, X as getPanelTypeFromId, Y as useWorkspaceStore, Z as useShallowMemo, $ as TAB_PANEL_TYPE, a0 as WorkspaceStoreSelectors, a1 as difference, a2 as filterMap, a3 as dist$3, a4 as usePanelContext, a5 as useMessagePipeline, a6 as v4, a7 as useHoverValue, a8 as useSetHoverValue, a9 as useClearHoverValue, aa as useAppConfiguration, ab as useMessagePipelineGetter, ac as usePanelSettingsTreeUpdate, ad as PlayerCapabilities, ae as useValueChangedDebugLog, af as assertNever, ag as PlayerPresence, ah as typescript, ai as isEqual, aj as isDesktopApp, ak as createTheme, al as propTypesExports, am as useJsonTreeTheme } from './index-CNWGMhCW.js';
|
|
5
5
|
import { createStore, useStore } from 'zustand';
|
|
6
6
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
7
7
|
import { a as getDefaultExportFromCjs, c as commonjsGlobal, g as getAugmentedNamespace, E as EventEmitter } from './worker-utils-Jii8lIsy.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aq as styleTags, ar as tags, at as LanguageSupport, av as LRParser } from './index-
|
|
1
|
+
import { as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aq as styleTags, ar as tags, at as LanguageSupport, av as LRParser } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aL as parseMixed } from './index-
|
|
1
|
+
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aL as parseMixed } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -11632,11 +11632,35 @@ function createMessageHandler(callback) {
|
|
|
11632
11632
|
};
|
|
11633
11633
|
}
|
|
11634
11634
|
|
|
11635
|
+
class MetricsManager {
|
|
11636
|
+
metrics = {};
|
|
11637
|
+
registerEvent(topic) {
|
|
11638
|
+
const currentTime = performance.now();
|
|
11639
|
+
this.metrics[topic] ??= [];
|
|
11640
|
+
this.metrics[topic].unshift(currentTime);
|
|
11641
|
+
this.metrics[topic].length = 100;
|
|
11642
|
+
}
|
|
11643
|
+
calculate(topic) {
|
|
11644
|
+
const topicMetrics = this.metrics[topic];
|
|
11645
|
+
if (!topicMetrics) {
|
|
11646
|
+
return 0;
|
|
11647
|
+
}
|
|
11648
|
+
let totalInterval = 0;
|
|
11649
|
+
for (let i = 1; i < topicMetrics.length; ++i) {
|
|
11650
|
+
totalInterval += topicMetrics[i - 1] - topicMetrics[i];
|
|
11651
|
+
}
|
|
11652
|
+
if (isNaN(totalInterval)) {
|
|
11653
|
+
return 0;
|
|
11654
|
+
}
|
|
11655
|
+
const fps = 1_000 / (totalInterval / (topicMetrics.length - 1));
|
|
11656
|
+
return Math.round(fps);
|
|
11657
|
+
}
|
|
11658
|
+
}
|
|
11659
|
+
|
|
11635
11660
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
11636
11661
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
11637
11662
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
11638
11663
|
|
|
11639
|
-
const CURRENT_FRAME_MAXIMUM_SIZE_BYTES = 100 * 1024 * 1024;
|
|
11640
11664
|
class ProblemManager {
|
|
11641
11665
|
problems = [];
|
|
11642
11666
|
addProblem(problem) {
|
|
@@ -11655,65 +11679,51 @@ class FoxgloveConnection {
|
|
|
11655
11679
|
playerCapabilities = [PlayerCapabilities.playbackControl];
|
|
11656
11680
|
|
|
11657
11681
|
// state options
|
|
11658
|
-
|
|
11659
|
-
parsedMessagesBytes = 0;
|
|
11682
|
+
messageEvent = null;
|
|
11660
11683
|
receivedBytes = 0;
|
|
11661
11684
|
parameters = new Map();
|
|
11662
11685
|
publishedTopics = new Map();
|
|
11663
11686
|
subscribedTopics = new Map();
|
|
11664
11687
|
advertisedServices = new Map();
|
|
11665
11688
|
problems = new ProblemManager();
|
|
11689
|
+
inputMetrics = new MetricsManager();
|
|
11690
|
+
decodeMetrics = new MetricsManager();
|
|
11666
11691
|
|
|
11667
11692
|
// message handler
|
|
11668
11693
|
|
|
11669
11694
|
topics = {};
|
|
11670
11695
|
constructor(id) {
|
|
11671
11696
|
this.id = id;
|
|
11672
|
-
this.messageHandler = createMessageHandler(this.
|
|
11697
|
+
this.messageHandler = createMessageHandler(this.handleParsedMessage.bind(this));
|
|
11673
11698
|
}
|
|
11674
11699
|
setListener(listener) {
|
|
11675
11700
|
this.listener = listener;
|
|
11676
11701
|
this.emitState();
|
|
11677
11702
|
}
|
|
11703
|
+
getTopicMetrics(topic) {
|
|
11704
|
+
return {
|
|
11705
|
+
inputFPS: this.inputMetrics.calculate(topic),
|
|
11706
|
+
postDecodeFPS: this.decodeMetrics.calculate(topic)
|
|
11707
|
+
};
|
|
11708
|
+
}
|
|
11678
11709
|
getCurrentTime() {
|
|
11679
11710
|
return dist$1.fromMillis(Date.now());
|
|
11680
11711
|
}
|
|
11681
11712
|
onMessagePacket(event) {
|
|
11713
|
+
this.inputMetrics.registerEvent(event.data.topic);
|
|
11682
11714
|
this.messageHandler.handle(event.data);
|
|
11683
11715
|
}
|
|
11684
|
-
|
|
11716
|
+
handleParsedMessage(event) {
|
|
11717
|
+
this.decodeMetrics.registerEvent(event.topic);
|
|
11685
11718
|
const messageSize = estimateObjectSize(event.message);
|
|
11686
11719
|
event.sizeInBytes = messageSize;
|
|
11687
|
-
this.
|
|
11688
|
-
this.parsedMessages.push(event);
|
|
11689
|
-
if (this.parsedMessagesBytes > CURRENT_FRAME_MAXIMUM_SIZE_BYTES) {
|
|
11690
|
-
// console.debug(
|
|
11691
|
-
// `WebSocketPlayer maximum frame size (${(
|
|
11692
|
-
// CURRENT_FRAME_MAXIMUM_SIZE_BYTES / 1024 / 1024
|
|
11693
|
-
// ).toFixed(
|
|
11694
|
-
// 2,
|
|
11695
|
-
// )}MB) reached. Dropping old messages. This accumulation can occur if the browser tab has been inactive.`,
|
|
11696
|
-
// );
|
|
11697
|
-
|
|
11698
|
-
// Amortize cost of dropping messages by dropping parsedMessages size to
|
|
11699
|
-
// 80% so that it doesn't happen for every message after reaching the limit
|
|
11700
|
-
const evictUntilSize = 0.8 * CURRENT_FRAME_MAXIMUM_SIZE_BYTES;
|
|
11701
|
-
let droppedBytes = 0;
|
|
11702
|
-
let indexToCutBefore = 0;
|
|
11703
|
-
while (this.parsedMessagesBytes - droppedBytes > evictUntilSize) {
|
|
11704
|
-
droppedBytes += this.parsedMessages[indexToCutBefore].sizeInBytes;
|
|
11705
|
-
indexToCutBefore++;
|
|
11706
|
-
}
|
|
11707
|
-
this.parsedMessages.splice(0, indexToCutBefore);
|
|
11708
|
-
this.parsedMessagesBytes -= droppedBytes;
|
|
11709
|
-
}
|
|
11720
|
+
this.messageEvent = event;
|
|
11710
11721
|
this.emitState();
|
|
11711
11722
|
}
|
|
11712
11723
|
emitState = debouncePromise(async () => {
|
|
11713
|
-
const
|
|
11714
|
-
this.
|
|
11715
|
-
this.
|
|
11716
|
-
if (!this.listener) {
|
|
11724
|
+
const message = this.messageEvent;
|
|
11725
|
+
this.messageEvent = null;
|
|
11726
|
+
if (!this.listener || !message) {
|
|
11717
11727
|
await Promise.resolve();
|
|
11718
11728
|
return;
|
|
11719
11729
|
}
|
|
@@ -11726,12 +11736,10 @@ class FoxgloveConnection {
|
|
|
11726
11736
|
}
|
|
11727
11737
|
const problems = this.problems.getProblems();
|
|
11728
11738
|
this.problems.clearProblems();
|
|
11729
|
-
|
|
11730
|
-
|
|
11731
|
-
|
|
11732
|
-
|
|
11733
|
-
};
|
|
11734
|
-
}
|
|
11739
|
+
this.topics[message.topic] = {
|
|
11740
|
+
name: message.topic,
|
|
11741
|
+
schemaName: message.schemaName
|
|
11742
|
+
};
|
|
11735
11743
|
const newPlayerState = {
|
|
11736
11744
|
name: this.id,
|
|
11737
11745
|
presence: this.playerPresence,
|
|
@@ -11742,7 +11750,7 @@ class FoxgloveConnection {
|
|
|
11742
11750
|
problems,
|
|
11743
11751
|
urlState: undefined,
|
|
11744
11752
|
activeData: {
|
|
11745
|
-
messages,
|
|
11753
|
+
messages: [message],
|
|
11746
11754
|
totalBytesReceived: this.receivedBytes,
|
|
11747
11755
|
startTime: this.startTime,
|
|
11748
11756
|
endTime: this.endTime,
|
|
@@ -11802,8 +11810,7 @@ class WebSocketConnection extends BaseConnection {
|
|
|
11802
11810
|
this.emitState();
|
|
11803
11811
|
};
|
|
11804
11812
|
#onError = _event => {
|
|
11805
|
-
this.
|
|
11806
|
-
this.parsedMessagesBytes = 0;
|
|
11813
|
+
this.messageEvent = null;
|
|
11807
11814
|
this.playerPresence = PlayerPresence.ERROR;
|
|
11808
11815
|
this.emitState();
|
|
11809
11816
|
};
|
|
@@ -19177,13 +19184,14 @@ function WorkspaceContextProvider(props) {
|
|
|
19177
19184
|
}, children);
|
|
19178
19185
|
}
|
|
19179
19186
|
|
|
19187
|
+
const Context$2 = React__default.createContext([]);
|
|
19188
|
+
const ConnectionsProvider = Context$2.Provider;
|
|
19189
|
+
const useConnections = () => React__default.useContext(Context$2);
|
|
19190
|
+
|
|
19180
19191
|
const selectRenderDone = state => state.renderDone;
|
|
19181
19192
|
function MessagePipelineProvider(props) {
|
|
19193
|
+
const connections = useConnections();
|
|
19182
19194
|
const promisesToWaitForRef = useRef([]);
|
|
19183
|
-
const {
|
|
19184
|
-
children,
|
|
19185
|
-
connections
|
|
19186
|
-
} = props;
|
|
19187
19195
|
const store = useMemo(() => {
|
|
19188
19196
|
return createMessagePipelineStore({
|
|
19189
19197
|
promisesToWaitForRef,
|
|
@@ -19221,7 +19229,7 @@ function MessagePipelineProvider(props) {
|
|
|
19221
19229
|
}, [connections, store]);
|
|
19222
19230
|
return /*#__PURE__*/React__default.createElement(ContextInternal.Provider, {
|
|
19223
19231
|
value: store
|
|
19224
|
-
}, children);
|
|
19232
|
+
}, props.children);
|
|
19225
19233
|
}
|
|
19226
19234
|
function createMessageListener(args) {
|
|
19227
19235
|
const {
|
|
@@ -19374,19 +19382,21 @@ const VisualizerContext = /*#__PURE__*/React__default.memo(function VisualizerCo
|
|
|
19374
19382
|
return undefined;
|
|
19375
19383
|
}
|
|
19376
19384
|
};
|
|
19385
|
+
|
|
19386
|
+
// TODO: Simplify
|
|
19377
19387
|
return /*#__PURE__*/React__default.createElement(AppConfigurationContext.Provider, {
|
|
19378
19388
|
value: appConfiguration
|
|
19379
19389
|
}, /*#__PURE__*/React__default.createElement(DndProvider, {
|
|
19380
19390
|
backend: HTML5Backend
|
|
19381
|
-
}, /*#__PURE__*/React__default.createElement(WorkspaceContextProvider, null, /*#__PURE__*/React__default.createElement(GlobalCss, null), /*#__PURE__*/React__default.createElement(CssBaseline, null, /*#__PURE__*/React__default.createElement(ErrorBoundary, null, /*#__PURE__*/React__default.createElement(TimelineInteractionStateProvider, null, /*#__PURE__*/React__default.createElement(CurrentLayoutProvider, null, /*#__PURE__*/React__default.createElement(
|
|
19382
|
-
|
|
19383
|
-
}, /*#__PURE__*/React__default.createElement(EventsProvider, null, /*#__PURE__*/React__default.createElement(MosaicContext.Provider, {
|
|
19391
|
+
}, /*#__PURE__*/React__default.createElement(WorkspaceContextProvider, null, /*#__PURE__*/React__default.createElement(GlobalCss, null), /*#__PURE__*/React__default.createElement(CssBaseline, null, /*#__PURE__*/React__default.createElement(ErrorBoundary, null, /*#__PURE__*/React__default.createElement(TimelineInteractionStateProvider, null, /*#__PURE__*/React__default.createElement(CurrentLayoutProvider, null, /*#__PURE__*/React__default.createElement(ConnectionsProvider, {
|
|
19392
|
+
value: connections
|
|
19393
|
+
}, /*#__PURE__*/React__default.createElement(MessagePipelineProvider, null, /*#__PURE__*/React__default.createElement(EventsProvider, null, /*#__PURE__*/React__default.createElement(MosaicContext.Provider, {
|
|
19384
19394
|
value: mosaicContext
|
|
19385
19395
|
}, /*#__PURE__*/React__default.createElement(MosaicWindowContext.Provider, {
|
|
19386
19396
|
value: mosaicWindowContext
|
|
19387
19397
|
}, /*#__PURE__*/React__default.createElement(PanelCatalogContext.Provider, {
|
|
19388
19398
|
value: panelCatalog
|
|
19389
|
-
}, /*#__PURE__*/React__default.createElement(PanelStateContextProvider, null, children)))))))))))));
|
|
19399
|
+
}, /*#__PURE__*/React__default.createElement(PanelStateContextProvider, null, children))))))))))))));
|
|
19390
19400
|
});
|
|
19391
19401
|
|
|
19392
19402
|
function _classCallCheck(instance, Constructor) {
|
|
@@ -82973,7 +82983,7 @@ function legacy(parser) {
|
|
|
82973
82983
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
82974
82984
|
}
|
|
82975
82985
|
function sql$1(dialectName) {
|
|
82976
|
-
return import('./index-
|
|
82986
|
+
return import('./index-Dn-E1-20.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
82977
82987
|
}
|
|
82978
82988
|
/**
|
|
82979
82989
|
An array of language descriptions for known language packages.
|
|
@@ -82984,7 +82994,7 @@ const languages = [
|
|
|
82984
82994
|
name: "C",
|
|
82985
82995
|
extensions: ["c", "h", "ino"],
|
|
82986
82996
|
load() {
|
|
82987
|
-
return import('./index-
|
|
82997
|
+
return import('./index-Bay9MnxH.js').then(m => m.cpp());
|
|
82988
82998
|
}
|
|
82989
82999
|
}),
|
|
82990
83000
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -82992,7 +83002,7 @@ const languages = [
|
|
|
82992
83002
|
alias: ["cpp"],
|
|
82993
83003
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
82994
83004
|
load() {
|
|
82995
|
-
return import('./index-
|
|
83005
|
+
return import('./index-Bay9MnxH.js').then(m => m.cpp());
|
|
82996
83006
|
}
|
|
82997
83007
|
}),
|
|
82998
83008
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83012,7 +83022,7 @@ const languages = [
|
|
|
83012
83022
|
name: "Go",
|
|
83013
83023
|
extensions: ["go"],
|
|
83014
83024
|
load() {
|
|
83015
|
-
return import('./index-
|
|
83025
|
+
return import('./index-B8FQDMoh.js').then(m => m.go());
|
|
83016
83026
|
}
|
|
83017
83027
|
}),
|
|
83018
83028
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83027,7 +83037,7 @@ const languages = [
|
|
|
83027
83037
|
name: "Java",
|
|
83028
83038
|
extensions: ["java"],
|
|
83029
83039
|
load() {
|
|
83030
|
-
return import('./index-
|
|
83040
|
+
return import('./index-BvNZUlo_.js').then(m => m.java());
|
|
83031
83041
|
}
|
|
83032
83042
|
}),
|
|
83033
83043
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83043,7 +83053,7 @@ const languages = [
|
|
|
83043
83053
|
alias: ["json5"],
|
|
83044
83054
|
extensions: ["json", "map"],
|
|
83045
83055
|
load() {
|
|
83046
|
-
return import('./index-
|
|
83056
|
+
return import('./index-otpYhpPx.js').then(m => m.json());
|
|
83047
83057
|
}
|
|
83048
83058
|
}),
|
|
83049
83059
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83057,14 +83067,14 @@ const languages = [
|
|
|
83057
83067
|
name: "LESS",
|
|
83058
83068
|
extensions: ["less"],
|
|
83059
83069
|
load() {
|
|
83060
|
-
return import('./index-
|
|
83070
|
+
return import('./index-GbwWdY6w.js').then(m => m.less());
|
|
83061
83071
|
}
|
|
83062
83072
|
}),
|
|
83063
83073
|
/*@__PURE__*/LanguageDescription.of({
|
|
83064
83074
|
name: "Liquid",
|
|
83065
83075
|
extensions: ["liquid"],
|
|
83066
83076
|
load() {
|
|
83067
|
-
return import('./index-
|
|
83077
|
+
return import('./index-2SFix7KY.js').then(m => m.liquid());
|
|
83068
83078
|
}
|
|
83069
83079
|
}),
|
|
83070
83080
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83090,7 +83100,7 @@ const languages = [
|
|
|
83090
83100
|
name: "PHP",
|
|
83091
83101
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
83092
83102
|
load() {
|
|
83093
|
-
return import('./index-
|
|
83103
|
+
return import('./index-ChQWCJEj.js').then(m => m.php());
|
|
83094
83104
|
}
|
|
83095
83105
|
}),
|
|
83096
83106
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83107,28 +83117,28 @@ const languages = [
|
|
|
83107
83117
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
83108
83118
|
filename: /^(BUCK|BUILD)$/,
|
|
83109
83119
|
load() {
|
|
83110
|
-
return import('./index-
|
|
83120
|
+
return import('./index-B8t-Gi4x.js').then(m => m.python());
|
|
83111
83121
|
}
|
|
83112
83122
|
}),
|
|
83113
83123
|
/*@__PURE__*/LanguageDescription.of({
|
|
83114
83124
|
name: "Rust",
|
|
83115
83125
|
extensions: ["rs"],
|
|
83116
83126
|
load() {
|
|
83117
|
-
return import('./index-
|
|
83127
|
+
return import('./index-DSLjhjen.js').then(m => m.rust());
|
|
83118
83128
|
}
|
|
83119
83129
|
}),
|
|
83120
83130
|
/*@__PURE__*/LanguageDescription.of({
|
|
83121
83131
|
name: "Sass",
|
|
83122
83132
|
extensions: ["sass"],
|
|
83123
83133
|
load() {
|
|
83124
|
-
return import('./index-
|
|
83134
|
+
return import('./index-txFQeh8N.js').then(m => m.sass({ indented: true }));
|
|
83125
83135
|
}
|
|
83126
83136
|
}),
|
|
83127
83137
|
/*@__PURE__*/LanguageDescription.of({
|
|
83128
83138
|
name: "SCSS",
|
|
83129
83139
|
extensions: ["scss"],
|
|
83130
83140
|
load() {
|
|
83131
|
-
return import('./index-
|
|
83141
|
+
return import('./index-txFQeh8N.js').then(m => m.sass());
|
|
83132
83142
|
}
|
|
83133
83143
|
}),
|
|
83134
83144
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83159,7 +83169,7 @@ const languages = [
|
|
|
83159
83169
|
name: "WebAssembly",
|
|
83160
83170
|
extensions: ["wat", "wast"],
|
|
83161
83171
|
load() {
|
|
83162
|
-
return import('./index-
|
|
83172
|
+
return import('./index-Bk6p8-al.js').then(m => m.wast());
|
|
83163
83173
|
}
|
|
83164
83174
|
}),
|
|
83165
83175
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83167,7 +83177,7 @@ const languages = [
|
|
|
83167
83177
|
alias: ["rss", "wsdl", "xsd"],
|
|
83168
83178
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
83169
83179
|
load() {
|
|
83170
|
-
return import('./index-
|
|
83180
|
+
return import('./index-B8Cado6g.js').then(m => m.xml());
|
|
83171
83181
|
}
|
|
83172
83182
|
}),
|
|
83173
83183
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -83175,7 +83185,7 @@ const languages = [
|
|
|
83175
83185
|
alias: ["yml"],
|
|
83176
83186
|
extensions: ["yaml", "yml"],
|
|
83177
83187
|
load() {
|
|
83178
|
-
return import('./index-
|
|
83188
|
+
return import('./index-BkQgkjmO.js').then(m => m.yaml());
|
|
83179
83189
|
}
|
|
83180
83190
|
}),
|
|
83181
83191
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -83971,13 +83981,13 @@ const languages = [
|
|
|
83971
83981
|
name: "Vue",
|
|
83972
83982
|
extensions: ["vue"],
|
|
83973
83983
|
load() {
|
|
83974
|
-
return import('./index-
|
|
83984
|
+
return import('./index-DKfQ_S8i.js').then(m => m.vue());
|
|
83975
83985
|
}
|
|
83976
83986
|
}),
|
|
83977
83987
|
/*@__PURE__*/LanguageDescription.of({
|
|
83978
83988
|
name: "Angular Template",
|
|
83979
83989
|
load() {
|
|
83980
|
-
return import('./index-
|
|
83990
|
+
return import('./index-7n6fnp2B.js').then(m => m.angular());
|
|
83981
83991
|
}
|
|
83982
83992
|
})
|
|
83983
83993
|
];
|
|
@@ -154040,6 +154050,14 @@ const PanelToolbar = ({
|
|
|
154040
154050
|
const {
|
|
154041
154051
|
detections
|
|
154042
154052
|
} = useDetections();
|
|
154053
|
+
const connections = useConnections();
|
|
154054
|
+
const [metrics, setMetrics] = React__default.useState();
|
|
154055
|
+
React__default.useEffect(() => {
|
|
154056
|
+
const interval = setInterval(() => {
|
|
154057
|
+
setMetrics(connections[0]?.getTopicMetrics(topic));
|
|
154058
|
+
}, 500);
|
|
154059
|
+
return () => clearInterval(interval);
|
|
154060
|
+
}, []);
|
|
154043
154061
|
const [annotationsOpened, setAnnotationsOpened] = React__default.useState(false);
|
|
154044
154062
|
const hasExtra = React__default.useMemo(() => detections.some(topic => topic.extra && !topic.enabled), [detections]);
|
|
154045
154063
|
const [extraVisible, setExtraVisible] = React__default.useState(false);
|
|
@@ -154051,6 +154069,11 @@ const PanelToolbar = ({
|
|
|
154051
154069
|
})
|
|
154052
154070
|
})));
|
|
154053
154071
|
}, [detections, setDetections]);
|
|
154072
|
+
|
|
154073
|
+
// TODO: show only when debug mode is ON
|
|
154074
|
+
const name = React__default.useMemo(() => {
|
|
154075
|
+
return `${topic} - ${metrics?.inputFPS || 0}/${metrics?.postDecodeFPS || 0} FPS`;
|
|
154076
|
+
}, [topic, metrics]);
|
|
154054
154077
|
return /*#__PURE__*/React__default.createElement(Flex, {
|
|
154055
154078
|
direction: "row",
|
|
154056
154079
|
gap: "sm",
|
|
@@ -154060,7 +154083,7 @@ const PanelToolbar = ({
|
|
|
154060
154083
|
paddingLeft: 16
|
|
154061
154084
|
}
|
|
154062
154085
|
}, /*#__PURE__*/React__default.createElement(SubHeader, {
|
|
154063
|
-
text:
|
|
154086
|
+
text: name
|
|
154064
154087
|
}), !disableAnnotations && kind === 'image' && /*#__PURE__*/React__default.createElement(DropdownMenu, {
|
|
154065
154088
|
onOpenChange: setAnnotationsOpened
|
|
154066
154089
|
}, /*#__PURE__*/React__default.createElement(DropdownMenuTrigger, {
|
|
@@ -154167,7 +154190,7 @@ const Panel = ({
|
|
|
154167
154190
|
}, children))))));
|
|
154168
154191
|
};
|
|
154169
154192
|
|
|
154170
|
-
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
154193
|
+
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-Cp3omW6p.js'));
|
|
154171
154194
|
const ImagePanelBody = ({
|
|
154172
154195
|
topic
|
|
154173
154196
|
}) => {
|
|
@@ -154202,7 +154225,7 @@ const ImagePanel = /*#__PURE__*/React__default.memo(function ImagePanel(props) {
|
|
|
154202
154225
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
154203
154226
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
154204
154227
|
|
|
154205
|
-
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
154228
|
+
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BEcWpcB1.js'));
|
|
154206
154229
|
const PointCloudPanelBody = ({
|
|
154207
154230
|
topic
|
|
154208
154231
|
}) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aK as html, at as LanguageSupport, aL as parseMixed } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aK as html, at as LanguageSupport, aL as parseMixed } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ImagePanel } from './index-
|
|
1
|
+
import { ImagePanel } from './index-BEcWpcB1.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
4
|
-
import './index-
|
|
4
|
+
import './index-CNWGMhCW.js';
|
|
5
5
|
import './worker-utils-Jii8lIsy.js';
|
|
6
6
|
import 'hydrated-ws';
|
|
7
7
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, av as LRParser, aD as LocalTokenGroup, aK as html, aL as parseMixed, aN as javascriptLanguage } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, av as LRParser, aD as LocalTokenGroup, aK as html, aL as parseMixed, aN as javascriptLanguage } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, au as ExternalTokenizer, av as LRParser, aw as ifNotIn, ax as completeFromList, ay as syntaxTree } from './index-
|
|
1
|
+
import { an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, au as ExternalTokenizer, av as LRParser, aw as ifNotIn, ax as completeFromList, ay as syntaxTree } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, aH as defineCSSCompletionSource, at as LanguageSupport, av as LRParser, au as ExternalTokenizer } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, aH as defineCSSCompletionSource, at as LanguageSupport, av as LRParser, au as ExternalTokenizer } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, ap as foldNodeProp, aB as foldInside, an as indentNodeProp, ao as continuedIndent, aH as defineCSSCompletionSource, at as LanguageSupport } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, ap as foldNodeProp, aB as foldInside, an as indentNodeProp, ao as continuedIndent, aH as defineCSSCompletionSource, at as LanguageSupport } from './index-CNWGMhCW.js';
|
|
2
2
|
import './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'hydrated-ws';
|
|
4
4
|
import 'ms';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { aR as ImagePanel, aQ as PanelLayout, aS as PointCloudPanel, aP as VisualizerContext, aO as WebSocketConnection } from './index-
|
|
1
|
+
export { aR as ImagePanel, aQ as PanelLayout, aS as PointCloudPanel, aP as VisualizerContext, aO as WebSocketConnection } from './index-CNWGMhCW.js';
|
|
2
2
|
export { d as createWsWorkerMessageListener } from './worker-utils-Jii8lIsy.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'zustand';
|