@luxonis/visualizer-protobuf 2.44.0 → 2.45.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/{FoxgloveServer-C39Uooyk.js → FoxgloveServer-DNo9aiV3.js} +1 -1
- package/dist/{communicator-Rs8pk0Io.js → communicator-DfQQWnlO.js} +2 -1
- package/dist/{deserialization.worker-BKq1x9xw.js → deserialization.worker-y8Hqp0K3.js} +4 -4
- package/dist/encoding-DqlhpFR2.js +20 -0
- package/dist/{foxglove-protocol-CYoMweAY.js → foxglove-protocol-DUzk1IXN.js} +1 -1
- package/dist/{index-CJ9fIZ-J.js → index-B5MQNBC-.js} +8 -7
- package/dist/{index-aUJRZxmm.js → index-B7UcS8L9.js} +6 -5
- package/dist/{index-BrXP6SIZ.js → index-B7X30dhh.js} +6 -5
- package/dist/{index--R8PL3a1.js → index-BFwogXBZ.js} +6 -5
- package/dist/{index-CGiadoVA.js → index-BWanP6r1.js} +6 -5
- package/dist/{index-DXCv8tws.js → index-BWhbg1Ym.js} +6 -5
- package/dist/{index-BzDi48AW.js → index-BocHZGIh.js} +6 -5
- package/dist/{index-CUGtBqn4.js → index-BscWPxPB.js} +6 -5
- package/dist/{index-DKFF_z4v.js → index-BwufpqIX.js} +6 -5
- package/dist/{index-BhMsFlKj.js → index-CqMt_2D7.js} +6 -5
- package/dist/{index-_Reh-70u.js → index-CvRarm-Z.js} +6 -5
- package/dist/{index-Dy_V-DfR.js → index-DPzSleUy.js} +6 -5
- package/dist/{index-U1lmcSHD.js → index-DU-cOOXF.js} +6 -5
- package/dist/{index-JW_1o4zI.js → index-DUrzP-j-.js} +215 -120
- package/dist/{index-BTV3yGFf.js → index-DVqoKIqv.js} +6 -5
- package/dist/{index-C9o4w-t2.js → index-DmjG8EP6.js} +6 -5
- package/dist/{index-Bsjq5fXE.js → index-DsslwFkg.js} +6 -5
- package/dist/{index-DGa0rqWH.js → index-sfCEw8Dv.js} +22 -71
- package/dist/{index-DR0APcXh.js → index-uKdBgi5l.js} +6 -5
- package/dist/index.js +6 -5
- package/dist/lib/src/components/Panel.d.ts +0 -2
- package/dist/lib/src/components/Panel.d.ts.map +1 -1
- package/dist/lib/src/components/Panel.js +2 -2
- package/dist/lib/src/components/Panel.js.map +1 -1
- package/dist/lib/src/components/PanelToolbar.d.ts +0 -2
- package/dist/lib/src/components/PanelToolbar.d.ts.map +1 -1
- package/dist/lib/src/components/PanelToolbar.js +33 -8
- package/dist/lib/src/components/PanelToolbar.js.map +1 -1
- package/dist/lib/src/connection/foxglove-connection.d.ts +9 -4
- package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
- package/dist/lib/src/connection/foxglove-connection.js +63 -7
- package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
- package/dist/lib/src/index.d.ts +5 -5
- package/dist/lib/src/index.d.ts.map +1 -1
- package/dist/lib/src/index.js +3 -3
- package/dist/lib/src/index.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js +7 -3
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
- package/dist/lib/src/messaging/event-loop-delay-sampler.d.ts +9 -0
- package/dist/lib/src/messaging/event-loop-delay-sampler.d.ts.map +1 -0
- package/dist/lib/src/messaging/event-loop-delay-sampler.js +19 -0
- package/dist/lib/src/messaging/event-loop-delay-sampler.js.map +1 -0
- package/dist/lib/src/messaging/protobuf.d.ts +3 -1
- package/dist/lib/src/messaging/protobuf.d.ts.map +1 -1
- package/dist/lib/src/messaging/protobuf.js +27 -12
- package/dist/lib/src/messaging/protobuf.js.map +1 -1
- package/dist/lib/src/messaging/rate-limiter.d.ts +19 -0
- package/dist/lib/src/messaging/rate-limiter.d.ts.map +1 -0
- package/dist/lib/src/messaging/rate-limiter.js +50 -0
- package/dist/lib/src/messaging/rate-limiter.js.map +1 -0
- package/dist/lib/src/output.css +2 -15
- package/dist/lib/src/panels/ImagePanel.d.ts +2 -2
- package/dist/lib/src/panels/ImagePanel.d.ts.map +1 -1
- package/dist/lib/src/panels/ImagePanel.js +15 -31
- package/dist/lib/src/panels/ImagePanel.js.map +1 -1
- package/dist/lib/src/panels/PointCloudPanel.d.ts.map +1 -1
- package/dist/lib/src/panels/PointCloudPanel.js +3 -21
- package/dist/lib/src/panels/PointCloudPanel.js.map +1 -1
- package/dist/lib/src/protobuf.generated/ImgDetections.d.ts +1 -1
- package/dist/lib/src/protobuf.generated/ImgDetections.d.ts.map +1 -1
- package/dist/lib/src/protobuf.generated/ImgDetections.js +8 -8
- package/dist/lib/src/protobuf.generated/ImgDetections.js.map +1 -1
- package/dist/lib/src/utils/metrics-manager.d.ts +18 -9
- package/dist/lib/src/utils/metrics-manager.d.ts.map +1 -1
- package/dist/lib/src/utils/metrics-manager.js +38 -16
- package/dist/lib/src/utils/metrics-manager.js.map +1 -1
- package/dist/packages/studio-base/src/i18n/en/threeDee.js +2 -2
- package/dist/packages/studio-base/src/i18n/en/threeDee.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.d.ts +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js +3 -3
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.d.ts +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js +8 -4
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.d.ts +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.js +4 -4
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.d.ts +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.js +3 -3
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts +2 -2
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js +4 -53
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.js.map +1 -1
- package/dist/{encoding-D95pQf33.js → protobuf-DaN_RVVA.js} +61 -34
- package/dist/{tslib.es6-C73eoP_E.js → tslib.es6-C2WzYB9K.js} +1 -1
- package/dist/{useMessageReducer-jNx5e6JW.js → useMessageReducer-CFyr4HrA.js} +2 -2
- package/dist/{worker-BCJnECSn.js → worker-CHw4c4uq.js} +5 -5
- package/dist/{worker-ChOPGWcQ.js → worker-DGLIx_li.js} +5 -5
- package/package.json +1 -1
- package/dist/_commonjsHelpers-E-ZsRS8r.js +0 -32
|
@@ -4,9 +4,10 @@ import type { FoxgloveMessage } from "./communicator.js";
|
|
|
4
4
|
import { DepthToPointcloudWorkerPool } from "../messaging/deserialization/pointcloud/poitcloudPoolManager.js";
|
|
5
5
|
import type { PointCloudWithDimensions } from "../messaging/deserialization/video/depth.js";
|
|
6
6
|
import { type MessageHandler } from "../messaging/message-handler.js";
|
|
7
|
-
import { EventMetricsManager, ThroughputMetricsManager } from "../utils/metrics-manager.js";
|
|
8
7
|
import { PoitCloudSyncFramework } from "../utils/poitcloud-sync.js";
|
|
9
8
|
import { DeserializationErrorCallback } from "../messaging/deserialization.worker";
|
|
9
|
+
import { RateLimiter } from "../messaging/rate-limiter";
|
|
10
|
+
import { MessagePacketKind } from "../messaging/protobuf";
|
|
10
11
|
export type Metrics = {
|
|
11
12
|
resolutions: Map<string, string | undefined>;
|
|
12
13
|
incomingMessagesFps: number;
|
|
@@ -37,12 +38,15 @@ export declare abstract class FoxgloveConnection {
|
|
|
37
38
|
protected skipPoitcloud: boolean;
|
|
38
39
|
protected problems: ProblemManager;
|
|
39
40
|
protected resolutions: Map<any, any>;
|
|
40
|
-
protected inputMetrics: EventMetricsManager;
|
|
41
|
-
protected
|
|
42
|
-
protected
|
|
41
|
+
protected inputMetrics: import("../utils/metrics-manager.js").EventMetricsManager;
|
|
42
|
+
protected decodeMetrics: import("../utils/metrics-manager.js").EventMetricsManager;
|
|
43
|
+
protected throughputMetrics: import("../utils/metrics-manager.js").ThroughputMetricsManager;
|
|
43
44
|
protected PoitCloudSyncFramework: PoitCloudSyncFramework;
|
|
44
45
|
protected depthToPointcloudWorkerPool: DepthToPointcloudWorkerPool;
|
|
45
46
|
protected messageHandler: MessageHandler;
|
|
47
|
+
protected rateLimitModCoefficient: number;
|
|
48
|
+
protected rateLimitCounter: Record<MessagePacketKind, number>;
|
|
49
|
+
protected rateLimiter: RateLimiter;
|
|
46
50
|
protected topics: {
|
|
47
51
|
[key: string]: {
|
|
48
52
|
name: string;
|
|
@@ -64,6 +68,7 @@ export declare abstract class FoxgloveConnection {
|
|
|
64
68
|
protected emitState: (() => void) & {
|
|
65
69
|
currentPromise?: Promise<void>;
|
|
66
70
|
};
|
|
71
|
+
protected isMessageTypeDominant(packetType: MessagePacketKind, topic: string): boolean;
|
|
67
72
|
}
|
|
68
73
|
export {};
|
|
69
74
|
//# sourceMappingURL=foxglove-connection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foxglove-connection.d.ts","sourceRoot":"","sources":["../../../../src/connection/foxglove-connection.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
1
|
+
{"version":3,"file":"foxglove-connection.d.ts","sourceRoot":"","sources":["../../../../src/connection/foxglove-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,14 @@
|
|
|
4
4
|
import { debouncePromise } from "@foxglove/den/async";
|
|
5
5
|
import { fromMillis, isGreaterThan, isLessThan } from "@foxglove/rostime";
|
|
6
6
|
import { estimateObjectSize } from "@foxglove/studio-base/players/messageMemoryEstimation";
|
|
7
|
-
import { PlayerCapabilities, PlayerPresence } from "@foxglove/studio-base/players/types";
|
|
7
|
+
import { PlayerCapabilities, PlayerPresence, } from "@foxglove/studio-base/players/types";
|
|
8
8
|
import { DepthToPointcloudWorkerPool } from "../messaging/deserialization/pointcloud/poitcloudPoolManager.js";
|
|
9
9
|
import { createMessageHandler } from "../messaging/message-handler.js";
|
|
10
|
-
import {
|
|
10
|
+
import { constructKeyForTopicRenderMetrics, globalDecodeMetricsManager, globalInputEventMetricsManager, globalThroughputMetricsManager, } from "../utils/metrics-manager.js";
|
|
11
11
|
import { PoitCloudSyncFramework } from "../utils/poitcloud-sync.js";
|
|
12
|
+
import { RateLimiter } from "../messaging/rate-limiter";
|
|
13
|
+
import { protobufSchemaNameToType } from "../messaging/protobuf";
|
|
14
|
+
import React from "react";
|
|
12
15
|
class ProblemManager {
|
|
13
16
|
problems = [];
|
|
14
17
|
addProblem(problem) {
|
|
@@ -41,15 +44,31 @@ export class FoxgloveConnection {
|
|
|
41
44
|
skipPoitcloud = false;
|
|
42
45
|
problems = new ProblemManager();
|
|
43
46
|
resolutions = new Map();
|
|
44
|
-
inputMetrics =
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
inputMetrics = globalInputEventMetricsManager;
|
|
48
|
+
decodeMetrics = globalDecodeMetricsManager;
|
|
49
|
+
throughputMetrics = globalThroughputMetricsManager;
|
|
47
50
|
PoitCloudSyncFramework = new PoitCloudSyncFramework();
|
|
48
51
|
depthToPointcloudWorkerPool = new DepthToPointcloudWorkerPool((event, frame, message) => {
|
|
49
52
|
this.submitPoitcloudFrameCallback(event, frame, message);
|
|
50
53
|
});
|
|
51
54
|
// message handler
|
|
52
55
|
messageHandler;
|
|
56
|
+
rateLimitModCoefficient = 1;
|
|
57
|
+
rateLimitCounter = {
|
|
58
|
+
image: 0,
|
|
59
|
+
pointCloud: 0,
|
|
60
|
+
annotations: 0,
|
|
61
|
+
};
|
|
62
|
+
rateLimiter = new RateLimiter([
|
|
63
|
+
{ delayCap: 100, moduloCoefficient: 2 },
|
|
64
|
+
{ delayCap: 200, moduloCoefficient: 3 },
|
|
65
|
+
{ delayCap: 300, moduloCoefficient: 4 },
|
|
66
|
+
{ delayCap: 400, moduloCoefficient: 5 },
|
|
67
|
+
{ delayCap: 500, moduloCoefficient: 10 }
|
|
68
|
+
], (newValue) => {
|
|
69
|
+
console.warn(`Setting rate limiting coefficient to ${newValue}`);
|
|
70
|
+
this.rateLimitModCoefficient = newValue;
|
|
71
|
+
});
|
|
53
72
|
topics = {};
|
|
54
73
|
constructor(id) {
|
|
55
74
|
this.id = id;
|
|
@@ -61,7 +80,7 @@ export class FoxgloveConnection {
|
|
|
61
80
|
}
|
|
62
81
|
getTopicMetrics(topic) {
|
|
63
82
|
return {
|
|
64
|
-
incomingMessagesFps: this.inputMetrics.calculate(topic),
|
|
83
|
+
incomingMessagesFps: this.inputMetrics.calculate(constructKeyForTopicRenderMetrics("renderImageFrame", topic)),
|
|
65
84
|
decodedMessagesFps: this.decodeMetrics.calculate(topic),
|
|
66
85
|
messageThroughput: this.throughputMetrics.calculate(topic),
|
|
67
86
|
resolutions: this.resolutions,
|
|
@@ -71,7 +90,27 @@ export class FoxgloveConnection {
|
|
|
71
90
|
return fromMillis(Date.now());
|
|
72
91
|
}
|
|
73
92
|
onMessagePacket(event, errorCallback) {
|
|
74
|
-
|
|
93
|
+
const [imageFrameMetricsKey, annotationsFrameMetricsKey, pointCloudFrameMetricsKey] = React.useMemo(() => {
|
|
94
|
+
return [
|
|
95
|
+
constructKeyForTopicRenderMetrics("incomingImageFrame", event.data.topic),
|
|
96
|
+
constructKeyForTopicRenderMetrics("incomingAnnotationsFrame", event.data.topic),
|
|
97
|
+
constructKeyForTopicRenderMetrics("incomingPointCloudFrame", event.data.topic),
|
|
98
|
+
];
|
|
99
|
+
}, [event.data.topic]);
|
|
100
|
+
const packetType = protobufSchemaNameToType(event.data.schema);
|
|
101
|
+
const rateLimiterCounterForType = this.rateLimitCounter[packetType];
|
|
102
|
+
this.rateLimitCounter[packetType] =
|
|
103
|
+
(rateLimiterCounterForType + 1) % this.rateLimitModCoefficient;
|
|
104
|
+
// If the rate limiting coefficient is not 1 we want to skip messages which
|
|
105
|
+
if (this.isMessageTypeDominant(packetType, event.data.topic) && this.rateLimitCounter[packetType] !== 0) {
|
|
106
|
+
console.warn(`Skipping message of type ${packetType} due to rate limiting in topic ${event.data.topic}.`);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this.inputMetrics.registerEvent(packetType === "image"
|
|
110
|
+
? imageFrameMetricsKey
|
|
111
|
+
: packetType === "pointCloud"
|
|
112
|
+
? pointCloudFrameMetricsKey
|
|
113
|
+
: annotationsFrameMetricsKey);
|
|
75
114
|
this.throughputMetrics.registerEvent(event.data.topic, event.data.buffer.byteLength);
|
|
76
115
|
this.messageHandler.handle(event.data, errorCallback);
|
|
77
116
|
}
|
|
@@ -196,5 +235,22 @@ export class FoxgloveConnection {
|
|
|
196
235
|
};
|
|
197
236
|
await this.listener(newPlayerState);
|
|
198
237
|
});
|
|
238
|
+
isMessageTypeDominant(packetType, topic) {
|
|
239
|
+
const fpsPerPacketTypeList = [
|
|
240
|
+
{
|
|
241
|
+
packetType: "image",
|
|
242
|
+
incomingFps: globalInputEventMetricsManager.calculate(constructKeyForTopicRenderMetrics("incomingImageFrame", topic))
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
packetType: "annotations",
|
|
246
|
+
incomingFps: globalInputEventMetricsManager.calculate(constructKeyForTopicRenderMetrics("incomingAnnotationsFrame", topic))
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
packetType: "pointCloud",
|
|
250
|
+
incomingFps: globalInputEventMetricsManager.calculate(constructKeyForTopicRenderMetrics("incomingPointCloudFrame", topic))
|
|
251
|
+
}
|
|
252
|
+
].sort((a, b) => b.incomingFps - a.incomingFps);
|
|
253
|
+
return fpsPerPacketTypeList.at(0)?.packetType === packetType;
|
|
254
|
+
}
|
|
199
255
|
}
|
|
200
256
|
//# sourceMappingURL=foxglove-connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foxglove-connection.js","sourceRoot":"","sources":["../../../../src/connection/foxglove-connection.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,
|
|
1
|
+
{"version":3,"file":"foxglove-connection.js","sourceRoot":"","sources":["../../../../src/connection/foxglove-connection.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/src/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
export type { PublicChannelData } from
|
|
3
|
-
export { VisualizerConnection } from
|
|
4
|
-
export type { WorkerOutputMessage as FoxgloveAdapterOutputMessage, WorkerInputMessage as FoxgloveAdapterInputMessage, FoxgloveMessage } from
|
|
1
|
+
import "./output.css";
|
|
2
|
+
export type { PublicChannelData } from "./connection/connection.js";
|
|
3
|
+
export { VisualizerConnection } from "./connection/connection.js";
|
|
4
|
+
export type { WorkerOutputMessage as FoxgloveAdapterOutputMessage, WorkerInputMessage as FoxgloveAdapterInputMessage, FoxgloveMessage, } from "./connection/communicator.js";
|
|
5
5
|
export { VisualizerContext } from "./context/VisualizerContext";
|
|
6
6
|
export { PanelLayout } from "./components/PanelLayout.js";
|
|
7
7
|
export { ImagePanel } from "./panels/ImagePanel";
|
|
8
8
|
export { PointCloudPanel } from "./panels/PointCloudPanel";
|
|
9
|
-
export {
|
|
9
|
+
export { globalInputEventMetricsManager, globalDecodeMetricsManager, globalRenderMetricsManager, globalThroughputMetricsManager, } from "./utils/metrics-manager.js";
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,YAAY,EACV,mBAAmB,IAAI,4BAA4B,EACnD,kBAAkB,IAAI,2BAA2B,EACjD,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAEtC,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;AAE3D,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC"}
|
package/dist/lib/src/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
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
|
|
5
|
-
export { VisualizerConnection } from
|
|
4
|
+
import "./output.css";
|
|
5
|
+
export { VisualizerConnection } from "./connection/connection.js";
|
|
6
6
|
export { VisualizerContext } from "./context/VisualizerContext";
|
|
7
7
|
export { PanelLayout } from "./components/PanelLayout.js";
|
|
8
8
|
export { ImagePanel } from "./panels/ImagePanel";
|
|
9
9
|
export { PointCloudPanel } from "./panels/PointCloudPanel";
|
|
10
|
-
export {
|
|
10
|
+
export { globalInputEventMetricsManager, globalDecodeMetricsManager, globalRenderMetricsManager, globalThroughputMetricsManager, } from "./utils/metrics-manager.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAAC;AAQlE,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;AAE3D,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poitcloudPoolManager.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/poitcloudPoolManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"poitcloudPoolManager.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/poitcloudPoolManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAOxE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,wBAAwB,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,YAAY,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAeF,qBAAa,2BAA2B;;IACtC,SAAS,CAAC,mBAAmB,SAAK;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,CACpB,eAAe,EAAE,WAAW,EAAE,EAC9B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,UAAU,EAAE,EAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,MAAM,EAAE,EAAE;YAAE,MAAM,EAAE,OAAO,CAAA;SAAE,KAC5B,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;KAC5B,CAAC,EAAE,CAAC;gBAsBH,QAAQ,EAAE,CACR,kBAAkB,EAAE,YAAY,EAChC,kBAAkB,EAAE,wBAAwB,EAC5C,mBAAmB,EAAE,UAAU,GAAG,IAAI,KACnC,IAAI,EACT,SAAS,IAAiB,EAC1B,SAAS,IAAqB,EAC9B,qBAAqB,KAAmC;IA2C7C,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBlE,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAsBjE,SAAS,CAAC,eAAe,CAAC,KAAK,UAAQ,GAAG,IAAI;IAuLvC,OAAO,IAAI,IAAI;CASvB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
/* eslint-disable @foxglove/strict-equality */
|
|
5
5
|
import { wrap } from "comlink";
|
|
6
6
|
import { uint8ArrayToUint16Array } from "./utils";
|
|
7
|
-
import {
|
|
7
|
+
import { globalInputEventMetricsManager, } from "../../../utils/metrics-manager";
|
|
8
8
|
const WORKER_COUNT = 4;
|
|
9
9
|
const DEFAULT_TARGET_FPS = 9;
|
|
10
10
|
const DEFAULT_MAX_PROCESSED_QUEUE_SIZE = 25;
|
|
@@ -55,8 +55,12 @@ export class DepthToPointcloudWorkerPool {
|
|
|
55
55
|
this.#FRAME_BATCH_SIZE = Math.max(1, batchSize);
|
|
56
56
|
this.#targetDispatchIntervalMs = DISPATCH_INTERVAL_MS / Math.max(1, Math.round(targetFps / DISPATCH_INTERVAL_FRACTION)) * this.#calculateBatchMultiplier();
|
|
57
57
|
this.#maxProcessedQueueSize = Math.max(1, maxProcessedQueueSize);
|
|
58
|
-
this.workerApis = new Array(WORKER_COUNT)
|
|
59
|
-
|
|
58
|
+
this.workerApis = new Array(WORKER_COUNT)
|
|
59
|
+
.fill(undefined)
|
|
60
|
+
.map(() => wrap(new Worker(new URL("../pointcloud/pointcloudFromDepth.worker.ts", import.meta.url), {
|
|
61
|
+
type: "module",
|
|
62
|
+
})));
|
|
63
|
+
this.#metrics = globalInputEventMetricsManager;
|
|
60
64
|
this.#metrics.registerEvent("pcl-pool.frameInput");
|
|
61
65
|
}
|
|
62
66
|
async queueDepthFrame(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"poitcloudPoolManager.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/poitcloudPoolManager.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAC1D,8CAA8C;AAC9C,OAAO,EAAe,IAAI,EAAE,MAAM,SAAS,CAAC;AAI5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"poitcloudPoolManager.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/poitcloudPoolManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class EventLoopDelaySampler {
|
|
2
|
+
private lastObservedTime;
|
|
3
|
+
private readonly intervalId;
|
|
4
|
+
private measuredDelay;
|
|
5
|
+
constructor(refreshInterval?: number);
|
|
6
|
+
getDelay(): number;
|
|
7
|
+
dispose(): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=event-loop-delay-sampler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-loop-delay-sampler.d.ts","sourceRoot":"","sources":["../../../../src/messaging/event-loop-delay-sampler.ts"],"names":[],"mappings":"AAAA,qBAAa,qBAAqB;IAChC,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAE5C,OAAO,CAAC,aAAa,CAAa;gBAEtB,eAAe,GAAE,MAAY;IASlC,QAAQ;IAIR,OAAO;CAGf"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class EventLoopDelaySampler {
|
|
2
|
+
lastObservedTime = performance.now();
|
|
3
|
+
intervalId;
|
|
4
|
+
measuredDelay = 0;
|
|
5
|
+
constructor(refreshInterval = 500) {
|
|
6
|
+
this.intervalId = setInterval(() => {
|
|
7
|
+
const now = performance.now();
|
|
8
|
+
this.measuredDelay = now - this.lastObservedTime - refreshInterval;
|
|
9
|
+
this.lastObservedTime = now;
|
|
10
|
+
}, refreshInterval);
|
|
11
|
+
}
|
|
12
|
+
getDelay() {
|
|
13
|
+
return this.measuredDelay;
|
|
14
|
+
}
|
|
15
|
+
dispose() {
|
|
16
|
+
clearInterval(this.intervalId);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=event-loop-delay-sampler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-loop-delay-sampler.js","sourceRoot":"","sources":["../../../../src/messaging/event-loop-delay-sampler.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAqB;IACxB,gBAAgB,GAAW,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,UAAU,CAAiB;IAEpC,aAAa,GAAW,CAAC,CAAC;IAElC,YAAY,kBAA0B,GAAG;QACvC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;YACnE,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC9B,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,OAAO;QACZ,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -4,7 +4,7 @@ import { ImgDetections } from "../protobuf.generated/ImgDetections.js";
|
|
|
4
4
|
import { ImgFrame } from "../protobuf.generated/ImgFrame.js";
|
|
5
5
|
import { PointCloudData } from "../protobuf.generated/PointCloudData.js";
|
|
6
6
|
import { SpatialImgDetections } from "../protobuf.generated/SpatialImgDetections.js";
|
|
7
|
-
export type ProtobufKind =
|
|
7
|
+
export type ProtobufKind = "image" | "pointCloud" | "annotations";
|
|
8
8
|
export declare const protobufs: {
|
|
9
9
|
encodedFrame: {
|
|
10
10
|
name: string;
|
|
@@ -79,6 +79,8 @@ export declare const protobufs: {
|
|
|
79
79
|
kind: "pointCloud";
|
|
80
80
|
};
|
|
81
81
|
};
|
|
82
|
+
export type MessagePacketKind = "image" | "pointCloud" | "annotations";
|
|
83
|
+
export declare function protobufSchemaNameToType(name: string): MessagePacketKind;
|
|
82
84
|
export type ProtobufType = keyof typeof protobufs;
|
|
83
85
|
export declare const protobufsBySchema: {
|
|
84
86
|
[k: string]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protobuf.d.ts","sourceRoot":"","sources":["../../../../src/messaging/protobuf.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"protobuf.d.ts","sourceRoot":"","sources":["../../../../src/messaging/protobuf.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EAGb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAGjB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,aAAa,EAGd,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,QAAQ,EAGT,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,cAAc,EAGf,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAGL,oBAAoB,EACrB,MAAM,+CAA+C,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAElE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;AAEvE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAcxE;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,SAAS,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE7B,CAAC"}
|
|
@@ -1,43 +1,58 @@
|
|
|
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 { EncodedFrame,
|
|
5
|
-
import { ImageAnnotations,
|
|
6
|
-
import { ImgDetections,
|
|
7
|
-
import { ImgFrame,
|
|
8
|
-
import { PointCloudData,
|
|
9
|
-
import {
|
|
4
|
+
import { EncodedFrame, protobufName as EncodedFrameProto, protobufPackage as EncodedFramePackage, } from "../protobuf.generated/EncodedFrame.js";
|
|
5
|
+
import { ImageAnnotations, protobufName as ImageAnnotationsProto, protobufPackage as ImageAnnotationsPackage, } from "../protobuf.generated/ImageAnnotations.js";
|
|
6
|
+
import { ImgDetections, protobufName as ImgDetectionsProto, protobufPackage as ImgDetectionsPackage, } from "../protobuf.generated/ImgDetections.js";
|
|
7
|
+
import { ImgFrame, protobufName as ImgFrameProto, protobufPackage as ImgFramePackage, } from "../protobuf.generated/ImgFrame.js";
|
|
8
|
+
import { PointCloudData, protobufName as PointCloudDataProto, protobufPackage as PointCloudDataPackage, } from "../protobuf.generated/PointCloudData.js";
|
|
9
|
+
import { protobufName as SpatialImgDetectionsProto, protobufPackage as SpatialImgDetectionsPackage, SpatialImgDetections, } from "../protobuf.generated/SpatialImgDetections.js";
|
|
10
10
|
export const protobufs = {
|
|
11
11
|
encodedFrame: {
|
|
12
12
|
name: `${EncodedFramePackage}.${EncodedFrameProto}`,
|
|
13
13
|
decoder: EncodedFrame,
|
|
14
|
-
kind:
|
|
14
|
+
kind: "image",
|
|
15
15
|
},
|
|
16
16
|
imageFrame: {
|
|
17
17
|
name: `${ImgFramePackage}.${ImgFrameProto}`,
|
|
18
18
|
decoder: ImgFrame,
|
|
19
|
-
kind:
|
|
19
|
+
kind: "image",
|
|
20
20
|
},
|
|
21
21
|
imageDetections: {
|
|
22
22
|
name: `${ImgDetectionsPackage}.${ImgDetectionsProto}`,
|
|
23
23
|
decoder: ImgDetections,
|
|
24
|
-
kind:
|
|
24
|
+
kind: "annotations",
|
|
25
25
|
},
|
|
26
26
|
imageDetectionsCustom: {
|
|
27
27
|
name: `${ImageAnnotationsPackage}.${ImageAnnotationsProto}`,
|
|
28
28
|
decoder: ImageAnnotations,
|
|
29
|
-
kind:
|
|
29
|
+
kind: "annotations",
|
|
30
30
|
},
|
|
31
31
|
imageDetectionsSpatial: {
|
|
32
32
|
name: `${SpatialImgDetectionsPackage}.${SpatialImgDetectionsProto}`,
|
|
33
33
|
decoder: SpatialImgDetections,
|
|
34
|
-
kind:
|
|
34
|
+
kind: "annotations",
|
|
35
35
|
},
|
|
36
36
|
pointCloud: {
|
|
37
37
|
name: `${PointCloudDataPackage}.${PointCloudDataProto}`,
|
|
38
38
|
decoder: PointCloudData,
|
|
39
|
-
kind:
|
|
39
|
+
kind: "pointCloud",
|
|
40
40
|
},
|
|
41
41
|
};
|
|
42
|
+
export function protobufSchemaNameToType(name) {
|
|
43
|
+
switch (name) {
|
|
44
|
+
case "imageFrame":
|
|
45
|
+
case "encodedFrame":
|
|
46
|
+
return "image";
|
|
47
|
+
case "imageDetections":
|
|
48
|
+
case "imageDetectionsCustom":
|
|
49
|
+
case "imageDetectionsSpatial":
|
|
50
|
+
return "annotations";
|
|
51
|
+
case "pointCloud":
|
|
52
|
+
return "pointCloud";
|
|
53
|
+
default:
|
|
54
|
+
throw new Error(`Unknown protobuf schema name: ${name}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
42
57
|
export const protobufsBySchema = Object.fromEntries(Object.entries(protobufs).map(([type, data]) => [data.name, { type, ...data }]));
|
|
43
58
|
//# sourceMappingURL=protobuf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../../../../src/messaging/protobuf.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../../../../src/messaging/protobuf.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EACL,YAAY,EACZ,YAAY,IAAI,iBAAiB,EACjC,eAAe,IAAI,mBAAmB,GACvC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,gBAAgB,EAChB,YAAY,IAAI,qBAAqB,EACrC,eAAe,IAAI,uBAAuB,GAC3C,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,aAAa,EACb,YAAY,IAAI,kBAAkB,EAClC,eAAe,IAAI,oBAAoB,GACxC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,QAAQ,EACR,YAAY,IAAI,aAAa,EAC7B,eAAe,IAAI,eAAe,GACnC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,YAAY,IAAI,mBAAmB,EACnC,eAAe,IAAI,qBAAqB,GACzC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,YAAY,IAAI,yBAAyB,EACzC,eAAe,IAAI,2BAA2B,EAC9C,oBAAoB,GACrB,MAAM,+CAA+C,CAAC;AAIvD,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,YAAY,EAAE;QACZ,IAAI,EAAE,GAAG,mBAAmB,IAAI,iBAAiB,EAAE;QACnD,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,OAAgB;KACvB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,GAAG,eAAe,IAAI,aAAa,EAAE;QAC3C,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,OAAgB;KACvB;IACD,eAAe,EAAE;QACf,IAAI,EAAE,GAAG,oBAAoB,IAAI,kBAAkB,EAAE;QACrD,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,aAAsB;KAC7B;IACD,qBAAqB,EAAE;QACrB,IAAI,EAAE,GAAG,uBAAuB,IAAI,qBAAqB,EAAE;QAC3D,OAAO,EAAE,gBAAgB;QACzB,IAAI,EAAE,aAAsB;KAC7B;IACD,sBAAsB,EAAE;QACtB,IAAI,EAAE,GAAG,2BAA2B,IAAI,yBAAyB,EAAE;QACnE,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,aAAsB;KAC7B;IACD,UAAU,EAAE;QACV,IAAI,EAAE,GAAG,qBAAqB,IAAI,mBAAmB,EAAE;QACvD,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,YAAqB;KAC5B;CACF,CAAC;AAIF,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,QAAQ,IAA8B,EAAE,CAAC;QACvC,KAAK,YAAY,CAAC;QAClB,KAAK,cAAc;YACjB,OAAO,OAAO,CAAC;QACjB,KAAK,iBAAiB,CAAC;QACvB,KAAK,uBAAuB,CAAC;QAC7B,KAAK,wBAAwB;YAC3B,OAAO,aAAa,CAAC;QACvB,KAAK,YAAY;YACf,OAAO,YAAY,CAAC;QACtB;YACE,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAID,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CACjD,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAChF,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type RateLimiterThresholds = {
|
|
2
|
+
delayCap: number;
|
|
3
|
+
moduloCoefficient: number;
|
|
4
|
+
}[];
|
|
5
|
+
export declare class RateLimiter {
|
|
6
|
+
private readonly thresholds;
|
|
7
|
+
private readonly handleRateLimiterStateChange;
|
|
8
|
+
private readonly refreshInterval;
|
|
9
|
+
private lastObservedState;
|
|
10
|
+
private isFlagUp;
|
|
11
|
+
private readonly intervalId;
|
|
12
|
+
private readonly eventLoopDelaySampler;
|
|
13
|
+
constructor(thresholds: RateLimiterThresholds, handleRateLimiterStateChange: (newRecommendedModuloCoefficient: number) => void, refreshInterval?: number);
|
|
14
|
+
dispose(): void;
|
|
15
|
+
private refreshRateLimiterState;
|
|
16
|
+
private updateModuloCoefficient;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=rate-limiter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../../../src/messaging/rate-limiter.ts"],"names":[],"mappings":"AAEA,KAAK,qBAAqB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC;AAE/E,qBAAa,WAAW;IAOpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IAG7C,OAAO,CAAC,QAAQ,CAAC,eAAe;IAVlC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;gBAGlD,UAAU,EAAE,qBAAqB,EACjC,4BAA4B,EAAE,CAC7C,+BAA+B,EAAE,MAAM,KACpC,IAAI,EACQ,eAAe,GAAE,MAAa;IAW1C,OAAO;IAKd,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,uBAAuB;CAahC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { EventLoopDelaySampler } from "./event-loop-delay-sampler";
|
|
2
|
+
export class RateLimiter {
|
|
3
|
+
thresholds;
|
|
4
|
+
handleRateLimiterStateChange;
|
|
5
|
+
refreshInterval;
|
|
6
|
+
lastObservedState = 1;
|
|
7
|
+
isFlagUp = false;
|
|
8
|
+
intervalId;
|
|
9
|
+
eventLoopDelaySampler = new EventLoopDelaySampler();
|
|
10
|
+
constructor(thresholds, handleRateLimiterStateChange, refreshInterval = 1000) {
|
|
11
|
+
this.thresholds = thresholds;
|
|
12
|
+
this.handleRateLimiterStateChange = handleRateLimiterStateChange;
|
|
13
|
+
this.refreshInterval = refreshInterval;
|
|
14
|
+
// Sort thresholds by descending delay cap
|
|
15
|
+
// This way we can find the first threshold that is lower than the current event loop delay easily
|
|
16
|
+
this.thresholds = thresholds.sort((a, b) => b.delayCap - a.delayCap);
|
|
17
|
+
this.intervalId = setInterval(() => {
|
|
18
|
+
this.refreshRateLimiterState();
|
|
19
|
+
}, refreshInterval);
|
|
20
|
+
}
|
|
21
|
+
dispose() {
|
|
22
|
+
this.eventLoopDelaySampler.dispose();
|
|
23
|
+
clearInterval(this.intervalId);
|
|
24
|
+
}
|
|
25
|
+
refreshRateLimiterState() {
|
|
26
|
+
// If we don't know about event loop delay, we can't do anything and return 1
|
|
27
|
+
if (!this.eventLoopDelaySampler.getDelay()) {
|
|
28
|
+
return this.updateModuloCoefficient(1);
|
|
29
|
+
}
|
|
30
|
+
// Find the first threshold which is smaller than the current event loop delay
|
|
31
|
+
const threshold = this.thresholds.find((threshold) => threshold.delayCap <= this.eventLoopDelaySampler.getDelay());
|
|
32
|
+
// If all caps are higher than the current event loop delay, Viewer is managing the traffic fine -> return 1
|
|
33
|
+
if (!threshold) {
|
|
34
|
+
return this.updateModuloCoefficient(1);
|
|
35
|
+
}
|
|
36
|
+
this.updateModuloCoefficient(threshold.moduloCoefficient);
|
|
37
|
+
}
|
|
38
|
+
updateModuloCoefficient(newRecommendedModuloCoefficient) {
|
|
39
|
+
// If previous value is the same do nothing or the flag is not up yet
|
|
40
|
+
if (this.lastObservedState === newRecommendedModuloCoefficient || !this.isFlagUp) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
// When we first encounter modulo coefficient > 1, we need to set the flag to true as a warning for next time
|
|
44
|
+
this.isFlagUp = newRecommendedModuloCoefficient > 1;
|
|
45
|
+
// Else update the value and notify the listeners about the new recommended modulo coefficient
|
|
46
|
+
this.lastObservedState = newRecommendedModuloCoefficient;
|
|
47
|
+
this.handleRateLimiterStateChange(newRecommendedModuloCoefficient);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=rate-limiter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../../src/messaging/rate-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAInE,MAAM,OAAO,WAAW;IAOH;IACA;IAGA;IAVX,iBAAiB,GAAW,CAAC,CAAC;IAC9B,QAAQ,GAAG,KAAK,CAAC;IACR,UAAU,CAAiB;IAC3B,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAErE,YACmB,UAAiC,EACjC,4BAER,EACQ,kBAA0B,IAAI;QAJ9B,eAAU,GAAV,UAAU,CAAuB;QACjC,iCAA4B,GAA5B,4BAA4B,CAEpC;QACQ,oBAAe,GAAf,eAAe,CAAe;QAE/C,0CAA0C;QAC1C,kGAAkG;QAClG,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAErE,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACjC,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC;QACrC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAEO,uBAAuB;QAC7B,6EAA6E;QAC7E,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,8EAA8E;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACpC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAC3E,CAAC;QAEF,4GAA4G;QAC5G,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAEO,uBAAuB,CAAC,+BAAuC;QACrE,qEAAqE;QACrE,IAAI,IAAI,CAAC,iBAAiB,KAAK,+BAA+B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjF,OAAO;QACT,CAAC;QAED,6GAA6G;QAC7G,IAAI,CAAC,QAAQ,GAAG,+BAA+B,GAAG,CAAC,CAAC;QAEpD,8FAA8F;QAC9F,IAAI,CAAC,iBAAiB,GAAG,+BAA+B,CAAC;QACzD,IAAI,CAAC,4BAA4B,CAAC,+BAA+B,CAAC,CAAC;IACrE,CAAC;CACF"}
|
package/dist/lib/src/output.css
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
/*! tailwindcss v4.
|
|
2
|
-
@layer properties;
|
|
1
|
+
/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */
|
|
3
2
|
@layer theme, base, components, utilities;
|
|
4
3
|
@layer theme {
|
|
5
4
|
:root, :host {
|
|
@@ -123,10 +122,7 @@
|
|
|
123
122
|
}
|
|
124
123
|
@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
|
|
125
124
|
::placeholder {
|
|
126
|
-
color: currentColor;
|
|
127
|
-
@supports (color: color-mix(in lab, red, red)) {
|
|
128
|
-
color: color-mix(in oklab, currentColor 50%, transparent);
|
|
129
|
-
}
|
|
125
|
+
color: color-mix(in oklab, currentColor 50%, transparent);
|
|
130
126
|
}
|
|
131
127
|
}
|
|
132
128
|
textarea {
|
|
@@ -261,12 +257,3 @@
|
|
|
261
257
|
inherits: false;
|
|
262
258
|
initial-value: solid;
|
|
263
259
|
}
|
|
264
|
-
@layer properties {
|
|
265
|
-
@supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
|
|
266
|
-
*, ::before, ::after, ::backdrop {
|
|
267
|
-
--tw-border-style: solid;
|
|
268
|
-
--tw-font-weight: initial;
|
|
269
|
-
--tw-outline-style: solid;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
}
|