@luxonis/visualizer-protobuf 2.18.0 → 2.18.1

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 (55) hide show
  1. package/dist/{deserialization.worker-DsG76nP8.js → deserialization.worker-C9dXbAlS.js} +29 -198
  2. package/dist/{index-BFMXTxLw.js → index-B-Q9SHDe.js} +2 -2
  3. package/dist/{index-DdKOhCXT.js → index-BRTt63KE.js} +2 -2
  4. package/dist/{index-Ci0X5xT3.js → index-BY93INKj.js} +2 -2
  5. package/dist/{index-BWittpbR.js → index-B_wE-TAZ.js} +2 -2
  6. package/dist/{index-BomoqOv5.js → index-Bw0wb_7x.js} +2 -2
  7. package/dist/{index-BT9CBn7l.js → index-C1DjWsph.js} +3 -3
  8. package/dist/{index-4PQpGzhb.js → index-CWyWOStx.js} +2 -2
  9. package/dist/{index-ByIsztCr.js → index-CZ83vGC_.js} +2 -2
  10. package/dist/{index-CrtBH66u.js → index-ClVSD2eR.js} +2 -2
  11. package/dist/{index-CcIi7pJR.js → index-Cn-9uas1.js} +2 -2
  12. package/dist/{index-DUUnuN10.js → index-DD1GBu5y.js} +2 -2
  13. package/dist/{index-CR6XGTJc.js → index-DHft_1uY.js} +61 -30
  14. package/dist/{index-CXThSQcL.js → index-DQCgeYB2.js} +2 -2
  15. package/dist/{index-CJRhjhJ0.js → index-DuOl-R4e.js} +2 -2
  16. package/dist/{index-BeQ1w8aW.js → index-IroDl_1U.js} +2 -2
  17. package/dist/{index-DchGURxJ.js → index-WMQ28NAM.js} +2 -2
  18. package/dist/{index-CcP1Qppv.js → index-hFI4BOol.js} +2 -2
  19. package/dist/{index-CXIVXFcJ.js → index-hGphzS2C.js} +4 -4
  20. package/dist/{index-BQecGu9I.js → index-lMTiVIpT.js} +2 -2
  21. package/dist/index.js +2 -2
  22. package/dist/lib/src/connection/foxglove-connection.d.ts +3 -1
  23. package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
  24. package/dist/lib/src/connection/foxglove-connection.js +11 -2
  25. package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
  26. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts +2 -0
  27. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts.map +1 -0
  28. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +164 -0
  29. package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -0
  30. package/dist/lib/src/messaging/deserialization/pointcloud/utils.d.ts +9 -1
  31. package/dist/lib/src/messaging/deserialization/pointcloud/utils.d.ts.map +1 -1
  32. package/dist/lib/src/messaging/deserialization/pointcloud/utils.js +13 -7
  33. package/dist/lib/src/messaging/deserialization/pointcloud/utils.js.map +1 -1
  34. package/dist/lib/src/messaging/deserialization/video/color.js +1 -1
  35. package/dist/lib/src/messaging/deserialization/video/color.js.map +1 -1
  36. package/dist/lib/src/messaging/deserialization/video/depth.d.ts +14 -3
  37. package/dist/lib/src/messaging/deserialization/video/depth.d.ts.map +1 -1
  38. package/dist/lib/src/messaging/deserialization/video/depth.js +16 -157
  39. package/dist/lib/src/messaging/deserialization/video/depth.js.map +1 -1
  40. package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
  41. package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
  42. package/dist/lib/src/messaging/deserialization.worker.d.ts +15 -11
  43. package/dist/lib/src/messaging/deserialization.worker.d.ts.map +1 -1
  44. package/dist/lib/src/messaging/deserialization.worker.js +6 -5
  45. package/dist/lib/src/messaging/deserialization.worker.js.map +1 -1
  46. package/dist/lib/src/messaging/message-handler.d.ts.map +1 -1
  47. package/dist/lib/src/messaging/message-handler.js +2 -1
  48. package/dist/lib/src/messaging/message-handler.js.map +1 -1
  49. package/dist/lib/src/utils/poitcloud-sync.d.ts.map +1 -1
  50. package/dist/lib/src/utils/poitcloud-sync.js +18 -5
  51. package/dist/lib/src/utils/poitcloud-sync.js.map +1 -1
  52. package/dist/pointcloudFromDepth.worker-CnEm_1b0.js +199 -0
  53. package/dist/{tslib.es6-D98N6tjc.js → tslib.es6-D1dICxG6.js} +15 -8
  54. package/dist/{useMessageReducer-Cg30zaG9.js → useMessageReducer--GRvgQq6.js} +1 -1
  55. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointcloudFromDepth.worker.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,14 @@
1
+ import { type Remote } from "comlink";
1
2
  export declare function uint8ArrayToUint16Array(uint8Array: Uint8Array): Uint16Array;
2
3
  export declare function nv12ToRgbaToPointcloud(nv12Data: Uint8Array, nv12Width: number, nv12Height: number, depthWidth: number, depthHeight: number, data: Uint8Array): Uint8Array;
3
- export declare function i420ToRgbaToPointcloudWorker(i420Data: Uint8Array, i420Width: number, i420Height: number, depthWidth: number, depthHeight: number, data: Uint8Array): Promise<Uint8Array>;
4
+ export declare class i420ToRgbaToPoitcloudWorker {
5
+ protected lastUsedWorkerIndex: number;
6
+ protected workerApis: Remote<{
7
+ i420ToRgbaToPointcloud: (i420Data: Uint8Array, i420Width: number, i420Height: number, depthWidth: number, depthHeight: number, data: Uint8Array) => Promise<Uint8Array>;
8
+ }>[];
9
+ constructor();
10
+ i420ToRgbaToPointcloudWorker(i420Data: Uint8Array, i420Width: number, i420Height: number, depthWidth: number, depthHeight: number, data: Uint8Array): Promise<Uint8Array>;
11
+ }
4
12
  export declare function i420ToRgbaToPointcloud(i420Data: Uint8Array, i420Width: number, i420Height: number, depthWidth: number, depthHeight: number, data: Uint8Array): Uint8Array;
5
13
  type NeuralCameraIntrinsic = {
6
14
  focalLenght: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/utils.ts"],"names":[],"mappings":"AAMA,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CAmB3E;AAID,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,UAAU,CA2CZ;AAiBD,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CAErB;AAGD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,UAAU,CA4CZ;AAED,KAAK,qBAAqB,GAAG;IAC3B,WAAW,EAAE;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,cAAc,EAAE;QACd,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAI;IACpC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,qBAAqB,CAAC;CAC9B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,WAAW,CAmB3E;AAID,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,UAAU,CA2CZ;AAKD,qBAAa,2BAA2B;IACtC,SAAS,CAAC,mBAAmB,SAAK;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;QAC3B,sBAAsB,EAAE,CACtB,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,KACb,OAAO,CAAC,UAAU,CAAC,CAAC;KAC1B,CAAC,EAAE,CAAC;;IAKU,4BAA4B,CACvC,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC;CAOzB;AAID,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,UAAU,GACf,UAAU,CA4CZ;AAED,KAAK,qBAAqB,GAAG;IAC3B,WAAW,EAAE;QACX,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,cAAc,EAAE;QACd,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;CACH,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAI;IACpC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,KAAK,EAAE,qBAAqB,CAAC;CAC9B,CAAC"}
@@ -1,7 +1,6 @@
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
- /// <reference types="@webgpu/types" />
5
4
  import { wrap } from "comlink";
6
5
  export function uint8ArrayToUint16Array(uint8Array) {
7
6
  if (uint8Array.length % 2 !== 0) {
@@ -56,12 +55,19 @@ export function nv12ToRgbaToPointcloud(nv12Data, nv12Width, nv12Height, depthWid
56
55
  }
57
56
  return new Uint8Array(buffer);
58
57
  }
59
- const worker = new Worker(new URL("./i420ToRgbaToPoitcloud.worker.ts", import.meta.url), {
60
- type: "module",
61
- });
62
- const workerApi = wrap(worker);
63
- export async function i420ToRgbaToPointcloudWorker(i420Data, i420Width, i420Height, depthWidth, depthHeight, data) {
64
- return await workerApi.i420ToRgbaToPointcloud(i420Data, i420Width, i420Height, depthWidth, depthHeight, data);
58
+ const WORKER_COUNT = 4;
59
+ export class i420ToRgbaToPoitcloudWorker {
60
+ lastUsedWorkerIndex = 0;
61
+ workerApis;
62
+ constructor() {
63
+ this.workerApis = new Array(WORKER_COUNT).fill(undefined).map(() => wrap(new Worker(new URL("./i420ToRgbaToPoitcloud.worker.ts", import.meta.url), { type: "module" })));
64
+ }
65
+ async i420ToRgbaToPointcloudWorker(i420Data, i420Width, i420Height, depthWidth, depthHeight, data) {
66
+ // biome-ignore lint/style/noNonNullAssertion: This should work
67
+ const workerApi = this.workerApis[this.lastUsedWorkerIndex];
68
+ this.lastUsedWorkerIndex = (this.lastUsedWorkerIndex + 1) % WORKER_COUNT;
69
+ return await workerApi.i420ToRgbaToPointcloud(i420Data, i420Width, i420Height, depthWidth, depthHeight, data);
70
+ }
65
71
  }
66
72
  /* H264 (i420) to RGBA */
67
73
  export function i420ToRgbaToPointcloud(i420Data, i420Width, i420Height, depthWidth, depthHeight, data) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/pointcloud/utils.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { parseMessage } from "../../utils.js";
6
6
  export function deserializeColorFrame({ topic, message, callback }) {
7
7
  const { receiveTime, encoding, step, width, height, stride, planeStride } = parseMessage(message);
8
8
  const foxgloveMessage = {
9
- timestamp: receiveTime,
9
+ timestamp: message.tsDevice ?? receiveTime,
10
10
  frame_id: `color-${topic}-frame`,
11
11
  width,
12
12
  height,
@@ -1 +1 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/color.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAI9F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,OAAO,EACP,QAAQ,EACsB;IAC9B,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAElG,MAAM,eAAe,GAAqB;QACxC,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,SAAS,KAAK,QAAQ;QAChC,KAAK;QACL,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,KAAK,GAAG,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM;QACN,WAAW;KACZ,CAAC;IAEF,QAAQ,CAAC;QACP,KAAK;QACL,WAAW;QACX,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,kBAAkB,CAAC,eAAe,CAAC;QAChD,UAAU,EAAE,mBAAmB;KAChC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/color.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAG1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAI9F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQ9C,MAAM,UAAU,qBAAqB,CAAC,EACpC,KAAK,EACL,OAAO,EACP,QAAQ,EACsB;IAC9B,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAElG,MAAM,eAAe,GAAqB;QACxC,SAAS,EAAE,OAAO,CAAC,QAAQ,IAAI,WAAW;QAC1C,QAAQ,EAAE,SAAS,KAAK,QAAQ;QAChC,KAAK;QACL,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,KAAK,GAAG,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,MAAM;QACN,WAAW;KACZ,CAAC;IAEF,QAAQ,CAAC;QACP,KAAK;QACL,WAAW;QACX,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,kBAAkB,CAAC,eAAe,CAAC;QAChD,UAAU,EAAE,mBAAmB;KAChC,CAAC,CAAC;AACL,CAAC"}
@@ -1,6 +1,8 @@
1
+ import { type Remote } from "comlink";
1
2
  import type { PointCloud } from "@foxglove/schemas";
2
- import { MessageEvent } from "@foxglove/studio-base/players/types";
3
- import { ImgFrame } from "../../../protobuf.generated/ImgFrame.js";
3
+ import type { MessageEvent } from "@foxglove/studio-base/players/types";
4
+ import type { ImgFrame } from "../../../protobuf.generated/ImgFrame.js";
5
+ import { type NeuralCameraIntrinsics } from "../pointcloud/utils.js";
4
6
  export type PointCloudWithDimensions = PointCloud & {
5
7
  width?: number;
6
8
  height?: number;
@@ -9,6 +11,15 @@ export type DeserializeDepthFrameArgs = {
9
11
  topic: string;
10
12
  message: ImgFrame;
11
13
  callback: (event: MessageEvent) => void;
14
+ neuralCameraIntrinsics: NeuralCameraIntrinsics;
12
15
  };
13
- export declare function deserializeDepthFrame({ topic, message, callback }: DeserializeDepthFrameArgs): Promise<void>;
16
+ export declare class depthToPointcloudWorkerPool {
17
+ protected lastUsedWorkerIndex: number;
18
+ protected workerApis: Remote<{
19
+ depthToPointcloudGPU: (depthArray: Uint16Array, width: number, height: number, fx: number, fy: number, cx: number, cy: number) => Promise<Uint8Array>;
20
+ }>[];
21
+ constructor();
22
+ depthToPointcloudGPU(depthArray: Uint16Array, width: number, height: number, fx: number, fy: number, cx: number, cy: number): Promise<Uint8Array>;
23
+ }
24
+ export declare function deserializeDepthFrame({ topic, message, callback, neuralCameraIntrinsics }: DeserializeDepthFrameArgs): Promise<void>;
14
25
  //# sourceMappingURL=depth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/depth.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAInE,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC,CAAC;AA6MF,wBAAsB,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2ClH"}
1
+ {"version":3,"file":"depth.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/depth.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AAExE,OAAO,EAAE,KAAK,sBAAsB,EAA2B,MAAM,wBAAwB,CAAC;AAE9F,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,QAAQ,CAAC;IAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,sBAAsB,EAAE,sBAAsB,CAAC;CAChD,CAAC;AAKF,qBAAa,2BAA2B;IACtC,SAAS,CAAC,mBAAmB,SAAK;IAClC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;QAC3B,oBAAoB,EAAE,CACpB,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,KACP,OAAO,CAAC,UAAU,CAAC,CAAC;KAC1B,CAAC,EAAE,CAAC;;IAKU,oBAAoB,CAC/B,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,UAAU,CAAC;CAOzB;AAGD,wBAAsB,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAC,sBAAsB,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CzI"}
@@ -2,177 +2,36 @@
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
4
  /* eslint-disable no-underscore-dangle */
5
+ import { wrap } from "comlink";
5
6
  import { NumericType } from "@foxglove/schemas";
6
7
  import { estimateObjectSize } from "@foxglove/studio-base/players/messageMemoryEstimation.js";
7
8
  import { parseMessage } from "../../utils.js";
8
9
  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
- }
10
+ const WORKER_COUNT = 3;
11
+ export class depthToPointcloudWorkerPool {
12
+ lastUsedWorkerIndex = 0;
13
+ workerApis;
14
+ constructor() {
15
+ this.workerApis = new Array(WORKER_COUNT).fill(undefined).map(() => wrap(new Worker(new URL("../pointcloud/pointcloudFromDepth.worker.ts", import.meta.url), { type: "module" })));
149
16
  }
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
17
+ async depthToPointcloudGPU(depthArray, width, height, fx, fy, cx, cy) {
18
+ // biome-ignore lint/style/noNonNullAssertion: This should work
19
+ const workerApi = this.workerApis[this.lastUsedWorkerIndex];
20
+ this.lastUsedWorkerIndex = (this.lastUsedWorkerIndex + 1) % WORKER_COUNT;
21
+ return await workerApi.depthToPointcloudGPU(depthArray, width, height, fx, fy, cx, cy);
162
22
  }
163
- return new Uint8Array(buffer);
164
23
  }
165
- export async function deserializeDepthFrame({ topic, message, callback }) {
24
+ const workerPool = new depthToPointcloudWorkerPool();
25
+ export async function deserializeDepthFrame({ topic, message, callback, neuralCameraIntrinsics }) {
166
26
  const { receiveTime, width, height } = parseMessage(message);
167
- const neuralCameraIntrinsics = JSON.parse(localStorage.getItem("neuralCameraIntrinsics") ?? "{}");
168
27
  const uint16Array = uint8ArrayToUint16Array(message.data);
169
28
  const fx = neuralCameraIntrinsics.right.focalLenght.x;
170
29
  const fy = neuralCameraIntrinsics.right.focalLenght.y;
171
30
  const cx = neuralCameraIntrinsics.right.principalPoint.x;
172
31
  const cy = neuralCameraIntrinsics.right.principalPoint.y;
173
- const pointCloudBufferGPU = depthToPointcloudGPU(uint16Array, width, height, fx, fy, cx, cy);
32
+ const pointCloudBufferGPU = workerPool.depthToPointcloudGPU(uint16Array, width, height, fx, fy, cx, cy);
174
33
  const foxgloveMessage = {
175
- timestamp: receiveTime,
34
+ timestamp: message.tsDevice ?? receiveTime,
176
35
  frame_id: `pointcloud-${topic}-frame`,
177
36
  point_stride: 16,
178
37
  pose: {
@@ -1 +1 @@
1
- {"version":3,"file":"depth.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/depth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"depth.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/depth.ts"],"names":[],"mappings":"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"}
@@ -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,17 +9,17 @@ 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;
19
19
  function initCallback(cb) {
20
20
  callback = cb;
21
21
  }
22
- function handleMessageToDecode({ schema, buffer, topic }) {
22
+ function handleMessageToDecode({ schema, buffer, topic, neuralCameraIntrinsics }) {
23
23
  const protobufSchema = protobufsBySchema[schema];
24
24
  if (!protobufSchema) {
25
25
  console.warn(`Unsupported message schema "${schema}"`);
@@ -33,11 +33,12 @@ function handleMessageToDecode({ schema, buffer, topic }) {
33
33
  topicDecoders,
34
34
  message,
35
35
  callback,
36
- type: protobufSchema.type
36
+ type: protobufSchema.type,
37
+ neuralCameraIntrinsics
37
38
  });
38
39
  }
39
40
  async function deserializeDepthAiMessage(args) {
40
- const { topicDecoders, topicSizes, type, message, callback, topic } = args;
41
+ const { topicDecoders, topicSizes, type, message, callback, topic, neuralCameraIntrinsics } = args;
41
42
  switch (type) {
42
43
  case "encodedFrame": {
43
44
  topicSizes.set(topic, { width: message.width, height: message.height });
@@ -61,7 +62,7 @@ async function deserializeDepthAiMessage(args) {
61
62
  break;
62
63
  }
63
64
  case Type.RAW16: {
64
- await deserializeDepthFrame({ topic, message, callback });
65
+ await deserializeDepthFrame({ topic, message, callback, neuralCameraIntrinsics });
65
66
  break;
66
67
  }
67
68
  default: {
@@ -1 +1 @@
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,EAAc,MAAM,2CAA2C,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAiB,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAgB,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAG9E,OAAO,EAAY,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAInE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAgB/C,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,EAAoB;IACxE,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,EAAE,GAAG,IAAI,CAAC;IAE3E,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,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
+ {"version":3,"file":"deserialization.worker.js","sourceRoot":"","sources":["../../../../src/messaging/deserialization.worker.ts"],"names":[],"mappings":"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"}
@@ -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"}
@@ -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) {