@luxonis/visualizer-protobuf 2.18.0 → 2.19.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 (71) hide show
  1. package/dist/{deserialization.worker-DsG76nP8.js → deserialization.worker-BDgy77kA.js} +6 -202
  2. package/dist/{index-CJRhjhJ0.js → index-B1_cFt58.js} +4 -3
  3. package/dist/{index-CcP1Qppv.js → index-B6d3C39p.js} +4 -3
  4. package/dist/{index-BeQ1w8aW.js → index-BF-L7R8k.js} +4 -3
  5. package/dist/{index-4PQpGzhb.js → index-BRgjaS3P.js} +4 -3
  6. package/dist/{index-DdKOhCXT.js → index-BXzxh_oS.js} +4 -3
  7. package/dist/{index-BWittpbR.js → index-C6w97GVV.js} +4 -3
  8. package/dist/{index-DchGURxJ.js → index-CFKwgCnj.js} +4 -3
  9. package/dist/{index-DUUnuN10.js → index-CKOuXheK.js} +4 -3
  10. package/dist/{index-BomoqOv5.js → index-CKUSCjJy.js} +4 -3
  11. package/dist/{index-Ci0X5xT3.js → index-Cjg9XUXR.js} +4 -3
  12. package/dist/{index-BT9CBn7l.js → index-Cx171sUA.js} +4 -3
  13. package/dist/{index-CcIi7pJR.js → index-D9x4CxvS.js} +4 -3
  14. package/dist/{index-CXThSQcL.js → index-DBd5WrbC.js} +4 -3
  15. package/dist/{index-BQecGu9I.js → index-DXrTzXm5.js} +4 -3
  16. package/dist/{index-CXIVXFcJ.js → index-Dhhaoay-.js} +6 -5
  17. package/dist/{index-CrtBH66u.js → index-DvIT_wMb.js} +4 -3
  18. package/dist/{index-ByIsztCr.js → index-FQIyjNd9.js} +4 -3
  19. package/dist/{index-CR6XGTJc.js → index-YYxpyccB.js} +118 -45
  20. package/dist/{index-BFMXTxLw.js → index-qH54Wded.js} +4 -3
  21. package/dist/index.js +4 -3
  22. package/dist/lib/src/components/PanelToolbar.d.ts.map +1 -1
  23. package/dist/lib/src/components/PanelToolbar.js +2 -4
  24. package/dist/lib/src/components/PanelToolbar.js.map +1 -1
  25. package/dist/lib/src/connection/foxglove-connection.d.ts +8 -4
  26. package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
  27. package/dist/lib/src/connection/foxglove-connection.js +20 -6
  28. package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
  29. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts +2 -0
  30. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts.map +1 -0
  31. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +286 -0
  32. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -0
  33. package/dist/lib/src/messaging/deserialization/pointcloud/utils.d.ts +9 -2
  34. package/dist/lib/src/messaging/deserialization/pointcloud/utils.d.ts.map +1 -1
  35. package/dist/lib/src/messaging/deserialization/pointcloud/utils.js +12 -42
  36. package/dist/lib/src/messaging/deserialization/pointcloud/utils.js.map +1 -1
  37. package/dist/lib/src/messaging/deserialization/video/color.js +1 -1
  38. package/dist/lib/src/messaging/deserialization/video/color.js.map +1 -1
  39. package/dist/lib/src/messaging/deserialization/video/depth.d.ts +2 -2
  40. package/dist/lib/src/messaging/deserialization/video/depth.d.ts.map +1 -1
  41. package/dist/lib/src/messaging/deserialization/video/depth.js +2 -167
  42. package/dist/lib/src/messaging/deserialization/video/depth.js.map +1 -1
  43. package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
  44. package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
  45. package/dist/lib/src/messaging/deserialization.worker.d.ts +15 -11
  46. package/dist/lib/src/messaging/deserialization.worker.d.ts.map +1 -1
  47. package/dist/lib/src/messaging/deserialization.worker.js +3 -2
  48. package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
  49. package/dist/lib/src/messaging/message-handler.d.ts.map +1 -1
  50. package/dist/lib/src/messaging/message-handler.js +2 -1
  51. package/dist/lib/src/messaging/message-handler.js.map +1 -1
  52. package/dist/lib/src/panels/ImagePanel.js +2 -2
  53. package/dist/lib/src/panels/ImagePanel.js.map +1 -1
  54. package/dist/lib/src/panels/PointCloudPanel.js +2 -2
  55. package/dist/lib/src/panels/PointCloudPanel.js.map +1 -1
  56. package/dist/lib/src/utils/metrics-manager.d.ts +9 -1
  57. package/dist/lib/src/utils/metrics-manager.d.ts.map +1 -1
  58. package/dist/lib/src/utils/metrics-manager.js +33 -2
  59. package/dist/lib/src/utils/metrics-manager.js.map +1 -1
  60. package/dist/lib/src/utils/poitcloud-sync.d.ts.map +1 -1
  61. package/dist/lib/src/utils/poitcloud-sync.js +18 -5
  62. package/dist/lib/src/utils/poitcloud-sync.js.map +1 -1
  63. package/dist/pointcloudFromDepth.worker-CNKyMUU-.js +326 -0
  64. package/dist/{tslib.es6-D98N6tjc.js → tslib.es6-C73eoP_E.js} +6 -36
  65. package/dist/{useMessageReducer-Cg30zaG9.js → useMessageReducer-jNx5e6JW.js} +1 -1
  66. package/dist/{i420ToRgbaToPoitcloud.worker-CzFC0VI1.js → utils-Cmsz3FxA.js} +37 -5
  67. package/package.json +1 -1
  68. package/dist/lib/src/protobuf.generated/IMUData.d.ts +0 -122
  69. package/dist/lib/src/protobuf.generated/IMUData.d.ts.map +0 -1
  70. package/dist/lib/src/protobuf.generated/IMUData.js +0 -691
  71. package/dist/lib/src/protobuf.generated/IMUData.js.map +0 -1
@@ -1,178 +1,13 @@
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
- /* eslint-disable no-underscore-dangle */
5
4
  import { NumericType } from "@foxglove/schemas";
6
5
  import { estimateObjectSize } from "@foxglove/studio-base/players/messageMemoryEstimation.js";
7
6
  import { parseMessage } from "../../utils.js";
8
- import { uint8ArrayToUint16Array } from "../pointcloud/utils.js";
9
- const shader = `
10
- @group(0) @binding(0) var<storage, read> depthBuffer: array<u32>; // Uint16 stored as u32
11
- @group(0) @binding(1) var<storage, read> intrinsicsBuffer: array<f32>;
12
- @group(0) @binding(2) var<storage, read_write> xyzColorBuffer: array<u32>; // Stores XYZ + RGBA
13
-
14
- @compute @workgroup_size(256, 1, 1)
15
- fn main(@builtin(global_invocation_id) global_id: vec3<u32>) {
16
- let i = global_id.x;
17
- let fx = intrinsicsBuffer[0];
18
- let fy = intrinsicsBuffer[1];
19
- let cx = intrinsicsBuffer[2];
20
- let cy = intrinsicsBuffer[3];
21
- let scale = intrinsicsBuffer[4];
22
- let width = intrinsicsBuffer[5];
23
- let height = intrinsicsBuffer[6];
24
-
25
- if (i >= u32(width * height)) { return; }
26
-
27
- let u = i % u32(width);
28
- let v = i / u32(width);
29
-
30
- // Convert uint16 depth value to float (stored as u32, so we bitwise mask)
31
- let rawDepth = depthBuffer[i] & 0xFFFFu;
32
- let z = f32(rawDepth) * scale;
33
-
34
- let x = (cx - f32(u)) * z / fx;
35
- let y = (cy - f32(v)) * z / fy;
36
-
37
- let base = i * 4u; // 4 values per point (X, Y, Z, Color)
38
-
39
- // Convert floats to u32 representation for storage
40
- xyzColorBuffer[base] = bitcast<u32>(x);
41
- xyzColorBuffer[base + 1u] = bitcast<u32>(y);
42
- xyzColorBuffer[base + 2u] = bitcast<u32>(z);
43
-
44
- // Example: RGB set based on depth, Alpha is fixed at 255
45
- let r = u32(clamp(z * 255.0, 0.0, 255.0));
46
- let g = u32(clamp(y * 255.0, 0.0, 255.0));
47
- let b = u32(clamp(x * 255.0, 0.0, 255.0));
48
- xyzColorBuffer[base + 3u] = (r & 0xFFu) | ((g & 0xFFu) << 8) | ((b & 0xFFu) << 16) | (255u << 24);
49
- }
50
- `;
51
- async function depthToPointcloudGPU(depthArray, width, height, fx, fy, cx, cy) {
52
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
53
- if (!navigator.gpu) {
54
- console.warn("WebGPU not supported.");
55
- return depthToPointCloudBuffer(depthArray, width, height, fx, fy, cx, cy);
56
- }
57
- const adapter = await navigator.gpu.requestAdapter();
58
- if (!adapter) {
59
- console.warn("Couldn't request WebGPU adapter.");
60
- return depthToPointCloudBuffer(depthArray, width, height, fx, fy, cx, cy);
61
- }
62
- const device = await adapter.requestDevice();
63
- const queue = device.queue;
64
- const scale = 1.0;
65
- const numPixels = width * height;
66
- const outputSize = numPixels * 16;
67
- const depthData32 = new Uint32Array(depthArray);
68
- const intrinsics = new Float32Array([fx, fy, cx, cy, scale, width, height]);
69
- const depthBuffer = device.createBuffer({
70
- size: depthData32.byteLength,
71
- usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,
72
- });
73
- const intrinsicsBuffer = device.createBuffer({
74
- size: intrinsics.byteLength,
75
- usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_DST,
76
- });
77
- const xyzColorBuffer = device.createBuffer({
78
- size: outputSize,
79
- usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC,
80
- });
81
- queue.writeBuffer(depthBuffer, 0, depthData32);
82
- queue.writeBuffer(intrinsicsBuffer, 0, intrinsics);
83
- const bindGroupLayout = device.createBindGroupLayout({
84
- entries: [
85
- { binding: 0, visibility: GPUShaderStage.COMPUTE, buffer: { type: "read-only-storage" } },
86
- { binding: 1, visibility: GPUShaderStage.COMPUTE, buffer: { type: "read-only-storage" } },
87
- { binding: 2, visibility: GPUShaderStage.COMPUTE, buffer: { type: "storage" } },
88
- ],
89
- });
90
- const bindGroup = device.createBindGroup({
91
- layout: bindGroupLayout,
92
- entries: [
93
- { binding: 0, resource: { buffer: depthBuffer } },
94
- { binding: 1, resource: { buffer: intrinsicsBuffer } },
95
- { binding: 2, resource: { buffer: xyzColorBuffer } },
96
- ],
97
- });
98
- const shaderModule = device.createShaderModule({
99
- code: shader
100
- });
101
- const pipeline = device.createComputePipeline({
102
- layout: device.createPipelineLayout({ bindGroupLayouts: [bindGroupLayout] }),
103
- compute: { module: shaderModule, entryPoint: "main" },
104
- });
105
- const commandEncoder = device.createCommandEncoder();
106
- const passEncoder = commandEncoder.beginComputePass();
107
- passEncoder.setPipeline(pipeline);
108
- passEncoder.setBindGroup(0, bindGroup);
109
- passEncoder.dispatchWorkgroups(Math.ceil(numPixels / 256));
110
- passEncoder.end();
111
- device.queue.submit([commandEncoder.finish()]);
112
- const outputBuffer = device.createBuffer({
113
- size: xyzColorBuffer.size,
114
- usage: GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ,
115
- });
116
- const copyEncoder = device.createCommandEncoder();
117
- copyEncoder.copyBufferToBuffer(xyzColorBuffer, 0, outputBuffer, 0, xyzColorBuffer.size);
118
- device.queue.submit([copyEncoder.finish()]);
119
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
120
- await outputBuffer.mapAsync(GPUMapMode.READ);
121
- const mappedRange = outputBuffer.getMappedRange();
122
- const result = new Uint8Array(mappedRange.byteLength);
123
- result.set(new Uint8Array(mappedRange));
124
- outputBuffer.unmap();
125
- return result;
126
- }
127
- function depthToPointCloudBuffer(uint16Array, width, height, fx, fy, cx, cy) {
128
- const depthData = Array.from({ length: height }, () => new Array(width));
129
- for (let v = 0; v < height; v++) {
130
- depthData[v] = depthData[v] ?? [];
131
- for (let u = 0; u < width; u++) {
132
- const d = uint16Array[v * width + u] ?? -1;
133
- depthData[v][u] = d > 0 ? d : -1;
134
- }
135
- }
136
- const points = [];
137
- // Accumulate the x, y, z values for each pixel.
138
- for (let v = 0; v < height; v++) {
139
- const row = depthData[v];
140
- if (!row) {
141
- continue;
142
- }
143
- for (let u = 0; u < width; u++) {
144
- const z = row[u] ?? 0;
145
- const x = (cx - u) * z / fx;
146
- const y = (cy - v) * z / fy;
147
- points.push(x, y, z);
148
- }
149
- }
150
- const pointCount = points.length / 3;
151
- const buffer = new ArrayBuffer(pointCount * 16);
152
- const view = new DataView(buffer);
153
- for (let i = 0; i < pointCount; i++) {
154
- const offset = i * 16;
155
- view.setFloat32(offset, points[i * 3] ?? 0, true); //X
156
- view.setFloat32(offset + 4, points[i * 3 + 1] ?? 0, true); //Y
157
- view.setFloat32(offset + 8, points[i * 3 + 2] ?? 0, true); //Z
158
- view.setUint8(offset + 12, 0); // R
159
- view.setUint8(offset + 13, 0); // G
160
- view.setUint8(offset + 14, 0); // B
161
- view.setUint8(offset + 15, 255); // A
162
- }
163
- return new Uint8Array(buffer);
164
- }
165
7
  export async function deserializeDepthFrame({ topic, message, callback }) {
166
8
  const { receiveTime, width, height } = parseMessage(message);
167
- const neuralCameraIntrinsics = JSON.parse(localStorage.getItem("neuralCameraIntrinsics") ?? "{}");
168
- const uint16Array = uint8ArrayToUint16Array(message.data);
169
- const fx = neuralCameraIntrinsics.right.focalLenght.x;
170
- const fy = neuralCameraIntrinsics.right.focalLenght.y;
171
- const cx = neuralCameraIntrinsics.right.principalPoint.x;
172
- const cy = neuralCameraIntrinsics.right.principalPoint.y;
173
- const pointCloudBufferGPU = depthToPointcloudGPU(uint16Array, width, height, fx, fy, cx, cy);
174
9
  const foxgloveMessage = {
175
- timestamp: receiveTime,
10
+ timestamp: message.tsDevice ?? receiveTime,
176
11
  frame_id: `pointcloud-${topic}-frame`,
177
12
  point_stride: 16,
178
13
  pose: {
@@ -190,7 +25,7 @@ export async function deserializeDepthFrame({ topic, message, callback }) {
190
25
  { name: "blue", offset: 14, type: NumericType.UINT8 },
191
26
  { name: "alpha", offset: 15, type: NumericType.UINT8 },
192
27
  ],
193
- data: await pointCloudBufferGPU
28
+ data: message.data
194
29
  };
195
30
  callback({
196
31
  topic,
@@ -1 +1 @@
1
- {"version":3,"file":"depth.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/depth.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAC1D,yCAAyC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAI9F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAA0B,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAUzF,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCd,CAAC;AAEF,KAAK,UAAU,oBAAoB,CACjC,UAAuB,EACvB,KAAa,EACb,MAAc,EACd,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU;IAEV,uEAAuE;IACvE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtC,OAAO,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,OAAO,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAG3B,MAAM,KAAK,GAAG,GAAG,CAAC;IAClB,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;IACjC,MAAM,UAAU,GAAG,SAAS,GAAG,EAAE,CAAC;IAElC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAEhD,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;QACtC,IAAI,EAAE,WAAW,CAAC,UAAU;QAC5B,KAAK,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ;KACxD,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,CAAC;QAC3C,IAAI,EAAE,UAAU,CAAC,UAAU;QAC3B,KAAK,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ;KACxD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,cAAc,CAAC,OAAO,GAAG,cAAc,CAAC,QAAQ;KACxD,CAAC,CAAC;IAEH,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/C,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAEnD,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACnD,OAAO,EAAE;YACP,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE;YACzF,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE;YACzF,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;SAChF;KACF,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,CAAC,eAAe,CAAC;QACvC,MAAM,EAAE,eAAe;QACvB,OAAO,EAAE;YACP,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;YACjD,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE;YACtD,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE;SACrD;KACF,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC7C,IAAI,EAAE,MAAM;KACb,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,gBAAgB,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QAC5E,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE;KACtD,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC;IACtD,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACvC,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3D,WAAW,CAAC,GAAG,EAAE,CAAC;IAClB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACvC,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,KAAK,EAAE,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ;KACzD,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAClD,WAAW,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE5C,iEAAiE;IACjE,MAAM,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IACxC,YAAY,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC;AAOD,SAAS,uBAAuB,CAC9B,WAAwB,EACxB,KAAa,EACb,MAAc,EACd,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU;IAGV,MAAM,SAAS,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAChE,IAAI,KAAK,CAAC,KAAK,CAAC,CACjB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,gDAAgD;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,EAAE,CAAC;YAAA,SAAS;QAAA,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAG,CAAC,EAAE,IAAI,CAAE,CAAC,CAAC,GAAG;QACtD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAG,CAAC,EAAG,IAAI,CAAC,CAAC,CAAA,GAAG;QAC7D,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAE,CAAC,EAAE,IAAI,CAAE,CAAC,CAAA,GAAG;QAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI;IACvC,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAA6B;IACjG,MAAM,EAAE,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAE1D,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,IAAI,CAA0B,CAAC;IAE3H,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IAGzD,MAAM,mBAAmB,GAAI,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE9F,MAAM,eAAe,GAA6B;QAChD,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,cAAc,KAAK,QAAQ;QACrC,YAAY,EAAG,EAAE;QACjB,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAC9B,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACxC;QACD,KAAK;QACL,MAAM;QACN,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;YACnD,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;YACnD,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;YACnD,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;YACpD,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;YACtD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;YACrD,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;SACvD;QACD,IAAI,EAAE,MAAM,mBAAmB;KAChC,CAAC;IAEF,QAAQ,CAAC;QACP,KAAK;QACL,WAAW;QACX,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,kBAAkB,CAAC,eAAe,CAAC;QAChD,UAAU,EAAE,qBAAqB;KAClC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"depth.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/depth.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAI9F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAS9C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAA6B;IACjG,MAAM,EAAE,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAI1D,MAAM,eAAe,GAA6B;QAChD,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAI,WAAW;QAC1C,QAAQ,EAAE,cAAc,KAAK,QAAQ;QACrC,YAAY,EAAG,EAAE;QACjB,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAC9B,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;SACxC;QACD,KAAK;QACL,MAAM;QACN,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;YACnD,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;YACnD,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,OAAO,EAAE;YACnD,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;YACpD,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;YACtD,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;YACrD,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE;SACvD;QACD,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;IAEF,QAAQ,CAAC;QACP,KAAK;QACL,WAAW;QACX,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,kBAAkB,CAAC,eAAe,CAAC;QAChD,UAAU,EAAE,qBAAqB;KAClC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"h264.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAIlE,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAChC,CAAC,CAAC;AA8CH,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,EAChD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACT,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CjD"}
1
+ {"version":3,"file":"h264.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAIlE,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE;IACtC,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAChC,CAAC,CAAC;AA8CH,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,EAChD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACT,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"h264.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"h264.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,18 @@
1
- import { MessageEvent } from "@foxglove/studio-base/players/types";
2
- import { TopicSizes } from "./deserialization/detections/detection.js";
3
- import { TopicDecoders } from "./deserialization/video/h264.js";
4
- import { EncodedFrame } from "../protobuf.generated/EncodedFrame.js";
5
- import { ImageAnnotations } from "../protobuf.generated/ImageAnnotations.js";
6
- import { ImgDetections } from "../protobuf.generated/ImgDetections.js";
7
- import { ImgFrame } from "../protobuf.generated/ImgFrame.js";
8
- import { PointCloudData } from "../protobuf.generated/PointCloudData.js";
9
- import { SpatialImgDetections } from "../protobuf.generated/SpatialImgDetections.js";
10
- import { FoxgloveMessage } from "../connection/communicator";
1
+ import type { MessageEvent } from "@foxglove/studio-base/players/types";
2
+ import { type TopicSizes } from "./deserialization/detections/detection.js";
3
+ import type { NeuralCameraIntrinsics } from "./deserialization/pointcloud/utils.js";
4
+ import { type TopicDecoders } from "./deserialization/video/h264.js";
5
+ import type { FoxgloveMessage } from "../connection/communicator";
6
+ import { type EncodedFrame } from "../protobuf.generated/EncodedFrame.js";
7
+ import type { ImageAnnotations } from "../protobuf.generated/ImageAnnotations.js";
8
+ import type { ImgDetections } from "../protobuf.generated/ImgDetections.js";
9
+ import { type ImgFrame } from "../protobuf.generated/ImgFrame.js";
10
+ import type { PointCloudData } from "../protobuf.generated/PointCloudData.js";
11
+ import type { SpatialImgDetections } from "../protobuf.generated/SpatialImgDetections.js";
11
12
  export type DeserializeDepthAiMessageArgs = {
12
13
  topic: string;
13
14
  topicDecoders: TopicDecoders;
15
+ neuralCameraIntrinsics: NeuralCameraIntrinsics;
14
16
  topicSizes: TopicSizes;
15
17
  callback: (event: MessageEvent) => void;
16
18
  } & ({
@@ -34,6 +36,8 @@ export type DeserializeDepthAiMessageArgs = {
34
36
  });
35
37
  export type DeserializationWorkerApi = {
36
38
  initCallback: (cb: (event: MessageEvent) => void) => void;
37
- handleMessageToDecode: ({ schema, buffer, topic }: FoxgloveMessage) => void;
39
+ handleMessageToDecode: ({ schema, buffer, topic, neuralCameraIntrinsics }: FoxgloveMessage & {
40
+ neuralCameraIntrinsics: NeuralCameraIntrinsics;
41
+ }) => void;
38
42
  };
39
43
  //# sourceMappingURL=deserialization.worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"deserialization.worker.d.ts","sourceRoot":"","sources":["../../../../src/messaging/deserialization.worker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,OAAO,EAA4B,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAIjG,OAAO,EAA+B,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAG7F,OAAO,EAAE,YAAY,EAAW,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAQ,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAG7D,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC,GAAG,CACE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAClD,CAAC;AAkGJ,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK,IAAI,CAAC;IAC1D,qBAAqB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAG,EAAE,eAAe,KAAK,IAAI,CAAC;CAC9E,CAAA"}
1
+ {"version":3,"file":"deserialization.worker.d.ts","sourceRoot":"","sources":["../../../../src/messaging/deserialization.worker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGxE,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAEtG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAGpF,OAAO,EAA+B,KAAK,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAIlG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,KAAK,YAAY,EAAW,MAAM,uCAAuC,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,KAAK,QAAQ,EAAQ,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAE1F,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC,GAAG,CACE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,aAAa,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,uBAAuB,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,wBAAwB,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAClD,CAAC;AAmGJ,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK,IAAI,CAAC;IAC1D,qBAAqB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,sBAAsB,EAAG,EAAE,eAAe,GAAG;QAAE,sBAAsB,EAAE,sBAAsB,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1J,CAAA"}
@@ -9,10 +9,10 @@ import { deserializeColorFrame } from "./deserialization/video/color.js";
9
9
  import { deserializeDepthFrame } from "./deserialization/video/depth.js";
10
10
  import { deserializeEncodedFrameH264 } from "./deserialization/video/h264.js";
11
11
  import { deserializeMJPEGFrame } from "./deserialization/video/mjpeg.js";
12
+ import { protobufsBySchema } from "./protobuf";
12
13
  import { parseMessage } from "./utils.js";
13
14
  import { Profile } from "../protobuf.generated/EncodedFrame.js";
14
15
  import { Type } from "../protobuf.generated/ImgFrame.js";
15
- import { protobufsBySchema } from "./protobuf";
16
16
  const topicDecoders = new Map();
17
17
  const topicSizes = new Map();
18
18
  let callback;
@@ -33,7 +33,7 @@ function handleMessageToDecode({ schema, buffer, topic }) {
33
33
  topicDecoders,
34
34
  message,
35
35
  callback,
36
- type: protobufSchema.type
36
+ type: protobufSchema.type,
37
37
  });
38
38
  }
39
39
  async function deserializeDepthAiMessage(args) {
@@ -61,6 +61,7 @@ async function deserializeDepthAiMessage(args) {
61
61
  break;
62
62
  }
63
63
  case Type.RAW16: {
64
+ // Used for point cloud
64
65
  await deserializeDepthFrame({ topic, message, callback });
65
66
  break;
66
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deserialization.worker.js","sourceRoot":"","sources":["../../../../src/messaging/deserialization.worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserialization.worker.js","sourceRoot":"","sources":["../../../../src/messaging/deserialization.worker.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAC1D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAmB,MAAM,2CAA2C,CAAC;AACtG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AAExF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAsB,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAqB,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAGnF,OAAO,EAAiB,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAmBxE,MAAM,aAAa,GAAkB,IAAI,GAAG,EAAE,CAAC;AAC/C,MAAM,UAAU,GAAe,IAAI,GAAG,EAAE,CAAC;AACzC,IAAI,QAAuC,CAAC;AAE5C,SAAS,YAAY,CAAC,EAAiC;IACrD,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAmB;IACvE,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEjD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,+BAA+B,MAAM,GAAG,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;IACxF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3D,KAAK,yBAAyB,CAAC;QAC7B,KAAK;QACL,UAAU;QACV,aAAa;QACb,OAAO;QACP,QAAQ;QACR,IAAI,EAAE,cAAc,CAAC,IAAI;KACO,CAAC,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,IAAmC;IAEnC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC;IAE1E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACxE,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;gBACpC,MAAM,2BAA2B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjF,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC5C,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,kCAAkC;YACpC,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACnE,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACzC,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBACpB,MAAM,2BAA2B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC/E,MAAM;gBACR,CAAC;gBACD,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChB,uBAAuB;oBACvB,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAC1D,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YACD,MAAM;QACR,CAAC;QACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,wBAAwB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YACnE,MAAM;QACR,CAAC;QACD,KAAK,uBAAuB,CAAC,CAAC,CAAC;YAC7B,8BAA8B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,MAAM;QACR,CAAC;QACD,KAAK,wBAAwB,CAAC,CAAC,CAAC;YAC9B,+CAA+C;YAC/C,wBAAwB,CAAC;gBACvB,KAAK;gBACL,UAAU;gBACV,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAU,CAAC;iBAC1E;gBACD,QAAQ;aACT,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QACD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,yBAAyB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACxD,MAAM;QACR,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,OAAO,CAAC,IAAI,CAAC,8CAA8C,IAAI,GAAG,CAAC,CAAC;YACpE,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAOD,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../../../src/messaging/message-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAC5C,CAAC;AAYF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,cAAc,CAgB5F"}
1
+ {"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../../../src/messaging/message-handler.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;CAC5C,CAAC;AAaF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,cAAc,CAgB5F"}
@@ -7,6 +7,7 @@ function initWorker(callback) {
7
7
  workerWrap.initCallback(Comlink.proxy(callback));
8
8
  return workerWrap;
9
9
  }
10
+ const neuralCameraIntrinsics = JSON.parse(localStorage.getItem("neuralCameraIntrinsics") ?? "{}");
10
11
  export function createMessageHandler(callback) {
11
12
  const workerPool = new Map();
12
13
  return {
@@ -17,7 +18,7 @@ export function createMessageHandler(callback) {
17
18
  worker = newWorker;
18
19
  workerPool.set(topic, newWorker);
19
20
  }
20
- worker.handleMessageToDecode({ schema, buffer, topic });
21
+ worker.handleMessageToDecode({ schema, buffer, topic, neuralCameraIntrinsics });
21
22
  }),
22
23
  };
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../../../src/messaging/message-handler.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAYnC,SAAS,UAAU,CAAC,QAAuC;IACzD,MAAM,UAAU,GAA6B,OAAO,CAAC,IAAI,CACvD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAC9G,CAAC;IAEF,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAuC;IAC1E,MAAM,UAAU,GAA0C,IAAI,GAAG,EAAE,CAAC;IAEpE,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,GAAG,SAAS,CAAC;gBACnB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACnC,CAAC;YAED,MAAO,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC,CAA6B;KAC/B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../../../src/messaging/message-handler.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAanC,SAAS,UAAU,CAAC,QAAuC;IACzD,MAAM,UAAU,GAA6B,OAAO,CAAC,IAAI,CACvD,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAC9G,CAAC;IAEF,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,sBAAsB,GAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,IAAI,CAA0B,CAAC;AAC5H,MAAM,UAAU,oBAAoB,CAAC,QAAuC;IAC1E,MAAM,UAAU,GAA0C,IAAI,GAAG,EAAE,CAAC;IAEpE,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,IAAI,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM,GAAG,SAAS,CAAC;gBACnB,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACnC,CAAC;YAED,MAAO,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAC,sBAAsB,EAAE,CAAC,CAAC;QAClF,CAAC,CAA6B;KAC/B,CAAC;AACJ,CAAC"}
@@ -5,7 +5,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import React from "react";
6
6
  import { Panel, useDetections } from "../components/Panel.js";
7
7
  import { createRenderDelaySampler } from "../components/measure-render-delay";
8
- import { MetricsManager } from "../utils/metrics-manager";
8
+ import { EventMetricsManager } from "../utils/metrics-manager";
9
9
  const ImagePanelComponent = React.lazy(async () => await import("@foxglove/studio-base/panels/Image"));
10
10
  const ImagePanelBody = ({ topic, frameRenderedEvent }) => {
11
11
  const { detections } = useDetections();
@@ -27,7 +27,7 @@ export const ImagePanel = React.memo(function ImagePanel(props) {
27
27
  const [renderedFps, setRenderedFps] = React.useState(undefined);
28
28
  const { averageFrameDelay, addFrameTime } = createRenderDelaySampler();
29
29
  React.useEffect(() => {
30
- renderedFpsMetricsManagerRef.current = new MetricsManager();
30
+ renderedFpsMetricsManagerRef.current = new EventMetricsManager();
31
31
  }, []);
32
32
  // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
33
33
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"ImagePanel.js","sourceRoot":"","sources":["../../../../src/panels/ImagePanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImagePanel.js","sourceRoot":"","sources":["../../../../src/panels/ImagePanel.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import React from "react";
6
6
  import { Panel } from "../components/Panel.js";
7
7
  import { createRenderDelaySampler } from "../components/measure-render-delay.js";
8
- import { MetricsManager } from "../utils/metrics-manager.js";
8
+ import { EventMetricsManager } from "../utils/metrics-manager.js";
9
9
  const ThreeDeeRenderComponent = React.lazy(async () => await import("@foxglove/studio-base/panels/ThreeDeeRender"));
10
10
  const PointCloudPanelBody = ({ topic, frameRenderedEvent }) => {
11
11
  const neuralCameraIntrinsics = JSON.parse(localStorage.getItem("neuralCameraIntrinsics") ?? "{}");
@@ -44,7 +44,7 @@ export const PointCloudPanel = React.memo(function PointCloudPanel({ topic, togg
44
44
  const [renderedFps, setRenderedFps] = React.useState(undefined);
45
45
  const { averageFrameDelay, addFrameTime } = createRenderDelaySampler();
46
46
  React.useEffect(() => {
47
- renderedFpsMetricsManagerRef.current = new MetricsManager();
47
+ renderedFpsMetricsManagerRef.current = new EventMetricsManager();
48
48
  }, []);
49
49
  // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
50
50
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"PointCloudPanel.js","sourceRoot":"","sources":["../../../../src/panels/PointCloudPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PointCloudPanel.js","sourceRoot":"","sources":["../../../../src/panels/PointCloudPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
- export declare class MetricsManager {
1
+ export declare class EventMetricsManager {
2
2
  metrics: Record<string, number[]>;
3
3
  registerEvent(topic: string): void;
4
4
  calculate(topic: string): number;
5
5
  }
6
+ export declare class ThroughputMetricsManager {
7
+ metrics: Record<string, {
8
+ timestamp: number;
9
+ value: number;
10
+ }[]>;
11
+ registerEvent(topic: string, value: number): void;
12
+ calculate(topic: string): number;
13
+ }
6
14
  //# sourceMappingURL=metrics-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-manager.d.ts","sourceRoot":"","sources":["../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"AAIA,qBAAa,cAAc;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAEvC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQlC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAkBxC"}
1
+ {"version":3,"file":"metrics-manager.d.ts","sourceRoot":"","sources":["../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"AAUA,qBAAa,mBAAmB;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAEvC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQlC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAkBxC;AAED,qBAAa,wBAAwB;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAM;IAErE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAQjD,SAAS,CAAC,KAAK,EAAE,MAAM;CAwB/B"}
@@ -1,14 +1,18 @@
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
- export class MetricsManager {
4
+ const MAX_SAMPLE_SIZE = 100;
5
+ function bytesToMegabytes(bytes) {
6
+ return bytes / (1024 * 1024);
7
+ }
8
+ export class EventMetricsManager {
5
9
  metrics = {};
6
10
  registerEvent(topic) {
7
11
  const currentTime = performance.now();
8
12
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
9
13
  this.metrics[topic] ??= [];
10
14
  this.metrics[topic].unshift(currentTime);
11
- this.metrics[topic].length = 100;
15
+ this.metrics[topic].length = MAX_SAMPLE_SIZE;
12
16
  }
13
17
  calculate(topic) {
14
18
  const topicMetrics = this.metrics[topic];
@@ -26,4 +30,31 @@ export class MetricsManager {
26
30
  return Math.round(fps);
27
31
  }
28
32
  }
33
+ export class ThroughputMetricsManager {
34
+ metrics = {};
35
+ registerEvent(topic, value) {
36
+ const timestamp = performance.now();
37
+ this.metrics[topic] ??= [];
38
+ this.metrics[topic].unshift({ timestamp, value });
39
+ this.metrics[topic].length = MAX_SAMPLE_SIZE;
40
+ }
41
+ calculate(topic) {
42
+ const topicMetrics = this.metrics[topic];
43
+ if (!topicMetrics || topicMetrics.length < 2) {
44
+ return 0;
45
+ }
46
+ // Get time span in seconds
47
+ const timeSpanMs = topicMetrics[0].timestamp - topicMetrics[topicMetrics.length - 1].timestamp;
48
+ const timeSpanSec = timeSpanMs / 1000;
49
+ if (timeSpanSec === 0) {
50
+ return 0;
51
+ }
52
+ // Sum up all values (bytes)
53
+ const totalBytes = topicMetrics.reduce((sum, metric) => sum + metric.value, 0);
54
+ // Calculate bytes per second
55
+ const bytesPerSecond = totalBytes / timeSpanSec;
56
+ // Return rounded value
57
+ return Number(bytesToMegabytes(bytesPerSecond).toFixed(2));
58
+ }
59
+ }
29
60
  //# sourceMappingURL=metrics-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-manager.js","sourceRoot":"","sources":["../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,MAAM,OAAO,cAAc;IAClB,OAAO,GAA6B,EAAE,CAAC;IAEvC,aAAa,CAAC,KAAa;QAChC,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACtC,uEAAuE;QACvE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAE,CAAC,MAAM,GAAG,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
+ {"version":3,"file":"metrics-manager.js","sourceRoot":"","sources":["../../../../src/utils/metrics-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"poitcloud-sync.d.ts","sourceRoot":"","sources":["../../../../src/utils/poitcloud-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEzF,qBAAa,sBAAsB;;IA+B1B,YAAY,EAAE,wBAAwB,EAAE,CAAM;IAE9C,QAAQ,CAAC,IAAI,EAAC,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAatD,QAAQ,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI;CAOvD"}
1
+ {"version":3,"file":"poitcloud-sync.d.ts","sourceRoot":"","sources":["../../../../src/utils/poitcloud-sync.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEzF,qBAAa,sBAAsB;;IAwC1B,YAAY,EAAE,wBAAwB,EAAE,CAAM;IAG9C,QAAQ,CAAC,IAAI,EAAC,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAsBtD,QAAQ,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI;CAOvD"}
@@ -15,7 +15,10 @@ export class PoitCloudSyncFramework {
15
15
  // biome-ignore lint/style/noNonNullAssertion:
16
16
  const midKey = arr[mid].timestamp.nsec;
17
17
  if (midKey === targetKey) {
18
- return { res: bestMatch, index: left };
18
+ if ((Math.abs(midKey - targetKey) / 10 ** 9) < this.#MAX_DELAY_SEC) {
19
+ return { res: bestMatch, index: left };
20
+ }
21
+ return { res: null, index: mid };
19
22
  }
20
23
  if (midKey < targetKey) {
21
24
  bestMatch = arr[mid];
@@ -25,10 +28,14 @@ export class PoitCloudSyncFramework {
25
28
  right = mid - 1;
26
29
  }
27
30
  }
28
- return { res: bestMatch, index: left };
31
+ if (bestMatch && (Math.abs(bestMatch.timestamp.nsec - targetKey) / 10 ** 9) < this.#MAX_DELAY_SEC) {
32
+ return { res: bestMatch, index: left };
33
+ }
34
+ return { res: null, index: left };
29
35
  }
30
36
  storedFrames = [];
31
- #MAX_STORED_FRAMES = 10;
37
+ #MAX_DELAY_SEC = 0.01;
38
+ #MAX_STORED_FRAMES = 15;
32
39
  getFrame(nsec) {
33
40
  const { res, index = 0 } = this.#binarySearch(this.storedFrames, nsec);
34
41
  // cleans the array
@@ -38,8 +45,14 @@ export class PoitCloudSyncFramework {
38
45
  if (res) {
39
46
  return res;
40
47
  }
41
- // biome-ignore lint/style/noNonNullAssertion: We somehow need to return
42
- return this.storedFrames.pop();
48
+ const popedFrame = this.storedFrames.pop();
49
+ if (popedFrame) {
50
+ if ((Math.abs(popedFrame.timestamp.nsec - nsec) / 10 ** 9) < this.#MAX_DELAY_SEC) {
51
+ return popedFrame;
52
+ }
53
+ this.storedFrames.push(popedFrame);
54
+ }
55
+ return null;
43
56
  }
44
57
  addFrame(frame) {
45
58
  if (Object.keys(this.storedFrames).length > this.#MAX_STORED_FRAMES) {
@@ -1 +1 @@
1
- {"version":3,"file":"poitcloud-sync.js","sourceRoot":"","sources":["../../../../src/utils/poitcloud-sync.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,sBAAsB;IACjC,aAAa,CAAC,GAA+B,EAAE,SAAiB;QAC9D,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,IAAI,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;QACvB,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,EAAE,CAAC;YACvC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,+CAA+C;YAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAE,CAAC,SAAS,CAAC,IAAI,CAAC;YAExC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACzC,CAAC;YACD,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;gBACvB,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;IACM,YAAY,GAA+B,EAAE,CAAC;IACrD,kBAAkB,GAAG,EAAE,CAAC;IACjB,QAAQ,CAAC,IAAW;QACzB,MAAM,EAAE,GAAG,EAAE,KAAK,GAAC,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrE,mBAAmB;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;QACD,yEAAyE;QACzE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAG,CAAC;IAClC,CAAC;IACM,QAAQ,CAAC,KAA+B;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpE,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;CAEF"}
1
+ {"version":3,"file":"poitcloud-sync.js","sourceRoot":"","sources":["../../../../src/utils/poitcloud-sync.ts"],"names":[],"mappings":"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"}