@luxonis/depthai-viewer-common 3.9.8 → 4.0.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 (154) hide show
  1. package/THIRD_PARTY_NOTICES.md +36 -304
  2. package/benchmark-cli.mjs +166 -11
  3. package/benchmark-lib.sh +40 -5
  4. package/benchmark-root.sh +79 -13
  5. package/benchmark.sh +112 -5
  6. package/dist/components/Streams.d.ts +6 -0
  7. package/dist/components/Streams.d.ts.map +1 -1
  8. package/dist/components/Streams.js +12 -4
  9. package/dist/components/Streams.js.map +1 -1
  10. package/dist/hooks/benchmark-automation.d.ts.map +1 -1
  11. package/dist/hooks/benchmark-automation.js +288 -63
  12. package/dist/hooks/benchmark-automation.js.map +1 -1
  13. package/dist/index.css +7 -0
  14. package/dist/utils/vite-dev-fix.d.ts.map +1 -1
  15. package/dist/utils/vite-dev-fix.js +0 -15
  16. package/dist/utils/vite-dev-fix.js.map +1 -1
  17. package/dist/visualizer/components/Panel.d.ts.map +1 -1
  18. package/dist/visualizer/components/Panel.js +6 -3
  19. package/dist/visualizer/components/Panel.js.map +1 -1
  20. package/dist/visualizer/components/shared-interval.d.ts +1 -1
  21. package/dist/visualizer/components/shared-interval.d.ts.map +1 -1
  22. package/dist/visualizer/components/shared-interval.js +6 -2
  23. package/dist/visualizer/components/shared-interval.js.map +1 -1
  24. package/dist/visualizer/connection/communicator.d.ts +1 -0
  25. package/dist/visualizer/connection/communicator.d.ts.map +1 -1
  26. package/dist/visualizer/connection/communicator.js.map +1 -1
  27. package/dist/visualizer/connection/connection.d.ts.map +1 -1
  28. package/dist/visualizer/connection/connection.js +8 -7
  29. package/dist/visualizer/connection/connection.js.map +1 -1
  30. package/dist/visualizer/connection/foxglove-connection.d.ts +4 -2
  31. package/dist/visualizer/connection/foxglove-connection.d.ts.map +1 -1
  32. package/dist/visualizer/connection/foxglove-connection.js +88 -40
  33. package/dist/visualizer/connection/foxglove-connection.js.map +1 -1
  34. package/dist/visualizer/context/MessagePipelineProvider.d.ts +1 -1
  35. package/dist/visualizer/context/MessagePipelineProvider.d.ts.map +1 -1
  36. package/dist/visualizer/context/MessagePipelineProvider.js +24 -6
  37. package/dist/visualizer/context/MessagePipelineProvider.js.map +1 -1
  38. package/dist/visualizer/context/VisualizerContext.d.ts.map +1 -1
  39. package/dist/visualizer/context/VisualizerContext.js +1 -32
  40. package/dist/visualizer/context/VisualizerContext.js.map +1 -1
  41. package/dist/visualizer/index.d.ts +1 -0
  42. package/dist/visualizer/index.d.ts.map +1 -1
  43. package/dist/visualizer/index.js +1 -0
  44. package/dist/visualizer/index.js.map +1 -1
  45. package/dist/visualizer/messaging/browser-decoder-fixtures.d.ts.map +1 -1
  46. package/dist/visualizer/messaging/browser-decoder-fixtures.js +187 -24
  47. package/dist/visualizer/messaging/browser-decoder-fixtures.js.map +1 -1
  48. package/dist/visualizer/messaging/decode-core.d.ts +9 -1
  49. package/dist/visualizer/messaging/decode-core.d.ts.map +1 -1
  50. package/dist/visualizer/messaging/decode-core.js +26 -16
  51. package/dist/visualizer/messaging/decode-core.js.map +1 -1
  52. package/dist/visualizer/messaging/decoder-fixtures.d.ts.map +1 -1
  53. package/dist/visualizer/messaging/decoder-fixtures.js +128 -1
  54. package/dist/visualizer/messaging/decoder-fixtures.js.map +1 -1
  55. package/dist/visualizer/messaging/decoder-harness.d.ts +2 -1
  56. package/dist/visualizer/messaging/decoder-harness.d.ts.map +1 -1
  57. package/dist/visualizer/messaging/decoder-harness.js.map +1 -1
  58. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts +6 -1
  59. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.d.ts.map +1 -1
  60. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +5 -1
  61. package/dist/visualizer/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -1
  62. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts +10 -14
  63. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts.map +1 -1
  64. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.js +56 -288
  65. package/dist/visualizer/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
  66. package/dist/visualizer/messaging/deserialization/pointcloud/utils.d.ts.map +1 -1
  67. package/dist/visualizer/messaging/deserialization/pointcloud/utils.js +2 -7
  68. package/dist/visualizer/messaging/deserialization/pointcloud/utils.js.map +1 -1
  69. package/dist/visualizer/messaging/deserialization/video/depth.d.ts +2 -1
  70. package/dist/visualizer/messaging/deserialization/video/depth.d.ts.map +1 -1
  71. package/dist/visualizer/messaging/deserialization/video/depth.js +9 -65
  72. package/dist/visualizer/messaging/deserialization/video/depth.js.map +1 -1
  73. package/dist/visualizer/messaging/deserialization/video/h264.d.ts +3 -3
  74. package/dist/visualizer/messaging/deserialization/video/h264.d.ts.map +1 -1
  75. package/dist/visualizer/messaging/deserialization/video/h264.js +80 -25
  76. package/dist/visualizer/messaging/deserialization/video/h264.js.map +1 -1
  77. package/dist/visualizer/messaging/deserialization/video/h265.d.ts +1 -1
  78. package/dist/visualizer/messaging/deserialization/video/h265.d.ts.map +1 -1
  79. package/dist/visualizer/messaging/deserialization/video/h265.js +62 -22
  80. package/dist/visualizer/messaging/deserialization/video/h265.js.map +1 -1
  81. package/dist/visualizer/messaging/deserialization/video/mjpeg.d.ts +1 -0
  82. package/dist/visualizer/messaging/deserialization/video/mjpeg.d.ts.map +1 -1
  83. package/dist/visualizer/messaging/deserialization/video/mjpeg.js +14 -2
  84. package/dist/visualizer/messaging/deserialization/video/mjpeg.js.map +1 -1
  85. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.d.ts +3 -1
  86. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.d.ts.map +1 -1
  87. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.js +152 -250
  88. package/dist/visualizer/messaging/deserialization/video/rgbd-to-pointcloud.js.map +1 -1
  89. package/dist/visualizer/messaging/deserialization.worker.d.ts +5 -3
  90. package/dist/visualizer/messaging/deserialization.worker.d.ts.map +1 -1
  91. package/dist/visualizer/messaging/deserialization.worker.js +16 -2
  92. package/dist/visualizer/messaging/deserialization.worker.js.map +1 -1
  93. package/dist/visualizer/messaging/message-event.d.ts +3 -0
  94. package/dist/visualizer/messaging/message-event.d.ts.map +1 -1
  95. package/dist/visualizer/messaging/message-event.js +18 -4
  96. package/dist/visualizer/messaging/message-event.js.map +1 -1
  97. package/dist/visualizer/messaging/message-handler.d.ts +3 -1
  98. package/dist/visualizer/messaging/message-handler.d.ts.map +1 -1
  99. package/dist/visualizer/messaging/message-handler.js +120 -49
  100. package/dist/visualizer/messaging/message-handler.js.map +1 -1
  101. package/dist/visualizer/output.css +7 -0
  102. package/dist/visualizer/panels/PointCloudPanel.d.ts.map +1 -1
  103. package/dist/visualizer/panels/PointCloudPanel.js +2 -0
  104. package/dist/visualizer/panels/PointCloudPanel.js.map +1 -1
  105. package/dist/visualizer/panels/image/ImageCanvasRenderer.d.ts.map +1 -1
  106. package/dist/visualizer/panels/image/ImageCanvasRenderer.js +246 -69
  107. package/dist/visualizer/panels/image/ImageCanvasRenderer.js.map +1 -1
  108. package/dist/visualizer/panels/image/annotation-overlay.d.ts.map +1 -1
  109. package/dist/visualizer/panels/image/annotation-overlay.js +16 -2
  110. package/dist/visualizer/panels/image/annotation-overlay.js.map +1 -1
  111. package/dist/visualizer/panels/image/raw-image-decoder.d.ts.map +1 -1
  112. package/dist/visualizer/panels/image/raw-image-decoder.js +1 -0
  113. package/dist/visualizer/panels/image/raw-image-decoder.js.map +1 -1
  114. package/dist/visualizer/panels/image/webgl-image-renderer.d.ts +11 -2
  115. package/dist/visualizer/panels/image/webgl-image-renderer.d.ts.map +1 -1
  116. package/dist/visualizer/panels/image/webgl-image-renderer.js +236 -41
  117. package/dist/visualizer/panels/image/webgl-image-renderer.js.map +1 -1
  118. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.d.ts +16 -0
  119. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.d.ts.map +1 -0
  120. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.js +184 -0
  121. package/dist/visualizer/panels/image/webgl-segmentation-mask-renderer.js.map +1 -0
  122. package/dist/visualizer/panels/image/worker-image-decoder.d.ts.map +1 -1
  123. package/dist/visualizer/panels/image/worker-image-decoder.js +8 -3
  124. package/dist/visualizer/panels/image/worker-image-decoder.js.map +1 -1
  125. package/dist/visualizer/panels/pointcloud/PointCloudCanvasRenderer.d.ts.map +1 -1
  126. package/dist/visualizer/panels/pointcloud/PointCloudCanvasRenderer.js +256 -73
  127. package/dist/visualizer/panels/pointcloud/PointCloudCanvasRenderer.js.map +1 -1
  128. package/dist/visualizer/panels/pointcloud/point-cloud-materials.d.ts +5 -0
  129. package/dist/visualizer/panels/pointcloud/point-cloud-materials.d.ts.map +1 -0
  130. package/dist/visualizer/panels/pointcloud/point-cloud-materials.js +123 -0
  131. package/dist/visualizer/panels/pointcloud/point-cloud-materials.js.map +1 -0
  132. package/dist/visualizer/protobuf.generated/NNData.d.ts +92 -0
  133. package/dist/visualizer/protobuf.generated/NNData.d.ts.map +1 -0
  134. package/dist/visualizer/protobuf.generated/NNData.js +620 -0
  135. package/dist/visualizer/protobuf.generated/NNData.js.map +1 -0
  136. package/dist/visualizer/utils/benchmark-metrics.d.ts +27 -0
  137. package/dist/visualizer/utils/benchmark-metrics.d.ts.map +1 -0
  138. package/dist/visualizer/utils/benchmark-metrics.js +139 -0
  139. package/dist/visualizer/utils/benchmark-metrics.js.map +1 -0
  140. package/dist/visualizer/utils/comlink-wrap.d.ts.map +1 -1
  141. package/dist/visualizer/utils/comlink-wrap.js +5 -0
  142. package/dist/visualizer/utils/comlink-wrap.js.map +1 -1
  143. package/dist/visualizer/utils/poitcloud-sync.d.ts.map +1 -1
  144. package/dist/visualizer/utils/poitcloud-sync.js +5 -2
  145. package/dist/visualizer/utils/poitcloud-sync.js.map +1 -1
  146. package/package.json +1 -2
  147. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.d.ts +0 -2
  148. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.d.ts.map +0 -1
  149. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.js +0 -45
  150. package/dist/visualizer/messaging/deserialization/pointcloud/i420ToRgbaToPoitcloud.worker.js.map +0 -1
  151. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.d.ts +0 -5
  152. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.d.ts.map +0 -1
  153. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.js +0 -124
  154. package/dist/visualizer/messaging/deserialization/video/depth-coloring.worker.js.map +0 -1
@@ -0,0 +1,184 @@
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 { getSegmentationClassColor } from "../../utils/segmentation-colors.js";
5
+ const VERTEX_SHADER = `#version 300 es
6
+ const vec2 positions[3] = vec2[3](
7
+ vec2(-1.0, -1.0),
8
+ vec2(3.0, -1.0),
9
+ vec2(-1.0, 3.0)
10
+ );
11
+ out vec2 vTexCoord;
12
+ void main() {
13
+ vec2 position = positions[gl_VertexID];
14
+ gl_Position = vec4(position, 0.0, 1.0);
15
+ vTexCoord = position * 0.5 + 0.5;
16
+ }
17
+ `;
18
+ const FRAGMENT_SHADER = `#version 300 es
19
+ precision highp float;
20
+ precision highp usampler2D;
21
+ uniform usampler2D uMask;
22
+ uniform sampler2D uPalette;
23
+ in vec2 vTexCoord;
24
+ out vec4 outColor;
25
+ void main() {
26
+ uint classId = texture(uMask, vec2(vTexCoord.x, 1.0 - vTexCoord.y)).r;
27
+ if (classId == 255u || classId > 32767u) {
28
+ discard;
29
+ }
30
+ ivec2 palettePosition = ivec2(int(classId & 255u), int(classId >> 8u));
31
+ outColor = texelFetch(uPalette, palettePosition, 0);
32
+ }
33
+ `;
34
+ const PALETTE_WIDTH = 256;
35
+ const PALETTE_HEIGHT = 128;
36
+ function compileShader(gl, type, source) {
37
+ const shader = gl.createShader(type);
38
+ if (!shader) {
39
+ throw new Error("Unable to create segmentation shader.");
40
+ }
41
+ gl.shaderSource(shader, source);
42
+ gl.compileShader(shader);
43
+ if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
44
+ const message = gl.getShaderInfoLog(shader) ?? "Unknown shader compilation failure.";
45
+ gl.deleteShader(shader);
46
+ throw new Error(message);
47
+ }
48
+ return shader;
49
+ }
50
+ function createProgram(gl) {
51
+ const program = gl.createProgram();
52
+ if (!program) {
53
+ throw new Error("Unable to create segmentation shader program.");
54
+ }
55
+ const vertexShader = compileShader(gl, gl.VERTEX_SHADER, VERTEX_SHADER);
56
+ const fragmentShader = compileShader(gl, gl.FRAGMENT_SHADER, FRAGMENT_SHADER);
57
+ gl.attachShader(program, vertexShader);
58
+ gl.attachShader(program, fragmentShader);
59
+ gl.linkProgram(program);
60
+ gl.deleteShader(vertexShader);
61
+ gl.deleteShader(fragmentShader);
62
+ if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
63
+ const message = gl.getProgramInfoLog(program) ?? "Unknown shader link failure.";
64
+ gl.deleteProgram(program);
65
+ throw new Error(message);
66
+ }
67
+ return program;
68
+ }
69
+ function createPalette() {
70
+ const palette = new Uint8Array(PALETTE_WIDTH * PALETTE_HEIGHT * 4);
71
+ for (let classId = 0; classId < PALETTE_WIDTH * PALETTE_HEIGHT; classId += 1) {
72
+ const color = getSegmentationClassColor(classId);
73
+ if (!color) {
74
+ continue;
75
+ }
76
+ const offset = classId * 4;
77
+ palette[offset] = color.r;
78
+ palette[offset + 1] = color.g;
79
+ palette[offset + 2] = color.b;
80
+ palette[offset + 3] = Math.round(color.a * 255);
81
+ }
82
+ return palette;
83
+ }
84
+ export class WebGlSegmentationMaskRenderer {
85
+ #gl;
86
+ #program;
87
+ #maskTexture;
88
+ #paletteTexture;
89
+ #vertexArray;
90
+ #destroyed = false;
91
+ static create(canvas) {
92
+ const gl = canvas.getContext("webgl2", {
93
+ alpha: true,
94
+ antialias: false,
95
+ depth: false,
96
+ premultipliedAlpha: false,
97
+ preserveDrawingBuffer: false,
98
+ });
99
+ if (!gl) {
100
+ return undefined;
101
+ }
102
+ try {
103
+ return new WebGlSegmentationMaskRenderer(gl);
104
+ }
105
+ catch (error) {
106
+ console.warn("GPU segmentation overlay initialization failed; using Canvas2D.", error);
107
+ return undefined;
108
+ }
109
+ }
110
+ constructor(gl) {
111
+ this.#gl = gl;
112
+ this.#program = createProgram(gl);
113
+ const maskTexture = gl.createTexture();
114
+ const paletteTexture = gl.createTexture();
115
+ const vertexArray = gl.createVertexArray();
116
+ if (!maskTexture || !paletteTexture || !vertexArray) {
117
+ throw new Error("Unable to allocate segmentation overlay resources.");
118
+ }
119
+ this.#maskTexture = maskTexture;
120
+ this.#paletteTexture = paletteTexture;
121
+ this.#vertexArray = vertexArray;
122
+ gl.useProgram(this.#program);
123
+ gl.uniform1i(gl.getUniformLocation(this.#program, "uMask"), 0);
124
+ gl.uniform1i(gl.getUniformLocation(this.#program, "uPalette"), 1);
125
+ gl.activeTexture(gl.TEXTURE1);
126
+ gl.bindTexture(gl.TEXTURE_2D, this.#paletteTexture);
127
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
128
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
129
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
130
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
131
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA8, PALETTE_WIDTH, PALETTE_HEIGHT, 0, gl.RGBA, gl.UNSIGNED_BYTE, createPalette());
132
+ gl.enable(gl.BLEND);
133
+ gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
134
+ gl.pixelStorei(gl.UNPACK_ALIGNMENT, 1);
135
+ }
136
+ draw(masks, canvasWidth, canvasHeight, rect) {
137
+ if (this.#destroyed) {
138
+ return;
139
+ }
140
+ const gl = this.#gl;
141
+ gl.viewport(0, 0, canvasWidth, canvasHeight);
142
+ gl.clearColor(0, 0, 0, 0);
143
+ gl.clear(gl.COLOR_BUFFER_BIT);
144
+ if (masks.length === 0 || rect.width <= 0 || rect.height <= 0) {
145
+ return;
146
+ }
147
+ gl.useProgram(this.#program);
148
+ gl.bindVertexArray(this.#vertexArray);
149
+ gl.viewport(Math.round(rect.x), Math.round(canvasHeight - rect.y - rect.height), Math.max(1, Math.round(rect.width)), Math.max(1, Math.round(rect.height)));
150
+ gl.activeTexture(gl.TEXTURE0);
151
+ gl.bindTexture(gl.TEXTURE_2D, this.#maskTexture);
152
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
153
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
154
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
155
+ gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
156
+ for (const mask of masks) {
157
+ if (mask.width <= 0 || mask.height <= 0 || mask.data.byteLength === 0) {
158
+ continue;
159
+ }
160
+ if (mask.bytesPerClassId === 1) {
161
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.R8UI, mask.width, mask.height, 0, gl.RED_INTEGER, gl.UNSIGNED_BYTE, mask.data);
162
+ }
163
+ else {
164
+ const classIds = mask.data.byteOffset % 2 === 0
165
+ ? new Uint16Array(mask.data.buffer, mask.data.byteOffset, mask.data.byteLength / 2)
166
+ : new Uint16Array(mask.data.slice().buffer);
167
+ gl.texImage2D(gl.TEXTURE_2D, 0, gl.R16UI, mask.width, mask.height, 0, gl.RED_INTEGER, gl.UNSIGNED_SHORT, classIds);
168
+ }
169
+ gl.drawArrays(gl.TRIANGLES, 0, 3);
170
+ }
171
+ gl.bindVertexArray(null);
172
+ }
173
+ destroy() {
174
+ if (this.#destroyed) {
175
+ return;
176
+ }
177
+ this.#destroyed = true;
178
+ this.#gl.deleteTexture(this.#maskTexture);
179
+ this.#gl.deleteTexture(this.#paletteTexture);
180
+ this.#gl.deleteVertexArray(this.#vertexArray);
181
+ this.#gl.deleteProgram(this.#program);
182
+ }
183
+ }
184
+ //# sourceMappingURL=webgl-segmentation-mask-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webgl-segmentation-mask-renderer.js","sourceRoot":"","sources":["../../../../src/visualizer/panels/image/webgl-segmentation-mask-renderer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worker-image-decoder.d.ts","sourceRoot":"","sources":["../../../../src/visualizer/panels/image/worker-image-decoder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAWN,qBAAa,kBAAkB;;;IAsEtB,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8C5D,OAAO,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAgB3D,SAAS,IAAI,IAAI;CA6BzB"}
1
+ {"version":3,"file":"worker-image-decoder.d.ts","sourceRoot":"","sources":["../../../../src/visualizer/panels/image/worker-image-decoder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAcN,qBAAa,kBAAkB;;;IAyEtB,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8C5D,OAAO,CAAC,YAAY,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAgB3D,SAAS,IAAI,IAAI;CA6BzB"}
@@ -1,7 +1,10 @@
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
- const MAX_REUSABLE_BUFFERS = 3;
4
+ // Decodes are serialized and the currently displayed output is not in this pool, so one
5
+ // spare input and output buffer are enough to avoid steady-state allocation. Keeping more
6
+ // retains stale full-resolution frames after a stream changes resolution.
7
+ const MAX_REUSABLE_BUFFERS = 1;
5
8
  export class WorkerImageDecoder {
6
9
  #worker;
7
10
  #pendingDecodes = new Map();
@@ -40,10 +43,12 @@ export class WorkerImageDecoder {
40
43
  });
41
44
  return;
42
45
  }
46
+ if (!result) {
47
+ pending.reject(new Error("Image decoder worker returned no renderable output"));
48
+ return;
49
+ }
43
50
  pending.resolve({
44
51
  kind: "image-data",
45
- // biome-ignore lint/suspicious/noTsIgnore: <explanation>
46
- //@ts-ignore
47
52
  imageData: new ImageData(result, pending.width, pending.height),
48
53
  width: pending.width,
49
54
  height: pending.height,
@@ -1 +1 @@
1
- {"version":3,"file":"worker-image-decoder.js","sourceRoot":"","sources":["../../../../src/visualizer/panels/image/worker-image-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-image-decoder.js","sourceRoot":"","sources":["../../../../src/visualizer/panels/image/worker-image-decoder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PointCloudCanvasRenderer.d.ts","sourceRoot":"","sources":["../../../../src/visualizer/panels/pointcloud/PointCloudCanvasRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAkC3E,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,WAAW,CAAC;QACzB,WAAW,EAAE,OAAO,gCAAgC,CAAC;QACrD,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;YACE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CACF,CAAC;KACH,CAAC,CAAC;IACH,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,0BAA0B,CAAC,EAAE,CAC3B,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EACrC,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC7B,CAAC;AAs4BF,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,EAAE,6BAA6B,GAAG,GAAG,CAAC,OAAO,CA8M7C"}
1
+ {"version":3,"file":"PointCloudCanvasRenderer.d.ts","sourceRoot":"","sources":["../../../../src/visualizer/panels/pointcloud/PointCloudCanvasRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAwC3E,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,WAAW,CAAC;QACzB,WAAW,EAAE,OAAO,gCAAgC,CAAC;QACrD,MAAM,EAAE,MAAM,CACZ,MAAM,EACN;YACE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CACF,CAAC;KACH,CAAC,CAAC;IACH,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,0BAA0B,CAAC,EAAE,CAC3B,WAAW,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EACrC,iBAAiB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,KAChE,IAAI,CAAC;IACV,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;CAC7B,CAAC;AAqjCF,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,EAAE,6BAA6B,GAAG,GAAG,CAAC,OAAO,CAsP7C"}