@luxonis/depthai-viewer-common 3.9.8 → 4.0.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.
Files changed (154) hide show
  1. package/THIRD_PARTY_NOTICES.md +36 -304
  2. package/benchmark-cli.mjs +166 -11
  3. package/benchmark-lib.sh +40 -5
  4. package/benchmark-root.sh +79 -13
  5. package/benchmark.sh +112 -5
  6. package/dist/components/Streams.d.ts +6 -0
  7. package/dist/components/Streams.d.ts.map +1 -1
  8. package/dist/components/Streams.js +12 -4
  9. package/dist/components/Streams.js.map +1 -1
  10. package/dist/hooks/benchmark-automation.d.ts.map +1 -1
  11. package/dist/hooks/benchmark-automation.js +288 -63
  12. package/dist/hooks/benchmark-automation.js.map +1 -1
  13. package/dist/index.css +7 -0
  14. package/dist/utils/vite-dev-fix.d.ts.map +1 -1
  15. package/dist/utils/vite-dev-fix.js +0 -15
  16. package/dist/utils/vite-dev-fix.js.map +1 -1
  17. package/dist/visualizer/components/Panel.d.ts.map +1 -1
  18. package/dist/visualizer/components/Panel.js +6 -3
  19. package/dist/visualizer/components/Panel.js.map +1 -1
  20. package/dist/visualizer/components/shared-interval.d.ts +1 -1
  21. package/dist/visualizer/components/shared-interval.d.ts.map +1 -1
  22. package/dist/visualizer/components/shared-interval.js +6 -2
  23. package/dist/visualizer/components/shared-interval.js.map +1 -1
  24. package/dist/visualizer/connection/communicator.d.ts +1 -0
  25. package/dist/visualizer/connection/communicator.d.ts.map +1 -1
  26. package/dist/visualizer/connection/communicator.js.map +1 -1
  27. package/dist/visualizer/connection/connection.d.ts.map +1 -1
  28. package/dist/visualizer/connection/connection.js +8 -7
  29. package/dist/visualizer/connection/connection.js.map +1 -1
  30. package/dist/visualizer/connection/foxglove-connection.d.ts +4 -2
  31. package/dist/visualizer/connection/foxglove-connection.d.ts.map +1 -1
  32. package/dist/visualizer/connection/foxglove-connection.js +88 -40
  33. package/dist/visualizer/connection/foxglove-connection.js.map +1 -1
  34. package/dist/visualizer/context/MessagePipelineProvider.d.ts +1 -1
  35. package/dist/visualizer/context/MessagePipelineProvider.d.ts.map +1 -1
  36. package/dist/visualizer/context/MessagePipelineProvider.js +24 -6
  37. package/dist/visualizer/context/MessagePipelineProvider.js.map +1 -1
  38. package/dist/visualizer/context/VisualizerContext.d.ts.map +1 -1
  39. package/dist/visualizer/context/VisualizerContext.js +1 -32
  40. package/dist/visualizer/context/VisualizerContext.js.map +1 -1
  41. package/dist/visualizer/index.d.ts +1 -0
  42. package/dist/visualizer/index.d.ts.map +1 -1
  43. package/dist/visualizer/index.js +1 -0
  44. package/dist/visualizer/index.js.map +1 -1
  45. package/dist/visualizer/messaging/browser-decoder-fixtures.d.ts.map +1 -1
  46. package/dist/visualizer/messaging/browser-decoder-fixtures.js +187 -24
  47. package/dist/visualizer/messaging/browser-decoder-fixtures.js.map +1 -1
  48. package/dist/visualizer/messaging/decode-core.d.ts +9 -1
  49. package/dist/visualizer/messaging/decode-core.d.ts.map +1 -1
  50. package/dist/visualizer/messaging/decode-core.js +26 -16
  51. package/dist/visualizer/messaging/decode-core.js.map +1 -1
  52. package/dist/visualizer/messaging/decoder-fixtures.d.ts.map +1 -1
  53. package/dist/visualizer/messaging/decoder-fixtures.js +128 -1
  54. package/dist/visualizer/messaging/decoder-fixtures.js.map +1 -1
  55. package/dist/visualizer/messaging/decoder-harness.d.ts +2 -1
  56. package/dist/visualizer/messaging/decoder-harness.d.ts.map +1 -1
  57. package/dist/visualizer/messaging/decoder-harness.js.map +1 -1
  58. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts +6 -1
  59. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts.map +1 -1
  60. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +5 -1
  61. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -1
  62. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts +10 -14
  63. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts.map +1 -1
  64. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.js +56 -288
  65. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
  66. package/dist/visualizer/messaging/deserialization/pointcloud/utils.d.ts.map +1 -1
  67. package/dist/visualizer/messaging/deserialization/pointcloud/utils.js +2 -7
  68. package/dist/visualizer/messaging/deserialization/pointcloud/utils.js.map +1 -1
  69. package/dist/visualizer/messaging/deserialization/video/depth.d.ts +2 -1
  70. package/dist/visualizer/messaging/deserialization/video/depth.d.ts.map +1 -1
  71. package/dist/visualizer/messaging/deserialization/video/depth.js +9 -65
  72. package/dist/visualizer/messaging/deserialization/video/depth.js.map +1 -1
  73. package/dist/visualizer/messaging/deserialization/video/h264.d.ts +3 -3
  74. package/dist/visualizer/messaging/deserialization/video/h264.d.ts.map +1 -1
  75. package/dist/visualizer/messaging/deserialization/video/h264.js +80 -25
  76. package/dist/visualizer/messaging/deserialization/video/h264.js.map +1 -1
  77. package/dist/visualizer/messaging/deserialization/video/h265.d.ts +1 -1
  78. package/dist/visualizer/messaging/deserialization/video/h265.d.ts.map +1 -1
  79. package/dist/visualizer/messaging/deserialization/video/h265.js +62 -22
  80. package/dist/visualizer/messaging/deserialization/video/h265.js.map +1 -1
  81. package/dist/visualizer/messaging/deserialization/video/mjpeg.d.ts +1 -0
  82. package/dist/visualizer/messaging/deserialization/video/mjpeg.d.ts.map +1 -1
  83. package/dist/visualizer/messaging/deserialization/video/mjpeg.js +14 -2
  84. package/dist/visualizer/messaging/deserialization/video/mjpeg.js.map +1 -1
  85. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.d.ts +3 -1
  86. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.d.ts.map +1 -1
  87. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.js +152 -250
  88. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.js.map +1 -1
  89. package/dist/visualizer/messaging/deserialization.worker.d.ts +5 -3
  90. package/dist/visualizer/messaging/deserialization.worker.d.ts.map +1 -1
  91. package/dist/visualizer/messaging/deserialization.worker.js +16 -2
  92. package/dist/visualizer/messaging/deserialization.worker.js.map +1 -1
  93. package/dist/visualizer/messaging/message-event.d.ts +3 -0
  94. package/dist/visualizer/messaging/message-event.d.ts.map +1 -1
  95. package/dist/visualizer/messaging/message-event.js +18 -4
  96. package/dist/visualizer/messaging/message-event.js.map +1 -1
  97. package/dist/visualizer/messaging/message-handler.d.ts +3 -1
  98. package/dist/visualizer/messaging/message-handler.d.ts.map +1 -1
  99. package/dist/visualizer/messaging/message-handler.js +120 -49
  100. package/dist/visualizer/messaging/message-handler.js.map +1 -1
  101. package/dist/visualizer/output.css +7 -0
  102. package/dist/visualizer/panels/PointCloudPanel.d.ts.map +1 -1
  103. package/dist/visualizer/panels/PointCloudPanel.js +2 -0
  104. package/dist/visualizer/panels/PointCloudPanel.js.map +1 -1
  105. package/dist/visualizer/panels/image/ImageCanvasRenderer.d.ts.map +1 -1
  106. package/dist/visualizer/panels/image/ImageCanvasRenderer.js +246 -69
  107. package/dist/visualizer/panels/image/ImageCanvasRenderer.js.map +1 -1
  108. package/dist/visualizer/panels/image/annotation-overlay.d.ts.map +1 -1
  109. package/dist/visualizer/panels/image/annotation-overlay.js +16 -2
  110. package/dist/visualizer/panels/image/annotation-overlay.js.map +1 -1
  111. package/dist/visualizer/panels/image/raw-image-decoder.d.ts.map +1 -1
  112. package/dist/visualizer/panels/image/raw-image-decoder.js +1 -0
  113. package/dist/visualizer/panels/image/raw-image-decoder.js.map +1 -1
  114. package/dist/visualizer/panels/image/webgl-image-renderer.d.ts +11 -2
  115. package/dist/visualizer/panels/image/webgl-image-renderer.d.ts.map +1 -1
  116. package/dist/visualizer/panels/image/webgl-image-renderer.js +236 -41
  117. package/dist/visualizer/panels/image/webgl-image-renderer.js.map +1 -1
  118. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.d.ts +16 -0
  119. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.d.ts.map +1 -0
  120. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.js +184 -0
  121. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.js.map +1 -0
  122. package/dist/visualizer/panels/image/worker-image-decoder.d.ts.map +1 -1
  123. package/dist/visualizer/panels/image/worker-image-decoder.js +8 -3
  124. package/dist/visualizer/panels/image/worker-image-decoder.js.map +1 -1
  125. package/dist/visualizer/panels/pointcloud/PointCloudCanvasRenderer.d.ts.map +1 -1
  126. package/dist/visualizer/panels/pointcloud/PointCloudCanvasRenderer.js +256 -73
  127. package/dist/visualizer/panels/pointcloud/PointCloudCanvasRenderer.js.map +1 -1
  128. package/dist/visualizer/panels/pointcloud/point-cloud-materials.d.ts +5 -0
  129. package/dist/visualizer/panels/pointcloud/point-cloud-materials.d.ts.map +1 -0
  130. package/dist/visualizer/panels/pointcloud/point-cloud-materials.js +123 -0
  131. package/dist/visualizer/panels/pointcloud/point-cloud-materials.js.map +1 -0
  132. package/dist/visualizer/protobuf.generated/NNData.d.ts +92 -0
  133. package/dist/visualizer/protobuf.generated/NNData.d.ts.map +1 -0
  134. package/dist/visualizer/protobuf.generated/NNData.js +620 -0
  135. package/dist/visualizer/protobuf.generated/NNData.js.map +1 -0
  136. package/dist/visualizer/utils/benchmark-metrics.d.ts +27 -0
  137. package/dist/visualizer/utils/benchmark-metrics.d.ts.map +1 -0
  138. package/dist/visualizer/utils/benchmark-metrics.js +139 -0
  139. package/dist/visualizer/utils/benchmark-metrics.js.map +1 -0
  140. package/dist/visualizer/utils/comlink-wrap.d.ts.map +1 -1
  141. package/dist/visualizer/utils/comlink-wrap.js +5 -0
  142. package/dist/visualizer/utils/comlink-wrap.js.map +1 -1
  143. package/dist/visualizer/utils/poitcloud-sync.d.ts.map +1 -1
  144. package/dist/visualizer/utils/poitcloud-sync.js +5 -2
  145. package/dist/visualizer/utils/poitcloud-sync.js.map +1 -1
  146. package/package.json +1 -2
  147. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.d.ts +0 -2
  148. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.d.ts.map +0 -1
  149. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.js +0 -45
  150. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.js.map +0 -1
  151. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.d.ts +0 -5
  152. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.d.ts.map +0 -1
  153. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.js +0 -124
  154. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.js.map +0 -1
@@ -11,6 +11,7 @@ const decoderState = createDecoderState();
11
11
  const connectionConfigState = createConnectionConfigState();
12
12
  let decodedMessagePort;
13
13
  let diagnosticsPort;
14
+ let errorPort;
14
15
  let pendingDecodedEvents = [];
15
16
  let decodedMessageFlushScheduled = false;
16
17
  function setDecodedMessagePort(port) {
@@ -25,6 +26,11 @@ function setDiagnosticsPort(port) {
25
26
  diagnosticsPort?.postMessage({ type: "stream-diagnostics", key, summary });
26
27
  });
27
28
  }
29
+ function setErrorPort(port) {
30
+ errorPort?.close();
31
+ errorPort = port;
32
+ errorPort.start();
33
+ }
28
34
  function updateConnectionConfig(debugLogsEnabled, streamDiagnosticsEnabled) {
29
35
  const updatedConfig = createConnectionConfigState({
30
36
  debugLogs: debugLogsEnabled,
@@ -82,13 +88,21 @@ function emitDecodedMessage(event) {
82
88
  flushDecodedMessages();
83
89
  });
84
90
  }
85
- async function handleMessageToDecode({ schema, buffer, topic, neuralCameraIntrinsics, stereoDepthMaxValue, }, errorCallback) {
86
- await decodeFoxgloveMessage({ schema, buffer, topic, neuralCameraIntrinsics, stereoDepthMaxValue }, connectionConfigState, decoderState, emitDecodedMessage, errorCallback);
91
+ async function handleMessageToDecode({ schema, buffer, topic, neuralCameraIntrinsics, stereoDepthMaxValue, outputDemand, benchmarkIngressAt, }) {
92
+ await decodeFoxgloveMessage({ schema, buffer, topic, neuralCameraIntrinsics, stereoDepthMaxValue, outputDemand }, connectionConfigState, decoderState, (event) => {
93
+ if (benchmarkIngressAt != undefined) {
94
+ event.benchmarkIngressAt = benchmarkIngressAt;
95
+ }
96
+ emitDecodedMessage(event);
97
+ }, (errorCode, errorTopic, errorData) => {
98
+ errorPort?.postMessage({ errorCode, topic: errorTopic, errorData });
99
+ });
87
100
  }
88
101
  // Expose the updated API
89
102
  Comlink.expose({
90
103
  setDecodedMessagePort,
91
104
  setDiagnosticsPort,
105
+ setErrorPort,
92
106
  updateConnectionConfig,
93
107
  resetTopic,
94
108
  handleMessageToDecode,
@@ -1 +1 @@
1
- {"version":3,"file":"deserialization.worker.js","sourceRoot":"","sources":["../../../src/visualizer/messaging/deserialization.worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserialization.worker.js","sourceRoot":"","sources":["../../../src/visualizer/messaging/deserialization.worker.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export type VisualizerMessageEvent<T = unknown> = {
6
6
  receiveTime: any;
7
7
  publishTime?: any;
8
8
  depthaiTransformation?: unknown;
9
+ benchmarkIngressAt?: number;
9
10
  };
10
11
  export type Point2D = {
11
12
  x: number;
@@ -100,7 +101,9 @@ export type VisualizerRawImage = {
100
101
  export type ExtendedRawImage = VisualizerRawImage & {
101
102
  stride?: number | null;
102
103
  planeStride?: number | null;
104
+ mono16MaxValue?: number;
103
105
  renderableBitmap?: ImageBitmap;
106
+ renderableVideoFrame?: VideoFrame;
104
107
  };
105
108
  export declare function shouldCoalesceMessageEvent(event: VisualizerMessageEvent): boolean;
106
109
  export declare function getMessageEventTransferables(event: VisualizerMessageEvent): Transferable[];
@@ -1 +1 @@
1
- {"version":3,"file":"message-event.d.ts","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-event.d.ts","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-event.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,13 @@ export function getMessageEventTransferables(event) {
20
20
  transferables.push(data.buffer);
21
21
  }
22
22
  const renderableBitmap = record.renderableBitmap;
23
- if (renderableBitmap instanceof ImageBitmap) {
23
+ if (typeof ImageBitmap !== "undefined" && renderableBitmap instanceof ImageBitmap) {
24
24
  transferables.push(renderableBitmap);
25
25
  }
26
+ const renderableVideoFrame = record.renderableVideoFrame;
27
+ if (typeof VideoFrame !== "undefined" && renderableVideoFrame instanceof VideoFrame) {
28
+ transferables.push(renderableVideoFrame);
29
+ }
26
30
  }
27
31
  return transferables;
28
32
  }
@@ -48,9 +52,17 @@ export function closeRenderableBitmapFromMessage(message) {
48
52
  return;
49
53
  }
50
54
  const renderableBitmap = message.renderableBitmap;
51
- if (renderableBitmap instanceof ImageBitmap) {
55
+ if (typeof ImageBitmap !== "undefined" && renderableBitmap instanceof ImageBitmap) {
52
56
  renderableBitmap.close();
53
57
  }
58
+ const renderableVideoFrame = message.renderableVideoFrame;
59
+ if (typeof VideoFrame !== "undefined" && renderableVideoFrame instanceof VideoFrame) {
60
+ renderableVideoFrame.close();
61
+ }
62
+ const colorVideoFrame = message.colorVideoFrame;
63
+ if (typeof VideoFrame !== "undefined" && colorVideoFrame instanceof VideoFrame) {
64
+ colorVideoFrame.close();
65
+ }
54
66
  }
55
67
  export function closeRenderableBitmapFromEvent(event) {
56
68
  closeRenderableBitmapFromMessage(event.message);
@@ -58,8 +70,10 @@ export function closeRenderableBitmapFromEvent(event) {
58
70
  export function stripRenderableBitmapFromMessage(message) {
59
71
  if (message != undefined &&
60
72
  typeof message === "object" &&
61
- "renderableBitmap" in message) {
62
- const { renderableBitmap: _renderableBitmap, ...rest } = message;
73
+ ("renderableBitmap" in message ||
74
+ "renderableVideoFrame" in message ||
75
+ "colorVideoFrame" in message)) {
76
+ const { renderableBitmap: _renderableBitmap, renderableVideoFrame: _renderableVideoFrame, colorVideoFrame: _colorVideoFrame, ...rest } = message;
63
77
  return rest;
64
78
  }
65
79
  return message;
@@ -1 +1 @@
1
- {"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-event.js","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-event.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import type { FoxgloveMessage } from "../connection/communicator.js";
2
+ import type { DecodeOutputDemand } from "./decode-core.js";
2
3
  import type { DeserializationErrorCallback } from "./deserialization.worker.js";
3
4
  import type { VisualizerMessageEvent } from "./message-event.js";
4
5
  export type MessageHandler = {
5
6
  handle: (message: FoxgloveMessage, errorCallback?: DeserializationErrorCallback) => void;
7
+ handleBatch: (messages: readonly FoxgloveMessage[], errorCallback?: DeserializationErrorCallback) => void;
6
8
  resetTopic: (topic: string) => void;
7
9
  cleanup: () => void;
8
10
  };
9
- export declare function createMessageHandler(callback: (event: VisualizerMessageEvent) => void): MessageHandler;
11
+ export declare function createMessageHandler(callback: (event: VisualizerMessageEvent) => void, getOutputDemand?: (topic: string) => DecodeOutputDemand): MessageHandler;
10
12
  //# sourceMappingURL=message-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAUrE,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAIjE,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACzF,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAiSF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAChD,cAAc,CAkRhB"}
1
+ {"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAUrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAIjE,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,4BAA4B,KAAK,IAAI,CAAC;IACzF,WAAW,EAAE,CACX,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,aAAa,CAAC,EAAE,4BAA4B,KACzC,IAAI,CAAC;IACV,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AA+TF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,EACjD,eAAe,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,kBAGlC,GACD,cAAc,CA8UhB"}
@@ -9,8 +9,7 @@ import { createComlinkWorker } from "../utils/comlink-wrap.js";
9
9
  import { getDecodeRuntimeSettings, getRuntimeConfig, subscribeRuntimeConfig, } from "../utils/runtime-config.js";
10
10
  import { closeRenderableBitmapFromEvent, shouldCoalesceMessageEvent } from "./message-event.js";
11
11
  import { protobufSchemaNameToType, protobufsBySchema } from "./protobuf.js";
12
- const MAX_DECODER_WORKERS = 4;
13
- const MAX_IMAGE_DECODER_WORKERS = 4;
12
+ const MAX_TOTAL_DECODER_WORKERS = 6;
14
13
  function isReleasedProxyError(error) {
15
14
  return error instanceof Error && error.message.includes("Proxy has been released");
16
15
  }
@@ -39,7 +38,7 @@ function flushDecodedEvents(events, callback) {
39
38
  callback(event);
40
39
  }
41
40
  }
42
- function initWorker(callback, nameSuffix) {
41
+ function initWorker(callback, errorCallback, nameSuffix) {
43
42
  const worker = new Worker(new URL("./deserialization.worker.js", import.meta.url), {
44
43
  type: "module",
45
44
  name: `message-decoder-${nameSuffix}`,
@@ -64,29 +63,42 @@ function initWorker(callback, nameSuffix) {
64
63
  diagnosticsChannel.port1.onmessage = (messageEvent) => {
65
64
  const { type, key, summary } = messageEvent.data ?? {};
66
65
  if (type === "stream-diagnostics" && key && summary) {
67
- console.info(`[stream-diagnostics] ${key}`, summary);
66
+ console.info(`[stream-diagnostics] ${key} ${JSON.stringify(summary)}`);
68
67
  }
69
68
  };
70
69
  diagnosticsChannel.port1.start();
70
+ const errorChannel = new MessageChannel();
71
+ errorChannel.port1.onmessage = (messageEvent) => {
72
+ const { errorCode, topic, errorData } = messageEvent.data ?? {};
73
+ if (errorCode && topic) {
74
+ errorCallback(errorCode, topic, errorData);
75
+ }
76
+ };
77
+ errorChannel.port1.start();
71
78
  void remote.setDecodedMessagePort(Comlink.transfer(channel.port2, [channel.port2]));
72
79
  void remote.setDiagnosticsPort(Comlink.transfer(diagnosticsChannel.port2, [diagnosticsChannel.port2]));
80
+ void remote.setErrorPort(Comlink.transfer(errorChannel.port2, [errorChannel.port2]));
73
81
  return {
74
82
  remote,
75
83
  decodedMessagePort: channel.port1,
76
84
  diagnosticsPort: diagnosticsChannel.port1,
85
+ errorPort: errorChannel.port1,
77
86
  dispose: () => {
78
87
  channel.port1.close();
79
88
  diagnosticsChannel.port1.close();
89
+ errorChannel.port1.close();
80
90
  dispose();
81
91
  },
82
92
  };
83
93
  }
84
- function getDecoderWorkerCount() {
85
- const hardwareConcurrency = navigator.hardwareConcurrency ?? MAX_DECODER_WORKERS;
86
- return Math.max(1, Math.min(MAX_DECODER_WORKERS, Math.floor(hardwareConcurrency / 2) || 1));
94
+ function getTotalDecoderWorkerCount() {
95
+ const hardwareConcurrency = navigator.hardwareConcurrency ?? 4;
96
+ return Math.max(2, Math.min(MAX_TOTAL_DECODER_WORKERS, hardwareConcurrency - 2));
87
97
  }
88
- function getImageDecoderWorkerCount(sharedWorkerCount) {
89
- return Math.max(1, Math.min(MAX_IMAGE_DECODER_WORKERS, sharedWorkerCount));
98
+ function getDecoderWorkerCounts() {
99
+ const total = getTotalDecoderWorkerCount();
100
+ const shared = Math.max(1, Math.round(total / 3));
101
+ return { shared, image: Math.max(1, total - shared) };
90
102
  }
91
103
  function hashTopic(topic) {
92
104
  let hash = 0;
@@ -210,8 +222,12 @@ function shouldCoalesceImageMessage(message) {
210
222
  }
211
223
  return true;
212
224
  }
213
- export function createMessageHandler(callback) {
225
+ export function createMessageHandler(callback, getOutputDemand = () => ({
226
+ pointCloud: true,
227
+ depthPreview: true,
228
+ })) {
214
229
  let isCleaningUp = false;
230
+ const errorCallbacksByTopic = new Map();
215
231
  const pendingIncomingMessages = [];
216
232
  let incomingFlushScheduled = false;
217
233
  const pendingDecodedEvents = [];
@@ -231,10 +247,17 @@ export function createMessageHandler(callback) {
231
247
  flushDecodedEvents(eventsToFlush, callback);
232
248
  });
233
249
  };
234
- const sharedWorkerCount = getDecoderWorkerCount();
235
- const workerSlots = Array.from({ length: sharedWorkerCount }, () => ({}));
236
- const imageWorkerSlots = Array.from({ length: getImageDecoderWorkerCount(sharedWorkerCount) }, () => ({}));
250
+ const workerCounts = getDecoderWorkerCounts();
251
+ const workerSlots = Array.from({ length: workerCounts.shared }, () => ({
252
+ activeJobs: 0,
253
+ }));
254
+ const imageWorkerSlots = Array.from({ length: workerCounts.image }, () => ({
255
+ activeJobs: 0,
256
+ }));
237
257
  const topicDispatchStates = new Map();
258
+ const reportWorkerError = (errorCode, topic, errorData) => {
259
+ errorCallbacksByTopic.get(topic)?.(errorCode, topic, errorData);
260
+ };
238
261
  const unsubscribeRuntimeConfig = subscribeRuntimeConfig((runtimeConfig) => {
239
262
  if (isCleaningUp) {
240
263
  return;
@@ -262,38 +285,49 @@ export function createMessageHandler(callback) {
262
285
  }
263
286
  }
264
287
  });
265
- const getSharedWorkerWrapperForTopic = (topic) => {
266
- const index = hashTopic(topic) % workerSlots.length;
267
- const slot = workerSlots[index];
268
- if (!slot.wrapper) {
269
- slot.wrapper = initWorker(enqueueDecodedEvents, index);
270
- void slot.wrapper.remote.updateConnectionConfig(getRuntimeConfig().debugLogs ?? false, getRuntimeConfig().streamDiagnostics ?? false);
288
+ const getWorkerSelection = (slots, namePrefix, topic, affinityIndex) => {
289
+ let index = affinityIndex;
290
+ if (index == undefined) {
291
+ let lowestLoad = Number.POSITIVE_INFINITY;
292
+ const startIndex = hashTopic(topic) % slots.length;
293
+ for (let offset = 0; offset < slots.length; offset += 1) {
294
+ const candidateIndex = (startIndex + offset) % slots.length;
295
+ const candidateLoad = slots[candidateIndex].activeJobs;
296
+ if (candidateLoad < lowestLoad) {
297
+ lowestLoad = candidateLoad;
298
+ index = candidateIndex;
299
+ }
300
+ }
271
301
  }
272
- return slot.wrapper;
273
- };
274
- const getImageWorkerWrapperForTopic = (topic) => {
275
- const index = hashTopic(topic) % imageWorkerSlots.length;
276
- const slot = imageWorkerSlots[index];
302
+ index ??= 0;
303
+ const slot = slots[index];
277
304
  if (!slot.wrapper) {
278
- slot.wrapper = initWorker(enqueueDecodedEvents, `image-${index}`);
305
+ slot.wrapper = initWorker(enqueueDecodedEvents, reportWorkerError, namePrefix ? `${namePrefix}-${index}` : index);
279
306
  void slot.wrapper.remote.updateConnectionConfig(getRuntimeConfig().debugLogs ?? false, getRuntimeConfig().streamDiagnostics ?? false);
280
307
  }
281
- return slot.wrapper;
308
+ return { wrapper: slot.wrapper, slot, index };
282
309
  };
283
- const dispatchToWorker = async (workerWrapper, message, errorCallback) => {
310
+ const getSharedWorkerSelection = (topic) => getWorkerSelection(workerSlots, "", topic);
311
+ const getImageWorkerSelection = (topic, affinityIndex) => getWorkerSelection(imageWorkerSlots, "image", topic, affinityIndex);
312
+ const dispatchToWorker = async (workerSelection, message) => {
284
313
  if (isCleaningUp) {
285
314
  return;
286
315
  }
287
316
  const { neuralCameraIntrinsics, stereoDepthMaxValue } = getDecodeRuntimeSettings();
288
- const proxiedErrorCallback = errorCallback ? Comlink.proxy(errorCallback) : undefined;
317
+ workerSelection.slot.activeJobs += 1;
289
318
  try {
290
- await workerWrapper.remote.handleMessageToDecode(Comlink.transfer({
319
+ const decodeRequest = {
291
320
  schema: message.schema,
292
321
  buffer: message.buffer,
293
322
  topic: message.topic,
294
323
  neuralCameraIntrinsics,
295
324
  stereoDepthMaxValue,
296
- }, [message.buffer.buffer]), proxiedErrorCallback);
325
+ outputDemand: getOutputDemand(message.topic),
326
+ };
327
+ if (message.benchmarkIngressAt != undefined) {
328
+ decodeRequest.benchmarkIngressAt = message.benchmarkIngressAt;
329
+ }
330
+ await workerSelection.wrapper.remote.handleMessageToDecode(Comlink.transfer(decodeRequest, [message.buffer.buffer]));
297
331
  }
298
332
  catch (error) {
299
333
  if (isCleaningUp || isReleasedProxyError(error)) {
@@ -301,6 +335,9 @@ export function createMessageHandler(callback) {
301
335
  }
302
336
  throw error;
303
337
  }
338
+ finally {
339
+ workerSelection.slot.activeJobs = Math.max(0, workerSelection.slot.activeJobs - 1);
340
+ }
304
341
  };
305
342
  const flushTopicImageDecode = (topic) => {
306
343
  const topicDispatchState = topicDispatchStates.get(topic);
@@ -316,8 +353,13 @@ export function createMessageHandler(callback) {
316
353
  topicDispatchState.pendingCoalescedImageDecode = undefined;
317
354
  }
318
355
  topicDispatchState.inFlight = true;
319
- const workerWrapper = getImageWorkerWrapperForTopic(topic);
320
- void dispatchToWorker(workerWrapper, pendingImageDecode.message, pendingImageDecode.errorCallback)
356
+ if (pendingImageDecode.ordered) {
357
+ topicDispatchState.orderedWorkerIndex ??= hashTopic(topic) % imageWorkerSlots.length;
358
+ }
359
+ const workerSelection = pendingImageDecode.workerKind === "image"
360
+ ? getImageWorkerSelection(topic, topicDispatchState.orderedWorkerIndex)
361
+ : getSharedWorkerSelection(topic);
362
+ void dispatchToWorker(workerSelection, pendingImageDecode.message)
321
363
  .catch(() => {
322
364
  // Deserialization errors are surfaced through the existing error callback path.
323
365
  })
@@ -326,15 +368,23 @@ export function createMessageHandler(callback) {
326
368
  flushTopicImageDecode(topic);
327
369
  });
328
370
  };
329
- const isImageMessage = (schema) => {
371
+ const getMessageKind = (schema) => {
330
372
  const protobufSchema = protobufsBySchema[schema];
331
- return protobufSchema != undefined && protobufSchemaNameToType(protobufSchema.type) === "image";
373
+ return protobufSchema == undefined ? undefined : protobufSchemaNameToType(protobufSchema.type);
332
374
  };
333
375
  const processIncomingMessage = (message, errorCallback) => {
334
376
  const { schema, topic } = message;
335
- if (!isImageMessage(schema)) {
336
- const workerWrapper = getSharedWorkerWrapperForTopic(topic);
337
- void dispatchToWorker(workerWrapper, message, errorCallback).catch(() => {
377
+ if (errorCallback) {
378
+ errorCallbacksByTopic.set(topic, errorCallback);
379
+ }
380
+ const messageKind = getMessageKind(schema);
381
+ // RGBD color frames can contain H.264/H.265 data. Keep all RGBD packets ordered on one
382
+ // worker so inter-frame decoder references are never dropped or split across workers.
383
+ const shouldUseOrderedQueue = messageKind === "rgbd" || (messageKind === "image" && !shouldCoalesceImageMessage(message));
384
+ const shouldUseLatestOnlyQueue = messageKind != undefined && !shouldUseOrderedQueue;
385
+ if (!shouldUseLatestOnlyQueue && !shouldUseOrderedQueue) {
386
+ const workerSelection = getSharedWorkerSelection(topic);
387
+ void dispatchToWorker(workerSelection, message).catch(() => {
338
388
  // Deserialization errors are surfaced through the existing error callback path.
339
389
  });
340
390
  return;
@@ -344,21 +394,26 @@ export function createMessageHandler(callback) {
344
394
  queuedOrderedImageDecodes: [],
345
395
  };
346
396
  topicDispatchStates.set(topic, topicDispatchState);
347
- if (shouldCoalesceImageMessage(message)) {
397
+ if (shouldUseLatestOnlyQueue) {
348
398
  topicDispatchState.pendingCoalescedImageDecode = {
349
399
  message,
350
- errorCallback,
400
+ workerKind: messageKind === "annotations" || messageKind === "imu" ? "shared" : "image",
401
+ ordered: false,
351
402
  };
352
403
  }
353
404
  else {
354
405
  topicDispatchState.queuedOrderedImageDecodes.push({
355
406
  message,
356
- errorCallback,
407
+ workerKind: "image",
408
+ ordered: true,
357
409
  });
358
410
  }
359
411
  flushTopicImageDecode(topic);
360
412
  };
361
413
  const resetTopic = (topic) => {
414
+ if (isCleaningUp) {
415
+ return;
416
+ }
362
417
  for (let index = pendingIncomingMessages.length - 1; index >= 0; index -= 1) {
363
418
  const pendingMessage = pendingIncomingMessages[index];
364
419
  if (!pendingMessage) {
@@ -380,6 +435,7 @@ export function createMessageHandler(callback) {
380
435
  }
381
436
  }
382
437
  topicDispatchStates.delete(topic);
438
+ errorCallbacksByTopic.delete(topic);
383
439
  for (const slot of workerSlots) {
384
440
  void slot.wrapper?.remote.resetTopic(topic).catch(() => {
385
441
  // Topic reset can race with worker disposal during connection shutdown.
@@ -401,35 +457,50 @@ export function createMessageHandler(callback) {
401
457
  processIncomingMessage(entry.message, entry.errorCallback);
402
458
  }
403
459
  };
404
- return {
405
- handle: (({ schema, buffer, topic }, errorCallback) => {
406
- if (isCleaningUp) {
407
- return;
408
- }
460
+ const handleBatch = (messages, errorCallback) => {
461
+ if (isCleaningUp || messages.length === 0) {
462
+ return;
463
+ }
464
+ for (const { schema, buffer, topic } of messages) {
409
465
  pendingIncomingMessages.push({
410
466
  message: { schema, buffer, topic },
411
467
  errorCallback,
412
468
  });
413
- if (!incomingFlushScheduled) {
414
- incomingFlushScheduled = true;
415
- scheduleMicrotask(flushIncomingMessages);
416
- }
469
+ }
470
+ if (!incomingFlushScheduled) {
471
+ incomingFlushScheduled = true;
472
+ scheduleMicrotask(flushIncomingMessages);
473
+ }
474
+ };
475
+ return {
476
+ handle: ((message, errorCallback) => {
477
+ handleBatch([message], errorCallback);
417
478
  }),
479
+ handleBatch,
418
480
  resetTopic,
419
481
  cleanup: () => {
482
+ if (isCleaningUp) {
483
+ return;
484
+ }
420
485
  isCleaningUp = true;
421
486
  incomingFlushScheduled = false;
422
487
  pendingIncomingMessages.length = 0;
423
488
  decodedFlushScheduled = false;
489
+ for (const pendingEvent of pendingDecodedEvents) {
490
+ closeRenderableBitmapFromEvent(pendingEvent);
491
+ }
424
492
  pendingDecodedEvents.length = 0;
425
493
  unsubscribeRuntimeConfig();
426
494
  for (const slot of workerSlots) {
427
495
  slot.wrapper?.dispose();
496
+ slot.wrapper = undefined;
428
497
  }
429
498
  for (const slot of imageWorkerSlots) {
430
499
  slot.wrapper?.dispose();
500
+ slot.wrapper = undefined;
431
501
  }
432
502
  topicDispatchStates.clear();
503
+ errorCallbacksByTopic.clear();
433
504
  },
434
505
  };
435
506
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../../src/visualizer/messaging/message-handler.ts"],"names":[],"mappings":"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"}
@@ -2973,6 +2973,9 @@
2973
2973
  .left-2 {
2974
2974
  left: calc(var(--spacing) * 2);
2975
2975
  }
2976
+ .isolate {
2977
+ isolation: isolate;
2978
+ }
2976
2979
  .z-10 {
2977
2980
  z-index: 10;
2978
2981
  }
@@ -4037,6 +4040,10 @@
4037
4040
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
4038
4041
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4039
4042
  }
4043
+ .ring {
4044
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
4045
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
4046
+ }
4040
4047
  .ring-0 {
4041
4048
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
4042
4049
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1 +1 @@
1
- {"version":3,"file":"PointCloudPanel.d.ts","sourceRoot":"","sources":["../../../src/visualizer/panels/PointCloudPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AASrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,0BAA0B,CAAC,EAAE,CAC3B,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EACrC,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACnC,CAAC;AA4DF,eAAO,MAAM,eAAe,uRAiBzB,oBAAoB,GAAG;IACxB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,6CAyEC,CAAC"}
1
+ {"version":3,"file":"PointCloudPanel.d.ts","sourceRoot":"","sources":["../../../src/visualizer/panels/PointCloudPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,KAAK,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAUrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,0BAA0B,CAAC,EAAE,CAC3B,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EACrC,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CACnC,CAAC;AA4DF,eAAO,MAAM,eAAe,uRAiBzB,oBAAoB,GAAG;IACxB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,6CA0EC,CAAC"}
@@ -6,6 +6,7 @@ import { Button, Tooltip } from "@luxonis/ui-components";
6
6
  import React from "react";
7
7
  import { IoMdRefresh } from "react-icons/io";
8
8
  import { Panel } from "../components/Panel.js";
9
+ import { recordBenchmarkRendered } from "../utils/benchmark-metrics.js";
9
10
  import { constructKeyForTopicRenderMetrics, globalRenderMetricsManager, } from "../utils/metrics-manager.js";
10
11
  import { getPerspective } from "../utils/runtime-config.js";
11
12
  import { PointCloudCanvasRenderer } from "./pointcloud/PointCloudCanvasRenderer.js";
@@ -47,6 +48,7 @@ export const PointCloudPanel = React.memo(function PointCloudPanel({ topic, togg
47
48
  }, [renderMetricsKey]);
48
49
  const handleFrameRendered = (_frameTime) => {
49
50
  globalRenderMetricsManager.registerEvent(renderMetricsKey);
51
+ recordBenchmarkRendered(topic);
50
52
  };
51
53
  const handleRegisterRendered = React.useCallback((renderer) => {
52
54
  rendererRef.current = renderer;