@luxonis/visualizer-protobuf 2.0.0 → 2.0.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 (91) hide show
  1. package/dist/apps/depthai-visualizer/src/connection/adapter.d.ts +3 -2
  2. package/dist/apps/depthai-visualizer/src/connection/adapter.d.ts.map +1 -1
  3. package/dist/apps/depthai-visualizer/src/connection/adapter.js.map +1 -1
  4. package/dist/apps/depthai-visualizer/src/connection/communicator.d.ts +1 -1
  5. package/dist/apps/depthai-visualizer/src/connection/communicator.d.ts.map +1 -1
  6. package/dist/apps/depthai-visualizer/src/connection/communicator.js +1 -1
  7. package/dist/apps/depthai-visualizer/src/connection/communicator.js.map +1 -1
  8. package/dist/apps/depthai-visualizer/src/connection/connection.d.ts +3 -1
  9. package/dist/apps/depthai-visualizer/src/connection/connection.d.ts.map +1 -1
  10. package/dist/apps/depthai-visualizer/src/connection/connection.js +3 -2
  11. package/dist/apps/depthai-visualizer/src/connection/connection.js.map +1 -1
  12. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.d.ts +8 -0
  13. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.d.ts.map +1 -0
  14. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.js +137 -0
  15. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.js.map +1 -0
  16. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.d.ts +43 -26
  17. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.d.ts.map +1 -1
  18. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.js +59 -92
  19. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.js.map +1 -1
  20. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker.js +13 -2
  21. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker.js.map +1 -1
  22. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.js +1 -1
  23. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.js.map +1 -1
  24. package/dist/apps/depthai-visualizer/src/index.d.ts +0 -1
  25. package/dist/apps/depthai-visualizer/src/index.d.ts.map +1 -1
  26. package/dist/apps/depthai-visualizer/src/index.js +0 -1
  27. package/dist/apps/depthai-visualizer/src/index.js.map +1 -1
  28. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/custom.d.ts.map +1 -1
  29. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/custom.js +37 -17
  30. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/custom.js.map +1 -1
  31. package/dist/apps/depthai-visualizer/src/protobuf.generated/EncodedFrame.d.ts.map +1 -1
  32. package/dist/apps/depthai-visualizer/src/protobuf.generated/EncodedFrame.js +0 -3
  33. package/dist/apps/depthai-visualizer/src/protobuf.generated/EncodedFrame.js.map +1 -1
  34. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImageAnnotations.d.ts.map +1 -1
  35. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImageAnnotations.js +0 -3
  36. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  37. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgDetections.d.ts.map +1 -1
  38. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgDetections.js +0 -3
  39. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgDetections.js.map +1 -1
  40. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgFrame.d.ts.map +1 -1
  41. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgFrame.js +0 -3
  42. package/dist/apps/depthai-visualizer/src/protobuf.generated/ImgFrame.js.map +1 -1
  43. package/dist/apps/depthai-visualizer/src/protobuf.generated/PointCloudData.d.ts.map +1 -1
  44. package/dist/apps/depthai-visualizer/src/protobuf.generated/PointCloudData.js +0 -3
  45. package/dist/apps/depthai-visualizer/src/protobuf.generated/PointCloudData.js.map +1 -1
  46. package/dist/apps/depthai-visualizer/src/protobuf.generated/SpatialImgDetections.d.ts.map +1 -1
  47. package/dist/apps/depthai-visualizer/src/protobuf.generated/SpatialImgDetections.js +0 -3
  48. package/dist/apps/depthai-visualizer/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  49. package/dist/apps/depthai-visualizer/src/protobuf.generated/common.d.ts.map +1 -1
  50. package/dist/apps/depthai-visualizer/src/protobuf.generated/common.js +0 -3
  51. package/dist/apps/depthai-visualizer/src/protobuf.generated/common.js.map +1 -1
  52. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.d.ts +6 -0
  53. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.d.ts.map +1 -0
  54. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.js +16 -0
  55. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.js.map +1 -0
  56. package/dist/apps/depthai-visualizer/src/utils/encoding.d.ts.map +1 -1
  57. package/dist/{communicator-D_EeiIbd.js → communicator-ZAqNuwq6.js} +37 -23
  58. package/dist/{index-doJtQKmP.js → index-BPkCb-qN.js} +3 -4
  59. package/dist/{index-Al0pDnqr.js → index-BS1BKdpU.js} +3 -4
  60. package/dist/{index-DpXY8ing.js → index-BarbRpkf.js} +3 -4
  61. package/dist/{index-CnbrHWCd.js → index-Bg_SBKcj.js} +3 -4
  62. package/dist/{index-BOSrUvKZ.js → index-C1jY05Dy.js} +3 -4
  63. package/dist/{index-QNisWGZ4.js → index-CKhCSBGi.js} +3 -4
  64. package/dist/{index-CgoOLCnB.js → index-CLrFiqp0.js} +10 -7
  65. package/dist/{index-r1jTO4Ay.js → index-COiPTu-O.js} +3 -4
  66. package/dist/{index-DudYiuIt.js → index-CdE_fknn.js} +3 -4
  67. package/dist/{index-BeQsiPfT.js → index-D6Z2XgEd.js} +3 -4
  68. package/dist/{index-IoSJKto7.js → index-D7G90Nuw.js} +4 -5
  69. package/dist/{index-BfF6NM_p.js → index-D8Bx_kL-.js} +3 -4
  70. package/dist/{index-FOw7-sDA.js → index-DFFtL_uP.js} +3 -4
  71. package/dist/{index-D-Et9RVh.js → index-DULznPlC.js} +3 -4
  72. package/dist/{index-DQCAxiet.js → index-D_KeDxU5.js} +544 -44
  73. package/dist/{index-BtdqjdG0.js → index-MKv43hnI.js} +3 -4
  74. package/dist/{index-By94udNp.js → index-PZaaEO31.js} +3 -4
  75. package/dist/{index-M-zdB4A1.js → index-XkjbxWyS.js} +3 -4
  76. package/dist/{index-D0vwBTE3.js → index-sK4DWbBt.js} +3 -4
  77. package/dist/index.js +3 -4
  78. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.js +3 -3
  79. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.js.map +1 -1
  80. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.d.ts +8 -0
  81. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.d.ts.map +1 -1
  82. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.js +2 -0
  83. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.js.map +1 -1
  84. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.d.ts +2 -0
  85. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.d.ts.map +1 -1
  86. package/dist/worker-ByVSTHSI.js +102 -0
  87. package/dist/{worker-1z9jlpUn.js → worker-DlZ2xp8p.js} +2 -2
  88. package/dist/{worker-utils-DfViKOHw.js → worker-utils-BNThsbdN.js} +2 -2
  89. package/package.json +2 -2
  90. package/dist/worker-DNYPTnyn.js +0 -9
  91. package/dist/worker-utils-BbyBpOVt.js +0 -453
@@ -1,5 +1,6 @@
1
- import { FoxgloveAdapterInputMessage } from "./communicator.js";
1
+ import { FoxgloveAdapterInputMessage, FoxgloveAdapterOutputMessage } from "./communicator.js";
2
2
  import { PublicChannelData, VisualizerConnection, ServiceRequestArgs } from "./connection.js";
3
+ import { ArtificialWorker } from "../utils/artificial-worker.js";
3
4
  export type EventData = {
4
5
  channels: PublicChannelData[] | null;
5
6
  services: string[] | null;
@@ -26,7 +27,7 @@ export declare class FoxgloveWebSocketAdapter extends EventTarget implements Web
26
27
  readonly CLOSED: 3;
27
28
  constructor(data: (FoxgloveAdapterInputMessage & {
28
29
  type: 'open';
29
- })['data'], worker: Worker);
30
+ })['data'], worker: Worker | ArtificialWorker<FoxgloveAdapterOutputMessage, WorkerEventMap>);
30
31
  on: VisualizerConnection["on"];
31
32
  off: VisualizerConnection["off"];
32
33
  close(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/connection/adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAgC,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAI9F,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC3B,CAAA;AAED,qBAAa,wBAAyB,SAAQ,WAAY,YAAW,SAAS;;IAIrE,UAAU,EAAE,MAAM,GAAG,aAAa,CAAiB;IACnD,QAAQ,EAAE,MAAM,CAAM;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAM;IACxB,cAAc,EAAE,MAAM,CAAK;IAC3B,UAAU,EAAE,MAAM,CAAoB;IAEtC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAC7E,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAC5E,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAC7E,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAEtF,sCAAsC;IACtC,SAAgB,UAAU,IAAwB;IAClD,wDAAwD;IACxD,SAAgB,IAAI,IAAkB;IACtC,oDAAoD;IACpD,SAAgB,OAAO,IAAqB;IAC5C,uDAAuD;IACvD,SAAgB,MAAM,IAAoB;gBAuEvB,IAAI,EAAE,CAAC,2BAA2B,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM;IAU1F,EAAE,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAQpC;IAEM,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAErC;IAEK,KAAK,IAAI,IAAI;IAQP,OAAO,CAAC,EACnB,IAAI,EACJ,OAAkC,EAClC,cAAsB,EACtB,IAAS,EACV,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwCzC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG;QAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAGrH"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/connection/adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAIjE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IACrC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC3B,CAAA;AAED,qBAAa,wBAAyB,SAAQ,WAAY,YAAW,SAAS;;IAIrE,UAAU,EAAE,MAAM,GAAG,aAAa,CAAiB;IACnD,QAAQ,EAAE,MAAM,CAAM;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAM;IACxB,cAAc,EAAE,MAAM,CAAK;IAC3B,UAAU,EAAE,MAAM,CAAoB;IAEtC,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAC7E,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAC5E,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAC7E,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAa;IAEtF,sCAAsC;IACtC,SAAgB,UAAU,IAAwB;IAClD,wDAAwD;IACxD,SAAgB,IAAI,IAAkB;IACtC,oDAAoD;IACpD,SAAgB,OAAO,IAAqB;IAC5C,uDAAuD;IACvD,SAAgB,MAAM,IAAoB;gBAwExC,IAAI,EAAE,CAAC,2BAA2B,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,MAAM,CAAC,EAC9D,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC,4BAA4B,EAAE,cAAc,CAAC;IAW1E,EAAE,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAQpC;IAEM,GAAG,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAErC;IAEK,KAAK,IAAI,IAAI;IAQP,OAAO,CAAC,EACnB,IAAI,EACJ,OAAkC,EAClC,cAAsB,EACtB,IAAS,EACV,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAwCzC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG;QAAE,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAGrH"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/connection/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/connection/adapter.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ export declare abstract class FoxgloveCommunicator {
75
75
  protected handleChannelsUnadvertisement(channels: number[]): void;
76
76
  protected handleServicesAdvertisement(services: Service[]): void;
77
77
  protected handleServicesUnadvertisement(services: number[]): void;
78
- protected handleServiceResponses(response: ServiceCallResponse): void;
78
+ protected handleServiceResponse(response: Pick<ServiceCallResponse, 'callId' | 'data'>): void;
79
79
  protected handleGenericMessage(subscriptionId: number, data: DataView): void;
80
80
  protected callService({ name, serviceCallId, body }: (FoxgloveAdapterInputMessage & {
81
81
  type: "call_service";
@@ -1 +1 @@
1
- {"version":3,"file":"communicator.d.ts","sourceRoot":"","sources":["../../../../../src/connection/communicator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communicator.d.ts","sourceRoot":"","sources":["../../../../../src/connection/communicator.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,7 @@ export class FoxgloveCommunicator {
58
58
  const data = this.#getPublicServices();
59
59
  this.send({ type: "services", data });
60
60
  }
61
- handleServiceResponses(response) {
61
+ handleServiceResponse(response) {
62
62
  const name = this.#serviceCalls.get(response.callId) ?? 'unknown';
63
63
  this.#serviceCalls.delete(response.callId);
64
64
  this.sendWithTransfer({
@@ -1 +1 @@
1
- {"version":3,"file":"communicator.js","sourceRoot":"","sources":["../../../../../src/connection/communicator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communicator.js","sourceRoot":"","sources":["../../../../../src/connection/communicator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { WebRtcConfig } from "@luxonis/remote-connection";
2
+ import { FoxgloveAdapterOutputMessage } from "./communicator.js";
2
3
  import { FoxgloveConnection } from "./foxglove-connection.js";
3
4
  import { ProtobufKind } from "../messaging/protobuf.js";
5
+ import { ArtificialWorker } from "../utils/artificial-worker.js";
4
6
  export type PublicChannelData = {
5
7
  topic: string;
6
8
  kind: ProtobufKind;
@@ -29,7 +31,7 @@ export type VisualizerConnectionArgs = ({
29
31
  config: WebRtcConfig;
30
32
  };
31
33
  }) & {
32
- worker?: Worker;
34
+ worker?: Worker | ArtificialWorker<FoxgloveAdapterOutputMessage, WorkerEventMap>;
33
35
  };
34
36
  export declare class VisualizerConnection<CustomMessage = never> extends FoxgloveConnection {
35
37
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../src/connection/connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,aAAa,IAAI;IAC9C,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAClE,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3E,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC;IACtC,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C,GAAG;IACF,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAA;CAC/C,CAAC,GAAG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,qBAAa,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAE,SAAQ,kBAAkB;;gBAK9D,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAe5D,KAAK,IAAI,IAAI;IAIb,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,aAAa,CAAC,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC7C,IAAI;IAIA,GAAG,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,aAAa,CAAC,EAC1D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC7C,IAAI;IAIM,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAMxE,IAAW,SAAS,IAAI,OAAO,CAE9B;CA8BF"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../../src/connection/connection.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EAAE,4BAA4B,EAAmB,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,aAAa,IAAI;IAC9C,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAClE,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,KAAK,IAAI,CAAC;IAC3E,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC;IACtC,IAAI,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C,GAAG;IACF,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,CAAA;CAC/C,CAAC,GAAG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAA;CACjF,CAAA;AAED,qBAAa,oBAAoB,CAAC,aAAa,GAAG,KAAK,CAAE,SAAQ,kBAAkB;;gBAK9D,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,wBAAwB;IAe5D,KAAK,IAAI,IAAI;IAIb,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,aAAa,CAAC,EACzD,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC7C,IAAI;IAIA,GAAG,CAAC,CAAC,SAAS,MAAM,kBAAkB,CAAC,aAAa,CAAC,EAC1D,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC7C,IAAI;IAIM,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAMxE,IAAW,SAAS,IAAI,OAAO,CAE9B;CA6BF"}
@@ -4,6 +4,7 @@
4
4
  import { PlayerPresence } from "@foxglove/studio-base/players/types";
5
5
  import { FoxgloveWebSocketAdapter } from "./adapter.js";
6
6
  import { FoxgloveConnection } from "./foxglove-connection.js";
7
+ import { WebRtcBridge } from "./webrtc/bridge.js";
7
8
  export class VisualizerConnection extends FoxgloveConnection {
8
9
  #url = null;
9
10
  #config = null;
@@ -17,7 +18,7 @@ export class VisualizerConnection extends FoxgloveConnection {
17
18
  }
18
19
  else {
19
20
  this.#config = data.config;
20
- finalWorker ??= new Worker(new URL("./webrtc/worker", import.meta.url), { type: "module" });
21
+ finalWorker ??= new WebRtcBridge();
21
22
  }
22
23
  this.#open(finalWorker);
23
24
  }
@@ -45,7 +46,7 @@ export class VisualizerConnection extends FoxgloveConnection {
45
46
  this.onMessagePacket.bind(this)(event);
46
47
  });
47
48
  this.#adapter.addEventListener("close", this.#onClose.bind(this));
48
- this.#adapter.onerror = this.#onError.bind(this);
49
+ this.#adapter.addEventListener("error", this.#onClose.bind(this));
49
50
  };
50
51
  #onOpen = () => {
51
52
  this.playerPresence = PlayerPresence.PRESENT;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../src/connection/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../../../src/connection/connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ArtificialWorker } from "../../utils/artificial-worker.js";
2
+ import type { FoxgloveAdapterOutputMessage } from "../communicator.js";
3
+ export declare class WebRtcBridge extends ArtificialWorker<FoxgloveAdapterOutputMessage, WorkerEventMap> {
4
+ #private;
5
+ constructor();
6
+ terminate(): void;
7
+ }
8
+ //# sourceMappingURL=bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/bridge.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAA+B,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAKpG,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,4BAA4B,EAAE,cAAc,CAAC;;;IAa9E,SAAS,IAAI,IAAI;CA+HlC"}
@@ -0,0 +1,137 @@
1
+ // This Source Code Form is subject to the terms of the Mozilla Public
2
+ // License, v2.0. If a copy of the MPL was not distributed with this
3
+ // file, You can obtain one at http://mozilla.org/MPL/2.0/
4
+ import { WebRtcClient } from "@luxonis/remote-connection";
5
+ import { ArtificialWorker } from "../../utils/artificial-worker.js";
6
+ const MESSAGE_CHANNEL_NAME = "message";
7
+ const SYSTEM_CHANNEL_NAME = "system";
8
+ export class WebRtcBridge extends ArtificialWorker {
9
+ #worker;
10
+ #webrtc = null;
11
+ #messageChannel = null;
12
+ #systemChannel = null;
13
+ constructor() {
14
+ super();
15
+ this.#worker = new Worker(new URL("./worker", import.meta.url), { type: "module" });
16
+ this.#setupArtificialWorker();
17
+ }
18
+ terminate() {
19
+ this.#worker.terminate();
20
+ }
21
+ #setupArtificialWorker() {
22
+ this.addEventListener('message', (event) => {
23
+ switch (event.data.type) {
24
+ case 'open': {
25
+ if ('config' in event.data.data) {
26
+ this.#createWebRtc(event.data.data.config);
27
+ }
28
+ break;
29
+ }
30
+ case 'close': {
31
+ break;
32
+ }
33
+ case 'send': {
34
+ break;
35
+ }
36
+ case 'call_service': {
37
+ break;
38
+ }
39
+ }
40
+ });
41
+ }
42
+ #createWebRtc(config) {
43
+ this.#webrtc = new WebRtcClient(config);
44
+ this.#handleWebRtc(this.#webrtc);
45
+ this.#handleMessages();
46
+ }
47
+ #handleWebRtc(client) {
48
+ client.on("connection_established", (connection) => {
49
+ connection.on("data_channel", (channel) => {
50
+ channel.on('close', () => {
51
+ if (channel.label !== MESSAGE_CHANNEL_NAME && channel.label !== SYSTEM_CHANNEL_NAME) {
52
+ return;
53
+ }
54
+ this.#worker.postMessage({
55
+ kind: "connection",
56
+ data: {
57
+ channel: channel.label === MESSAGE_CHANNEL_NAME ? 'message' : 'system',
58
+ ready: false
59
+ }
60
+ });
61
+ });
62
+ if (channel.label === MESSAGE_CHANNEL_NAME) {
63
+ this.#messageChannel = channel;
64
+ channel.on("message", async ({ data }) => {
65
+ const operation = data.getUint8(0);
66
+ const action = operation === 0x01 ? 'message' : operation === 0x03 ? 'service_response' : 'other';
67
+ if (action === 'message') {
68
+ const subscriptionId = data.getUint32(1);
69
+ const payload = new DataView(data.buffer, data.byteOffset + 1 + 4 + 8);
70
+ this.#worker.postMessage({
71
+ kind: "genericMessage",
72
+ data: {
73
+ message: { subscriptionId, data: payload }
74
+ }
75
+ }, [payload.buffer]);
76
+ }
77
+ else {
78
+ const callId = data.getUint32(1 + 4); // op-code + service-id
79
+ const encodingLength = data.getUint32(1 + 4 + 4); // op-code + service-id + call-id
80
+ const payload = new DataView(data.buffer, data.byteOffset + 1 + 4 + 4 + 4 + encodingLength); // op-code + service-id + call-id + encoding-length
81
+ this.#worker.postMessage({
82
+ kind: "systemMessage",
83
+ data: {
84
+ message: {
85
+ op: 'serviceResponse',
86
+ callId,
87
+ data: payload
88
+ }
89
+ }
90
+ }, [payload.buffer]);
91
+ }
92
+ });
93
+ }
94
+ else if (channel.label === SYSTEM_CHANNEL_NAME) {
95
+ this.#systemChannel = channel;
96
+ channel.on("message", async (event) => {
97
+ const message = JSON.parse(event.data);
98
+ this.#worker.postMessage({
99
+ kind: "systemMessage",
100
+ data: { message }
101
+ });
102
+ });
103
+ }
104
+ this.#worker.postMessage({
105
+ kind: "connection",
106
+ data: {
107
+ channel: channel.label === MESSAGE_CHANNEL_NAME ? 'message' : 'system',
108
+ ready: true
109
+ }
110
+ });
111
+ });
112
+ connection.on("connection_closed", () => {
113
+ this.#worker.postMessage({
114
+ kind: "connection",
115
+ data: { channel: null, ready: false }
116
+ });
117
+ });
118
+ });
119
+ }
120
+ #handleMessages() {
121
+ this.#worker.addEventListener('message', (event) => {
122
+ switch (event.data.type) {
123
+ case 'send': {
124
+ const channel = event.data.data.channel === 'message' ? this.#messageChannel : this.#systemChannel;
125
+ if (channel) {
126
+ channel.sendMessage(event.data.data.data);
127
+ }
128
+ break;
129
+ }
130
+ default: {
131
+ this.postMessage(event.data);
132
+ }
133
+ }
134
+ });
135
+ }
136
+ }
137
+ //# sourceMappingURL=bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/bridge.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,YAAY,EAAmC,MAAM,4BAA4B,CAAC;AAG3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAGpE,MAAM,oBAAoB,GAAG,SAAS,CAAC;AACvC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAErC,MAAM,OAAO,YAAa,SAAQ,gBAA8D;IAC9F,OAAO,CAAS;IAEhB,OAAO,GAAwB,IAAI,CAAC;IACpC,eAAe,GAA6B,IAAI,CAAC;IACjD,cAAc,GAA6B,IAAI,CAAC;IAEhD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC/B,CAAC;IAEe,SAAS;QACvB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAgD,EAAE,EAAE;YACpF,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7C,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM;gBACR,CAAC;gBACD,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,aAAa,CAAC,MAAoB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,aAAa,CAAC,MAAoB;QAChC,MAAM,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,EAAE;YACjD,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;gBACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACvB,IAAI,OAAO,CAAC,KAAK,KAAK,oBAAoB,IAAI,OAAO,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;wBACpF,OAAM;oBACR,CAAC;oBACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;wBACvB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE;4BACJ,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;4BACtE,KAAK,EAAE,KAAK;yBACb;qBACF,CAAC,CAAC;gBACL,CAAC,CAAC,CAAA;gBACF,IAAI,OAAO,CAAC,KAAK,KAAK,oBAAoB,EAAE,CAAC;oBAC3C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;oBAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAqC,EAAE,EAAE;wBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACnC,MAAM,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;wBAElG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACzB,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BACzC,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;4BACvE,IAAI,CAAC,OAAO,CAAC,WAAW,CACtB;gCACE,IAAI,EAAE,gBAAgB;gCACtB,IAAI,EAAE;oCACJ,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;iCAC3C;6BAC0B,EAC7B,CAAC,OAAO,CAAC,MAAM,CAAC,CACjB,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB;4BAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iCAAiC;4BACnF,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,mDAAmD;4BAChJ,IAAI,CAAC,OAAO,CAAC,WAAW,CACtB;gCACE,IAAI,EAAE,eAAe;gCACrB,IAAI,EAAE;oCACJ,OAAO,EAAE;wCACP,EAAE,EAAE,iBAAiB;wCACrB,MAAM;wCACN,IAAI,EAAE,OAAO;qCACd;iCACF;6BAC0B,EAC7B,CAAC,OAAO,CAAC,MAAM,CAAC,CACjB,CAAC;wBACJ,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;oBACjD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;oBAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,KAAsC,EAAE,EAAE;wBACrE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAkB,CAAC;wBACxD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;4BACvB,IAAI,EAAE,eAAe;4BACrB,IAAI,EAAE,EAAE,OAAO,EAAE;yBAClB,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBACvB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,CAAC,KAAK,KAAK,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ;wBACtE,KAAK,EAAE,IAAI;qBACZ;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;gBACtC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBACvB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;iBACtC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAA6E,EAAE,EAAE;YACzH,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;oBACnG,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5C,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC;oBACR,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;CACF"}
@@ -1,33 +1,50 @@
1
- import { WebRtcConfig } from "@luxonis/remote-connection";
2
- import { ServiceCallPayload } from "@foxglove/ws-protocol";
3
- import { FoxgloveCommunicator, FoxgloveAdapterInputMessage, FoxgloveAdapterOutputMessage } from "../communicator.js";
4
- export declare class WebRtcWorker extends FoxgloveCommunicator {
5
- #private;
6
- protected send: (message: FoxgloveAdapterOutputMessage) => void;
7
- protected sendWithTransfer: (message: FoxgloveAdapterOutputMessage, transfer: ArrayBuffer[]) => void;
8
- protected isReady(): boolean;
9
- protected sendServiceCallRequest(request: ServiceCallPayload): void;
10
- protected subscribe(channel: number): number;
11
- constructor(config: WebRtcConfig, send: (message: FoxgloveAdapterOutputMessage) => void, sendWithTransfer: (message: FoxgloveAdapterOutputMessage, transfer: ArrayBuffer[]) => void);
12
- rawSend(channel: 'message' | 'system', data: string): void;
13
- close(): void;
14
- callService({ name, serviceCallId, body }: (FoxgloveAdapterInputMessage & {
15
- type: "call_service";
16
- })["data"]): void;
17
- }
18
- export type WebRtcFoxgloveAdapterInputMessage = Exclude<FoxgloveAdapterInputMessage, {
19
- type: 'send' | 'open';
20
- }> | {
21
- type: 'send';
1
+ import type { Advertise, Unadvertise, AdvertiseServices, UnadvertiseServices, ServiceCallPayload } from "@foxglove/ws-protocol";
2
+ import { FoxgloveAdapterOutputMessage, FoxgloveCommunicator } from "../communicator";
3
+ type GenericMessage = {
4
+ subscriptionId: number;
5
+ data: DataView;
6
+ };
7
+ export type SystemMessage = Advertise | Unadvertise | AdvertiseServices | UnadvertiseServices | {
8
+ op: 'serviceResponse';
9
+ callId: number;
10
+ data: DataView;
11
+ };
12
+ export type WebRtcWorkerInputMessage = {
13
+ kind: 'genericMessage';
22
14
  data: {
23
- channel: 'message' | 'system';
24
- message: string;
15
+ message: GenericMessage;
16
+ };
17
+ } | {
18
+ kind: 'systemMessage';
19
+ data: {
20
+ message: SystemMessage;
25
21
  };
26
22
  } | {
27
- type: 'open';
23
+ kind: 'connection';
24
+ data: {
25
+ channel: 'message' | 'system' | null;
26
+ ready: boolean;
27
+ };
28
+ };
29
+ export type WebRtcWorkerOutputMessage = {
30
+ type: 'send';
28
31
  data: {
29
- config: WebRtcConfig;
32
+ channel: 'message' | 'system';
33
+ data: string | DataView;
30
34
  };
31
35
  };
32
- export declare function createWebRtcWorkerMessageListener(send: (message: FoxgloveAdapterOutputMessage) => void, sendWithTransfer: (message: FoxgloveAdapterOutputMessage, transfer: ArrayBuffer[]) => void): (event: MessageEvent<WebRtcFoxgloveAdapterInputMessage>) => Promise<void>;
36
+ export declare class WebRtcHandler extends FoxgloveCommunicator {
37
+ #private;
38
+ protected isReady(): boolean;
39
+ protected send(message: FoxgloveAdapterOutputMessage): void;
40
+ protected sendWithTransfer(message: FoxgloveAdapterOutputMessage, transfer: ArrayBuffer[]): void;
41
+ protected subscribe(channel: number): number;
42
+ sendServiceCallRequest(request: ServiceCallPayload): void;
43
+ handleConnection(data: (WebRtcWorkerInputMessage & {
44
+ kind: 'connection';
45
+ })['data']): void;
46
+ handleGeneric(message: GenericMessage): void;
47
+ handleSystem(message: SystemMessage): void;
48
+ }
49
+ export {};
33
50
  //# sourceMappingURL=worker-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worker-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/worker-utils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgB,YAAY,EAAqB,MAAM,4BAA4B,CAAC;AAE3F,OAAO,EAAe,kBAAkB,EAA6E,MAAM,uBAAuB,CAAC;AAEnJ,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAOrH,qBAAa,YAAa,SAAQ,oBAAoB;;IAsElD,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI;IAC/D,SAAS,CAAC,gBAAgB,EAAE,CAAC,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI;cA3BnF,OAAO,IAAI,OAAO;cAIlB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;cAMzD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;gBAenD,MAAM,EAAE,YAAY,EACV,IAAI,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,EACrD,gBAAgB,EAAE,CAAC,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI;IAS/F,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1D,KAAK,IAAI,IAAI;IAIJ,WAAW,CAAC,EAC1B,IAAI,EACJ,aAAa,EACb,IAAS,EACV,EAAE,CAAC,2BAA2B,GAAG;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;CAG3E;AAED,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC,2BAA2B,EAAE;IAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,GAAG;IAChH,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,MAAM,EAAE,YAAY,CAAA;KACrB,CAAA;CACF,CAAA;AAED,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,EACrD,gBAAgB,EAAE,CAAC,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,GACzF,CAAC,KAAK,EAAE,YAAY,CAAC,iCAAiC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAoB3E"}
1
+ {"version":3,"file":"worker-utils.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/worker-utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAa,MAAM,uBAAuB,CAAC;AAG3I,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAErF,KAAK,cAAc,GAAG;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,iBAAiB,GAAG,mBAAmB,GAAG;IAC9F,EAAE,EAAE,iBAAiB,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE;QACJ,OAAO,EAAE,cAAc,CAAA;KACxB,CAAA;CACF,GAAG;IACF,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE;QACJ,OAAO,EAAE,aAAa,CAAA;KACvB,CAAA;CACF,GAAG;IACF,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;QACrC,KAAK,EAAE,OAAO,CAAA;KACf,CAAA;CACF,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC9B,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;KACxB,CAAA;CACF,CAAA;AAED,qBAAa,aAAc,SAAQ,oBAAoB;;cAKlC,OAAO,IAAI,OAAO;cAIlB,IAAI,CAAC,OAAO,EAAE,4BAA4B,GAAG,IAAI;cAIjD,gBAAgB,CAAC,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;cAItF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAoBrC,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAUlE,gBAAgB,CAAC,IAAI,EAAE,CAAC,wBAAwB,GAAG;QAAE,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI;IASzF,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAI5C,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;CAwBlD"}
@@ -1,114 +1,81 @@
1
1
  // This Source Code Form is subject to the terms of the Mozilla Public
2
2
  // License, v2.0. If a copy of the MPL was not distributed with this
3
3
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
4
- import { WebRtcClient } from "@luxonis/remote-connection";
5
- import { FoxgloveCommunicator } from "../communicator.js";
6
- const MESSAGE_CHANNEL_NAME = "message";
7
- const SYSTEM_CHANNEL_NAME = "system";
8
- export class WebRtcWorker extends FoxgloveCommunicator {
9
- send;
10
- sendWithTransfer;
11
- #webrtc;
12
- #messageChannel = null;
13
- #systemChannel = null;
14
- #isReady = false;
4
+ import { recordToDataView } from "../../utils/encoding";
5
+ import { FoxgloveCommunicator } from "../communicator";
6
+ export class WebRtcHandler extends FoxgloveCommunicator {
15
7
  #subscriptionId = 0;
16
- #createWebRtc(config) {
17
- this.#webrtc = new WebRtcClient(config);
18
- }
19
- #handleMessages() {
20
- this.#webrtc.on("connection_established", (connection) => {
21
- connection.on("data_channel", (channel) => {
22
- // this.#onOpen(); // TODO:
23
- if (channel.label === MESSAGE_CHANNEL_NAME) {
24
- this.#messageChannel = channel;
25
- channel.on("message", async ({ data: { subscriptionId, data } }) => { this.handleGenericMessage(subscriptionId, data); });
26
- }
27
- else if (channel.label === SYSTEM_CHANNEL_NAME) {
28
- this.#systemChannel = channel;
29
- channel.on("message", async (event) => {
30
- // TODO: Handle service call responses
31
- const message = JSON.parse(event.data);
32
- if (message.op === "advertise") {
33
- this.handleChannelsAdvertisement(message.channels);
34
- }
35
- else if (message.op === 'unadvertise') {
36
- this.handleChannelsUnadvertisement(message.channelIds);
37
- }
38
- else if (message.op === 'advertiseServices') {
39
- this.handleServicesAdvertisement(message.services);
40
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
41
- }
42
- else if (message.op === 'unadvertiseServices') {
43
- this.handleServicesUnadvertisement(message.serviceIds);
44
- }
45
- });
46
- }
47
- });
48
- connection.on("connection_closed", () => {
49
- // this.#onClose(); // TODO:
50
- });
51
- });
52
- }
8
+ #messageReady = false;
9
+ #systemReady = false;
53
10
  isReady() {
54
- return this.#isReady;
11
+ return this.#messageReady && this.#systemReady;
55
12
  }
56
- ;
57
- sendServiceCallRequest(request) {
58
- // TODO: Should be binary
59
- // https://github.com/foxglove/ws-protocol/blob/main/docs/spec.md#service-call-request
60
- this.#messageChannel?.sendMessage(JSON.stringify(request));
13
+ send(message) {
14
+ self.postMessage(message);
15
+ }
16
+ sendWithTransfer(message, transfer) {
17
+ self.postMessage(message, transfer);
61
18
  }
62
19
  subscribe(channel) {
63
20
  this.#subscriptionId += 1;
64
- this.#systemChannel?.sendMessage(JSON.stringify({
65
- op: 'subscribe',
66
- subscriptions: [{
67
- id: this.#subscriptionId,
68
- channelId: channel
69
- }]
70
- }));
21
+ self.postMessage({
22
+ type: 'send',
23
+ data: {
24
+ channel: 'system',
25
+ data: recordToDataView({
26
+ op: 'subscribe',
27
+ subscriptions: [{
28
+ id: this.#subscriptionId,
29
+ channelId: channel
30
+ }]
31
+ })
32
+ }
33
+ });
71
34
  return this.#subscriptionId;
72
35
  }
73
- constructor(config, send, sendWithTransfer) {
74
- super();
75
- this.send = send;
76
- this.sendWithTransfer = sendWithTransfer;
77
- this.#createWebRtc(config);
78
- this.#handleMessages();
36
+ sendServiceCallRequest(request) {
37
+ self.postMessage({
38
+ type: 'send',
39
+ data: {
40
+ channel: 'message',
41
+ data: recordToDataView(request)
42
+ }
43
+ });
79
44
  }
80
- // TODO: binary support
81
- rawSend(channel, data) {
82
- if (this.isReady()) {
83
- const target = channel === 'message' ? this.#messageChannel : this.#systemChannel;
84
- target?.sendMessage(data);
45
+ handleConnection(data) {
46
+ if (!data.channel || data.channel === 'message') {
47
+ this.#messageReady = data.ready;
48
+ }
49
+ if (!data.channel || data.channel === 'system') {
50
+ this.#systemReady = data.ready;
85
51
  }
86
52
  }
87
- close() {
88
- this.#webrtc.dispose("Connection closed");
89
- }
90
- callService({ name, serviceCallId, body = {} }) {
91
- super.callService({ name, serviceCallId, body });
53
+ handleGeneric(message) {
54
+ this.handleGenericMessage(message.subscriptionId, message.data);
92
55
  }
93
- }
94
- export function createWebRtcWorkerMessageListener(send, sendWithTransfer) {
95
- let webrtcWorker = null;
96
- return async (event) => {
97
- const { type, data } = event.data;
98
- switch (type) {
99
- case "open":
100
- webrtcWorker = new WebRtcWorker(data.config, send, sendWithTransfer);
56
+ handleSystem(message) {
57
+ switch (message.op) {
58
+ case 'advertise': {
59
+ this.handleChannelsAdvertisement(message.channels);
60
+ break;
61
+ }
62
+ case 'unadvertise': {
63
+ this.handleChannelsUnadvertisement(message.channelIds);
101
64
  break;
102
- case "close":
103
- webrtcWorker?.close();
65
+ }
66
+ case 'advertiseServices': {
67
+ this.handleServicesAdvertisement(message.services);
104
68
  break;
105
- case "send":
106
- webrtcWorker?.rawSend(data.channel, data.message);
69
+ }
70
+ case 'unadvertiseServices': {
71
+ this.handleServicesUnadvertisement(message.serviceIds);
107
72
  break;
108
- case "call_service":
109
- webrtcWorker?.callService(data);
73
+ }
74
+ case 'serviceResponse': {
75
+ this.handleServiceResponse(message);
110
76
  break;
77
+ }
111
78
  }
112
- };
79
+ }
113
80
  }
114
81
  //# sourceMappingURL=worker-utils.js.map