@luxonis/visualizer-protobuf 1.7.6 → 1.8.7

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 (63) hide show
  1. package/dist/apps/depthai-visualizer/src/components/Panel.d.ts +1 -0
  2. package/dist/apps/depthai-visualizer/src/components/Panel.d.ts.map +1 -1
  3. package/dist/apps/depthai-visualizer/src/components/Panel.js +1 -0
  4. package/dist/apps/depthai-visualizer/src/components/Panel.js.map +1 -1
  5. package/dist/apps/depthai-visualizer/src/connection/ws/Adapter.d.ts.map +1 -1
  6. package/dist/apps/depthai-visualizer/src/connection/ws/Adapter.js +1 -6
  7. package/dist/apps/depthai-visualizer/src/connection/ws/Adapter.js.map +1 -1
  8. package/dist/apps/depthai-visualizer/src/connection/ws/worker.js +3 -1
  9. package/dist/apps/depthai-visualizer/src/connection/ws/worker.js.map +1 -1
  10. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/constants.d.ts +11 -4
  11. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/constants.d.ts.map +1 -1
  12. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/constants.js +102 -88
  13. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/constants.js.map +1 -1
  14. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/custom.d.ts +3 -1
  15. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/custom.d.ts.map +1 -1
  16. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/custom.js +11 -7
  17. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/custom.js.map +1 -1
  18. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/detection.d.ts +6 -1
  19. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/detection.d.ts.map +1 -1
  20. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/detection.js +86 -15
  21. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/detection.js.map +1 -1
  22. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/utils.d.ts +9 -0
  23. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/utils.d.ts.map +1 -0
  24. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/utils.js +16 -0
  25. package/dist/apps/depthai-visualizer/src/messaging/deserialization/detections/utils.js.map +1 -0
  26. package/dist/apps/depthai-visualizer/src/messaging/deserialization.d.ts +2 -0
  27. package/dist/apps/depthai-visualizer/src/messaging/deserialization.d.ts.map +1 -1
  28. package/dist/apps/depthai-visualizer/src/messaging/deserialization.js +19 -17
  29. package/dist/apps/depthai-visualizer/src/messaging/deserialization.js.map +1 -1
  30. package/dist/apps/depthai-visualizer/src/messaging/message-handler.d.ts.map +1 -1
  31. package/dist/apps/depthai-visualizer/src/messaging/message-handler.js +2 -0
  32. package/dist/apps/depthai-visualizer/src/messaging/message-handler.js.map +1 -1
  33. package/dist/apps/depthai-visualizer/src/messaging/utils.d.ts +2 -1
  34. package/dist/apps/depthai-visualizer/src/messaging/utils.d.ts.map +1 -1
  35. package/dist/apps/depthai-visualizer/src/messaging/utils.js +1 -1
  36. package/dist/apps/depthai-visualizer/src/messaging/utils.js.map +1 -1
  37. package/dist/{index-Bm227uSv.js → index-BKodwqoN.js} +1 -1
  38. package/dist/{index-LwoyWmcD.js → index-BOt4IOh5.js} +1 -1
  39. package/dist/{index-V8uzjV7P.js → index-BYKYHdD1.js} +1 -1
  40. package/dist/{index-BviV8X3E.js → index-BbjcxqKn.js} +2 -2
  41. package/dist/{index-dxHu2gHI.js → index-BgXnyRS5.js} +1 -1
  42. package/dist/{index-DTuWyfYN.js → index-BuuOsI5x.js} +8 -2
  43. package/dist/{index-Bqza_Sb6.js → index-ByXG8O46.js} +1 -1
  44. package/dist/{index-BRCaUjIH.js → index-CVP9pfZS.js} +1 -1
  45. package/dist/{index-BAw-FPF_.js → index-CeDdrD6U.js} +1 -1
  46. package/dist/{index-WnOwskZr.js → index-CxLTPANc.js} +1 -1
  47. package/dist/{index-DQ4wYpKt.js → index-CzFeKxPw.js} +1 -1
  48. package/dist/{index-DA_FT8We.js → index-DTSS5_f7.js} +1 -1
  49. package/dist/{index-DO1Q8Xz2.js → index-DY872ZDo.js} +1 -1
  50. package/dist/{index-iKz0ZmwI.js → index-DbBAYYLN.js} +1 -1
  51. package/dist/{index-DJq3lBYH.js → index-DiuZWhZw.js} +1 -1
  52. package/dist/{index-DkpICzvJ.js → index-Du_K2fSC.js} +1 -1
  53. package/dist/{index-Bb7DsKCS.js → index-PRD8Vx5h.js} +543 -174
  54. package/dist/{index-NHhTQHWC.js → index-iE53L-9n.js} +1 -1
  55. package/dist/{index-BHUunH55.js → index-tsO6geQz.js} +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.d.ts.map +1 -1
  58. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.js +6 -0
  59. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.js.map +1 -1
  60. package/dist/src/fonts.css +6 -0
  61. package/dist/src/ubuntu-mono.ttf +0 -0
  62. package/dist/{worker-DIw_C-es.js → worker-CHyNU_Ed.js} +3 -1
  63. package/package.json +2 -2
@@ -2,10 +2,11 @@
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
  import { PointsAnnotationType } from "@foxglove/schemas";
5
- import { DETECTION_LABELS } from "./constants.js";
5
+ import { DEFAULT_BACKGROUND_COLOR, DEBUG_COLOR, DEFAULT_TEXT_COLOR, DETECTION_STYLE, DEFAULT_STYLE } from "./constants.js";
6
6
  import { parseMessage } from "../../utils.js";
7
7
  import { estimateObjectSize } from "@foxglove/studio-base/players/messageMemoryEstimation.js";
8
- export function deserializeImgDetections({ topic, message, callback }) {
8
+ import { DEFAULT_HEIGHT, DEFAULT_WIDTH, getBorderThickness, getTextSize } from "./utils.js";
9
+ export function deserializeImgDetections({ topic, message, callback, topicSizes }) {
9
10
  const { receiveTime } = parseMessage(message);
10
11
  const foxgloveMessage = {
11
12
  points: [],
@@ -14,6 +15,15 @@ export function deserializeImgDetections({ topic, message, callback }) {
14
15
  };
15
16
  if (message.detections.length > 0) {
16
17
  for (const detection of message.detections) {
18
+ const detectionWidth = detection.xmax - detection.xmin;
19
+ const { width, height } = topicSizes.values().next().value ?? {
20
+ width: DEFAULT_WIDTH, height: DEFAULT_HEIGHT
21
+ };
22
+ const ratio = width / height;
23
+ const highligtLength = 0.035;
24
+ const highlightSizeX = Math.min(highligtLength, detectionWidth);
25
+ const highlightSizeY = Math.min(highligtLength * ratio, detection.ymax - detection.ymin);
26
+ const style = DETECTION_STYLE[detection.label] ?? DEFAULT_STYLE;
17
27
  foxgloveMessage.points.push({
18
28
  timestamp: receiveTime,
19
29
  points: [
@@ -21,24 +31,85 @@ export function deserializeImgDetections({ topic, message, callback }) {
21
31
  { x: detection.xmin, y: detection.ymax },
22
32
  { x: detection.xmax, y: detection.ymax },
23
33
  { x: detection.xmax, y: detection.ymin },
24
- // Closing line
25
- { x: detection.xmin, y: detection.ymin }
26
34
  ],
27
- type: PointsAnnotationType.LINE_STRIP,
35
+ type: PointsAnnotationType.LINE_LOOP,
28
36
  outline_colors: [],
29
- // TODO: Take values from protobuf
30
- thickness: 10,
31
- outline_color: { r: 0.3, g: 0.3, b: 0.94, a: 1 },
32
- fill_color: { r: 0, g: 0, b: 0, a: 0 }
37
+ thickness: 0,
38
+ outline_color: DEBUG_COLOR,
39
+ fill_color: style.fill,
33
40
  });
41
+ const baseHighlightConfig = {
42
+ timestamp: receiveTime,
43
+ type: PointsAnnotationType.LINE_LIST,
44
+ outline_colors: [],
45
+ thickness: getBorderThickness(width, height),
46
+ outline_color: style.outline,
47
+ fill_color: DEBUG_COLOR,
48
+ };
49
+ foxgloveMessage.points.push({
50
+ ...baseHighlightConfig,
51
+ points: [
52
+ { x: detection.xmin, y: detection.ymin },
53
+ { x: detection.xmin + highlightSizeX, y: detection.ymin },
54
+ ],
55
+ });
56
+ foxgloveMessage.points.push({
57
+ ...baseHighlightConfig,
58
+ points: [
59
+ { x: detection.xmin, y: detection.ymin },
60
+ { x: detection.xmin, y: detection.ymin + highlightSizeY },
61
+ ],
62
+ });
63
+ foxgloveMessage.points.push({
64
+ ...baseHighlightConfig,
65
+ points: [
66
+ { x: detection.xmax, y: detection.ymin },
67
+ { x: detection.xmax - highlightSizeX, y: detection.ymin },
68
+ ],
69
+ });
70
+ foxgloveMessage.points.push({
71
+ ...baseHighlightConfig,
72
+ points: [
73
+ { x: detection.xmax, y: detection.ymin },
74
+ { x: detection.xmax, y: detection.ymin + highlightSizeY },
75
+ ],
76
+ });
77
+ foxgloveMessage.points.push({
78
+ ...baseHighlightConfig,
79
+ points: [
80
+ { x: detection.xmax, y: detection.ymax },
81
+ { x: detection.xmax - highlightSizeX, y: detection.ymax },
82
+ ],
83
+ });
84
+ foxgloveMessage.points.push({
85
+ ...baseHighlightConfig,
86
+ points: [
87
+ { x: detection.xmax, y: detection.ymax },
88
+ { x: detection.xmax, y: detection.ymax - highlightSizeY },
89
+ ],
90
+ });
91
+ foxgloveMessage.points.push({
92
+ ...baseHighlightConfig,
93
+ points: [
94
+ { x: detection.xmin, y: detection.ymax },
95
+ { x: detection.xmin + highlightSizeX, y: detection.ymax },
96
+ ],
97
+ });
98
+ foxgloveMessage.points.push({
99
+ ...baseHighlightConfig,
100
+ points: [
101
+ { x: detection.xmin, y: detection.ymax },
102
+ { x: detection.xmin, y: detection.ymax - highlightSizeY },
103
+ ],
104
+ });
105
+ const label = `${style.label ?? `Unknown #${detection.label}`} ${Math.round(detection.confidence * 100)}%`;
34
106
  foxgloveMessage.texts.push({
35
107
  timestamp: receiveTime,
36
- position: { x: detection.xmin, y: detection.ymin },
37
- text: `${DETECTION_LABELS[detection.label] ?? detection.label.toString()} ${Math.round(detection.confidence * 100)}%`,
38
- // TODO: Take values from protobuf
39
- font_size: 36,
40
- text_color: { r: 1, g: 1, b: 1, a: 1 },
41
- background_color: { r: 0.3, g: 0.3, b: 0.94, a: 1 }
108
+ position: { x: detection.xmin + highligtLength / 2, y: detection.ymin + highlightSizeY },
109
+ text: label,
110
+ font_size: getTextSize(width, height),
111
+ text_color: DEFAULT_TEXT_COLOR,
112
+ background_color: DEFAULT_BACKGROUND_COLOR
42
113
  });
43
114
  }
44
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../../../../../src/messaging/deserialization/detections/detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../../../../../src/messaging/deserialization/detections/detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Color } from "../../../protobuf.generated/common.js";
2
+ export declare const glColor: (r: number, g: number, b: number, a: number) => Color;
3
+ export declare const DEFAULT_WIDTH = 1920;
4
+ export declare const DEFAULT_HEIGHT = 1080;
5
+ export declare const DEFAULT_SIZE = 42;
6
+ export declare const DEFAULT_THICKNESS = 10;
7
+ export declare const getTextSize: (width: number, height: number) => number;
8
+ export declare const getBorderThickness: (width: number, height: number) => number;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/messaging/deserialization/detections/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAE9D,eAAO,MAAM,OAAO,MAAO,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KAAG,KAEnE,CAAC;AAEH,eAAO,MAAM,aAAa,OAAO,CAAC;AAClC,eAAO,MAAM,cAAc,OAAO,CAAC;AASnC,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,WAAW,UAAW,MAAM,UAAU,MAAM,WAA6C,CAAC;AACvG,eAAO,MAAM,kBAAkB,UAAW,MAAM,UAAU,MAAM,WAAkD,CAAC"}
@@ -0,0 +1,16 @@
1
+ export const glColor = (r, g, b, a) => ({
2
+ r: r / 255, g: g / 255, b: b / 255, a
3
+ });
4
+ export const DEFAULT_WIDTH = 1920;
5
+ export const DEFAULT_HEIGHT = 1080;
6
+ function interpolate(width, height, base) {
7
+ const widthScale = width / DEFAULT_WIDTH;
8
+ const heightScale = height / DEFAULT_HEIGHT;
9
+ const scale = (widthScale + heightScale) / 2;
10
+ return base * scale;
11
+ }
12
+ export const DEFAULT_SIZE = 42;
13
+ export const DEFAULT_THICKNESS = 10;
14
+ export const getTextSize = (width, height) => interpolate(width, height, DEFAULT_SIZE);
15
+ export const getBorderThickness = (width, height) => interpolate(width, height, DEFAULT_THICKNESS);
16
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../src/messaging/deserialization/detections/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS,EAAS,EAAE,CAAC,CAAC;IAC7E,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC;AAEnC,SAAS,WAAW,CAAC,KAAa,EAAE,MAAc,EAAE,IAAY;IAC9D,MAAM,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,GAAG,cAAc,CAAC;IAC5C,MAAM,KAAK,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC7C,OAAO,IAAI,GAAG,KAAK,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { MessageEvent } from "@foxglove/studio-base/players/types";
2
+ import { TopicSizes } from "./deserialization/detections/detection.js";
2
3
  import { TopicDecoders } from "./deserialization/video/h264.js";
3
4
  import { EncodedFrame } from "../protobuf.generated/EncodedFrame.js";
4
5
  import { ImgDetections } from "../protobuf.generated/ImgDetections.js";
@@ -9,6 +10,7 @@ import { ImageAnnotations } from "../protobuf.generated/ImageAnnotations.js";
9
10
  export type DeserializeDepthAiMessageArgs = {
10
11
  topic: string;
11
12
  topicDecoders: TopicDecoders;
13
+ topicSizes: TopicSizes;
12
14
  callback: (event: MessageEvent) => void;
13
15
  } & ({
14
16
  type: "imageFrame";
@@ -1 +1 @@
1
- {"version":3,"file":"deserialization.d.ts","sourceRoot":"","sources":["../../../../../src/messaging/deserialization.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKnE,OAAO,EAA+B,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAW,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAQ,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAG7E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,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;AAEJ,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,6BAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CA8Df"}
1
+ {"version":3,"file":"deserialization.d.ts","sourceRoot":"","sources":["../../../../../src/messaging/deserialization.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAA4B,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAGjG,OAAO,EAA+B,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAE7F,OAAO,EAAE,YAAY,EAAW,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAQ,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAI7E,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;AAEJ,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,6BAA6B,GAClC,OAAO,CAAC,IAAI,CAAC,CA+Df"}
@@ -10,10 +10,12 @@ import { Profile } from "../protobuf.generated/EncodedFrame.js";
10
10
  import { Type } from "../protobuf.generated/ImgFrame.js";
11
11
  import { deserializePointCloudData } from "./deserialization/pointcloud/point-cloud.js";
12
12
  import { deserializeImgDetectionsCustom } from "./deserialization/detections/custom.js";
13
+ import { parseMessage } from "./utils.js";
13
14
  export async function deserializeDepthAiMessage(args) {
14
- const { topicDecoders, type, message, callback, topic } = args;
15
+ const { topicDecoders, topicSizes, type, message, callback, topic } = args;
15
16
  switch (type) {
16
17
  case "encodedFrame": {
18
+ topicSizes.set(topic, { width: message.width, height: message.height });
17
19
  if (message.profile === Profile.AVC) {
18
20
  deserializeEncodedFrameH264({ topic, message, topicDecoders, callback });
19
21
  }
@@ -26,36 +28,36 @@ export async function deserializeDepthAiMessage(args) {
26
28
  break;
27
29
  }
28
30
  case "imageFrame": {
29
- const specs = message.fb ?? message.sourceFb;
30
- if (specs) {
31
- switch (specs.type) {
32
- case Type.BITSTREAM: {
33
- deserializeEncodedFrameH264({ topic, message, topicDecoders, callback });
34
- break;
35
- }
36
- case Type.RAW16: {
37
- deserializeDepthFrame({ topic, message, callback });
38
- break;
39
- }
40
- default: {
41
- deserializeColorFrame({ topic, message, callback });
42
- }
31
+ const { width, height, type } = parseMessage(message);
32
+ topicSizes.set(topic, { width, height });
33
+ switch (type) {
34
+ case Type.BITSTREAM: {
35
+ deserializeEncodedFrameH264({ topic, message, topicDecoders, callback });
36
+ break;
37
+ }
38
+ case Type.RAW16: {
39
+ deserializeDepthFrame({ topic, message, callback });
40
+ break;
41
+ }
42
+ default: {
43
+ deserializeColorFrame({ topic, message, callback });
43
44
  }
44
45
  }
45
46
  break;
46
47
  }
47
48
  case "imageDetections": {
48
- deserializeImgDetections({ topic, message, callback });
49
+ deserializeImgDetections({ topic, message, callback, topicSizes });
49
50
  break;
50
51
  }
51
52
  case "imageDetectionsCustom": {
52
- deserializeImgDetectionsCustom({ topic, message, callback });
53
+ deserializeImgDetectionsCustom({ topic, message, callback, topicSizes });
53
54
  break;
54
55
  }
55
56
  case "imageDetectionsSpatial": {
56
57
  // TODO: Use separate 3D detection deserializer
57
58
  deserializeImgDetections({
58
59
  topic,
60
+ topicSizes,
59
61
  message: {
60
62
  ...message,
61
63
  detections: message.detections.map((detections) => detections.detection)
@@ -1 +1 @@
1
- {"version":3,"file":"deserialization.js","sourceRoot":"","sources":["../../../../../src/messaging/deserialization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deserialization.js","sourceRoot":"","sources":["../../../../../src/messaging/deserialization.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":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAIzE,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,cAAc,CAsB5F"}
1
+ {"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../../../../../src/messaging/message-handler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAKzE,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,0BAA0B,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,cAAc,CAwB5F"}
@@ -5,6 +5,7 @@ import { deserializeDepthAiMessage } from "./deserialization";
5
5
  import { protobufsBySchema } from "./protobuf.js";
6
6
  export function createMessageHandler(callback) {
7
7
  const topicDecoders = new Map();
8
+ const topicSizes = new Map();
8
9
  return {
9
10
  handle: (({ schema, buffer, topic }) => {
10
11
  const protobuf = protobufsBySchema[schema];
@@ -13,6 +14,7 @@ export function createMessageHandler(callback) {
13
14
  const message = protobuf.decoder.decode(bufferArray);
14
15
  void deserializeDepthAiMessage({
15
16
  topic,
17
+ topicSizes,
16
18
  topicDecoders,
17
19
  message,
18
20
  callback,
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../../../../../src/messaging/message-handler.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAI1D,OAAO,EAAE,yBAAyB,EAAiC,MAAM,mBAAmB,CAAC;AAG7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAMlD,MAAM,UAAU,oBAAoB,CAAC,QAAuC;IAC1E,MAAM,aAAa,GAAkB,IAAI,GAAG,EAAE,CAAC;IAE/C,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAErD,KAAK,yBAAyB,CAAC;oBAC7B,KAAK;oBACL,aAAa;oBACb,OAAO;oBACP,QAAQ;oBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACa,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,+BAA+B,MAAM,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,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;AAI1D,OAAO,EAAE,yBAAyB,EAAiC,MAAM,mBAAmB,CAAC;AAG7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAOlD,MAAM,UAAU,oBAAoB,CAAC,QAAuC;IAC1E,MAAM,aAAa,GAAkB,IAAI,GAAG,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAe,IAAI,GAAG,EAAE,CAAC;IAEzC,OAAO;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;YACrC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAErD,KAAK,yBAAyB,CAAC;oBAC7B,KAAK;oBACL,UAAU;oBACV,aAAa;oBACb,OAAO;oBACP,QAAQ;oBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACa,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,+BAA+B,MAAM,GAAG,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAA6B;KAC/B,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { MessageEvent } from "@foxglove/studio-base/players/types.js";
2
- import { Specs } from "../protobuf.generated/ImgFrame.js";
2
+ import { Specs, Type } from "../protobuf.generated/ImgFrame.js";
3
3
  import { Timestamp } from "../protobuf.generated/common.js";
4
4
  export declare function fromMillis(value: number): Timestamp;
5
5
  export declare function useOnMessage<T>(topic: string | null, callback: (event: MessageEvent<T>) => void): void;
@@ -19,5 +19,6 @@ export declare function parseMessage(message: {
19
19
  height: number;
20
20
  stride: number | null;
21
21
  planeStride: number | null;
22
+ type: Type;
22
23
  };
23
24
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/messaging/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAQ,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAMnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GACzC,IAAI,CAcN;AAED,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,MAAM,GACN,MAAM,GACN,aAAa,GACb,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,OAAO,GACP,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,cAAc,CAqBhF;AA6BD,wBAAgB,YAAY,CAC1B,OAAO,EAAE;IACP,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;;;;;;;;EAmBF"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/messaging/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAMnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GACzC,IAAI,CAcN;AAED,MAAM,MAAM,mBAAmB,GAC3B,QAAQ,GACR,MAAM,GACN,MAAM,GACN,aAAa,GACb,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,OAAO,GACP,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,cAAc,CAqBhF;AA6BD,wBAAgB,YAAY,CAC1B,OAAO,EAAE;IACP,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;;;;;;;;;EAmBF"}
@@ -81,6 +81,6 @@ export function parseMessage(message) {
81
81
  const type = message.fb?.type ?? message.sourceFb?.type ?? Type.RGB888p;
82
82
  const [encoding, step] = parseMessageType(type);
83
83
  const receiveTime = message.ts ?? message.tsDevice ?? fromMillis(Date.now());
84
- return { encoding, step, receiveTime, width, height, stride, planeStride };
84
+ return { encoding, step, receiveTime, width, height, stride, planeStride, type };
85
85
  }
86
86
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/messaging/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/messaging/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, ap as foldNodeProp, aB as foldInside, an as indentNodeProp, ao as continuedIndent, aH as defineCSSCompletionSource, at as LanguageSupport } from './index-Bb7DsKCS.js';
1
+ import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, ap as foldNodeProp, aB as foldInside, an as indentNodeProp, ao as continuedIndent, aH as defineCSSCompletionSource, at as LanguageSupport } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, aD as LocalTokenGroup, aE as snippetCompletion, ay as syntaxTree, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aw as ifNotIn, ax as completeFromList, aF as IterMode, aG as NodeWeakMap } from './index-Bb7DsKCS.js';
1
+ import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, aD as LocalTokenGroup, aE as snippetCompletion, ay as syntaxTree, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aw as ifNotIn, ax as completeFromList, aF as IterMode, aG as NodeWeakMap } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aK as html, at as LanguageSupport, aL as parseMixed } from './index-Bb7DsKCS.js';
1
+ import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aK as html, at as LanguageSupport, aL as parseMixed } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,7 +1,7 @@
1
- import { ImagePanel } from './index-DTuWyfYN.js';
1
+ import { ImagePanel } from './index-BuuOsI5x.js';
2
2
  import 'react';
3
3
  import 'react-dom';
4
- import './index-Bb7DsKCS.js';
4
+ import './index-PRD8Vx5h.js';
5
5
  import './protobuf-CjDCjqx3.js';
6
6
  import 'protobufjs/minimal';
7
7
  import 'zustand';
@@ -1,4 +1,4 @@
1
- import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-Bb7DsKCS.js';
1
+ import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Component, useContext, useState, useEffect, createContext, forwardRef, createElement, cloneElement, useMemo, Profiler, StrictMode } from 'react';
3
3
  import ReactDOM__default from 'react-dom';
4
- import { i as isSymbol, t as toString, k as keys, g as getSymbols$1, s as stubArray, a as arrayPush, b as baseGetAllKeys, c as getTag, d as getAllKeys, e as createAggregator, f as baseGet, h as baseIteratee, j as castPath, l as toKey, m as flatRest, n as arrayMap$1, o as baseSet, p as baseUniq, q as baseFlatten, r as generateUtilityClass, A as AnalyticsContext, u as useMustNotChange, P as PropTypes, v as useCurrentLayoutActions, w as useCurrentLayoutSelector, x as reportError, y as AppError, E as ErrorDisplay, S as Stack$1, z as makeStyles$1, _ as _extends$1, L as Logger, B as useGuaranteedContext, W as WorkspaceContext, C as useAnalytics, D as AppEvent, F as LeftSidebarItemKeys, R as RightSidebarItemKeys, G as usePanelMosaicId, H as useTranslation, I as usePanelCatalog, J as EmptyState, K as isEmpty, M as PanelContext, N as PanelCatalogContext, O as useSelectedPanels, Q as usePanelStateStore, T as useDefaultPanelTitle, U as PANEL_TITLE_CONFIG_KEY, V as noop$4, X as getPanelTypeFromId, Y as useWorkspaceStore, Z as useShallowMemo, $ as TAB_PANEL_TYPE, a0 as WorkspaceStoreSelectors, a1 as difference, a2 as filterMap, a3 as dist$3, a4 as usePanelContext, a5 as useMessagePipeline, a6 as v4, a7 as useHoverValue, a8 as useSetHoverValue, a9 as useClearHoverValue, aa as useAppConfiguration, ab as useMessagePipelineGetter, ac as usePanelSettingsTreeUpdate, ad as PlayerCapabilities, ae as useValueChangedDebugLog, af as assertNever, ag as PlayerPresence, ah as typescript, ai as isEqual, aj as isDesktopApp, ak as createTheme, al as propTypesExports, am as useJsonTreeTheme } from './index-Bb7DsKCS.js';
4
+ import { i as isSymbol, t as toString, k as keys, g as getSymbols$1, s as stubArray, a as arrayPush, b as baseGetAllKeys, c as getTag, d as getAllKeys, e as createAggregator, f as baseGet, h as baseIteratee, j as castPath, l as toKey, m as flatRest, n as arrayMap$1, o as baseSet, p as baseUniq, q as baseFlatten, r as generateUtilityClass, A as AnalyticsContext, u as useMustNotChange, P as PropTypes, v as useCurrentLayoutActions, w as useCurrentLayoutSelector, x as reportError, y as AppError, E as ErrorDisplay, S as Stack$1, z as makeStyles$1, _ as _extends$1, L as Logger, B as useGuaranteedContext, W as WorkspaceContext, C as useAnalytics, D as AppEvent, F as LeftSidebarItemKeys, R as RightSidebarItemKeys, G as usePanelMosaicId, H as useTranslation, I as usePanelCatalog, J as EmptyState, K as isEmpty, M as PanelContext, N as PanelCatalogContext, O as useSelectedPanels, Q as usePanelStateStore, T as useDefaultPanelTitle, U as PANEL_TITLE_CONFIG_KEY, V as noop$4, X as getPanelTypeFromId, Y as useWorkspaceStore, Z as useShallowMemo, $ as TAB_PANEL_TYPE, a0 as WorkspaceStoreSelectors, a1 as difference, a2 as filterMap, a3 as dist$3, a4 as usePanelContext, a5 as useMessagePipeline, a6 as v4, a7 as useHoverValue, a8 as useSetHoverValue, a9 as useClearHoverValue, aa as useAppConfiguration, ab as useMessagePipelineGetter, ac as usePanelSettingsTreeUpdate, ad as PlayerCapabilities, ae as useValueChangedDebugLog, af as assertNever, ag as PlayerPresence, ah as typescript, ai as isEqual, aj as isDesktopApp, ak as createTheme, al as propTypesExports, am as useJsonTreeTheme } from './index-PRD8Vx5h.js';
5
5
  import { createStore, useStore } from 'zustand';
6
6
  import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
7
7
  import { a as getDefaultExportFromCjs, c as commonjsGlobal, g as getAugmentedNamespace } from './protobuf-CjDCjqx3.js';
@@ -34334,11 +34334,17 @@ class RenderableTopicAnnotations extends Object3D {
34334
34334
  }
34335
34335
  dispose() {
34336
34336
  for (const points of this.#points) {
34337
+ points.removeFromParent();
34337
34338
  points.dispose();
34338
34339
  }
34339
34340
  for (const lineList of this.#lines) {
34341
+ lineList.removeFromParent();
34340
34342
  lineList.dispose();
34341
34343
  }
34344
+ for (const text of this.#texts) {
34345
+ text.removeFromParent();
34346
+ text.dispose();
34347
+ }
34342
34348
  }
34343
34349
  setScale(scale, canvasWidth, canvasHeight, imageWidth, imageHeight, pixelRatio) {
34344
34350
  this.#scaleNeedsUpdate ||= this.#scale !== scale;
@@ -55569,7 +55575,7 @@ var palette = /*#__PURE__*/Object.freeze({
55569
55575
  //
55570
55576
  // https://bugs.chromium.org/p/chromium/issues/detail?id=1261577
55571
55577
  const fontSansSerif = "'Inter'";
55572
- const fontMonospace = "'IBM Plex Mono'";
55578
+ const fontMonospace = "UbuntuMono";
55573
55579
  const fontFeatureSettings = ["'tnum'",
55574
55580
  // enable tabular-numerals
55575
55581
  "'calt' 0" // disable contextual-alternates
@@ -1,4 +1,4 @@
1
- import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-Bb7DsKCS.js';
1
+ import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, ay as syntaxTree, aw as ifNotIn, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aF as IterMode, ax as completeFromList, aG as NodeWeakMap, aE as snippetCompletion } from './index-Bb7DsKCS.js';
1
+ import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, ay as syntaxTree, aw as ifNotIn, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aF as IterMode, ax as completeFromList, aG as NodeWeakMap, aE as snippetCompletion } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { aq as styleTags, ar as tags, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, aH as defineCSSCompletionSource, at as LanguageSupport, av as LRParser, au as ExternalTokenizer } from './index-Bb7DsKCS.js';
1
+ import { aq as styleTags, ar as tags, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, aH as defineCSSCompletionSource, at as LanguageSupport, av as LRParser, au as ExternalTokenizer } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aq as styleTags, ar as tags, at as LanguageSupport, av as LRParser } from './index-Bb7DsKCS.js';
1
+ import { as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aq as styleTags, ar as tags, at as LanguageSupport, av as LRParser } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { aq as styleTags, ar as tags, aN as javascriptLanguage, as as LRLanguage, at as LanguageSupport, av as LRParser, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-Bb7DsKCS.js';
1
+ import { aq as styleTags, ar as tags, aN as javascriptLanguage, as as LRLanguage, at as LanguageSupport, av as LRParser, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-Bb7DsKCS.js';
1
+ import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aL as parseMixed } from './index-Bb7DsKCS.js';
1
+ import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aL as parseMixed } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { aI as EditorView, aJ as EditorSelection, as as LRLanguage, aq as styleTags, ar as tags, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, at as LanguageSupport, av as LRParser, ay as syntaxTree, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-Bb7DsKCS.js';
1
+ import { aI as EditorView, aJ as EditorSelection, as as LRLanguage, aq as styleTags, ar as tags, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, at as LanguageSupport, av as LRParser, ay as syntaxTree, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ap as foldNodeProp, aM as bracketMatchingHandle, at as LanguageSupport, aI as EditorView, ay as syntaxTree, aJ as EditorSelection } from './index-Bb7DsKCS.js';
1
+ import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ap as foldNodeProp, aM as bracketMatchingHandle, at as LanguageSupport, aI as EditorView, ay as syntaxTree, aJ as EditorSelection } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';
@@ -1,4 +1,4 @@
1
- import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-Bb7DsKCS.js';
1
+ import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-PRD8Vx5h.js';
2
2
  import './protobuf-CjDCjqx3.js';
3
3
  import 'protobufjs/minimal';
4
4
  import 'react';