@luxonis/visualizer-protobuf 2.28.0 → 2.30.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.
- package/dist/{communicator-D49kmBTQ.js → communicator-1cvNRjMr.js} +1 -1
- package/dist/{deserialization.worker-DsCOJqEa.js → deserialization.worker-d0xuPKYs.js} +1 -1
- package/dist/{index-CLPc3bUH.js → index--ExGcWRF.js} +1 -1
- package/dist/{index-DE0_tKGA.js → index-3y-FxBOU.js} +1 -1
- package/dist/{index-LmBY2nOo.js → index-5qLvVfXR.js} +1 -1
- package/dist/{index-DZgY6A3h.js → index-BDGOyJit.js} +1 -1
- package/dist/{index-B1pNpslP.js → index-BJVD4ja7.js} +1 -1
- package/dist/{index-CJSOG1CX.js → index-BoavvIJ0.js} +2 -2
- package/dist/{index-I0XgHBlj.js → index-BtVYSyU9.js} +1 -1
- package/dist/{index-BuRQ7ljn.js → index-C4GjAqu3.js} +111 -38
- package/dist/{index-CdXrBVPC.js → index-CdxzudUl.js} +37 -1
- package/dist/{index-CGXxFWjz.js → index-CgyrzKmo.js} +1 -1
- package/dist/{index-DsO3GPWF.js → index-D3e3XAuV.js} +1 -1
- package/dist/{index-pwNtzQuf.js → index-D7zKsndC.js} +1 -1
- package/dist/{index-CXdNn-IZ.js → index-DBfT810F.js} +1 -1
- package/dist/{index-BZ8z044k.js → index-DC1kmt3c.js} +1 -1
- package/dist/{index-B5_Aa-W3.js → index-DEnq90TB.js} +1 -1
- package/dist/{index-DbT8vr6l.js → index-DG1LjJ38.js} +1 -1
- package/dist/{index-BNXdmaeO.js → index-Dn4LK93L.js} +1 -1
- package/dist/{index-CIHmVsn2.js → index-TJDtDUfC.js} +1 -1
- package/dist/{index-B4d7dS8a.js → index-gihFGAxa.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/src/components/PanelToolbar.d.ts.map +1 -1
- package/dist/lib/src/components/PanelToolbar.js +3 -3
- package/dist/lib/src/components/PanelToolbar.js.map +1 -1
- package/dist/lib/src/connection/connection.d.ts.map +1 -1
- package/dist/lib/src/connection/connection.js +3 -0
- package/dist/lib/src/connection/connection.js.map +1 -1
- package/dist/lib/src/connection/foxglove-connection.d.ts +4 -1
- package/dist/lib/src/connection/foxglove-connection.d.ts.map +1 -1
- package/dist/lib/src/connection/foxglove-connection.js +7 -4
- package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js +11 -9
- package/dist/lib/src/messaging/deserialization/pointcloud/pointcloudFromDepth.worker.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts +2 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js +42 -6
- package/dist/lib/src/messaging/deserialization/pointcloud/poitcloudPoolManager.js.map +1 -1
- package/dist/lib/src/output.css +9 -0
- package/dist/lib/src/protobuf.generated/EncodedFrame.js +1 -1
- package/dist/lib/src/protobuf.generated/Event.js +1 -1
- package/dist/lib/src/protobuf.generated/IMUData.js +1 -1
- package/dist/lib/src/protobuf.generated/ImageAnnotations.js +1 -1
- package/dist/lib/src/protobuf.generated/ImgDetections.js +1 -1
- package/dist/lib/src/protobuf.generated/ImgFrame.js +1 -1
- package/dist/lib/src/protobuf.generated/PointCloudData.js +1 -1
- package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +1 -1
- package/dist/lib/src/protobuf.generated/common.js +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.d.ts +1 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.js +31 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.js.map +1 -1
- package/dist/{pointcloudFromDepth.worker-JVTJ-r5q.js → pointcloudFromDepth.worker-hil48rbC.js} +11 -9
- package/dist/{protobuf-Cr0sn6Ua.js → protobuf-By8duXQO.js} +7 -7
- package/dist/{worker-aVL4LGa3.js → worker-B7qK-cxf.js} +2 -2
- package/dist/{worker-B5OJw-Fq.js → worker-CzUjMpCN.js} +2 -2
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { p as protobufsBySchema } from './protobuf-
|
|
1
|
+
import { p as protobufsBySchema } from './protobuf-By8duXQO.js';
|
|
2
2
|
|
|
3
3
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
4
4
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { e as expose } from './comlink-DHMAu6X7.js';
|
|
2
2
|
import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
|
|
3
3
|
import { e as estimateObjectSize, d as dist } from './tslib.es6-C73eoP_E.js';
|
|
4
|
-
import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, a as Profile } from './protobuf-
|
|
4
|
+
import { T as Type, P as PointsAnnotationType, p as protobufsBySchema, a as Profile } from './protobuf-By8duXQO.js';
|
|
5
5
|
import 'react';
|
|
6
6
|
import './_commonjsHelpers-E-ZsRS8r.js';
|
|
7
7
|
import 'zustand';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a8 as EditorView, a9 as EditorSelection, Q as LRLanguage, N as styleTags, O as tags, J as indentNodeProp, a0 as delimitedIndent, M as foldNodeProp, T as LanguageSupport, V as LRParser, Z as syntaxTree, aa as html, ab as parseMixed, U as ExternalTokenizer } from './index-
|
|
1
|
+
import { a8 as EditorView, a9 as EditorSelection, Q as LRLanguage, N as styleTags, O as tags, J as indentNodeProp, a0 as delimitedIndent, M as foldNodeProp, T as LanguageSupport, V as LRParser, Z as syntaxTree, aa as html, ab as parseMixed, U as ExternalTokenizer } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, ad as javascriptLanguage, Q as LRLanguage, T as LanguageSupport, V as LRParser, aa as html, ab as parseMixed, U as ExternalTokenizer } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, ad as javascriptLanguage, Q as LRLanguage, T as LanguageSupport, V as LRParser, aa as html, ab as parseMixed, U as ExternalTokenizer } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { J as indentNodeProp, K as continuedIndent, M as foldNodeProp, N as styleTags, O as tags, Q as LRLanguage, T as LanguageSupport, U as ExternalTokenizer, V as LRParser, X as ifNotIn, Y as completeFromList, Z as syntaxTree } from './index-
|
|
1
|
+
import { J as indentNodeProp, K as continuedIndent, M as foldNodeProp, N as styleTags, O as tags, Q as LRLanguage, T as LanguageSupport, U as ExternalTokenizer, V as LRParser, X as ifNotIn, Y as completeFromList, Z as syntaxTree } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, a7 as defineCSSCompletionSource, T as LanguageSupport, V as LRParser, U as ExternalTokenizer } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, a7 as defineCSSCompletionSource, T as LanguageSupport, V as LRParser, U as ExternalTokenizer } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ImagePanel } from './index-
|
|
1
|
+
import { ImagePanel } from './index-CdxzudUl.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
4
4
|
import './tslib.es6-C73eoP_E.js';
|
|
@@ -7,7 +7,7 @@ import './_commonjsHelpers-E-ZsRS8r.js';
|
|
|
7
7
|
import '@mui/material';
|
|
8
8
|
import './isArrayLikeObject-Bytw9p-q.js';
|
|
9
9
|
import 'zustand';
|
|
10
|
-
import './index-
|
|
10
|
+
import './index-C4GjAqu3.js';
|
|
11
11
|
import './comlink-DHMAu6X7.js';
|
|
12
12
|
import './utils-Hzt3wxhG.js';
|
|
13
13
|
import './FoxgloveServer-C39Uooyk.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -27,7 +27,7 @@ import { defineGlobalStyles, defineTokens as defineTokens$1, defineKeyframes, de
|
|
|
27
27
|
|
|
28
28
|
var e=[],t$1=[];function n$1(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t$1[u]={}),a=t$1[u]&&t$1[u][s]?t$1[u][s]:t$1[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
29
29
|
|
|
30
|
-
var css$b = "/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-700: oklch(0.373 0.034 259.733);\n --spacing: 0.25rem;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .fixed {\n position: fixed;\n }\n .ml-auto {\n margin-left: auto;\n }\n .hidden {\n display: none;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-start {\n align-items: flex-start;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .text-\\[14px\\]\\/\\[14px\\] {\n font-size: 14px;\n line-height: 14px;\n }\n .text-\\[20px\\]\\/\\[20px\\] {\n font-size: 20px;\n line-height: 20px;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:items-end {\n @media (width >= 80rem) {\n align-items: flex-end;\n }\n }\n .xl\\:pb-\\[2px\\] {\n @media (width >= 80rem) {\n padding-bottom: 2px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n";
|
|
30
|
+
var css$b = "/*! tailwindcss v4.0.17 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-700: oklch(0.373 0.034 259.733);\n --spacing: 0.25rem;\n --font-weight-semibold: 600;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .fixed {\n position: fixed;\n }\n .ml-auto {\n margin-left: auto;\n }\n .hidden {\n display: none;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-start {\n align-items: flex-start;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .text-\\[14px\\]\\/\\[14px\\] {\n font-size: 14px;\n line-height: 14px;\n }\n .text-\\[20px\\]\\/\\[20px\\] {\n font-size: 20px;\n line-height: 20px;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:items-end {\n @media (width >= 80rem) {\n align-items: flex-end;\n }\n }\n .xl\\:pb-\\[2px\\] {\n @media (width >= 80rem) {\n padding-bottom: 2px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n";
|
|
31
31
|
n$1(css$b,{});
|
|
32
32
|
|
|
33
33
|
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
@@ -530,9 +530,12 @@ class DepthToPointcloudWorkerPool {
|
|
|
530
530
|
#processedFrameQueue = [];
|
|
531
531
|
#isWebGpuSupported = false;
|
|
532
532
|
#metrics;
|
|
533
|
+
#maximumStorageBufferSize;
|
|
533
534
|
#FRAME_BATCH_SIZE;
|
|
534
535
|
#targetDispatchIntervalMs;
|
|
535
536
|
#maxProcessedQueueSize;
|
|
537
|
+
#prevColorFrameWidth;
|
|
538
|
+
#prevDepthFrameWidth;
|
|
536
539
|
#dispatchCallback;
|
|
537
540
|
#isProcessing = false;
|
|
538
541
|
#dispatchTimeoutId = undefined;
|
|
@@ -544,6 +547,7 @@ class DepthToPointcloudWorkerPool {
|
|
|
544
547
|
console.warn("WebGPU adapter not found. Falling back to CPU for all frames.");
|
|
545
548
|
} else {
|
|
546
549
|
this.#isWebGpuSupported = true;
|
|
550
|
+
this.#maximumStorageBufferSize = gpuAdapter.limits.maxStorageBufferBindingSize / 16;
|
|
547
551
|
console.info("WebGPU potentially supported. Will attempt GPU processing.");
|
|
548
552
|
}
|
|
549
553
|
}).catch(err => {
|
|
@@ -554,33 +558,62 @@ class DepthToPointcloudWorkerPool {
|
|
|
554
558
|
console.warn("navigator.gpu is undefined. WebGPU not supported. Falling back to CPU for all frames.");
|
|
555
559
|
this.#isWebGpuSupported = false;
|
|
556
560
|
}
|
|
561
|
+
this.#maximumStorageBufferSize = -1;
|
|
562
|
+
this.#prevDepthFrameWidth = 0;
|
|
563
|
+
this.#prevColorFrameWidth = 0;
|
|
557
564
|
this.#dispatchCallback = callback;
|
|
558
565
|
this.#FRAME_BATCH_SIZE = Math.max(1, batchSize);
|
|
559
566
|
this.#targetDispatchIntervalMs = 1000 / Math.max(1, targetFps);
|
|
560
567
|
this.#maxProcessedQueueSize = Math.max(1, maxProcessedQueueSize);
|
|
561
|
-
this.workerApis = new Array(WORKER_COUNT).fill(undefined).map(() => wrap$3(new Worker(new URL("pointcloudFromDepth.worker-
|
|
568
|
+
this.workerApis = new Array(WORKER_COUNT).fill(undefined).map(() => wrap$3(new Worker(new URL("pointcloudFromDepth.worker-hil48rbC.js", import.meta.url), {
|
|
562
569
|
type: "module"
|
|
563
570
|
})));
|
|
564
571
|
this.#metrics = new EventMetricsManager();
|
|
565
572
|
this.#metrics.registerEvent("pcl-pool.frameInput");
|
|
566
573
|
}
|
|
567
574
|
async queueDepthFrame(data) {
|
|
568
|
-
// @ts-expect-error
|
|
575
|
+
// @ts-expect-error - Known
|
|
569
576
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
570
577
|
if (!(data.colorFrame.message?.data instanceof Uint8Array)) {
|
|
571
578
|
console.warn("Skipping frame: colorFrame.message.data is not a Uint8Array", data.colorFrame);
|
|
572
579
|
return;
|
|
573
580
|
}
|
|
574
|
-
this.#
|
|
575
|
-
|
|
581
|
+
if (data.width !== this.#prevDepthFrameWidth || data.i420Width !== this.#prevColorFrameWidth) {
|
|
582
|
+
this.setMaxGpuQueueSize(data.width, data.height);
|
|
583
|
+
this.#prevDepthFrameWidth = data.width;
|
|
584
|
+
this.#prevColorFrameWidth = data.i420Width;
|
|
585
|
+
this.#frameQueue = [];
|
|
586
|
+
}
|
|
587
|
+
if (data.width === data.i420Width && data.height === data.i420Height) {
|
|
588
|
+
this.#frameQueue.push(data);
|
|
589
|
+
this.tryProcessBatch();
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
setMaxGpuQueueSize(width, height) {
|
|
593
|
+
if (!this.#isWebGpuSupported) {
|
|
594
|
+
return;
|
|
595
|
+
}
|
|
596
|
+
const numPixelsPerFrame = width * height;
|
|
597
|
+
const currentOutSize = numPixelsPerFrame * 16 * this.#FRAME_BATCH_SIZE;
|
|
598
|
+
if (currentOutSize > this.#maximumStorageBufferSize) {
|
|
599
|
+
console.warn(`GPU queue size ${currentOutSize} exceeds maximum storage buffer size ${this.#maximumStorageBufferSize}. Reducing batch size.`);
|
|
600
|
+
const frameBatchSize = Math.floor(this.#maximumStorageBufferSize / (numPixelsPerFrame * 16));
|
|
601
|
+
this.#FRAME_BATCH_SIZE = Math.max(1, frameBatchSize);
|
|
602
|
+
if (frameBatchSize < 1) {
|
|
603
|
+
console.warn("Output buffer size is too small to process. Falling back to CPU.");
|
|
604
|
+
this.#isWebGpuSupported = false;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
576
607
|
}
|
|
577
|
-
|
|
608
|
+
|
|
609
|
+
// eslint-disable-next-line @foxglove/no-boolean-parameters
|
|
610
|
+
tryProcessBatch(force = false) {
|
|
578
611
|
this.#metrics?.registerEvent("pcl-pool.batchSent");
|
|
579
612
|
const fps = this.#metrics?.calculate("pcl-pool.batchSent");
|
|
580
613
|
if (fps && fps > 0) {
|
|
581
614
|
this.#targetDispatchIntervalMs = 1000 / Math.max(4, fps);
|
|
582
615
|
}
|
|
583
|
-
if (this.#isProcessing || this.#frameQueue.length < this.#FRAME_BATCH_SIZE) {
|
|
616
|
+
if ((this.#isProcessing || this.#frameQueue.length < this.#FRAME_BATCH_SIZE) && !force) {
|
|
584
617
|
return;
|
|
585
618
|
}
|
|
586
619
|
this.#isProcessing = true;
|
|
@@ -602,7 +635,7 @@ class DepthToPointcloudWorkerPool {
|
|
|
602
635
|
const i420Height = firstFrame.i420Height;
|
|
603
636
|
try {
|
|
604
637
|
const depthDataArray = batchToProcess.map(f => uint8ArrayToUint16Array(f.depthFrame.data));
|
|
605
|
-
// @ts-expect-error
|
|
638
|
+
// @ts-expect-error - ITS unknow
|
|
606
639
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access
|
|
607
640
|
const i420DataArray = batchToProcess.map(f => f.colorFrame.message.data);
|
|
608
641
|
const workerIndex = this.lastUsedWorkerIndex;
|
|
@@ -670,6 +703,10 @@ class DepthToPointcloudWorkerPool {
|
|
|
670
703
|
}
|
|
671
704
|
#addToProcessedQueue(processedFrame) {
|
|
672
705
|
if (this.#processedFrameQueue.length >= this.#maxProcessedQueueSize) {
|
|
706
|
+
const fps = this.#metrics?.calculate("pcl-pool.batchSent");
|
|
707
|
+
if (fps && fps > 0) {
|
|
708
|
+
this.#targetDispatchIntervalMs = 1000 / Math.max(4, fps + 1);
|
|
709
|
+
}
|
|
673
710
|
this.#processedFrameQueue.shift();
|
|
674
711
|
console.warn(`Processed frame queue full (>= ${this.#maxProcessedQueueSize}). Dropping oldest frame.`);
|
|
675
712
|
}
|
|
@@ -717,7 +754,7 @@ class DepthToPointcloudWorkerPool {
|
|
|
717
754
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
718
755
|
|
|
719
756
|
function initWorker(callback) {
|
|
720
|
-
const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-
|
|
757
|
+
const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-d0xuPKYs.js", import.meta.url), {
|
|
721
758
|
type: "module",
|
|
722
759
|
name: `message-decoder`
|
|
723
760
|
}));
|
|
@@ -917,6 +954,10 @@ class FoxgloveConnection {
|
|
|
917
954
|
}
|
|
918
955
|
async handleParsePoitcloudMessage(coloredEvent) {
|
|
919
956
|
const poitcloudFrame = this.PoitCloudSyncFramework.getFrame(coloredEvent.receiveTime.nsec);
|
|
957
|
+
const {
|
|
958
|
+
width: colorWith,
|
|
959
|
+
height: colorHeight
|
|
960
|
+
} = this.parseResolutionFromMessage(coloredEvent.message, coloredEvent.topic);
|
|
920
961
|
if (poitcloudFrame) {
|
|
921
962
|
const neuralCameraIntrinsics = JSON.parse(localStorage.getItem("neuralCameraIntrinsics") ?? "{}");
|
|
922
963
|
await this.depthToPointcloudWorkerPool.queueDepthFrame({
|
|
@@ -928,18 +969,25 @@ class FoxgloveConnection {
|
|
|
928
969
|
cx: neuralCameraIntrinsics.right.principalPoint.x,
|
|
929
970
|
cy: neuralCameraIntrinsics.right.principalPoint.y,
|
|
930
971
|
colorFrame: coloredEvent,
|
|
931
|
-
i420Width: poitcloudFrame.width ?? 0,
|
|
932
|
-
i420Height: poitcloudFrame.height ?? 0
|
|
972
|
+
i420Width: colorWith ?? poitcloudFrame.width ?? 0,
|
|
973
|
+
i420Height: colorHeight ?? poitcloudFrame.height ?? 0
|
|
933
974
|
});
|
|
934
975
|
}
|
|
935
976
|
}
|
|
936
977
|
parseResolutionFromMessage(message, topic) {
|
|
937
978
|
// Check if usual width/height attributes are present
|
|
938
|
-
// @ts-
|
|
979
|
+
// @ts-expect-error - ITS unknow
|
|
939
980
|
if ('width' in message && 'height' in message) {
|
|
940
981
|
this.resolutions.set(topic, `${message.width}x${message.height}`);
|
|
941
|
-
return
|
|
982
|
+
return {
|
|
983
|
+
width: message.width,
|
|
984
|
+
height: message.height
|
|
985
|
+
};
|
|
942
986
|
}
|
|
987
|
+
return {
|
|
988
|
+
width: undefined,
|
|
989
|
+
height: undefined
|
|
990
|
+
};
|
|
943
991
|
}
|
|
944
992
|
handleParsedMessage(event) {
|
|
945
993
|
this.decodeMetrics.registerEvent(event.topic);
|
|
@@ -955,7 +1003,8 @@ class FoxgloveConnection {
|
|
|
955
1003
|
event.sizeInBytes = messageSize;
|
|
956
1004
|
this.messageEvents.push(event);
|
|
957
1005
|
this.emitState();
|
|
958
|
-
|
|
1006
|
+
const poitcloudColorFrameName = this.subscribedTopics.get("_Point Cloud Color") ? "_Point Cloud Color" : "H.264 Stream";
|
|
1007
|
+
if (event.topic === poitcloudColorFrameName) {
|
|
959
1008
|
void this.handleParsePoitcloudMessage(event);
|
|
960
1009
|
}
|
|
961
1010
|
}
|
|
@@ -19103,7 +19152,7 @@ class WebRtcBridge extends ArtificialWorker {
|
|
|
19103
19152
|
constructor(automaticTokenRefresh) {
|
|
19104
19153
|
super();
|
|
19105
19154
|
this.automaticTokenRefresh = automaticTokenRefresh;
|
|
19106
|
-
this.#worker = new Worker(new URL("worker-
|
|
19155
|
+
this.#worker = new Worker(new URL("worker-CzUjMpCN.js", import.meta.url), {
|
|
19107
19156
|
type: "module"
|
|
19108
19157
|
});
|
|
19109
19158
|
this.#setupArtificialWorker();
|
|
@@ -19319,7 +19368,7 @@ class VisualizerConnection extends FoxgloveConnection {
|
|
|
19319
19368
|
let worker;
|
|
19320
19369
|
if (type === 'ws') {
|
|
19321
19370
|
this.#url = data.connectionUrl;
|
|
19322
|
-
worker = new Worker(new URL("worker-
|
|
19371
|
+
worker = new Worker(new URL("worker-B7qK-cxf.js", import.meta.url), {
|
|
19323
19372
|
type: "module"
|
|
19324
19373
|
});
|
|
19325
19374
|
} else {
|
|
@@ -19343,6 +19392,9 @@ class VisualizerConnection extends FoxgloveConnection {
|
|
|
19343
19392
|
}
|
|
19344
19393
|
subscribe(args) {
|
|
19345
19394
|
this.#adapter?.subscribe(args);
|
|
19395
|
+
for (const topic of args.topics) {
|
|
19396
|
+
this.subscribedTopics.set(topic, topic);
|
|
19397
|
+
}
|
|
19346
19398
|
}
|
|
19347
19399
|
unsubscribe(args) {
|
|
19348
19400
|
this.#adapter?.unsubscribe(args);
|
|
@@ -85410,7 +85462,7 @@ function legacy(parser) {
|
|
|
85410
85462
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
85411
85463
|
}
|
|
85412
85464
|
function sql$1(dialectName) {
|
|
85413
|
-
return import('./index-
|
|
85465
|
+
return import('./index-BDGOyJit.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
85414
85466
|
}
|
|
85415
85467
|
/**
|
|
85416
85468
|
An array of language descriptions for known language packages.
|
|
@@ -85421,7 +85473,7 @@ const languages = [
|
|
|
85421
85473
|
name: "C",
|
|
85422
85474
|
extensions: ["c", "h", "ino"],
|
|
85423
85475
|
load() {
|
|
85424
|
-
return import('./index-
|
|
85476
|
+
return import('./index-BtVYSyU9.js').then(m => m.cpp());
|
|
85425
85477
|
}
|
|
85426
85478
|
}),
|
|
85427
85479
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85429,7 +85481,7 @@ const languages = [
|
|
|
85429
85481
|
alias: ["cpp"],
|
|
85430
85482
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
85431
85483
|
load() {
|
|
85432
|
-
return import('./index-
|
|
85484
|
+
return import('./index-BtVYSyU9.js').then(m => m.cpp());
|
|
85433
85485
|
}
|
|
85434
85486
|
}),
|
|
85435
85487
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85449,7 +85501,7 @@ const languages = [
|
|
|
85449
85501
|
name: "Go",
|
|
85450
85502
|
extensions: ["go"],
|
|
85451
85503
|
load() {
|
|
85452
|
-
return import('./index-
|
|
85504
|
+
return import('./index-D7zKsndC.js').then(m => m.go());
|
|
85453
85505
|
}
|
|
85454
85506
|
}),
|
|
85455
85507
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85464,7 +85516,7 @@ const languages = [
|
|
|
85464
85516
|
name: "Java",
|
|
85465
85517
|
extensions: ["java"],
|
|
85466
85518
|
load() {
|
|
85467
|
-
return import('./index-
|
|
85519
|
+
return import('./index-3y-FxBOU.js').then(m => m.java());
|
|
85468
85520
|
}
|
|
85469
85521
|
}),
|
|
85470
85522
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85480,7 +85532,7 @@ const languages = [
|
|
|
85480
85532
|
alias: ["json5"],
|
|
85481
85533
|
extensions: ["json", "map"],
|
|
85482
85534
|
load() {
|
|
85483
|
-
return import('./index-
|
|
85535
|
+
return import('./index-DC1kmt3c.js').then(m => m.json());
|
|
85484
85536
|
}
|
|
85485
85537
|
}),
|
|
85486
85538
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85494,14 +85546,14 @@ const languages = [
|
|
|
85494
85546
|
name: "LESS",
|
|
85495
85547
|
extensions: ["less"],
|
|
85496
85548
|
load() {
|
|
85497
|
-
return import('./index-
|
|
85549
|
+
return import('./index-BJVD4ja7.js').then(m => m.less());
|
|
85498
85550
|
}
|
|
85499
85551
|
}),
|
|
85500
85552
|
/*@__PURE__*/LanguageDescription.of({
|
|
85501
85553
|
name: "Liquid",
|
|
85502
85554
|
extensions: ["liquid"],
|
|
85503
85555
|
load() {
|
|
85504
|
-
return import('./index
|
|
85556
|
+
return import('./index--ExGcWRF.js').then(m => m.liquid());
|
|
85505
85557
|
}
|
|
85506
85558
|
}),
|
|
85507
85559
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85527,7 +85579,7 @@ const languages = [
|
|
|
85527
85579
|
name: "PHP",
|
|
85528
85580
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
85529
85581
|
load() {
|
|
85530
|
-
return import('./index-
|
|
85582
|
+
return import('./index-D3e3XAuV.js').then(m => m.php());
|
|
85531
85583
|
}
|
|
85532
85584
|
}),
|
|
85533
85585
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85544,28 +85596,28 @@ const languages = [
|
|
|
85544
85596
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
85545
85597
|
filename: /^(BUCK|BUILD)$/,
|
|
85546
85598
|
load() {
|
|
85547
|
-
return import('./index-
|
|
85599
|
+
return import('./index-Dn4LK93L.js').then(m => m.python());
|
|
85548
85600
|
}
|
|
85549
85601
|
}),
|
|
85550
85602
|
/*@__PURE__*/LanguageDescription.of({
|
|
85551
85603
|
name: "Rust",
|
|
85552
85604
|
extensions: ["rs"],
|
|
85553
85605
|
load() {
|
|
85554
|
-
return import('./index-
|
|
85606
|
+
return import('./index-DEnq90TB.js').then(m => m.rust());
|
|
85555
85607
|
}
|
|
85556
85608
|
}),
|
|
85557
85609
|
/*@__PURE__*/LanguageDescription.of({
|
|
85558
85610
|
name: "Sass",
|
|
85559
85611
|
extensions: ["sass"],
|
|
85560
85612
|
load() {
|
|
85561
|
-
return import('./index-
|
|
85613
|
+
return import('./index-CgyrzKmo.js').then(m => m.sass({ indented: true }));
|
|
85562
85614
|
}
|
|
85563
85615
|
}),
|
|
85564
85616
|
/*@__PURE__*/LanguageDescription.of({
|
|
85565
85617
|
name: "SCSS",
|
|
85566
85618
|
extensions: ["scss"],
|
|
85567
85619
|
load() {
|
|
85568
|
-
return import('./index-
|
|
85620
|
+
return import('./index-CgyrzKmo.js').then(m => m.sass());
|
|
85569
85621
|
}
|
|
85570
85622
|
}),
|
|
85571
85623
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85596,7 +85648,7 @@ const languages = [
|
|
|
85596
85648
|
name: "WebAssembly",
|
|
85597
85649
|
extensions: ["wat", "wast"],
|
|
85598
85650
|
load() {
|
|
85599
|
-
return import('./index-
|
|
85651
|
+
return import('./index-TJDtDUfC.js').then(m => m.wast());
|
|
85600
85652
|
}
|
|
85601
85653
|
}),
|
|
85602
85654
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85604,7 +85656,7 @@ const languages = [
|
|
|
85604
85656
|
alias: ["rss", "wsdl", "xsd"],
|
|
85605
85657
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
85606
85658
|
load() {
|
|
85607
|
-
return import('./index-
|
|
85659
|
+
return import('./index-gihFGAxa.js').then(m => m.xml());
|
|
85608
85660
|
}
|
|
85609
85661
|
}),
|
|
85610
85662
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -85612,7 +85664,7 @@ const languages = [
|
|
|
85612
85664
|
alias: ["yml"],
|
|
85613
85665
|
extensions: ["yaml", "yml"],
|
|
85614
85666
|
load() {
|
|
85615
|
-
return import('./index-
|
|
85667
|
+
return import('./index-DG1LjJ38.js').then(m => m.yaml());
|
|
85616
85668
|
}
|
|
85617
85669
|
}),
|
|
85618
85670
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -86408,13 +86460,13 @@ const languages = [
|
|
|
86408
86460
|
name: "Vue",
|
|
86409
86461
|
extensions: ["vue"],
|
|
86410
86462
|
load() {
|
|
86411
|
-
return import('./index-
|
|
86463
|
+
return import('./index-DBfT810F.js').then(m => m.vue());
|
|
86412
86464
|
}
|
|
86413
86465
|
}),
|
|
86414
86466
|
/*@__PURE__*/LanguageDescription.of({
|
|
86415
86467
|
name: "Angular Template",
|
|
86416
86468
|
load() {
|
|
86417
|
-
return import('./index-
|
|
86469
|
+
return import('./index-5qLvVfXR.js').then(m => m.angular());
|
|
86418
86470
|
}
|
|
86419
86471
|
})
|
|
86420
86472
|
];
|
|
@@ -162206,7 +162258,21 @@ function PanelToolbarMetrics({
|
|
|
162206
162258
|
ref: descriptionRef,
|
|
162207
162259
|
width: "full"
|
|
162208
162260
|
}, variant === "compact" ? /*#__PURE__*/React__default.createElement(Tooltip, {
|
|
162209
|
-
content: /*#__PURE__*/React__default.createElement("ul", null, /*#__PURE__*/React__default.createElement("li", null,
|
|
162261
|
+
content: /*#__PURE__*/React__default.createElement("ul", null, /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162262
|
+
className: "font-semibold"
|
|
162263
|
+
}, " Camera:"), " ", !targetFps || targetFps === 0 ? "-" : targetFps, " FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162264
|
+
className: "font-semibold"
|
|
162265
|
+
}, "Network:", " "), !metrics || metrics?.incomingMessagesFps === 0 ? "-" : metrics.incomingMessagesFps, " ", "FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162266
|
+
className: "font-semibold"
|
|
162267
|
+
}, "Decoding:", " "), !metrics || metrics?.decodedMessagesFps === 0 ? "-" : metrics.decodedMessagesFps, " ", "FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162268
|
+
className: "font-semibold"
|
|
162269
|
+
}, "Rendering:"), " ", !renderedFps || renderedFps === 0 ? "-" : renderedFps, " FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162270
|
+
className: "font-semibold"
|
|
162271
|
+
}, "Annotations:", " "), !annotationsFps || annotationsFps === 0 || !Number.isFinite(annotationsFps) ? "-" : annotationsFps, " ", "FPS"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162272
|
+
className: "font-semibold"
|
|
162273
|
+
}, "Throughput:", " "), !metrics || metrics?.messageThroughput === 0 ? "-" : metrics.messageThroughput, " ", "Mbps"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162274
|
+
className: "font-semibold"
|
|
162275
|
+
}, "Frontend Delay: "), eventLoopDelay.toFixed(2), " ms")),
|
|
162210
162276
|
direction: "bottom",
|
|
162211
162277
|
className: "ml-auto"
|
|
162212
162278
|
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
@@ -162377,9 +162443,16 @@ const PanelToolbar = ({
|
|
|
162377
162443
|
}, extraVisible ? "Less" : "More"), extraVisible && detections.map(detection => makeDetection(detection, {
|
|
162378
162444
|
extra: true
|
|
162379
162445
|
})))), kind === "pointCloud" && /*#__PURE__*/React__default.createElement(Flex, null, /*#__PURE__*/React__default.createElement(Tooltip, {
|
|
162446
|
+
side: "bottom",
|
|
162380
162447
|
content: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162381
162448
|
text: "To move camera:"
|
|
162382
|
-
}), /*#__PURE__*/React__default.createElement("ul", null, /*#__PURE__*/React__default.createElement("li", null,
|
|
162449
|
+
}), /*#__PURE__*/React__default.createElement("ul", null, /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162450
|
+
className: "font-semibold"
|
|
162451
|
+
}, "Scroll:"), " Zoom In and Out"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162452
|
+
className: "font-semibold"
|
|
162453
|
+
}, "Left-click + Drag:"), " Rotate Camera"), /*#__PURE__*/React__default.createElement("li", null, /*#__PURE__*/React__default.createElement("b", {
|
|
162454
|
+
className: "font-semibold"
|
|
162455
|
+
}, "Right-click + Drag:"), " Move Camera (X and Y axes)")))
|
|
162383
162456
|
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
162384
162457
|
icon: MdHelpOutline,
|
|
162385
162458
|
variant: "outline",
|
|
@@ -162491,7 +162564,7 @@ function createRenderDelaySampler() {
|
|
|
162491
162564
|
};
|
|
162492
162565
|
}
|
|
162493
162566
|
|
|
162494
|
-
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
162567
|
+
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BoavvIJ0.js'));
|
|
162495
162568
|
const ImagePanelBody = ({
|
|
162496
162569
|
topic,
|
|
162497
162570
|
frameRenderedEvent,
|
|
@@ -162568,7 +162641,7 @@ const ImagePanel = /*#__PURE__*/React__default.memo(function ImagePanel(props) {
|
|
|
162568
162641
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
162569
162642
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
162570
162643
|
|
|
162571
|
-
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
162644
|
+
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-CdxzudUl.js'));
|
|
162572
162645
|
const PointCloudPanelBody = ({
|
|
162573
162646
|
topic,
|
|
162574
162647
|
frameRenderedEvent
|
|
@@ -3,7 +3,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
|
|
|
3
3
|
import ReactDOM__default from 'react-dom';
|
|
4
4
|
import { S as isSymbol, U as toString, V as keys, W as getSymbols$1, X as stubArray, Y as arrayPush, Z as baseGetAllKeys, g as getTag, $ as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a0 as arrayMap$1, a1 as baseUniq, b as baseFlatten, a2 as useMustNotChange, a3 as useCurrentLayoutActions, a4 as useCurrentLayoutSelector, r as reportError, A as AppError, L as Logger, u as useGuaranteedContext, a5 as usePanelMosaicId, a6 as useSelectedPanels, a7 as PANEL_TITLE_CONFIG_KEY, a8 as noop$4, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$3, a9 as useAppConfiguration, aa as useValueChangedDebugLog, ab as useJsonTreeTheme } from './tslib.es6-C73eoP_E.js';
|
|
5
5
|
import { createStore, useStore } from 'zustand';
|
|
6
|
-
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports } from './index-
|
|
6
|
+
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, P as PropTypes, E as ErrorDisplay, S as Stack$1, m as makeStyles$1, _ as _extends$1, W as WorkspaceContext, u as useAnalytics, a as AppEvent, L as LeftSidebarItemKeys, R as RightSidebarItemKeys, d as useTranslation, e as usePanelCatalog, h as EmptyState, i as isEmpty, j as PanelContext, k as PanelCatalogContext, l as usePanelStateStore, n as useDefaultPanelTitle, o as useWorkspaceStore, p as WorkspaceStoreSelectors, q as difference, r as usePanelContext, s as useMessagePipeline, v as v4, t as useHoverValue, w as useSetHoverValue, x as useClearHoverValue, y as useMessagePipelineGetter, z as usePanelSettingsTreeUpdate, B as PlayerCapabilities, C as assertNever, D as PlayerPresence, F as isEqual, G as isDesktopApp, H as createTheme, I as propTypesExports } from './index-C4GjAqu3.js';
|
|
7
7
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
8
8
|
import { t as typescript } from './useMessageReducer-jNx5e6JW.js';
|
|
9
9
|
import { g as getDefaultExportFromCjs, c as commonjsGlobal, a as getAugmentedNamespace } from './_commonjsHelpers-E-ZsRS8r.js';
|
|
@@ -60211,6 +60211,9 @@ class CameraStateSettings extends SceneExtension {
|
|
|
60211
60211
|
canvas.addEventListener("mouseleave", this.#handleMouseLeave);
|
|
60212
60212
|
canvas.addEventListener("contextmenu", event => event.preventDefault());
|
|
60213
60213
|
|
|
60214
|
+
// CAMERA "ICON"
|
|
60215
|
+
this.cameraIcon();
|
|
60216
|
+
|
|
60214
60217
|
// Set camera state to default
|
|
60215
60218
|
setTimeout(() => {
|
|
60216
60219
|
const activeCamera = this.getActiveCamera();
|
|
@@ -60236,6 +60239,39 @@ class CameraStateSettings extends SceneExtension {
|
|
|
60236
60239
|
this.renderer.queueAnimationFrame();
|
|
60237
60240
|
}, 100);
|
|
60238
60241
|
}
|
|
60242
|
+
cameraIcon() {
|
|
60243
|
+
const dotRadius = 7.5;
|
|
60244
|
+
const rodRadius = 2;
|
|
60245
|
+
const rodLength = 60;
|
|
60246
|
+
const rodColor = 0x5724E8;
|
|
60247
|
+
const dotColor = 0xffffff;
|
|
60248
|
+
const numRods = 4;
|
|
60249
|
+
const forwardTiltAngle = -Math.PI / 6;
|
|
60250
|
+
const dotMaterial = new MeshBasicMaterial({
|
|
60251
|
+
color: dotColor
|
|
60252
|
+
});
|
|
60253
|
+
const rodMaterial = new MeshBasicMaterial({
|
|
60254
|
+
color: rodColor
|
|
60255
|
+
});
|
|
60256
|
+
const dotGeometry = new SphereGeometry(dotRadius, 16, 16);
|
|
60257
|
+
const rodGeometry = new CylinderGeometry(rodRadius, rodRadius, rodLength, 8);
|
|
60258
|
+
const compositeObject = new Group();
|
|
60259
|
+
const dotMesh = new Mesh(dotGeometry, dotMaterial);
|
|
60260
|
+
compositeObject.add(dotMesh);
|
|
60261
|
+
for (let i = 0; i < numRods; i++) {
|
|
60262
|
+
const pivot = new Object3D();
|
|
60263
|
+
const angle = Math.PI / 4 + i * (Math.PI / 2);
|
|
60264
|
+
pivot.rotation.y = angle;
|
|
60265
|
+
pivot.rotation.z = forwardTiltAngle;
|
|
60266
|
+
const rodMesh = new Mesh(rodGeometry, rodMaterial);
|
|
60267
|
+
rodMesh.rotation.z = Math.PI / 2;
|
|
60268
|
+
rodMesh.position.x = rodLength / 2;
|
|
60269
|
+
pivot.add(rodMesh);
|
|
60270
|
+
compositeObject.add(pivot);
|
|
60271
|
+
}
|
|
60272
|
+
compositeObject.rotation.x = Math.PI / 2 * 3;
|
|
60273
|
+
this.add(compositeObject);
|
|
60274
|
+
}
|
|
60239
60275
|
dispose() {
|
|
60240
60276
|
this.renderer.off("transformTreeUpdated", this.#handleTransformTreeUpdated);
|
|
60241
60277
|
this.renderer.settings.errors.off("update", this.#handleErrorChange);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, M as foldNodeProp, a1 as foldInside, J as indentNodeProp, K as continuedIndent, a7 as defineCSSCompletionSource, T as LanguageSupport } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, M as foldNodeProp, a1 as foldInside, J as indentNodeProp, K as continuedIndent, a7 as defineCSSCompletionSource, T as LanguageSupport } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, aa as html, T as LanguageSupport, ab as parseMixed } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, aa as html, T as LanguageSupport, ab as parseMixed } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, a3 as LocalTokenGroup, a4 as snippetCompletion, Z as syntaxTree, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, X as ifNotIn, Y as completeFromList, a5 as IterMode, a6 as NodeWeakMap } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, a2 as ContextTracker, N as styleTags, O as tags, V as LRParser, a3 as LocalTokenGroup, a4 as snippetCompletion, Z as syntaxTree, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, $ as flatIndent, a0 as delimitedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport, X as ifNotIn, Y as completeFromList, a5 as IterMode, a6 as NodeWeakMap } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, Q as LRLanguage, T as LanguageSupport, V as LRParser, a3 as LocalTokenGroup, aa as html, ab as parseMixed, ad as javascriptLanguage } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, Q as LRLanguage, T as LanguageSupport, V as LRParser, a3 as LocalTokenGroup, aa as html, ab as parseMixed, ad as javascriptLanguage } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-
|
|
1
|
+
import { N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-
|
|
1
|
+
import { U as ExternalTokenizer, N as styleTags, O as tags, V as LRParser, Q as LRLanguage, J as indentNodeProp, K as continuedIndent, M as foldNodeProp, a1 as foldInside, T as LanguageSupport } from './index-C4GjAqu3.js';
|
|
2
2
|
import './tslib.es6-C73eoP_E.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-mosaic-component';
|