@luxonis/visualizer-protobuf 2.0.2 → 2.2.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 (60) hide show
  1. package/dist/apps/depthai-visualizer/src/components/Panel.d.ts.map +1 -1
  2. package/dist/apps/depthai-visualizer/src/components/Panel.js +13 -4
  3. package/dist/apps/depthai-visualizer/src/components/Panel.js.map +1 -1
  4. package/dist/apps/depthai-visualizer/src/components/PanelToolbar.d.ts.map +1 -1
  5. package/dist/apps/depthai-visualizer/src/components/PanelToolbar.js +3 -2
  6. package/dist/apps/depthai-visualizer/src/components/PanelToolbar.js.map +1 -1
  7. package/dist/apps/depthai-visualizer/src/connection/adapter.d.ts +6 -0
  8. package/dist/apps/depthai-visualizer/src/connection/adapter.d.ts.map +1 -1
  9. package/dist/apps/depthai-visualizer/src/connection/adapter.js +6 -0
  10. package/dist/apps/depthai-visualizer/src/connection/adapter.js.map +1 -1
  11. package/dist/apps/depthai-visualizer/src/connection/communicator.d.ts +12 -2
  12. package/dist/apps/depthai-visualizer/src/connection/communicator.d.ts.map +1 -1
  13. package/dist/apps/depthai-visualizer/src/connection/communicator.js +14 -22
  14. package/dist/apps/depthai-visualizer/src/connection/communicator.js.map +1 -1
  15. package/dist/apps/depthai-visualizer/src/connection/connection.d.ts +6 -0
  16. package/dist/apps/depthai-visualizer/src/connection/connection.d.ts.map +1 -1
  17. package/dist/apps/depthai-visualizer/src/connection/connection.js +7 -1
  18. package/dist/apps/depthai-visualizer/src/connection/connection.js.map +1 -1
  19. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.d.ts.map +1 -1
  20. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.js +90 -40
  21. package/dist/apps/depthai-visualizer/src/connection/webrtc/bridge.js.map +1 -1
  22. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.d.ts +38 -3
  23. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.d.ts.map +1 -1
  24. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.js +54 -8
  25. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker-utils.js.map +1 -1
  26. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker.js +15 -0
  27. package/dist/apps/depthai-visualizer/src/connection/webrtc/worker.js.map +1 -1
  28. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.d.ts +2 -1
  29. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.d.ts.map +1 -1
  30. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.js +28 -3
  31. package/dist/apps/depthai-visualizer/src/connection/ws/worker-utils.js.map +1 -1
  32. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.d.ts +3 -0
  33. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.d.ts.map +1 -1
  34. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.js +10 -0
  35. package/dist/apps/depthai-visualizer/src/utils/artificial-worker.js.map +1 -1
  36. package/dist/{communicator-ZAqNuwq6.js → communicator-DKKKAI0H.js} +19 -29
  37. package/dist/{index-WSNQlHZC.js → index-1yvlF6NH.js} +3 -3
  38. package/dist/{index-B68UDyAv.js → index-B3F-eA-i.js} +255 -78
  39. package/dist/{index-B7v9Ptl2.js → index-B4j3EVf8.js} +3 -3
  40. package/dist/{index-uD6dIRaN.js → index-BZjzIIuE.js} +3 -3
  41. package/dist/{index-SWsY2eOm.js → index-BsdqQ862.js} +3 -3
  42. package/dist/{index-CsJJiZos.js → index-C6m30paN.js} +3 -3
  43. package/dist/{index-D502DL2z.js → index-CE1LH59a.js} +3 -3
  44. package/dist/{index-qrTNSyOQ.js → index-Cmp_Tjng.js} +4 -4
  45. package/dist/{index-CX_Do7kl.js → index-Cqzhj8jS.js} +3 -3
  46. package/dist/{index-C04gVVoP.js → index-D0g7yNKD.js} +3 -3
  47. package/dist/{index-CXwbrQKL.js → index-D7I7neMi.js} +3 -3
  48. package/dist/{index-CsyZMo6w.js → index-D_AhdZqi.js} +3 -3
  49. package/dist/{index-Ddm491YR.js → index-Dai0K-_7.js} +3 -3
  50. package/dist/{index-ByP7YJPY.js → index-DbIgJEn4.js} +3 -3
  51. package/dist/{index-T_ckFaRN.js → index-DkDTcHOl.js} +3 -3
  52. package/dist/{index-By6lF-Xz.js → index-DleEaqya.js} +3 -3
  53. package/dist/{index-BHmiJ5Qk.js → index-FdS8KlrP.js} +3 -3
  54. package/dist/{index-9D6nsmX0.js → index-MOg_zBJW.js} +3 -3
  55. package/dist/{index-CLESgVaD.js → index-SZgAiOi4.js} +3 -3
  56. package/dist/index.js +3 -3
  57. package/dist/{worker-ByVSTHSI.js → worker-CMZIJlQN.js} +66 -9
  58. package/dist/{worker-DlZ2xp8p.js → worker-DtDgSl3T.js} +2 -2
  59. package/dist/{worker-utils-BNThsbdN.js → worker-utils-BuUq1bP1.js} +29 -4
  60. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,oBAAoB,CAAC;AAE5B,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAAC;AAIF,eAAO,MAAM,aAAa,QAAO,aAEhC,CAAC;AASF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAkDtC,CAAC"}
1
+ {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,oBAAoB,CAAC;AAE5B,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CAAC;AAIF,eAAO,MAAM,aAAa,QAAO,aAEhC,CAAC;AASF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CA0DtC,CAAC"}
@@ -8,6 +8,7 @@ import EmptyState from "@foxglove/studio-base/components/EmptyState.js";
8
8
  import ErrorBoundary from "@foxglove/studio-base/components/ErrorBoundary.js";
9
9
  import RemountOnValueChange from "@foxglove/studio-base/components/RemountOnValueChange.js";
10
10
  import { PanelToolbar } from "./PanelToolbar.js";
11
+ import { useConnections } from "../context/ConnectionsProvider.js";
11
12
  import '../fonts/fonts.css';
12
13
  const DetectionContext = React.createContext({ detections: [] });
13
14
  export const useDetections = () => {
@@ -19,13 +20,21 @@ const rawToAnnotations = (rawAnnotations, kind, current) => rawAnnotations.map((
19
20
  enabled: current.find(({ name }) => name === annotationTopic)?.enabled ?? kind === 'main'
20
21
  }));
21
22
  export const Panel = ({ children, kind, topic, disableAnnotations = false, annotationTopics = [], extraAnnotationTopics = [] }) => {
23
+ const connections = useConnections();
22
24
  const [detections, setDetections] = React.useState([]);
23
25
  React.useEffect(() => {
24
26
  if (!disableAnnotations) {
25
- setDetections(current => [
26
- ...rawToAnnotations(annotationTopics, 'main', current),
27
- ...rawToAnnotations(extraAnnotationTopics, 'extra', current)
28
- ]);
27
+ setDetections(current => {
28
+ const newAnnotations = [
29
+ ...rawToAnnotations(annotationTopics, 'main', current),
30
+ ...rawToAnnotations(extraAnnotationTopics, 'extra', current)
31
+ ];
32
+ for (const connection of connections) {
33
+ connection.unsubscribe({ topics: current.map(c => c.name) });
34
+ connection.subscribe({ topics: newAnnotations.filter(c => c.enabled).map(c => c.name) });
35
+ }
36
+ return newAnnotations;
37
+ });
29
38
  }
30
39
  // eslint-disable-next-line react-hooks/exhaustive-deps
31
40
  }, [JSON.stringify(annotationTopics), JSON.stringify(extraAnnotationTopics)]);
@@ -1 +1 @@
1
- {"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,UAAU,MAAM,gDAAgD,CAAC;AACxE,OAAO,aAAa,MAAM,mDAAmD,CAAC;AAC9E,OAAO,oBAAoB,MAAM,0DAA0D,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,oBAAoB,CAAC;AAsB5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAgB,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;AAEhF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAkB,EAAE;IAC/C,OAAO,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,cAAwB,EAAE,IAAsB,EAAE,OAAqB,EAAgB,EAAE,CACjH,cAAc,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACvC,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,IAAI,KAAK,OAAO;IACvB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,CAAC,EAAE,OAAO,IAAI,IAAI,KAAK,MAAM;CAC1F,CAAC,CAAC,CAAC;AAEN,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAC1C,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,kBAAkB,GAAG,KAAK,EAC1B,gBAAgB,GAAG,EAAE,EACrB,qBAAqB,GAAG,EAAE,EAC3B,EAAE,EAAE;IACH,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAe,EAAE,CAAC,CAAC;IAErE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvB,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC;gBACtD,GAAG,gBAAgB,CAAC,qBAAqB,EAAE,OAAO,EAAE,OAAO,CAAC;aAC7D,CAAC,CAAC;QACL,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAE9E,OAAO,CACL,KAAC,oBAAoB,IAAC,KAAK,EAAC,iBAAiB,YAC3C,KAAC,aAAa,cACZ,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,YAC9C,MAAC,KAAK,IACJ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAC,QAAQ,EACjB,MAAM,EAAC,qBAAqB,EAC5B,KAAK,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,aAE9B,KAAC,YAAY,IACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,GACtC,EACF,KAAC,QAAQ,IACP,QAAQ,EACN,KAAC,UAAU,cACT,uCAAqB,GACV,YAGf,KAAC,oBAAoB,IAAC,KAAK,EAAE,UAAU,YAAG,QAAQ,GAAwB,GACjE,IACL,GACkB,GACd,GACK,CACxB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Panel.js","sourceRoot":"","sources":["../../../../../src/components/Panel.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AASA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,sCAAsC,CAAC;AAuB9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;CACtE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA2IpD,CAAC"}
1
+ {"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AASA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,sCAAsC,CAAC;AAuB9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;CACtE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA4IpD,CAAC"}
@@ -11,7 +11,7 @@ const PanelAnnotationButton = ({ topic, onClick }) => {
11
11
  const handleClick = React.useCallback(event => {
12
12
  event.preventDefault();
13
13
  onClick();
14
- }, []);
14
+ }, [onClick]);
15
15
  return (_jsx(DropdownMenuItem, { onClick: handleClick, children: _jsxs(Flex, { align: "center", gap: "sm", children: [_jsx(Icon, { color: "active", icon: topic.enabled ? ImCheckboxChecked : ImCheckboxUnchecked }), _jsx(NormalText, { text: topic.name })] }) }));
16
16
  };
17
17
  export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations = false }) => {
@@ -23,6 +23,7 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
23
23
  setMetrics(connections[0]?.getTopicMetrics(topic));
24
24
  }, 500);
25
25
  return () => { clearInterval(interval); };
26
+ // eslint-disable-next-line react-hooks/exhaustive-deps
26
27
  }, []);
27
28
  const [annotationsOpened, setAnnotationsOpened] = React.useState(false);
28
29
  const hasExtra = React.useMemo(() => detections.some((topic) => topic.extra && !topic.enabled), [detections]);
@@ -34,7 +35,7 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
34
35
  enabled: !topic.enabled
35
36
  })
36
37
  })));
37
- }, [detections, setDetections]);
38
+ }, [setDetections]);
38
39
  // TODO: show only when debug mode is ON
39
40
  const name = React.useMemo(() => {
40
41
  return `${topic} - ${metrics?.inputFPS || 0}/${metrics?.postDecodeFPS || 0} FPS`;
@@ -1 +1 @@
1
- {"version":3,"file":"PanelToolbar.js","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PanelToolbar.js","sourceRoot":"","sources":["../../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"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"}
@@ -31,6 +31,12 @@ export declare class FoxgloveWebSocketAdapter extends EventTarget implements Web
31
31
  on: VisualizerConnection["on"];
32
32
  off: VisualizerConnection["off"];
33
33
  close(): void;
34
+ subscribe({ topics }: {
35
+ topics: string[];
36
+ }): void;
37
+ unsubscribe({ topics }: {
38
+ topics: string[];
39
+ }): void;
34
40
  request({ name, timeout, ignoreResponse, body }: ServiceRequestArgs): Promise<DataView | null>;
35
41
  send(data: string | ArrayBuffer | ArrayBufferView | {
36
42
  channel: 'system' | 'message';
@@ -1 +1 @@
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
+ {"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;IAQb,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAIjD,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAI7C,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"}
@@ -108,6 +108,12 @@ export class FoxgloveWebSocketAdapter extends EventTarget {
108
108
  this.dispatchEvent(new Event("close"));
109
109
  }
110
110
  }
111
+ subscribe({ topics }) {
112
+ this.#sendToWorker({ type: 'subscribe', data: topics });
113
+ }
114
+ unsubscribe({ topics }) {
115
+ this.#sendToWorker({ type: 'unsubscribe', data: topics });
116
+ }
111
117
  async request({ name, timeout = REQUEST_RESPONSE_TIMEOUT, ignoreResponse = false, body = {} }) {
112
118
  return await new Promise((resolve) => {
113
119
  const serviceCallId = ++this.#serviceCallId;
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  import { WebRtcConfig } from "@luxonis/remote-connection";
2
2
  import { Service, Channel, ServiceCallPayload, ServiceCallResponse } from "@foxglove/ws-protocol";
3
3
  import { PublicChannelData } from "./connection";
4
+ import { ProtobufKind } from "../messaging/protobuf";
4
5
  export type FoxgloveMessage = {
5
6
  topic: string;
6
7
  schema: string;
@@ -16,6 +17,12 @@ export type FoxgloveAdapterInputMessage = {
16
17
  } | {
17
18
  type: "send";
18
19
  data: string | ArrayBuffer | ArrayBufferView;
20
+ } | {
21
+ type: "subscribe";
22
+ data: string[];
23
+ } | {
24
+ type: "unsubscribe";
25
+ data: string[];
19
26
  } | {
20
27
  type: "close";
21
28
  data: null;
@@ -63,20 +70,23 @@ export type FoxgloveAdapterOutputMessage = {
63
70
  type: "custom";
64
71
  data: any;
65
72
  };
73
+ export type ChannelWithKind = Channel & {
74
+ kind: ProtobufKind;
75
+ };
66
76
  export declare abstract class FoxgloveCommunicator {
67
77
  #private;
68
78
  protected abstract isReady(): boolean;
69
79
  protected abstract send(message: FoxgloveAdapterOutputMessage): void;
70
80
  protected abstract sendWithTransfer(message: FoxgloveAdapterOutputMessage, transfer: ArrayBuffer[]): void;
71
81
  protected abstract sendServiceCallRequest(request: ServiceCallPayload): void;
72
- protected abstract subscribe(channel: number): number;
82
+ protected getPublicChannels(): ChannelWithKind[];
73
83
  protected handleReconnect(): void;
74
84
  protected handleChannelsAdvertisement(channels: Channel[]): void;
75
85
  protected handleChannelsUnadvertisement(channels: number[]): void;
76
86
  protected handleServicesAdvertisement(services: Service[]): void;
77
87
  protected handleServicesUnadvertisement(services: number[]): void;
78
88
  protected handleServiceResponse(response: Pick<ServiceCallResponse, 'callId' | 'data'>): void;
79
- protected handleGenericMessage(subscriptionId: number, data: DataView): void;
89
+ protected handleGenericMessage(topic: string, schema: string, buffer: DataView): void;
80
90
  protected callService({ name, serviceCallId, body }: (FoxgloveAdapterInputMessage & {
81
91
  type: "call_service";
82
92
  })["data"]): void;
@@ -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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"}
@@ -4,39 +4,34 @@
4
4
  import { protobufsBySchema } from "../messaging/protobuf";
5
5
  import { recordToDataView } from "../utils/encoding";
6
6
  export class FoxgloveCommunicator {
7
- #subscriptions = new Map();
8
7
  #services = new Map();
8
+ #channels = new Map();
9
9
  #serviceCalls = new Map();
10
- #getPublicChannels() {
11
- return [...this.#subscriptions.values()].map(({ kind, topic }) => ({ kind, topic }));
10
+ getPublicChannels() {
11
+ return [...this.#channels.values()];
12
12
  }
13
13
  #getPublicServices() {
14
14
  return [...this.#services.values()].map(service => service.name);
15
15
  }
16
16
  handleReconnect() {
17
17
  this.#services.clear();
18
- this.#subscriptions.clear();
18
+ this.#channels.clear();
19
19
  this.send({ type: "reconnect" });
20
20
  }
21
21
  handleChannelsAdvertisement(channels) {
22
- const data = this.#getPublicChannels();
22
+ const data = this.getPublicChannels();
23
23
  for (const channel of channels) {
24
- const subscriptionId = this.subscribe(channel.id);
25
24
  const kind = protobufsBySchema[channel.schemaName]?.kind ?? 'annotations';
26
- this.#subscriptions.set(subscriptionId, {
27
- topic: channel.topic,
28
- schema: channel.schemaName,
29
- kind
30
- });
31
- data.push({ topic: channel.topic, kind });
25
+ this.#channels.set(channel.id, { ...channel, kind });
26
+ data.push({ ...channel, kind });
32
27
  }
33
28
  this.send({ type: "channels", data });
34
29
  }
35
30
  handleChannelsUnadvertisement(channels) {
36
31
  for (const channel of channels) {
37
- this.#subscriptions.delete(channel);
32
+ this.#channels.delete(channel);
38
33
  }
39
- const data = this.#getPublicChannels();
34
+ const data = this.getPublicChannels();
40
35
  this.send({ type: "channels", data });
41
36
  }
42
37
  handleServicesAdvertisement(services) {
@@ -72,14 +67,11 @@ export class FoxgloveCommunicator {
72
67
  }
73
68
  }, [response.data.buffer]);
74
69
  }
75
- handleGenericMessage(subscriptionId, data) {
76
- const subscription = this.#subscriptions.get(subscriptionId);
77
- if (subscription) {
78
- this.sendWithTransfer({
79
- type: "message",
80
- data: { ...subscription, buffer: data }
81
- }, [data.buffer]);
82
- }
70
+ handleGenericMessage(topic, schema, buffer) {
71
+ this.sendWithTransfer({
72
+ type: "message",
73
+ data: { topic, schema, buffer }
74
+ }, [buffer.buffer]);
83
75
  }
84
76
  callService({ name, serviceCallId, body = {} }) {
85
77
  const service = this.#services.get(name);
@@ -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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"}
@@ -40,6 +40,12 @@ export declare class VisualizerConnection<CustomMessage = never> extends Foxglov
40
40
  on<E extends keyof ConnectionEventMap<CustomMessage>>(name: E, listener: ConnectionEventMap<CustomMessage>[E]): void;
41
41
  off<E extends keyof ConnectionEventMap<CustomMessage>>(name: E, listener: ConnectionEventMap<CustomMessage>[E]): void;
42
42
  request(args: ServiceRequestArgs): Promise<DataView | null>;
43
+ subscribe(args: {
44
+ topics: string[];
45
+ }): void;
46
+ unsubscribe(args: {
47
+ topics: string[];
48
+ }): void;
43
49
  get connected(): boolean;
44
50
  }
45
51
  //# sourceMappingURL=connection.d.ts.map
@@ -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;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"}
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;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,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;IAKjE,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAI3C,WAAW,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI;IAKpD,IAAW,SAAS,IAAI,OAAO,CAE9B;CA6BF"}
@@ -18,7 +18,7 @@ export class VisualizerConnection extends FoxgloveConnection {
18
18
  }
19
19
  else {
20
20
  this.#config = data.config;
21
- finalWorker ??= new WebRtcBridge();
21
+ finalWorker = new WebRtcBridge();
22
22
  }
23
23
  this.#open(finalWorker);
24
24
  }
@@ -35,6 +35,12 @@ export class VisualizerConnection extends FoxgloveConnection {
35
35
  const response = await this.#adapter?.request(args);
36
36
  return response ?? null;
37
37
  }
38
+ subscribe(args) {
39
+ this.#adapter?.subscribe(args);
40
+ }
41
+ unsubscribe(args) {
42
+ this.#adapter?.unsubscribe(args);
43
+ }
38
44
  // eslint-disable-next-line no-restricted-syntax
39
45
  get connected() {
40
46
  return Boolean(this.#adapter?.readyState === WebSocket.OPEN);
@@ -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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"}
@@ -1 +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"}
1
+ {"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../../../../src/connection/webrtc/bridge.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,oBAAoB,CAAC;AAK5B,qBAAa,YACX,SAAQ,gBAAgB,CAAC,4BAA4B,EAAE,cAAc,CAAC;;;IAetD,SAAS,IAAI,IAAI;CAmMlC"}
@@ -1,7 +1,7 @@
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";
4
+ import { WebRtcClient, } from "@luxonis/remote-connection";
5
5
  import { ArtificialWorker } from "../../utils/artificial-worker.js";
6
6
  const MESSAGE_CHANNEL_NAME = "message";
7
7
  const SYSTEM_CHANNEL_NAME = "system";
@@ -12,28 +12,55 @@ export class WebRtcBridge extends ArtificialWorker {
12
12
  #systemChannel = null;
13
13
  constructor() {
14
14
  super();
15
- this.#worker = new Worker(new URL("./worker", import.meta.url), { type: "module" });
15
+ this.#worker = new Worker(new URL("./worker", import.meta.url), {
16
+ type: "module",
17
+ });
16
18
  this.#setupArtificialWorker();
17
19
  }
18
20
  terminate() {
19
21
  this.#worker.terminate();
20
22
  }
21
23
  #setupArtificialWorker() {
22
- this.addEventListener('message', (event) => {
24
+ this.selfAddEventListener("message", (event) => {
23
25
  switch (event.data.type) {
24
- case 'open': {
25
- if ('config' in event.data.data) {
26
- this.#createWebRtc(event.data.data.config);
26
+ case "open": {
27
+ if ("config" in event.data.data) {
28
+ this.#createWebRtc({
29
+ withFragmentation: true,
30
+ ...event.data.data.config,
31
+ });
27
32
  }
28
33
  break;
29
34
  }
30
- case 'close': {
35
+ case "close": {
36
+ this.#webrtc?.dispose("Client requested connection close");
37
+ this.terminate();
31
38
  break;
32
39
  }
33
- case 'send': {
40
+ case "send": {
41
+ this.#worker.postMessage({
42
+ kind: "rawSend",
43
+ data: {
44
+ message: event.data.data,
45
+ },
46
+ });
47
+ break;
48
+ }
49
+ case "call_service": {
50
+ this.#worker.postMessage({
51
+ kind: "serviceCall",
52
+ data: {
53
+ message: event.data.data,
54
+ },
55
+ });
34
56
  break;
35
57
  }
36
- case 'call_service': {
58
+ case "unsubscribe":
59
+ case "subscribe": {
60
+ this.#worker.postMessage({
61
+ kind: event.data.type,
62
+ data: { message: { topics: event.data.data } },
63
+ });
37
64
  break;
38
65
  }
39
66
  }
@@ -45,90 +72,113 @@ export class WebRtcBridge extends ArtificialWorker {
45
72
  this.#handleMessages();
46
73
  }
47
74
  #handleWebRtc(client) {
75
+ client.on("error", (error) => console.error("WebRtc Client Failed", error));
48
76
  client.on("connection_established", (connection) => {
49
77
  connection.on("data_channel", (channel) => {
50
- channel.on('close', () => {
51
- if (channel.label !== MESSAGE_CHANNEL_NAME && channel.label !== SYSTEM_CHANNEL_NAME) {
78
+ channel.on("close", () => {
79
+ if (channel.label !== MESSAGE_CHANNEL_NAME &&
80
+ channel.label !== SYSTEM_CHANNEL_NAME) {
52
81
  return;
53
82
  }
54
83
  this.#worker.postMessage({
55
84
  kind: "connection",
56
85
  data: {
57
- channel: channel.label === MESSAGE_CHANNEL_NAME ? 'message' : 'system',
58
- ready: false
59
- }
86
+ channel: channel.label === MESSAGE_CHANNEL_NAME
87
+ ? "message"
88
+ : "system",
89
+ ready: false,
90
+ },
91
+ });
92
+ this.selfPostMessage({
93
+ type: "close",
60
94
  });
61
95
  });
62
96
  if (channel.label === MESSAGE_CHANNEL_NAME) {
63
97
  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);
98
+ channel.on("message:binary", async (view) => {
99
+ const operation = view.getUint8(0);
100
+ const action = operation === 0x01
101
+ ? "message"
102
+ : operation === 0x03
103
+ ? "service_response"
104
+ : "other";
105
+ if (action === "message") {
106
+ const subscriptionId = view.getUint32(1);
107
+ const payload = new DataView(view.buffer, view.byteOffset + 1 + 4 + 8);
70
108
  this.#worker.postMessage({
71
109
  kind: "genericMessage",
72
110
  data: {
73
- message: { subscriptionId, data: payload }
74
- }
111
+ message: { subscriptionId, data: payload },
112
+ },
75
113
  }, [payload.buffer]);
76
114
  }
77
115
  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
116
+ const callId = view.getUint32(1 + 4); // op-code + service-id
117
+ const encodingLength = view.getUint32(1 + 4 + 4); // op-code + service-id + call-id
118
+ const payload = new DataView(view.buffer, view.byteOffset + 1 + 4 + 4 + 4 + encodingLength); // op-code + service-id + call-id + encoding-length
81
119
  this.#worker.postMessage({
82
120
  kind: "systemMessage",
83
121
  data: {
84
122
  message: {
85
- op: 'serviceResponse',
123
+ op: "serviceResponse",
86
124
  callId,
87
- data: payload
88
- }
89
- }
125
+ data: payload,
126
+ },
127
+ },
90
128
  }, [payload.buffer]);
91
129
  }
92
130
  });
93
131
  }
94
132
  else if (channel.label === SYSTEM_CHANNEL_NAME) {
95
133
  this.#systemChannel = channel;
96
- channel.on("message", async (event) => {
97
- const message = JSON.parse(event.data);
134
+ channel.on("message:json", async (data) => {
98
135
  this.#worker.postMessage({
99
136
  kind: "systemMessage",
100
- data: { message }
137
+ data: { message: data },
101
138
  });
102
139
  });
103
140
  }
104
141
  this.#worker.postMessage({
105
142
  kind: "connection",
106
143
  data: {
107
- channel: channel.label === MESSAGE_CHANNEL_NAME ? 'message' : 'system',
108
- ready: true
109
- }
144
+ channel: channel.label === MESSAGE_CHANNEL_NAME
145
+ ? "message"
146
+ : "system",
147
+ ready: true,
148
+ },
110
149
  });
150
+ if (this.#systemChannel?.raw.readyState === "open" &&
151
+ this.#messageChannel?.raw.readyState === "open") {
152
+ this.selfPostMessage({
153
+ type: "open",
154
+ });
155
+ }
111
156
  });
112
157
  connection.on("connection_closed", () => {
113
158
  this.#worker.postMessage({
114
159
  kind: "connection",
115
- data: { channel: null, ready: false }
160
+ data: { channel: null, ready: false },
161
+ });
162
+ this.selfPostMessage({
163
+ type: "close",
116
164
  });
117
165
  });
118
166
  });
119
167
  }
120
168
  #handleMessages() {
121
- this.#worker.addEventListener('message', (event) => {
169
+ this.#worker.addEventListener("message", (event) => {
122
170
  switch (event.data.type) {
123
- case 'send': {
124
- const channel = event.data.data.channel === 'message' ? this.#messageChannel : this.#systemChannel;
171
+ case "send": {
172
+ const channel = event.data.data.channel === "message"
173
+ ? this.#messageChannel
174
+ : this.#systemChannel;
125
175
  if (channel) {
126
176
  channel.sendMessage(event.data.data.data);
127
177
  }
128
178
  break;
129
179
  }
130
180
  default: {
131
- this.postMessage(event.data);
181
+ this.selfPostMessage(event.data);
132
182
  }
133
183
  }
134
184
  });