@luxonis/visualizer-protobuf 2.66.2 → 2.66.3
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/{deserialization.worker-DIb5JYgM.js → deserialization.worker-BjIUNwwz.js} +36 -6
- package/dist/{index-CU3qbu6c.js → index-B6Qxela6.js} +1 -1
- package/dist/{index-DUA33n2e.js → index-B9fXbRSL.js} +1 -1
- package/dist/{index-DVV6EG90.js → index-BAehF5MY.js} +1 -1
- package/dist/{index-TPnmqBCE.js → index-BDxITKr6.js} +2 -2
- package/dist/{index-BnRfVAmQ.js → index-BImEpn-2.js} +1 -1
- package/dist/{index-DGebQbMB.js → index-BTy8ry2X.js} +1 -1
- package/dist/{index-CvPW9tsc.js → index-BUcS8upV.js} +1 -1
- package/dist/{index-l4HOm5ST.js → index-BZeGCcGq.js} +1 -1
- package/dist/{index-ceBDh86J.js → index-BpfceWPC.js} +1 -1
- package/dist/{index-CD-L7X2l.js → index-CD7JAokX.js} +1 -1
- package/dist/{index-snJZEOe9.js → index-CJnLcLDf.js} +1 -1
- package/dist/{index-CvgARHzg.js → index-CQubUmOJ.js} +1 -1
- package/dist/{index-D1ju_rr3.js → index-CoW4OO_a.js} +1 -1
- package/dist/{index-Y7BTPyT3.js → index-DJnod4mn.js} +1 -1
- package/dist/{index-CZMWeTbC.js → index-DTRYVTSN.js} +1 -1
- package/dist/{index-B91MGgIz.js → index-DjWC7X4g.js} +21 -21
- package/dist/{index-3-5AKgCv.js → index-DthLOcX5.js} +1 -1
- package/dist/{index-DyZZ6p71.js → index-P--SePBf.js} +1 -1
- package/dist/{index-D0vH5MPy.js → index-oixGzAFc.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/src/connection/foxglove-connection.js.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/video/h264.js +37 -8
- package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
- package/package.json +1 -1
|
@@ -682,6 +682,24 @@ function ensureWebCodecsSupported(target) {
|
|
|
682
682
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
683
683
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
684
684
|
|
|
685
|
+
function convertNv12ToI420(nv12Buffer, width, height) {
|
|
686
|
+
const ySize = width * height;
|
|
687
|
+
const uvSize = ySize / 4;
|
|
688
|
+
const i420Buffer = new Uint8Array(ySize + 2 * uvSize);
|
|
689
|
+
|
|
690
|
+
// Copy Y plane (it's the same in both formats)
|
|
691
|
+
i420Buffer.set(nv12Buffer.subarray(0, ySize));
|
|
692
|
+
const uPlaneOffset = ySize;
|
|
693
|
+
const vPlaneOffset = ySize + uvSize;
|
|
694
|
+
|
|
695
|
+
// De-interleave UV plane
|
|
696
|
+
for (let i = 0; i < uvSize; i++) {
|
|
697
|
+
const uvIndex = ySize + i * 2;
|
|
698
|
+
i420Buffer[uPlaneOffset + i] = nv12Buffer[uvIndex] ?? 0; // U
|
|
699
|
+
i420Buffer[vPlaneOffset + i] = nv12Buffer[uvIndex + 1] ?? 0; // V
|
|
700
|
+
}
|
|
701
|
+
return i420Buffer;
|
|
702
|
+
}
|
|
685
703
|
function createVideoDecoder$1({
|
|
686
704
|
topic,
|
|
687
705
|
callback,
|
|
@@ -689,18 +707,30 @@ function createVideoDecoder$1({
|
|
|
689
707
|
}) {
|
|
690
708
|
return new VideoDecoder({
|
|
691
709
|
output: async frame => {
|
|
692
|
-
|
|
693
|
-
|
|
710
|
+
let finalBuffer;
|
|
711
|
+
let finalEncoding;
|
|
712
|
+
if (frame.format === "I420") {
|
|
713
|
+
finalBuffer = new Uint8Array(frame.allocationSize());
|
|
714
|
+
await frame.copyTo(finalBuffer);
|
|
715
|
+
finalEncoding = "yuv420p";
|
|
716
|
+
} else {
|
|
717
|
+
const nv12Buffer = new Uint8Array(frame.allocationSize());
|
|
718
|
+
await frame.copyTo(nv12Buffer);
|
|
719
|
+
finalBuffer = convertNv12ToI420(nv12Buffer, frame.codedWidth, frame.codedHeight);
|
|
720
|
+
finalEncoding = "yuv420p";
|
|
721
|
+
}
|
|
722
|
+
if (frame.format !== 'I420' && frame.format !== 'NV12') {
|
|
723
|
+
console.warn("PointCloud decoder received unexpected frame format:", frame.format);
|
|
724
|
+
}
|
|
694
725
|
const receiveTime = topicDecoders.get(topic)?.timing.get(frame.timestamp) ?? dist.fromMicros(frame.timestamp);
|
|
695
|
-
const [encoding, step] = parsePixelFormat(frame.format);
|
|
696
726
|
const foxgloveMessage = {
|
|
697
727
|
timestamp: receiveTime,
|
|
698
728
|
frame_id: `h264-${topic}-frame`,
|
|
699
729
|
width: frame.displayWidth,
|
|
700
730
|
height: frame.displayHeight,
|
|
701
|
-
data:
|
|
702
|
-
encoding,
|
|
703
|
-
step: frame.displayWidth
|
|
731
|
+
data: finalBuffer,
|
|
732
|
+
encoding: finalEncoding,
|
|
733
|
+
step: frame.displayWidth
|
|
704
734
|
};
|
|
705
735
|
callback({
|
|
706
736
|
topic,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, ae as defineCSSCompletionSource, a0 as LanguageSupport, a2 as LRParser, a1 as ExternalTokenizer } from './index-
|
|
1
|
+
import { Y as styleTags, Z as tags, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, ae as defineCSSCompletionSource, a0 as LanguageSupport, a2 as LRParser, a1 as ExternalTokenizer } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-
|
|
1
|
+
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { af as EditorView, ag as EditorSelection, $ as LRLanguage, Y as styleTags, Z as tags, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a0 as LanguageSupport, a2 as LRParser, a5 as syntaxTree, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-
|
|
1
|
+
import { af as EditorView, ag as EditorSelection, $ as LRLanguage, Y as styleTags, Z as tags, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a0 as LanguageSupport, a2 as LRParser, a5 as syntaxTree, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ImagePanel } from './index-
|
|
1
|
+
import { ImagePanel } from './index-DJnod4mn.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
4
4
|
import './depth-CgtekUia.js';
|
|
@@ -8,7 +8,7 @@ import 'zustand';
|
|
|
8
8
|
import 'react-mosaic-component';
|
|
9
9
|
import '@mui/material';
|
|
10
10
|
import './isArrayLikeObject-Bytw9p-q.js';
|
|
11
|
-
import './index-
|
|
11
|
+
import './index-DjWC7X4g.js';
|
|
12
12
|
import './comlink-DHMAu6X7.js';
|
|
13
13
|
import './utils-Hzt3wxhG.js';
|
|
14
14
|
import './FoxgloveServer-MMAMiqqQ.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, X as foldNodeProp, a8 as foldInside, U as indentNodeProp, V as continuedIndent, ae as defineCSSCompletionSource, a0 as LanguageSupport } from './index-
|
|
1
|
+
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, X as foldNodeProp, a8 as foldInside, U as indentNodeProp, V as continuedIndent, ae as defineCSSCompletionSource, a0 as LanguageSupport } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, aa as LocalTokenGroup, ab as snippetCompletion, a5 as syntaxTree, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, a3 as ifNotIn, a4 as completeFromList, ac as IterMode, ad as NodeWeakMap } from './index-
|
|
1
|
+
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, aa as LocalTokenGroup, ab as snippetCompletion, a5 as syntaxTree, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, a3 as ifNotIn, a4 as completeFromList, ac as IterMode, ad as NodeWeakMap } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, Y as styleTags, Z as tags, a0 as LanguageSupport, a2 as LRParser } from './index-
|
|
1
|
+
import { $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, Y as styleTags, Z as tags, a0 as LanguageSupport, a2 as LRParser } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { U as indentNodeProp, V as continuedIndent, X as foldNodeProp, Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a1 as ExternalTokenizer, a2 as LRParser, a3 as ifNotIn, a4 as completeFromList, a5 as syntaxTree } from './index-
|
|
1
|
+
import { U as indentNodeProp, V as continuedIndent, X as foldNodeProp, Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a1 as ExternalTokenizer, a2 as LRParser, a3 as ifNotIn, a4 as completeFromList, a5 as syntaxTree } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, ak as javascriptLanguage, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-
|
|
1
|
+
import { Y as styleTags, Z as tags, ak as javascriptLanguage, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, ah as html, ai as parseMixed, a1 as ExternalTokenizer } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, X as foldNodeProp, aj as bracketMatchingHandle, a0 as LanguageSupport, af as EditorView, a5 as syntaxTree, ag as EditorSelection } from './index-
|
|
1
|
+
import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, X as foldNodeProp, aj as bracketMatchingHandle, a0 as LanguageSupport, af as EditorView, a5 as syntaxTree, ag as EditorSelection } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, ah as html, a0 as LanguageSupport, ai as parseMixed } from './index-
|
|
1
|
+
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, ah as html, a0 as LanguageSupport, ai as parseMixed } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, a5 as syntaxTree, a3 as ifNotIn, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ac as IterMode, a4 as completeFromList, ad as NodeWeakMap, ab as snippetCompletion } from './index-
|
|
1
|
+
import { a1 as ExternalTokenizer, a9 as ContextTracker, Y as styleTags, Z as tags, a2 as LRParser, a5 as syntaxTree, a3 as ifNotIn, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ac as IterMode, a4 as completeFromList, ad as NodeWeakMap, ab as snippetCompletion } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ai as parseMixed } from './index-
|
|
1
|
+
import { a9 as ContextTracker, a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport, ai as parseMixed } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -3,7 +3,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
|
|
|
3
3
|
import ReactDOM__default from 'react-dom';
|
|
4
4
|
import { Z as isSymbol, $ as toString, a0 as keys, a1 as getSymbols$1, a2 as stubArray, a3 as arrayPush, a4 as baseGetAllKeys, g as getTag, a5 as getAllKeys, k as baseGet, c as baseIteratee, j as castPath, t as toKey, a6 as arrayMap$1, a7 as baseUniq, b as baseFlatten, a8 as useMustNotChange, a9 as useCurrentLayoutActions, aa as useCurrentLayoutSelector, r as reportError, A as AppError, L as Logger, u as useGuaranteedContext, ab as usePanelMosaicId, ac as useSelectedPanels, ad as PANEL_TITLE_CONFIG_KEY, ae as noop$4, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$2, af as useAppConfiguration, ag as useValueChangedDebugLog, V as typescript, ah as useJsonTreeTheme } from './depth-CgtekUia.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, J as DEFAULT_CAMERA_STATE$1, K as format$1, M as z, N as serializeError, O as stringify$1, Q as createIntl, T as createIntlCache } 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, J as DEFAULT_CAMERA_STATE$1, K as format$1, M as z, N as serializeError, O as stringify$1, Q as createIntl, T as createIntlCache } from './index-DjWC7X4g.js';
|
|
7
7
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
8
8
|
import { g as getDefaultExportFromCjs, c as commonjsGlobal, d as getAugmentedNamespace } from './protobuf-B55JS-Px.js';
|
|
9
9
|
import { Link, Button, alpha, IconButton, Card, CardActionArea, CardMedia, CardContent, Typography, Container, Tooltip, Fade, ListItem, ListItemButton, ListItemText, List, TextField, InputAdornment, Popper, Grow, Paper, ClickAwayListener, Menu, MenuItem, Divider, buttonClasses, Backdrop, Chip, useTheme, alertClasses, darken, lighten, inputBaseClasses, autocompleteClasses, inputClasses, Checkbox, dialogActionsClasses, filledInputClasses, inputAdornmentClasses, listSubheaderClasses, selectClasses, tableCellClasses, ThemeProvider as ThemeProvider$1, SvgIcon, tabsClasses as tabsClasses$1, tabClasses, Tabs, Tab, ListItemIcon } from '@mui/material';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, aa as LocalTokenGroup, ah as html, ai as parseMixed, ak as javascriptLanguage } from './index-
|
|
1
|
+
import { Y as styleTags, Z as tags, $ as LRLanguage, a0 as LanguageSupport, a2 as LRParser, aa as LocalTokenGroup, ah as html, ai as parseMixed, ak as javascriptLanguage } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -790,7 +790,7 @@ class ConfigStore {
|
|
|
790
790
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
791
791
|
|
|
792
792
|
function initWorker(callback) {
|
|
793
|
-
const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-
|
|
793
|
+
const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-BjIUNwwz.js", import.meta.url), {
|
|
794
794
|
type: "module",
|
|
795
795
|
name: `message-decoder`
|
|
796
796
|
}));
|
|
@@ -86796,7 +86796,7 @@ function legacy(parser) {
|
|
|
86796
86796
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
86797
86797
|
}
|
|
86798
86798
|
function sql$1(dialectName) {
|
|
86799
|
-
return import('./index-
|
|
86799
|
+
return import('./index-BZeGCcGq.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
86800
86800
|
}
|
|
86801
86801
|
/**
|
|
86802
86802
|
An array of language descriptions for known language packages.
|
|
@@ -86807,7 +86807,7 @@ const languages = [
|
|
|
86807
86807
|
name: "C",
|
|
86808
86808
|
extensions: ["c", "h", "ino"],
|
|
86809
86809
|
load() {
|
|
86810
|
-
return import('./index-
|
|
86810
|
+
return import('./index-B9fXbRSL.js').then(m => m.cpp());
|
|
86811
86811
|
}
|
|
86812
86812
|
}),
|
|
86813
86813
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86815,7 +86815,7 @@ const languages = [
|
|
|
86815
86815
|
alias: ["cpp"],
|
|
86816
86816
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
86817
86817
|
load() {
|
|
86818
|
-
return import('./index-
|
|
86818
|
+
return import('./index-B9fXbRSL.js').then(m => m.cpp());
|
|
86819
86819
|
}
|
|
86820
86820
|
}),
|
|
86821
86821
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86835,7 +86835,7 @@ const languages = [
|
|
|
86835
86835
|
name: "Go",
|
|
86836
86836
|
extensions: ["go"],
|
|
86837
86837
|
load() {
|
|
86838
|
-
return import('./index-
|
|
86838
|
+
return import('./index-BTy8ry2X.js').then(m => m.go());
|
|
86839
86839
|
}
|
|
86840
86840
|
}),
|
|
86841
86841
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86850,7 +86850,7 @@ const languages = [
|
|
|
86850
86850
|
name: "Java",
|
|
86851
86851
|
extensions: ["java"],
|
|
86852
86852
|
load() {
|
|
86853
|
-
return import('./index-
|
|
86853
|
+
return import('./index-oixGzAFc.js').then(m => m.java());
|
|
86854
86854
|
}
|
|
86855
86855
|
}),
|
|
86856
86856
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86866,7 +86866,7 @@ const languages = [
|
|
|
86866
86866
|
alias: ["json5"],
|
|
86867
86867
|
extensions: ["json", "map"],
|
|
86868
86868
|
load() {
|
|
86869
|
-
return import('./index-
|
|
86869
|
+
return import('./index-P--SePBf.js').then(m => m.json());
|
|
86870
86870
|
}
|
|
86871
86871
|
}),
|
|
86872
86872
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86880,14 +86880,14 @@ const languages = [
|
|
|
86880
86880
|
name: "LESS",
|
|
86881
86881
|
extensions: ["less"],
|
|
86882
86882
|
load() {
|
|
86883
|
-
return import('./index-
|
|
86883
|
+
return import('./index-B6Qxela6.js').then(m => m.less());
|
|
86884
86884
|
}
|
|
86885
86885
|
}),
|
|
86886
86886
|
/*@__PURE__*/LanguageDescription.of({
|
|
86887
86887
|
name: "Liquid",
|
|
86888
86888
|
extensions: ["liquid"],
|
|
86889
86889
|
load() {
|
|
86890
|
-
return import('./index-
|
|
86890
|
+
return import('./index-BAehF5MY.js').then(m => m.liquid());
|
|
86891
86891
|
}
|
|
86892
86892
|
}),
|
|
86893
86893
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86913,7 +86913,7 @@ const languages = [
|
|
|
86913
86913
|
name: "PHP",
|
|
86914
86914
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
86915
86915
|
load() {
|
|
86916
|
-
return import('./index-
|
|
86916
|
+
return import('./index-CJnLcLDf.js').then(m => m.php());
|
|
86917
86917
|
}
|
|
86918
86918
|
}),
|
|
86919
86919
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86930,28 +86930,28 @@ const languages = [
|
|
|
86930
86930
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
86931
86931
|
filename: /^(BUCK|BUILD)$/,
|
|
86932
86932
|
load() {
|
|
86933
|
-
return import('./index-
|
|
86933
|
+
return import('./index-CQubUmOJ.js').then(m => m.python());
|
|
86934
86934
|
}
|
|
86935
86935
|
}),
|
|
86936
86936
|
/*@__PURE__*/LanguageDescription.of({
|
|
86937
86937
|
name: "Rust",
|
|
86938
86938
|
extensions: ["rs"],
|
|
86939
86939
|
load() {
|
|
86940
|
-
return import('./index-
|
|
86940
|
+
return import('./index-DthLOcX5.js').then(m => m.rust());
|
|
86941
86941
|
}
|
|
86942
86942
|
}),
|
|
86943
86943
|
/*@__PURE__*/LanguageDescription.of({
|
|
86944
86944
|
name: "Sass",
|
|
86945
86945
|
extensions: ["sass"],
|
|
86946
86946
|
load() {
|
|
86947
|
-
return import('./index-
|
|
86947
|
+
return import('./index-BImEpn-2.js').then(m => m.sass({ indented: true }));
|
|
86948
86948
|
}
|
|
86949
86949
|
}),
|
|
86950
86950
|
/*@__PURE__*/LanguageDescription.of({
|
|
86951
86951
|
name: "SCSS",
|
|
86952
86952
|
extensions: ["scss"],
|
|
86953
86953
|
load() {
|
|
86954
|
-
return import('./index-
|
|
86954
|
+
return import('./index-BImEpn-2.js').then(m => m.sass());
|
|
86955
86955
|
}
|
|
86956
86956
|
}),
|
|
86957
86957
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86982,7 +86982,7 @@ const languages = [
|
|
|
86982
86982
|
name: "WebAssembly",
|
|
86983
86983
|
extensions: ["wat", "wast"],
|
|
86984
86984
|
load() {
|
|
86985
|
-
return import('./index-
|
|
86985
|
+
return import('./index-BUcS8upV.js').then(m => m.wast());
|
|
86986
86986
|
}
|
|
86987
86987
|
}),
|
|
86988
86988
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86990,7 +86990,7 @@ const languages = [
|
|
|
86990
86990
|
alias: ["rss", "wsdl", "xsd"],
|
|
86991
86991
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
86992
86992
|
load() {
|
|
86993
|
-
return import('./index-
|
|
86993
|
+
return import('./index-CD7JAokX.js').then(m => m.xml());
|
|
86994
86994
|
}
|
|
86995
86995
|
}),
|
|
86996
86996
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -86998,7 +86998,7 @@ const languages = [
|
|
|
86998
86998
|
alias: ["yml"],
|
|
86999
86999
|
extensions: ["yaml", "yml"],
|
|
87000
87000
|
load() {
|
|
87001
|
-
return import('./index-
|
|
87001
|
+
return import('./index-CoW4OO_a.js').then(m => m.yaml());
|
|
87002
87002
|
}
|
|
87003
87003
|
}),
|
|
87004
87004
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -87794,13 +87794,13 @@ const languages = [
|
|
|
87794
87794
|
name: "Vue",
|
|
87795
87795
|
extensions: ["vue"],
|
|
87796
87796
|
load() {
|
|
87797
|
-
return import('./index-
|
|
87797
|
+
return import('./index-DTRYVTSN.js').then(m => m.vue());
|
|
87798
87798
|
}
|
|
87799
87799
|
}),
|
|
87800
87800
|
/*@__PURE__*/LanguageDescription.of({
|
|
87801
87801
|
name: "Angular Template",
|
|
87802
87802
|
load() {
|
|
87803
|
-
return import('./index-
|
|
87803
|
+
return import('./index-BpfceWPC.js').then(m => m.angular());
|
|
87804
87804
|
}
|
|
87805
87805
|
})
|
|
87806
87806
|
];
|
|
@@ -166509,7 +166509,7 @@ function createRenderDelaySampler() {
|
|
|
166509
166509
|
};
|
|
166510
166510
|
}
|
|
166511
166511
|
|
|
166512
|
-
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
166512
|
+
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BDxITKr6.js'));
|
|
166513
166513
|
const ImagePanelBody = ({
|
|
166514
166514
|
topic,
|
|
166515
166515
|
frameRenderedEvent,
|
|
@@ -166604,7 +166604,7 @@ const DEFAULT_CAMERA_STATE = {
|
|
|
166604
166604
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
166605
166605
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
166606
166606
|
|
|
166607
|
-
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
166607
|
+
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-DJnod4mn.js'));
|
|
166608
166608
|
const PointCloudPanelBody = ({
|
|
166609
166609
|
topic,
|
|
166610
166610
|
frameRenderedEvent,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-
|
|
1
|
+
import { a1 as ExternalTokenizer, Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-
|
|
1
|
+
import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-
|
|
1
|
+
import { Y as styleTags, Z as tags, a2 as LRParser, $ as LRLanguage, U as indentNodeProp, V as continuedIndent, a6 as flatIndent, a7 as delimitedIndent, X as foldNodeProp, a8 as foldInside, a0 as LanguageSupport } from './index-DjWC7X4g.js';
|
|
2
2
|
import './depth-CgtekUia.js';
|
|
3
3
|
import './protobuf-B55JS-Px.js';
|
|
4
4
|
import 'protobufjs/minimal';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { av as FrameStore, ao as ImagePanel, an as PanelLayout, ap as PointCloudPanel, al as VisualizerConnection, am as VisualizerContext, aq as constructKeyForTopicRenderMetrics, as as globalDecodeMetricsManager, ar as globalInputEventMetricsManager, at as globalRenderMetricsManager, au as globalThroughputMetricsManager } from './index-
|
|
1
|
+
export { av as FrameStore, ao as ImagePanel, an as PanelLayout, ap as PointCloudPanel, al as VisualizerConnection, am as VisualizerContext, aq as constructKeyForTopicRenderMetrics, as as globalDecodeMetricsManager, ar as globalInputEventMetricsManager, at as globalRenderMetricsManager, au as globalThroughputMetricsManager } from './index-DjWC7X4g.js';
|
|
2
2
|
export { S as getDistanceFromDepthDataForOffset } from './depth-CgtekUia.js';
|
|
3
3
|
import './comlink-DHMAu6X7.js';
|
|
4
4
|
import './utils-Hzt3wxhG.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foxglove-connection.js","sourceRoot":"","sources":["../../../../src/connection/foxglove-connection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"foxglove-connection.js","sourceRoot":"","sources":["../../../../src/connection/foxglove-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h264.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAIlE,MAAM,MAAM,aAAa,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"h264.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAIlE,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,MAAM,EACN;IACE,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAChC,CACF,CAAC;AAmFF,KAAK,+BAA+B,GAAG;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,GAAG,QAAQ,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC,CAAC;AAEF,wBAAsB,2BAA2B,CAAC,EAChD,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,EACT,EAAE,+BAA+B,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDjD"}
|
|
@@ -4,24 +4,53 @@
|
|
|
4
4
|
import { fromMicros } from "@foxglove/rostime";
|
|
5
5
|
import { estimateObjectSize } from "@foxglove/studio-base/players/messageMemoryEstimation.js";
|
|
6
6
|
import { ensureWebCodecsSupported } from "../../../utils/compatibility.js";
|
|
7
|
-
import { parseMessage
|
|
8
|
-
function
|
|
7
|
+
import { parseMessage } from "../../utils.js";
|
|
8
|
+
function convertNv12ToI420(nv12Buffer, width, height) {
|
|
9
|
+
const ySize = width * height;
|
|
10
|
+
const uvSize = ySize / 4;
|
|
11
|
+
const i420Buffer = new Uint8Array(ySize + 2 * uvSize);
|
|
12
|
+
// Copy Y plane (it's the same in both formats)
|
|
13
|
+
i420Buffer.set(nv12Buffer.subarray(0, ySize));
|
|
14
|
+
const uPlaneOffset = ySize;
|
|
15
|
+
const vPlaneOffset = ySize + uvSize;
|
|
16
|
+
// De-interleave UV plane
|
|
17
|
+
for (let i = 0; i < uvSize; i++) {
|
|
18
|
+
const uvIndex = ySize + i * 2;
|
|
19
|
+
i420Buffer[uPlaneOffset + i] = nv12Buffer[uvIndex] ?? 0; // U
|
|
20
|
+
i420Buffer[vPlaneOffset + i] = nv12Buffer[uvIndex + 1] ?? 0; // V
|
|
21
|
+
}
|
|
22
|
+
return i420Buffer;
|
|
23
|
+
}
|
|
24
|
+
function createVideoDecoder({ topic, callback, topicDecoders, }) {
|
|
9
25
|
return new VideoDecoder({
|
|
10
26
|
output: async (frame) => {
|
|
11
|
-
|
|
12
|
-
|
|
27
|
+
let finalBuffer;
|
|
28
|
+
let finalEncoding;
|
|
29
|
+
if (frame.format === "I420") {
|
|
30
|
+
finalBuffer = new Uint8Array(frame.allocationSize());
|
|
31
|
+
await frame.copyTo(finalBuffer);
|
|
32
|
+
finalEncoding = "yuv420p";
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const nv12Buffer = new Uint8Array(frame.allocationSize());
|
|
36
|
+
await frame.copyTo(nv12Buffer);
|
|
37
|
+
finalBuffer = convertNv12ToI420(nv12Buffer, frame.codedWidth, frame.codedHeight);
|
|
38
|
+
finalEncoding = "yuv420p";
|
|
39
|
+
}
|
|
40
|
+
if (frame.format !== 'I420' && frame.format !== 'NV12') {
|
|
41
|
+
console.warn("PointCloud decoder received unexpected frame format:", frame.format);
|
|
42
|
+
}
|
|
13
43
|
const receiveTime = topicDecoders.get(topic)?.timing.get(frame.timestamp)
|
|
14
44
|
??
|
|
15
45
|
fromMicros(frame.timestamp);
|
|
16
|
-
const [encoding, step] = parsePixelFormat(frame.format);
|
|
17
46
|
const foxgloveMessage = {
|
|
18
47
|
timestamp: receiveTime,
|
|
19
48
|
frame_id: `h264-${topic}-frame`,
|
|
20
49
|
width: frame.displayWidth,
|
|
21
50
|
height: frame.displayHeight,
|
|
22
|
-
data:
|
|
23
|
-
encoding,
|
|
24
|
-
step: frame.displayWidth
|
|
51
|
+
data: finalBuffer,
|
|
52
|
+
encoding: finalEncoding,
|
|
53
|
+
step: frame.displayWidth
|
|
25
54
|
};
|
|
26
55
|
callback({
|
|
27
56
|
topic,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"h264.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,0DAA0D;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0DAA0D,CAAC;AAM9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"h264.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/video/h264.ts"],"names":[],"mappings":"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"}
|