@luxonis/visualizer-protobuf 3.0.1-rc.18 → 3.0.1-rc.19

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 (28) hide show
  1. package/dist/{index-Dig3K-cY.js → index-95hbQkWG.js} +1 -1
  2. package/dist/{index-B3E8Emlx.js → index-BlSvGtTP.js} +1 -1
  3. package/dist/{index-CayXu8D7.js → index-C0RzyPoV.js} +1 -1
  4. package/dist/{index-LrR7lL4Q.js → index-C2Y03Ujw.js} +1 -1
  5. package/dist/{index-BUARVemy.js → index-Ch6E58oO.js} +1 -1
  6. package/dist/{index-C9mkbELo.js → index-D-RTBVuL.js} +1 -1
  7. package/dist/{index-CZqo-bSr.js → index-D9ccrJ_G.js} +1 -1
  8. package/dist/{index-B8LgmNDv.js → index-DHotQaLA.js} +1 -1
  9. package/dist/{index-hAYdj6GL.js → index-DQ48MsWu.js} +1 -1
  10. package/dist/{index-xDe5AgwY.js → index-DV9lczs6.js} +1 -1
  11. package/dist/{index-CtCMxyFT.js → index-DZRm4Fbk.js} +1 -1
  12. package/dist/{index-BN5b4J3R.js → index-DcvI4sOl.js} +1 -1
  13. package/dist/{index-Ck3n7Ifz.js → index-Df0xHjbv.js} +2 -2
  14. package/dist/{index-BcZJ4CKj.js → index-DyZ7YVbd.js} +1 -1
  15. package/dist/{index-B9kBmtfh.js → index-FER6hEar.js} +1 -1
  16. package/dist/{index-DKKWSSUF.js → index-OvqBfHtU.js} +1 -1
  17. package/dist/{index-BhPL--g_.js → index-SGArUfvd.js} +21 -21
  18. package/dist/{index-DdbpT0E0.js → index-jL1Qa16I.js} +1 -1
  19. package/dist/{index-Z7OejDH3.js → index-lHFIKDNX.js} +1 -1
  20. package/dist/{index-O3rUkGYw.js → index-xkY-FBM6.js} +72 -10
  21. package/dist/index.js +1 -1
  22. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.d.ts.map +1 -1
  23. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.js +32 -3
  24. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.js.map +1 -1
  25. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.d.ts.map +1 -1
  26. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.js +18 -0
  27. package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.js.map +1 -1
  28. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, aa as html, V as LanguageSupport, ab as parseMixed } from './index-BhPL--g_.js';
2
+ import { W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, aa as html, V as LanguageSupport, ab as parseMixed } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, a0 as LocalTokenGroup, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a1 as flatIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-BhPL--g_.js';
2
+ import { W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, a0 as LocalTokenGroup, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a1 as flatIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { R as styleTags, T as tags, U as LRLanguage, V as LanguageSupport, X as LRParser, a0 as LocalTokenGroup, aa as html, ab as parseMixed, ae as javascriptLanguage } from './index-BhPL--g_.js';
2
+ import { R as styleTags, T as tags, U as LRLanguage, V as LanguageSupport, X as LRParser, a0 as LocalTokenGroup, aa as html, ab as parseMixed, ae as javascriptLanguage } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { R as styleTags, T as tags, ae as javascriptLanguage, U as LRLanguage, V as LanguageSupport, X as LRParser, aa as html, ab as parseMixed, W as ExternalTokenizer } from './index-BhPL--g_.js';
2
+ import { R as styleTags, T as tags, ae as javascriptLanguage, U as LRLanguage, V as LanguageSupport, X as LRParser, aa as html, ab as parseMixed, W as ExternalTokenizer } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a4 as ContextTracker, W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, Q as foldNodeProp, ad as bracketMatchingHandle, V as LanguageSupport, a8 as EditorView, $ as syntaxTree, a9 as EditorSelection } from './index-BhPL--g_.js';
2
+ import { a4 as ContextTracker, W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, Q as foldNodeProp, ad as bracketMatchingHandle, V as LanguageSupport, a8 as EditorView, $ as syntaxTree, a9 as EditorSelection } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { W as ExternalTokenizer, a4 as ContextTracker, R as styleTags, T as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, U as LRLanguage, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-BhPL--g_.js';
2
+ import { W as ExternalTokenizer, a4 as ContextTracker, R as styleTags, T as tags, X as LRParser, $ as syntaxTree, Y as ifNotIn, U as LRLanguage, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport, a6 as IterMode, Z as completeFromList, a7 as NodeWeakMap, a5 as snippetCompletion } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a8 as EditorView, a9 as EditorSelection, U as LRLanguage, R as styleTags, T as tags, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, V as LanguageSupport, X as LRParser, a0 as LocalTokenGroup, $ as syntaxTree, aa as html, ab as parseMixed, W as ExternalTokenizer } from './index-BhPL--g_.js';
2
+ import { a8 as EditorView, a9 as EditorSelection, U as LRLanguage, R as styleTags, T as tags, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, V as LanguageSupport, X as LRParser, a0 as LocalTokenGroup, $ as syntaxTree, aa as html, ab as parseMixed, W as ExternalTokenizer } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { W as ExternalTokenizer, a4 as ContextTracker, R as styleTags, T as tags, X as LRParser, a0 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a1 as flatIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-BhPL--g_.js';
2
+ import { W as ExternalTokenizer, a4 as ContextTracker, R as styleTags, T as tags, X as LRParser, a0 as LocalTokenGroup, a5 as snippetCompletion, $ as syntaxTree, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a1 as flatIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport, Y as ifNotIn, Z as completeFromList, a6 as IterMode, a7 as NodeWeakMap } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a1 as flatIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-BhPL--g_.js';
2
+ import { R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, a1 as flatIndent, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a4 as ContextTracker, W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport, ab as parseMixed } from './index-BhPL--g_.js';
2
+ import { a4 as ContextTracker, W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport, ab as parseMixed } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-BhPL--g_.js';
2
+ import { W as ExternalTokenizer, R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, R as styleTags, T as tags, U as LRLanguage, V as LanguageSupport, W as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-BhPL--g_.js';
2
+ import { N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, R as styleTags, T as tags, U as LRLanguage, V as LanguageSupport, W as ExternalTokenizer, X as LRParser, Y as ifNotIn, Z as completeFromList, $ as syntaxTree } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { ImagePanel } from './index-O3rUkGYw.js';
2
+ import { ImagePanel } from './index-xkY-FBM6.js';
3
3
  import 'react';
4
4
  import 'react-dom/client';
5
5
  import './depth-Db-UjzPs.js';
@@ -10,7 +10,7 @@ import 'react-mosaic-component';
10
10
  import './protobuf-C2hFflNu.js';
11
11
  import '@mui/material';
12
12
  import './isArrayLikeObject-n9ytTioB.js';
13
- import './index-BhPL--g_.js';
13
+ import './index-SGArUfvd.js';
14
14
  import './utils-DmlHZWuo.js';
15
15
  import './FoxgloveServer-Ck4XVALC.js';
16
16
  import 'ms';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { a8 as EditorView, a9 as EditorSelection, U as LRLanguage, R as styleTags, T as tags, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, V as LanguageSupport, X as LRParser, $ as syntaxTree, aa as html, ab as parseMixed, W as ExternalTokenizer } from './index-BhPL--g_.js';
2
+ import { a8 as EditorView, a9 as EditorSelection, U as LRLanguage, R as styleTags, T as tags, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, V as LanguageSupport, X as LRParser, $ as syntaxTree, aa as html, ab as parseMixed, W as ExternalTokenizer } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { R as styleTags, T as tags, U as LRLanguage, N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, a3 as foldInside, ac as defineCSSCompletionSource, V as LanguageSupport, X as LRParser, W as ExternalTokenizer } from './index-BhPL--g_.js';
2
+ import { R as styleTags, T as tags, U as LRLanguage, N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, a3 as foldInside, ac as defineCSSCompletionSource, V as LanguageSupport, X as LRParser, W as ExternalTokenizer } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-BhPL--g_.js';
2
+ import { R as styleTags, T as tags, X as LRParser, U as LRLanguage, N as indentNodeProp, O as continuedIndent, Q as foldNodeProp, a3 as foldInside, V as LanguageSupport } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -89911,7 +89911,7 @@ function legacy(parser) {
89911
89911
  return new LanguageSupport(StreamLanguage.define(parser));
89912
89912
  }
89913
89913
  function sql$1(dialectName) {
89914
- return import('./index-BN5b4J3R.js').then(m => m.sql({ dialect: m[dialectName] }));
89914
+ return import('./index-DcvI4sOl.js').then(m => m.sql({ dialect: m[dialectName] }));
89915
89915
  }
89916
89916
  /**
89917
89917
  An array of language descriptions for known language packages.
@@ -89922,7 +89922,7 @@ const languages = [
89922
89922
  name: "C",
89923
89923
  extensions: ["c", "h", "ino"],
89924
89924
  load() {
89925
- return import('./index-B3E8Emlx.js').then(m => m.cpp());
89925
+ return import('./index-BlSvGtTP.js').then(m => m.cpp());
89926
89926
  }
89927
89927
  }),
89928
89928
  /*@__PURE__*/LanguageDescription.of({
@@ -89930,7 +89930,7 @@ const languages = [
89930
89930
  alias: ["cpp"],
89931
89931
  extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
89932
89932
  load() {
89933
- return import('./index-B3E8Emlx.js').then(m => m.cpp());
89933
+ return import('./index-BlSvGtTP.js').then(m => m.cpp());
89934
89934
  }
89935
89935
  }),
89936
89936
  /*@__PURE__*/LanguageDescription.of({
@@ -89950,7 +89950,7 @@ const languages = [
89950
89950
  name: "Go",
89951
89951
  extensions: ["go"],
89952
89952
  load() {
89953
- return import('./index-B8LgmNDv.js').then(m => m.go());
89953
+ return import('./index-DHotQaLA.js').then(m => m.go());
89954
89954
  }
89955
89955
  }),
89956
89956
  /*@__PURE__*/LanguageDescription.of({
@@ -89965,7 +89965,7 @@ const languages = [
89965
89965
  name: "Java",
89966
89966
  extensions: ["java"],
89967
89967
  load() {
89968
- return import('./index-hAYdj6GL.js').then(m => m.java());
89968
+ return import('./index-DQ48MsWu.js').then(m => m.java());
89969
89969
  }
89970
89970
  }),
89971
89971
  /*@__PURE__*/LanguageDescription.of({
@@ -89980,7 +89980,7 @@ const languages = [
89980
89980
  name: "Jinja",
89981
89981
  extensions: ["j2", "jinja", "jinja2"],
89982
89982
  load() {
89983
- return import('./index-CZqo-bSr.js').then(m => m.jinja());
89983
+ return import('./index-D9ccrJ_G.js').then(m => m.jinja());
89984
89984
  }
89985
89985
  }),
89986
89986
  /*@__PURE__*/LanguageDescription.of({
@@ -89988,7 +89988,7 @@ const languages = [
89988
89988
  alias: ["json5"],
89989
89989
  extensions: ["json", "map"],
89990
89990
  load() {
89991
- return import('./index-DKKWSSUF.js').then(m => m.json());
89991
+ return import('./index-OvqBfHtU.js').then(m => m.json());
89992
89992
  }
89993
89993
  }),
89994
89994
  /*@__PURE__*/LanguageDescription.of({
@@ -90002,14 +90002,14 @@ const languages = [
90002
90002
  name: "LESS",
90003
90003
  extensions: ["less"],
90004
90004
  load() {
90005
- return import('./index-B9kBmtfh.js').then(m => m.less());
90005
+ return import('./index-FER6hEar.js').then(m => m.less());
90006
90006
  }
90007
90007
  }),
90008
90008
  /*@__PURE__*/LanguageDescription.of({
90009
90009
  name: "Liquid",
90010
90010
  extensions: ["liquid"],
90011
90011
  load() {
90012
- return import('./index-BcZJ4CKj.js').then(m => m.liquid());
90012
+ return import('./index-DyZ7YVbd.js').then(m => m.liquid());
90013
90013
  }
90014
90014
  }),
90015
90015
  /*@__PURE__*/LanguageDescription.of({
@@ -90035,7 +90035,7 @@ const languages = [
90035
90035
  name: "PHP",
90036
90036
  extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
90037
90037
  load() {
90038
- return import('./index-Dig3K-cY.js').then(m => m.php());
90038
+ return import('./index-95hbQkWG.js').then(m => m.php());
90039
90039
  }
90040
90040
  }),
90041
90041
  /*@__PURE__*/LanguageDescription.of({
@@ -90052,28 +90052,28 @@ const languages = [
90052
90052
  extensions: ["BUILD", "bzl", "py", "pyw"],
90053
90053
  filename: /^(BUCK|BUILD)$/,
90054
90054
  load() {
90055
- return import('./index-C9mkbELo.js').then(m => m.python());
90055
+ return import('./index-D-RTBVuL.js').then(m => m.python());
90056
90056
  }
90057
90057
  }),
90058
90058
  /*@__PURE__*/LanguageDescription.of({
90059
90059
  name: "Rust",
90060
90060
  extensions: ["rs"],
90061
90061
  load() {
90062
- return import('./index-CtCMxyFT.js').then(m => m.rust());
90062
+ return import('./index-DZRm4Fbk.js').then(m => m.rust());
90063
90063
  }
90064
90064
  }),
90065
90065
  /*@__PURE__*/LanguageDescription.of({
90066
90066
  name: "Sass",
90067
90067
  extensions: ["sass"],
90068
90068
  load() {
90069
- return import('./index-Z7OejDH3.js').then(m => m.sass({ indented: true }));
90069
+ return import('./index-lHFIKDNX.js').then(m => m.sass({ indented: true }));
90070
90070
  }
90071
90071
  }),
90072
90072
  /*@__PURE__*/LanguageDescription.of({
90073
90073
  name: "SCSS",
90074
90074
  extensions: ["scss"],
90075
90075
  load() {
90076
- return import('./index-Z7OejDH3.js').then(m => m.sass());
90076
+ return import('./index-lHFIKDNX.js').then(m => m.sass());
90077
90077
  }
90078
90078
  }),
90079
90079
  /*@__PURE__*/LanguageDescription.of({
@@ -90104,7 +90104,7 @@ const languages = [
90104
90104
  name: "WebAssembly",
90105
90105
  extensions: ["wat", "wast"],
90106
90106
  load() {
90107
- return import('./index-DdbpT0E0.js').then(m => m.wast());
90107
+ return import('./index-jL1Qa16I.js').then(m => m.wast());
90108
90108
  }
90109
90109
  }),
90110
90110
  /*@__PURE__*/LanguageDescription.of({
@@ -90112,7 +90112,7 @@ const languages = [
90112
90112
  alias: ["rss", "wsdl", "xsd"],
90113
90113
  extensions: ["xml", "xsl", "xsd", "svg"],
90114
90114
  load() {
90115
- return import('./index-BUARVemy.js').then(m => m.xml());
90115
+ return import('./index-Ch6E58oO.js').then(m => m.xml());
90116
90116
  }
90117
90117
  }),
90118
90118
  /*@__PURE__*/LanguageDescription.of({
@@ -90120,7 +90120,7 @@ const languages = [
90120
90120
  alias: ["yml"],
90121
90121
  extensions: ["yaml", "yml"],
90122
90122
  load() {
90123
- return import('./index-xDe5AgwY.js').then(m => m.yaml());
90123
+ return import('./index-DV9lczs6.js').then(m => m.yaml());
90124
90124
  }
90125
90125
  }),
90126
90126
  // Legacy modes ported from CodeMirror 5
@@ -90909,13 +90909,13 @@ const languages = [
90909
90909
  name: "Vue",
90910
90910
  extensions: ["vue"],
90911
90911
  load() {
90912
- return import('./index-CayXu8D7.js').then(m => m.vue());
90912
+ return import('./index-C0RzyPoV.js').then(m => m.vue());
90913
90913
  }
90914
90914
  }),
90915
90915
  /*@__PURE__*/LanguageDescription.of({
90916
90916
  name: "Angular Template",
90917
90917
  load() {
90918
- return import('./index-LrR7lL4Q.js').then(m => m.angular());
90918
+ return import('./index-C2Y03Ujw.js').then(m => m.angular());
90919
90919
  }
90920
90920
  })
90921
90921
  ];
@@ -175968,7 +175968,7 @@ function createRenderDelaySampler() {
175968
175968
  };
175969
175969
  }
175970
175970
 
175971
- const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-Ck3n7Ifz.js'));
175971
+ const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-Df0xHjbv.js'));
175972
175972
  const ImagePanelBody = ({
175973
175973
  topic,
175974
175974
  frameRenderedEvent,
@@ -176062,7 +176062,7 @@ const DEFAULT_CAMERA_STATE = {
176062
176062
  // License, v2.0. If a copy of the MPL was not distributed with this
176063
176063
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
176064
176064
 
176065
- const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-O3rUkGYw.js'));
176065
+ const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-xkY-FBM6.js'));
176066
176066
  const PointCloudPanelBody = ({
176067
176067
  topic,
176068
176068
  frameRenderedEvent,
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { U as LRLanguage, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, R as styleTags, T as tags, V as LanguageSupport, X as LRParser } from './index-BhPL--g_.js';
2
+ import { U as LRLanguage, N as indentNodeProp, a2 as delimitedIndent, Q as foldNodeProp, a3 as foldInside, R as styleTags, T as tags, V as LanguageSupport, X as LRParser } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { W as ExternalTokenizer, a4 as ContextTracker, R as styleTags, T as tags, X as LRParser, U as LRLanguage, Q as foldNodeProp, a3 as foldInside, N as indentNodeProp, O as continuedIndent, ac as defineCSSCompletionSource, V as LanguageSupport } from './index-BhPL--g_.js';
2
+ import { W as ExternalTokenizer, a4 as ContextTracker, R as styleTags, T as tags, X as LRParser, U as LRLanguage, Q as foldNodeProp, a3 as foldInside, N as indentNodeProp, O as continuedIndent, ac as defineCSSCompletionSource, V as LanguageSupport } from './index-SGArUfvd.js';
3
3
  import './logger-CgxnhrWP.js';
4
4
  import './depth-Db-UjzPs.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -4,7 +4,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
4
4
  import { createRoot } from 'react-dom/client';
5
5
  import { W as isSymbol, X as toString, Y as keys, Z as getSymbols$1, _ as stubArray, $ as arrayPush, a0 as baseGetAllKeys, g as getTag, a1 as getAllKeys, j as baseGet, c as baseIteratee, i as castPath, t as toKey, a2 as arrayMap$1, L as Logger, a3 as useCurrentLayoutActions, a4 as useCurrentLayoutSelector, r as reportError, A as AppError, a5 as usePanelMosaicId, a6 as noop$4, a7 as useSelectedPanels, n as getPanelTypeFromId, K as useShallowMemo, T as TAB_PANEL_TYPE, I as filterMap, d as dist$2, a8 as useAppConfiguration, a9 as useJsonTreeTheme } from './depth-Db-UjzPs.js';
6
6
  import { createStore, useStore } from 'zustand';
7
- import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, i as isEmpty, e as PanelContext, h as PanelCatalogContext, j as usePanelStateStore, k as difference, l as usePanelContext, n as useMessagePipeline, v as v4, o as useDefaultPanelTitle, p as useHoverValue, q as useSetHoverValue, r as useClearHoverValue, s as useMessagePipelineGetter, t as usePanelSettingsTreeUpdate, w as PlayerCapabilities, x as assertNever, y as PlayerPresence, z as isEqual, B as AppEvent, C as isDesktopApp, D as createTheme, F as propTypesExports, G as format$1, H as stringType, I as serializeError, J as stringify$1, K as createIntl, L as createIntlCache, M as useAnalytics } from './index-BhPL--g_.js';
7
+ import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, i as isEmpty, e as PanelContext, h as PanelCatalogContext, j as usePanelStateStore, k as difference, l as usePanelContext, n as useMessagePipeline, v as v4, o as useDefaultPanelTitle, p as useHoverValue, q as useSetHoverValue, r as useClearHoverValue, s as useMessagePipelineGetter, t as usePanelSettingsTreeUpdate, w as PlayerCapabilities, x as assertNever, y as PlayerPresence, z as isEqual, B as AppEvent, C as isDesktopApp, D as createTheme, F as propTypesExports, G as format$1, H as stringType, I as serializeError, J as stringify$1, K as createIntl, L as createIntlCache, M as useAnalytics } from './index-SGArUfvd.js';
8
8
  import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, c as _objectWithoutProperties, d as _extends$1, b as _objectSpread2, e as _asyncIterator } from './logger-CgxnhrWP.js';
9
9
  import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
10
10
  import { Link, Button, alpha, IconButton, Typography, Card, CardActionArea, CardMedia, CardContent, Container, Tooltip, Fade, ListItem, ListItemButton, ListItemText, List, TextField, InputAdornment, Popper, Grow, Paper, ClickAwayListener, Menu, MenuItem, Divider, buttonClasses, Backdrop, Chip, useTheme, inputBaseClasses, autocompleteClasses, inputClasses, Checkbox, dialogActionsClasses, filledInputClasses, inputAdornmentClasses, listSubheaderClasses, selectClasses, tableCellClasses, ThemeProvider as ThemeProvider$1, tabsClasses as tabsClasses$1, tabClasses, Tabs, Tab, ListItemIcon } from '@mui/material';
@@ -30132,6 +30132,8 @@ Object.defineProperty(awaited, "__esModule", { value: true });
30132
30132
  } (dist$1));
30133
30133
 
30134
30134
  var _worker = /*#__PURE__*/_classPrivateFieldLooseKey("worker");
30135
+ var _pendingDecodes = /*#__PURE__*/_classPrivateFieldLooseKey("pendingDecodes");
30136
+ var _isTerminated = /*#__PURE__*/_classPrivateFieldLooseKey("isTerminated");
30135
30137
  // This Source Code Form is subject to the terms of the Mozilla Public
30136
30138
  // License, v2.0. If a copy of the MPL was not distributed with this
30137
30139
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
@@ -30148,15 +30150,22 @@ var _worker = /*#__PURE__*/_classPrivateFieldLooseKey("worker");
30148
30150
  */
30149
30151
 
30150
30152
  class WorkerImageDecoder {
30151
- // have more workers
30152
- //#reusableBuffer: SharedArrayBuffer | null = null;
30153
-
30154
30153
  constructor() {
30155
30154
  //#wasmInitialized = false;
30156
30155
  Object.defineProperty(this, _worker, {
30157
30156
  writable: true,
30158
30157
  value: void 0
30159
30158
  });
30159
+ // have more workers
30160
+ //#reusableBuffer: SharedArrayBuffer | null = null;
30161
+ Object.defineProperty(this, _pendingDecodes, {
30162
+ writable: true,
30163
+ value: new Set()
30164
+ });
30165
+ Object.defineProperty(this, _isTerminated, {
30166
+ writable: true,
30167
+ value: false
30168
+ });
30160
30169
  _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("WorkerImageDecoder.worker-Db4_QpUB.js", import.meta.url), {
30161
30170
  type: "module"
30162
30171
  });
@@ -30166,6 +30175,9 @@ class WorkerImageDecoder {
30166
30175
  * Copies `image` to the worker, and transfers the decoded result back to the main thread.
30167
30176
  */
30168
30177
  decode(image, options) {
30178
+ if (_classPrivateFieldLooseBase(this, _isTerminated)[_isTerminated]) {
30179
+ return Promise.reject(new Error("Worker has been terminated"));
30180
+ }
30169
30181
  return new Promise((resolve, reject) => {
30170
30182
  // Create or resize buffer if needed
30171
30183
  //if (!this.#reusableBuffer || this.#reusableBuffer.byteLength !== requiredSize) {
@@ -30173,7 +30185,13 @@ class WorkerImageDecoder {
30173
30185
  // this.#reusableBuffer = new SharedArrayBuffer(requiredSize);
30174
30186
  //}
30175
30187
 
30188
+ const handlers = {
30189
+ resolve,
30190
+ reject
30191
+ };
30192
+ _classPrivateFieldLooseBase(this, _pendingDecodes)[_pendingDecodes].add(handlers);
30176
30193
  _classPrivateFieldLooseBase(this, _worker)[_worker].onmessage = event => {
30194
+ _classPrivateFieldLooseBase(this, _pendingDecodes)[_pendingDecodes].delete(handlers);
30177
30195
  if (event.data.error) {
30178
30196
  reject(new Error(event.data.error));
30179
30197
  } else {
@@ -30225,6 +30243,19 @@ class WorkerImageDecoder {
30225
30243
  //}
30226
30244
 
30227
30245
  terminate() {
30246
+ if (_classPrivateFieldLooseBase(this, _isTerminated)[_isTerminated]) {
30247
+ return;
30248
+ }
30249
+ _classPrivateFieldLooseBase(this, _isTerminated)[_isTerminated] = true;
30250
+
30251
+ // Reject all pending decode operations to prevent memory leaks
30252
+ const terminationError = new Error("Worker terminated");
30253
+ for (const {
30254
+ reject
30255
+ } of _classPrivateFieldLooseBase(this, _pendingDecodes)[_pendingDecodes]) {
30256
+ reject(terminationError);
30257
+ }
30258
+ _classPrivateFieldLooseBase(this, _pendingDecodes)[_pendingDecodes].clear();
30228
30259
  _classPrivateFieldLooseBase(this, _worker)[_worker].terminate();
30229
30260
  }
30230
30261
  }
@@ -30343,12 +30374,25 @@ class ImageRenderable extends Renderable {
30343
30374
  return _classPrivateFieldLooseBase(this, _decodedImage)[_decodedImage];
30344
30375
  }
30345
30376
  dispose() {
30346
- var _this$userData$textur, _this$userData$materi, _this$userData$geomet, _this$decoderPool;
30377
+ var _this$userData$textur, _this$userData$materi, _this$userData$geomet;
30347
30378
  _classPrivateFieldLooseBase(this, _disposed$1)[_disposed$1] = true;
30379
+
30380
+ // Close ImageBitmap if it exists to free GPU memory
30381
+ if (_classPrivateFieldLooseBase(this, _decodedImage)[_decodedImage] instanceof ImageBitmap) {
30382
+ _classPrivateFieldLooseBase(this, _decodedImage)[_decodedImage].close();
30383
+ }
30384
+ _classPrivateFieldLooseBase(this, _decodedImage)[_decodedImage] = undefined;
30348
30385
  (_this$userData$textur = this.userData.texture) === null || _this$userData$textur === void 0 || _this$userData$textur.dispose();
30349
30386
  (_this$userData$materi = this.userData.material) === null || _this$userData$materi === void 0 || _this$userData$materi.dispose();
30350
30387
  (_this$userData$geomet = this.userData.geometry) === null || _this$userData$geomet === void 0 || _this$userData$geomet.dispose();
30351
- (_this$decoderPool = this.decoderPool) === null || _this$decoderPool === void 0 || _this$decoderPool.forEach(decoder => decoder.terminate());
30388
+
30389
+ // Terminate all workers in the pool
30390
+ if (this.decoderPool) {
30391
+ for (const decoder of this.decoderPool) {
30392
+ decoder.terminate();
30393
+ }
30394
+ this.decoderPool.length = 0;
30395
+ }
30352
30396
  super.dispose();
30353
30397
  }
30354
30398
  updateHeaderInfo() {
@@ -30415,10 +30459,18 @@ class ImageRenderable extends Renderable {
30415
30459
  const decodePromise = this.decodeImage(image, resizeWidth);
30416
30460
  decodePromise.then(result => {
30417
30461
  if (this.isDisposed()) {
30462
+ // Clean up the decoded result if it's an ImageBitmap
30463
+ if (result instanceof ImageBitmap) {
30464
+ result.close();
30465
+ }
30418
30466
  return;
30419
30467
  }
30420
30468
  // prevent displaying an image older than the one currently displayed
30421
30469
  if (_classPrivateFieldLooseBase(this, _displayedImageSequenceNumber)[_displayedImageSequenceNumber] > seq) {
30470
+ // Clean up the old result if it's an ImageBitmap
30471
+ if (result instanceof ImageBitmap) {
30472
+ result.close();
30473
+ }
30422
30474
  return;
30423
30475
  }
30424
30476
  _classPrivateFieldLooseBase(this, _displayedImageSequenceNumber)[_displayedImageSequenceNumber] = seq;
@@ -30430,6 +30482,10 @@ class ImageRenderable extends Renderable {
30430
30482
  this.removeError(DECODE_IMAGE_ERR_KEY);
30431
30483
  this.renderer.queueAnimationFrame();
30432
30484
  }).catch(err => {
30485
+ // Ignore errors from terminated workers
30486
+ if (err.message === "Worker terminated") {
30487
+ return;
30488
+ }
30433
30489
  log$5.error(err);
30434
30490
  if (this.isDisposed()) {
30435
30491
  return;
@@ -30442,11 +30498,11 @@ class ImageRenderable extends Renderable {
30442
30498
  });
30443
30499
  }
30444
30500
  async decodeImage(image, resizeWidth) {
30445
- var _this$decoderPool2;
30501
+ var _this$decoderPool;
30446
30502
  if ("format" in image) {
30447
30503
  return await decodeCompressedImageToBitmap(image, resizeWidth);
30448
30504
  }
30449
- const decoder = (_this$decoderPool2 = this.decoderPool) === null || _this$decoderPool2 === void 0 ? void 0 : _this$decoderPool2.at(_classPrivateFieldLooseBase(this, _lastUsedDecoderIndex)[_lastUsedDecoderIndex]);
30505
+ const decoder = (_this$decoderPool = this.decoderPool) === null || _this$decoderPool === void 0 ? void 0 : _this$decoderPool.at(_classPrivateFieldLooseBase(this, _lastUsedDecoderIndex)[_lastUsedDecoderIndex]);
30450
30506
  _classPrivateFieldLooseBase(this, _lastUsedDecoderIndex)[_lastUsedDecoderIndex] = (_classPrivateFieldLooseBase(this, _lastUsedDecoderIndex)[_lastUsedDecoderIndex] + 1) % this.decoderPool.length;
30451
30507
  return await decoder.decode(image, this.userData.settings);
30452
30508
  }
@@ -30492,9 +30548,11 @@ class ImageRenderable extends Renderable {
30492
30548
  async function _setErrorImage2(seq, onDecoded) {
30493
30549
  const errorBitmap = await getErrorImage(64, 64);
30494
30550
  if (this.isDisposed()) {
30551
+ errorBitmap.close();
30495
30552
  return;
30496
30553
  }
30497
30554
  if (_classPrivateFieldLooseBase(this, _displayedImageSequenceNumber)[_displayedImageSequenceNumber] > seq) {
30555
+ errorBitmap.close();
30498
30556
  return;
30499
30557
  }
30500
30558
  _classPrivateFieldLooseBase(this, _decodedImage)[_decodedImage] = errorBitmap;
@@ -30524,13 +30582,17 @@ function _updateTexture2() {
30524
30582
  if (canvasTexture == undefined ||
30525
30583
  // instanceof check allows us to switch from a raw image (DataTexture) to a compressed image (CanvasTexture)
30526
30584
  !(canvasTexture instanceof CanvasTexture) || !bitmapDimensionsEqual(decodedImage, canvasTexture.image)) {
30527
- if ((canvasTexture === null || canvasTexture === void 0 ? void 0 : canvasTexture.image) instanceof ImageBitmap) {
30528
- // don't close the image if it is the error image
30585
+ // Close the old bitmap if it exists and isn't the error image
30586
+ if ((canvasTexture === null || canvasTexture === void 0 ? void 0 : canvasTexture.image) instanceof ImageBitmap && !_classPrivateFieldLooseBase(this, _showingErrorImage)[_showingErrorImage]) {
30529
30587
  canvasTexture.image.close();
30530
30588
  }
30531
30589
  canvasTexture === null || canvasTexture === void 0 || canvasTexture.dispose();
30532
30590
  this.userData.texture = createCanvasTexture(decodedImage);
30533
30591
  } else {
30592
+ // Close the old bitmap before replacing it
30593
+ if (canvasTexture.image instanceof ImageBitmap && canvasTexture.image !== decodedImage && !_classPrivateFieldLooseBase(this, _showingErrorImage)[_showingErrorImage]) {
30594
+ canvasTexture.image.close();
30595
+ }
30534
30596
  canvasTexture.image = decodedImage;
30535
30597
  canvasTexture.needsUpdate = true;
30536
30598
  }
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- export { ap as FrameStore, ai as ImagePanel, ah as PanelLayout, aj as PointCloudPanel, af as VisualizerConnection, ag as VisualizerContext, ak as constructKeyForTopicRenderMetrics, aq as getIMUEventEmitter, am as globalDecodeMetricsManager, al as globalInputEventMetricsManager, an as globalRenderMetricsManager, ao as globalThroughputMetricsManager } from './index-BhPL--g_.js';
2
+ export { ap as FrameStore, ai as ImagePanel, ah as PanelLayout, aj as PointCloudPanel, af as VisualizerConnection, ag as VisualizerContext, ak as constructKeyForTopicRenderMetrics, aq as getIMUEventEmitter, am as globalDecodeMetricsManager, al as globalInputEventMetricsManager, an as globalRenderMetricsManager, ao as globalThroughputMetricsManager } from './index-SGArUfvd.js';
3
3
  export { P as getDistanceFromDepthDataForOffset } from './depth-Db-UjzPs.js';
4
4
  import './logger-CgxnhrWP.js';
5
5
  import './comlink-jf8bdrAf.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ImageRenderable.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;AAElG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mFAAmF,CAAC;AAEvH,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAID,eAAO,MAAM,iCAAiC,EAAE,uBAO/C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,UAAU,CAAC,aAAa,CAAC;;IAgB5D,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC;gBAQzB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa;IAKlF,SAAS,CAAC,UAAU,IAAI,OAAO;IAIxB,eAAe,IAAI,WAAW,GAAG,SAAS,GAAG,SAAS;IAI7C,OAAO,IAAI,IAAI;IASxB,gBAAgB,IAAI,IAAI;IAgBf,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI5C,oBAAoB,IAAI,IAAI;IAO5B,cAAc,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAKrD,WAAW,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;IAyCvD,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;cAwDpE,WAAW,CACzB,KAAK,EAAE,QAAQ,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAW5B,MAAM,IAAI,IAAI;IA2JrB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAStD,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAIzC"}
1
+ {"version":3,"file":"ImageRenderable.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,wDAAwD,CAAC;AAElG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mFAAmF,CAAC;AAEvH,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IACzE,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAID,eAAO,MAAM,iCAAiC,EAAE,uBAO/C,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,uBAAuB,CAAC;IAClC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,kBAAkB,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IAC1C,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,UAAU,CAAC,aAAa,CAAC;;IAgB5D,SAAS,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC;gBAQzB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa;IAKlF,SAAS,CAAC,UAAU,IAAI,OAAO;IAIxB,eAAe,IAAI,WAAW,GAAG,SAAS,GAAG,SAAS;IAI7C,OAAO,IAAI,IAAI;IAwBxB,gBAAgB,IAAI,IAAI;IAgBf,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI5C,oBAAoB,IAAI,IAAI;IAO5B,cAAc,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAKrD,WAAW,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;IAyCvD,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;cAsEpE,WAAW,CACzB,KAAK,EAAE,QAAQ,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAW5B,MAAM,IAAI,IAAI;IA+JrB,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAStD,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAIzC"}
@@ -55,10 +55,21 @@ export class ImageRenderable extends Renderable {
55
55
  }
56
56
  dispose() {
57
57
  this.#disposed = true;
58
+ // Close ImageBitmap if it exists to free GPU memory
59
+ if (this.#decodedImage instanceof ImageBitmap) {
60
+ this.#decodedImage.close();
61
+ }
62
+ this.#decodedImage = undefined;
58
63
  this.userData.texture?.dispose();
59
64
  this.userData.material?.dispose();
60
65
  this.userData.geometry?.dispose();
61
- this.decoderPool?.forEach(decoder => decoder.terminate());
66
+ // Terminate all workers in the pool
67
+ if (this.decoderPool) {
68
+ for (const decoder of this.decoderPool) {
69
+ decoder.terminate();
70
+ }
71
+ this.decoderPool.length = 0;
72
+ }
62
73
  super.dispose();
63
74
  }
64
75
  updateHeaderInfo() {
@@ -127,10 +138,18 @@ export class ImageRenderable extends Renderable {
127
138
  decodePromise
128
139
  .then((result) => {
129
140
  if (this.isDisposed()) {
141
+ // Clean up the decoded result if it's an ImageBitmap
142
+ if (result instanceof ImageBitmap) {
143
+ result.close();
144
+ }
130
145
  return;
131
146
  }
132
147
  // prevent displaying an image older than the one currently displayed
133
148
  if (this.#displayedImageSequenceNumber > seq) {
149
+ // Clean up the old result if it's an ImageBitmap
150
+ if (result instanceof ImageBitmap) {
151
+ result.close();
152
+ }
134
153
  return;
135
154
  }
136
155
  this.#displayedImageSequenceNumber = seq;
@@ -143,6 +162,10 @@ export class ImageRenderable extends Renderable {
143
162
  this.renderer.queueAnimationFrame();
144
163
  })
145
164
  .catch((err) => {
165
+ // Ignore errors from terminated workers
166
+ if (err.message === "Worker terminated") {
167
+ return;
168
+ }
146
169
  log.error(err);
147
170
  if (this.isDisposed()) {
148
171
  return;
@@ -157,9 +180,11 @@ export class ImageRenderable extends Renderable {
157
180
  async #setErrorImage(seq, onDecoded) {
158
181
  const errorBitmap = await getErrorImage(64, 64);
159
182
  if (this.isDisposed()) {
183
+ errorBitmap.close();
160
184
  return;
161
185
  }
162
186
  if (this.#displayedImageSequenceNumber > seq) {
187
+ errorBitmap.close();
163
188
  return;
164
189
  }
165
190
  this.#decodedImage = errorBitmap;
@@ -226,14 +251,18 @@ export class ImageRenderable extends Renderable {
226
251
  // instanceof check allows us to switch from a raw image (DataTexture) to a compressed image (CanvasTexture)
227
252
  !(canvasTexture instanceof THREE.CanvasTexture) ||
228
253
  !bitmapDimensionsEqual(decodedImage, canvasTexture.image)) {
229
- if (canvasTexture?.image instanceof ImageBitmap) {
230
- // don't close the image if it is the error image
254
+ // Close the old bitmap if it exists and isn't the error image
255
+ if (canvasTexture?.image instanceof ImageBitmap && !this.#showingErrorImage) {
231
256
  canvasTexture.image.close();
232
257
  }
233
258
  canvasTexture?.dispose();
234
259
  this.userData.texture = createCanvasTexture(decodedImage);
235
260
  }
236
261
  else {
262
+ // Close the old bitmap before replacing it
263
+ if (canvasTexture.image instanceof ImageBitmap && canvasTexture.image !== decodedImage && !this.#showingErrorImage) {
264
+ canvasTexture.image.close();
265
+ }
237
266
  canvasTexture.image = decodedImage;
238
267
  canvasTexture.needsUpdate = true;
239
268
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ImageRenderable.js","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageRenderable.js","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerImageDecoder.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C;;;;;;;GAOG;AAEH,qBAAa,kBAAkB;;;IAa7B;;OAEG;IACI,MAAM,CACX,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAC1B,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;IA2D5B,SAAS,IAAI,IAAI;CAGzB"}
1
+ {"version":3,"file":"WorkerImageDecoder.d.ts","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG9C;;;;;;;GAOG;AAEH,qBAAa,kBAAkB;;;IAe7B;;OAEG;IACI,MAAM,CACX,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAC1B,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,OAAO,CAAC,SAAS,GAAG,WAAW,CAAC;IAmE5B,SAAS,IAAI,IAAI;CAezB"}
@@ -14,6 +14,8 @@ export class WorkerImageDecoder {
14
14
  //#wasmInitialized = false;
15
15
  #worker; // have more workers
16
16
  //#reusableBuffer: SharedArrayBuffer | null = null;
17
+ #pendingDecodes = new Set();
18
+ #isTerminated = false;
17
19
  constructor() {
18
20
  this.#worker = new Worker(
19
21
  // foxglove-depcheck-used: babel-plugin-transform-import-meta
@@ -23,13 +25,19 @@ export class WorkerImageDecoder {
23
25
  * Copies `image` to the worker, and transfers the decoded result back to the main thread.
24
26
  */
25
27
  decode(image, options) {
28
+ if (this.#isTerminated) {
29
+ return Promise.reject(new Error("Worker has been terminated"));
30
+ }
26
31
  return new Promise((resolve, reject) => {
27
32
  // Create or resize buffer if needed
28
33
  //if (!this.#reusableBuffer || this.#reusableBuffer.byteLength !== requiredSize) {
29
34
  // console.log("Resizing buffer", this.#reusableBuffer?.byteLength);
30
35
  // this.#reusableBuffer = new SharedArrayBuffer(requiredSize);
31
36
  //}
37
+ const handlers = { resolve, reject };
38
+ this.#pendingDecodes.add(handlers);
32
39
  this.#worker.onmessage = (event) => {
40
+ this.#pendingDecodes.delete(handlers);
33
41
  if (event.data.error) {
34
42
  reject(new Error(event.data.error));
35
43
  }
@@ -77,6 +85,16 @@ export class WorkerImageDecoder {
77
85
  // return new ImageData(new Uint8ClampedArray(decodedBuffer), image.width, image.height);
78
86
  //}
79
87
  terminate() {
88
+ if (this.#isTerminated) {
89
+ return;
90
+ }
91
+ this.#isTerminated = true;
92
+ // Reject all pending decode operations to prevent memory leaks
93
+ const terminationError = new Error("Worker terminated");
94
+ for (const { reject } of this.#pendingDecodes) {
95
+ reject(terminationError);
96
+ }
97
+ this.#pendingDecodes.clear();
80
98
  this.#worker.terminate();
81
99
  }
82
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerImageDecoder.js","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAM1D,wEAAwE;AAExE;;;;;;;GAOG;AAEH,MAAM,OAAO,kBAAkB;IAC7B,2BAA2B;IAC3B,OAAO,CAAU,CAAC,oBAAoB;IACtC,mDAAmD;IAEnD;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM;QACvB,6DAA6D;QAC7D,IAAI,GAAG,CAAC,6BAA6B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,MAAM,CACX,KAA0B,EAC1B,OAAiC;QAEjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,oCAAoC;YACpC,kFAAkF;YAClF,qEAAqE;YACrE,+DAA+D;YAC/D,GAAG;YAEH,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrB,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBAEN,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC,CAAC;YAEF,uDAAuD;YACvD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAC,EAAE;gBAC1C,KAAK,CAAC,IAAI,CAAC,MAAM;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8HAA8H;IAC9H,0DAA0D;IAC1D,EAAE;IACF,0CAA0C;IAC1C,gFAAgF;IAChF,qEAAqE;IACrE,mEAAmE;IACnE,OAAO;IACP,EAAE;IACF,8EAA8E;IAC9E,+EAA+E;IAC/E,SAAS;IACT,GAAG;IAEH,0BAA0B;IAC1B,+BAA+B;IAC/B,sCAAsC;IACtC,yBAAyB;IACzB,iCAAiC;IACjC,+CAA+C;IAC/C,mBAAmB;IACnB,mCAAmC;IACnC,KAAK;IACP,EAAE;IACA,qEAAqE;IACrE,uDAAuD;IACvD,+BAA+B;IAC/B,kBAAkB;IAClB,mBAAmB;IACnB,QAAQ;IACR,MAAM;IACR,EAAE;IACA,0FAA0F;IAC1F,GAAG;IAEI,SAAS;QACd,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;CACF"}
1
+ {"version":3,"file":"WorkerImageDecoder.js","sourceRoot":"","sources":["../../../../../../../../../packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxonis/visualizer-protobuf",
3
- "version": "3.0.1-rc.18",
3
+ "version": "3.0.1-rc.19",
4
4
  "type": "module",
5
5
  "description": "RobotHub Visualizer Library",
6
6
  "author": "Luxonis Corp",