@luxonis/visualizer-protobuf 3.1.4 → 3.1.6

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 (66) hide show
  1. package/dist/{FoxgloveServer-Z9mJitqG.js → FoxgloveServer-B98MHUu6.js} +1 -1
  2. package/dist/{communicator-t3uE4_km.js → communicator-Bzkx3Qfr.js} +1 -1
  3. package/dist/{depth-Ct_zm8Rq.js → depth-DlC6A3Te.js} +92 -92
  4. package/dist/{deserialization.worker-DvXlnMzb.js → deserialization.worker-BPsjKVe4.js} +49 -10
  5. package/dist/{foxglove-protocol-DTBud3kT.js → foxglove-protocol-yHdoBNaD.js} +1 -1
  6. package/dist/{index-C_Rypho5.js → index-1RjTt6HK.js} +7 -7
  7. package/dist/{index-1D5S7eR3.js → index-BF6pGj6y.js} +60 -101
  8. package/dist/{index-DnPkbSwI.js → index-BOEXymjd.js} +5 -5
  9. package/dist/{index-CrogdRc3.js → index-Bcd7r8Iv.js} +5 -5
  10. package/dist/{index-BWUFvnnr.js → index-Bi4nJb4U.js} +143 -1384
  11. package/dist/{index-CEJd4Yuv.js → index-Bnw5i4J9.js} +5 -5
  12. package/dist/{index-CfSbEMmb.js → index-BoqJy5eD.js} +5 -5
  13. package/dist/{index-Xp6XXYGL.js → index-C5yt-flE.js} +5 -5
  14. package/dist/{index-DRTvKm-0.js → index-CHlhmU5r.js} +5 -5
  15. package/dist/{index-CtcRTdcC.js → index-CKfc_K3x.js} +5 -5
  16. package/dist/{index-C-rWRmE5.js → index-CjcnWHBX.js} +5 -5
  17. package/dist/{index-DpfKCYgk.js → index-D-ixoHgF.js} +5 -5
  18. package/dist/{index-4r5XO2hY.js → index-DLW4CyCW.js} +5 -5
  19. package/dist/{index-D4NfQEba.js → index-DLZ3xvY3.js} +5 -5
  20. package/dist/{index-DXHvsHzl.js → index-DOEAktbW.js} +5 -5
  21. package/dist/{index-Z2_pOHuN.js → index-DQXLqhI5.js} +5 -5
  22. package/dist/{index-DrXETBmj.js → index-DRcGifo6.js} +5 -5
  23. package/dist/{index-I7fQaE0_.js → index-DhI-rSJS.js} +5 -5
  24. package/dist/{index-BEfrzxM3.js → index-Dqm1x8G2.js} +1 -1
  25. package/dist/{index-Dgmw82OA.js → index-Drd3hxmz.js} +5 -5
  26. package/dist/{index-DUpgA7e6.js → index-mot3qpp9.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
  29. package/dist/lib/src/messaging/deserialization/video/h264.js +14 -1
  30. package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
  31. package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -1
  32. package/dist/lib/src/messaging/deserialization/video/h265.js +34 -4
  33. package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -1
  34. package/dist/lib/src/output.css +1 -1
  35. package/dist/lib/src/protobuf.generated/EncodedFrame.js +1 -1
  36. package/dist/lib/src/protobuf.generated/EncodedFrame.js.map +1 -1
  37. package/dist/lib/src/protobuf.generated/Event.js +1 -1
  38. package/dist/lib/src/protobuf.generated/Event.js.map +1 -1
  39. package/dist/lib/src/protobuf.generated/IMUData.js +1 -1
  40. package/dist/lib/src/protobuf.generated/IMUData.js.map +1 -1
  41. package/dist/lib/src/protobuf.generated/ImageAnnotations.js +1 -1
  42. package/dist/lib/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  43. package/dist/lib/src/protobuf.generated/ImgDetections.js +1 -1
  44. package/dist/lib/src/protobuf.generated/ImgDetections.js.map +1 -1
  45. package/dist/lib/src/protobuf.generated/ImgFrame.js +1 -1
  46. package/dist/lib/src/protobuf.generated/ImgFrame.js.map +1 -1
  47. package/dist/lib/src/protobuf.generated/PointCloudData.js +1 -1
  48. package/dist/lib/src/protobuf.generated/PointCloudData.js.map +1 -1
  49. package/dist/lib/src/protobuf.generated/RGBDData.js +1 -1
  50. package/dist/lib/src/protobuf.generated/RGBDData.js.map +1 -1
  51. package/dist/lib/src/protobuf.generated/SegmentationMask.js +1 -1
  52. package/dist/lib/src/protobuf.generated/SegmentationMask.js.map +1 -1
  53. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +1 -1
  54. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  55. package/dist/lib/src/protobuf.generated/common.js +1 -1
  56. package/dist/lib/src/protobuf.generated/common.js.map +1 -1
  57. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.d.ts.map +1 -1
  58. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js +10 -0
  59. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js.map +1 -1
  60. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.d.ts.map +1 -1
  61. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js +23 -14
  62. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js.map +1 -1
  63. package/dist/{protobuf-BQPUfAzh.js → protobuf-Be0G3NFz.js} +8 -8
  64. package/dist/{worker-IhN8LKNl.js → worker-0Q6os6Ck.js} +4 -4
  65. package/dist/{worker-ChcSJthL.js → worker-NFznpx6V.js} +3 -3
  66. package/package.json +1 -1
@@ -2,12 +2,12 @@
2
2
  import * as React from 'react';
3
3
  import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Component, useContext, useState, useEffect, createContext, forwardRef, useMemo, Profiler, createElement, cloneElement, memo, StrictMode } from 'react';
4
4
  import { createRoot } from 'react-dom/client';
5
- import { a0 as isSymbol, a1 as toString, a2 as keys, a3 as getSymbols$1, a4 as stubArray, a5 as arrayPush, a6 as baseGetAllKeys, g as getTag, a7 as getAllKeys, k as baseGet, e as baseIteratee, j as castPath, t as toKey, a8 as arrayMap$1, L as Logger, a9 as useCurrentLayoutActions, aa as useCurrentLayoutSelector, r as reportError, A as AppError, ab as usePanelMosaicId, ac as noop$4, ad as useSelectedPanels, o as getPanelTypeFromId, M as useShallowMemo, T as TAB_PANEL_TYPE, J as filterMap, d as dist$2, ae as useAppConfiguration, af as useJsonTreeTheme } from './depth-Ct_zm8Rq.js';
5
+ import { a0 as isSymbol, a1 as toString, a2 as keys, a3 as getSymbols$1, a4 as stubArray, a5 as arrayPush, a6 as baseGetAllKeys, h as getTag, a7 as getAllKeys, l as baseGet, f as baseIteratee, k as castPath, t as toKey, a8 as arrayMap$1, a9 as useCurrentLayoutActions, aa as useCurrentLayoutSelector, r as reportError, A as AppError, ab as usePanelMosaicId, ac as noop$4, L as Logger, ad as useSelectedPanels, p as getPanelTypeFromId, N as useShallowMemo, T as TAB_PANEL_TYPE, K as filterMap, d as dist$2, ae as useAppConfiguration, af as useJsonTreeTheme } from './depth-DlC6A3Te.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-BWUFvnnr.js';
8
- import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, d as _objectWithoutProperties, e as _extends$1, f as commonjsGlobal, g as getDefaultExportFromCjs, b as _objectSpread2, i as getAugmentedNamespace, j as _asyncIterator } from './protobuf-BQPUfAzh.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, e as EmptyState, i as isEmpty, h as PanelContext, j as PanelCatalogContext, k as usePanelStateStore, l as difference, n as usePanelContext, o as useMessagePipeline, v as v4, p as useDefaultPanelTitle, q as useHoverValue, r as useSetHoverValue, s as useClearHoverValue, t as useMessagePipelineGetter, w as usePanelSettingsTreeUpdate, x as PlayerCapabilities, y as assertNever, z as PlayerPresence, B as isEqual, C as AppEvent, D as isDesktopApp, F as createTheme, G as propTypesExports, H as DEFAULT_CAMERA_STATE$1, I as format$1, J as stringType, K as serializeError, L as stringify$1, M as createIntl, N as createIntlCache, O as useAnalytics } from './index-Bi4nJb4U.js';
8
+ import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, d as _objectWithoutProperties, e as _extends$1, f as commonjsGlobal, g as getDefaultExportFromCjs, b as _objectSpread2, i as getAugmentedNamespace, j as _asyncIterator } from './protobuf-Be0G3NFz.js';
9
9
  import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
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';
10
+ 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, 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';
11
11
  import { a as assignValue, b as baseAssignValue, t as tinycolor, c as t$1, i as instance } from './i18next-17tp0Ngf.js';
12
12
  import '@mui/icons-material/FullscreenExit';
13
13
  import ChevronRightIcon from '@mui/icons-material/ChevronRight';
@@ -18,10 +18,10 @@ import { useDrag, useDrop } from 'react-dnd';
18
18
  import { h as isObject, r as root, S as Symbol$1, k as isObjectLike, A as nodeUtil, B as baseUnary, d as isBuffer, v as Stack, i as isArray, b as baseRest } from './isArrayLikeObject-n9ytTioB.js';
19
19
  import ReactDOM__default from 'react-dom';
20
20
  import { c as copyObject, k as keysIn, g as getPrototype, a as cloneArrayBuffer, b as cloneTypedArray, e as copyArray, f as cloneBuffer, i as initCloneObject, h as isPlainObject$1, B as Box3, V as Vector3, I as InstancedBufferGeometry, F as Float32BufferAttribute, j as InstancedInterleavedBuffer, l as InterleavedBufferAttribute, W as WireframeGeometry, S as Sphere, U as UniformsLib, m as Vector2, n as ShaderLib, o as UniformsUtils, p as ShaderMaterial, q as Vector4, M as Matrix4, L as Line3, r as Mesh, s as MathUtils, O as Object3D, C as Color, t as rgbToThreeColor, u as stringToRgba, v as makeRgba, w as MeshStandardMaterial, R as ReplaceStencilOp, N as NotEqualStencilFunc, D as DoubleSide, P as PointsMaterial, x as rgbaToCssString, y as autoSelectColorSettings, z as colorModeSettingsFields, A as PlaneGeometry, E as DataTexture, G as UVMapping, H as ClampToEdgeWrapping, J as NearestFilter, K as LinearFilter, Q as FS_SRGB_TO_LINEAR, T as SRGBColorSpace, X as LinearSRGBColorSpace, Y as rgbaToLinear, Z as RedFormat, _ as RGBAFormat, $ as getColorConverter, a0 as FloatType, a1 as UnsignedByteType, a2 as NEEDS_MIN_MAX$1, a3 as InstancedMesh, a4 as CylinderGeometry, a5 as ConeGeometry, a6 as DataTextureLoader, a7 as LinearMipmapLinearFilter, a8 as Loader, a9 as LoaderUtils, aa as FileLoader, ab as MeshBasicMaterial, ac as Scene, ad as TextureLoader, ae as AnimationClip, af as VectorKeyframeTrack, ag as QuaternionKeyframeTrack, ah as MeshLambertMaterial, ai as MeshPhongMaterial, aj as FrontSide, ak as PerspectiveCamera, al as OrthographicCamera, am as AmbientLight, an as SpotLight, ao as PointLight, ap as DirectionalLight, aq as BufferGeometry, ar as Group, as as Quaternion, at as Bone, au as LineBasicMaterial, av as SkinnedMesh, aw as Line, ax as LineSegments, ay as RepeatWrapping, az as Skeleton, aA as BufferAttribute, aB as TrianglesDrawMode, aC as TriangleFanDrawMode, aD as TriangleStripDrawMode, aE as MeshPhysicalMaterial, aF as ImageBitmapLoader, aG as InterleavedBuffer, aH as Material, aI as PropertyBinding, aJ as LineLoop, aK as Points, aL as InterpolateLinear, aM as ColorManagement, aN as NearestMipmapNearestFilter, aO as LinearMipmapNearestFilter, aP as NearestMipmapLinearFilter, aQ as MirroredRepeatWrapping, aR as InterpolateDiscrete, aS as Texture, aT as NumberKeyframeTrack, aU as Interpolant, aV as EdgesGeometry, aW as LoadingManager, aX as stringToRgb, aY as getLuminance, aZ as Euler, a_ as vec3TupleApproxEquals, a$ as decodeCompressedImageToBitmap, b0 as CanvasTexture, b1 as Shape, b2 as SRGBToLinear, b3 as ShapeGeometry, b4 as DynamicDrawUsage, b5 as ShaderChunk, b6 as IMAGE_DEFAULT_COLOR_MODE_SETTINGS, b7 as merge$1, b8 as colorHasTransparency, b9 as StaticDrawUsage, ba as RawShaderMaterial, bb as GLSL3, bc as colorFieldComputedPrefix, bd as getRotationTo, be as SphereGeometry, bf as rgbaGradient, bg as InstancedBufferAttribute, bh as BoxGeometry, bi as DARK_OUTLINE, bj as LIGHT_OUTLINE, bk as CircleGeometry, bl as LineDashedMaterial, bm as GreaterDepth, bn as EventDispatcher$1, bo as Plane, bp as Raycaster, bq as WebGLRenderTarget, br as THREE$1, bs as Spherical, bt as WebGLRenderer, bu as NoToneMapping, bv as VSMShadowMap, bw as HemisphereLight } from './decodeImage-DseBx4N0.js';
21
- import { t as typescript } from './index-BEfrzxM3.js';
21
+ import { t as typescript } from './index-Dqm1x8G2.js';
22
22
  import { CacheProvider } from '@emotion/react';
23
23
  import '@mui/material/styles/createTypography';
24
- import { E as EventEmitter } from './FoxgloveServer-Z9mJitqG.js';
24
+ import { E as EventEmitter } from './FoxgloveServer-B98MHUu6.js';
25
25
  import require$$1$3 from 'color';
26
26
  import require$$2$1 from 'lodash.curry';
27
27
  import OpenInNewIcon from '@mui/icons-material/OpenInNew';
@@ -29,7 +29,7 @@ import SettingsIcon from '@mui/icons-material/Settings';
29
29
  import './comlink-jf8bdrAf.js';
30
30
  import './logger-Bqy1nuLj.js';
31
31
  import './utils-DmlHZWuo.js';
32
- import './foxglove-protocol-DTBud3kT.js';
32
+ import './foxglove-protocol-yHdoBNaD.js';
33
33
  import 'react-dnd-html5-backend';
34
34
  import '@mui/system/colorManipulator';
35
35
  import 'object-assign';
@@ -3878,7 +3878,7 @@ const useIconContext = () => {
3878
3878
  return context !== null && context !== void 0 ? context : IconDirectionContextDefaultValue;
3879
3879
  };
3880
3880
 
3881
- const useStyles$g = __styles({
3881
+ const useStyles$f = __styles({
3882
3882
  "root": {
3883
3883
  "mc9l5x": "f1w7gpdv",
3884
3884
  "Bg96gwp": "fez10in"
@@ -3897,7 +3897,7 @@ const useIconState = (props, options) => {
3897
3897
  title: undefined,
3898
3898
  fill: primaryFill
3899
3899
  };
3900
- const styles = useStyles$g();
3900
+ const styles = useStyles$f();
3901
3901
  const iconContext = useIconContext();
3902
3902
  state.className = mergeClasses(styles.root, (options === null || options === void 0 ? void 0 : options.flipInRtl) && (iconContext === null || iconContext === void 0 ? void 0 : iconContext.textDirection) === 'rtl' && styles.rtl, state.className);
3903
3903
  if (title) {
@@ -4691,21 +4691,6 @@ var useLongPress = function (callback, _a) {
4691
4691
  };
4692
4692
  };
4693
4693
 
4694
- // This Source Code Form is subject to the terms of the Mozilla Public
4695
- // License, v2.0. If a copy of the MPL was not distributed with this
4696
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
4697
- //
4698
- // This file incorporates work covered by the following copyright and
4699
- // permission notice:
4700
- //
4701
- // Copyright 2018-2021 Cruise LLC
4702
- //
4703
- // This source code is licensed under the Apache License, Version 2.0,
4704
- // found at http://www.apache.org/licenses/LICENSE-2.0
4705
- // You may not use this file except in compliance with the License.
4706
-
4707
- Logger.getLogger("src/index.ts");
4708
-
4709
4694
  // This Source Code Form is subject to the terms of the Mozilla Public
4710
4695
  // License, v2.0. If a copy of the MPL was not distributed with this
4711
4696
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
@@ -4919,7 +4904,7 @@ const APP_BAR_HEIGHT = 44;
4919
4904
 
4920
4905
  const _excluded$3 = ["className", "fullscreenState", "hasFullscreenDescendant", "selected", "sourceRect"];
4921
4906
  const PANEL_ROOT_CLASS_NAME = "FoxglovePanelRoot-root";
4922
- const useStyles$f = makeStyles$1()((theme, props) => {
4907
+ const useStyles$e = makeStyles$1()((theme, props) => {
4923
4908
  var _sourceRect$top, _sourceRect$left, _sourceRect$top2, _sourceRect$left2;
4924
4909
  const {
4925
4910
  palette,
@@ -5021,7 +5006,7 @@ const PanelRoot = /*#__PURE__*/forwardRef(function PanelRoot(props, ref) {
5021
5006
  const {
5022
5007
  classes,
5023
5008
  cx
5024
- } = useStyles$f({
5009
+ } = useStyles$e({
5025
5010
  sourceRect,
5026
5011
  hasFullscreenDescendant
5027
5012
  });
@@ -5039,7 +5024,7 @@ const PanelRoot = /*#__PURE__*/forwardRef(function PanelRoot(props, ref) {
5039
5024
  });
5040
5025
 
5041
5026
  const _excluded$2 = ["className"];
5042
- const useStyles$e = makeStyles$1()(theme => ({
5027
+ const useStyles$d = makeStyles$1()(theme => ({
5043
5028
  root: {
5044
5029
  padding: theme.spacing(0.375),
5045
5030
  fontSize: "0.875rem",
@@ -5058,7 +5043,7 @@ var ToolbarIconButton = /*#__PURE__*/forwardRef(function ToolbarIconButton(props
5058
5043
  const {
5059
5044
  classes,
5060
5045
  cx
5061
- } = useStyles$e();
5046
+ } = useStyles$d();
5062
5047
  return /*#__PURE__*/React__default.createElement(IconButton, _extends$1({
5063
5048
  ref: ref,
5064
5049
  className: cx(classes.root, className)
@@ -5614,39 +5599,6 @@ var fuzzysort = {exports: {}};
5614
5599
  var fuzzysortExports = fuzzysort.exports;
5615
5600
  var fuzzySort = /*@__PURE__*/getDefaultExportFromCjs(fuzzysortExports);
5616
5601
 
5617
- const useStyles$d = makeStyles$1()(theme => ({
5618
- root: {
5619
- whiteSpace: "pre-line",
5620
- code: {
5621
- color: theme.palette.primary.main,
5622
- background: "transparent",
5623
- padding: 0
5624
- }
5625
- }
5626
- }));
5627
- function EmptyState({
5628
- children,
5629
- className
5630
- }) {
5631
- const {
5632
- classes,
5633
- cx
5634
- } = useStyles$d();
5635
- return /*#__PURE__*/React__default.createElement(Stack$1, {
5636
- className: cx(classes.root, className),
5637
- flex: "auto",
5638
- alignItems: "center",
5639
- justifyContent: "center",
5640
- fullHeight: true,
5641
- paddingX: 1
5642
- }, /*#__PURE__*/React__default.createElement(Typography, {
5643
- variant: "body2",
5644
- color: "text.secondary",
5645
- lineHeight: 1.4,
5646
- align: "center"
5647
- }, children));
5648
- }
5649
-
5650
5602
  // This Source Code Form is subject to the terms of the Mozilla Public
5651
5603
  // License, v2.0. If a copy of the MPL was not distributed with this
5652
5604
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
@@ -30849,7 +30801,7 @@ function downloadFiles(files) {
30849
30801
  });
30850
30802
  }
30851
30803
 
30852
- const DEFAULT_CAMERA_STATE$1 = {
30804
+ const DEFAULT_CAMERA_STATE = {
30853
30805
  near: 0.001,
30854
30806
  far: 1000
30855
30807
  };
@@ -30895,7 +30847,7 @@ class ImageModeCamera extends PerspectiveCamera {
30895
30847
  });
30896
30848
  Object.defineProperty(this, _cameraState, {
30897
30849
  writable: true,
30898
- value: DEFAULT_CAMERA_STATE$1
30850
+ value: DEFAULT_CAMERA_STATE
30899
30851
  });
30900
30852
  Object.defineProperty(this, _rotation, {
30901
30853
  writable: true,
@@ -61469,23 +61421,6 @@ class CameraControls extends EventDispatcher {
61469
61421
  }
61470
61422
  }
61471
61423
 
61472
- // This Source Code Form is subject to the terms of the Mozilla Public
61473
- // License, v2.0. If a copy of the MPL was not distributed with this
61474
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
61475
-
61476
- const DEFAULT_CAMERA_STATE = {
61477
- distance: -500,
61478
- perspective: localStorage.getItem("perspective") ? localStorage.getItem("perspective") === "true" : true,
61479
- phi: 89,
61480
- target: [0, 0, 0],
61481
- targetOffset: [0, 0, 0],
61482
- targetOrientation: [0, 1, 1, 1],
61483
- thetaOffset: 180,
61484
- fovy: 60,
61485
- near: 2,
61486
- far: 20000
61487
- };
61488
-
61489
61424
  /**
61490
61425
  * Types of items that can be included in a context menu. Either a clickable item
61491
61426
  * or a divider.
@@ -75233,7 +75168,7 @@ class CameraStateSettings extends SceneExtension {
75233
75168
  if (action.action === "perform-node-action" && action.payload.id === "reset-camera") {
75234
75169
  const previousState = cloneDeep(this.renderer.config.cameraState);
75235
75170
  this.renderer.updateConfig(draft => {
75236
- draft.cameraState = cloneDeep(DEFAULT_CAMERA_STATE);
75171
+ draft.cameraState = cloneDeep(DEFAULT_CAMERA_STATE$1);
75237
75172
  });
75238
75173
  _classPrivateFieldLooseBase(this, _applyCameraStateToControls)[_applyCameraStateToControls](this.renderer.config.cameraState, previousState);
75239
75174
  this.renderer.emit("cameraMove", this.renderer);
@@ -75283,10 +75218,10 @@ class CameraStateSettings extends SceneExtension {
75283
75218
  const followMode = value;
75284
75219
  this.renderer.updateConfig(draft => {
75285
75220
  if (draft.followMode === "follow-none" || followMode === "follow-pose") {
75286
- draft.cameraState.targetOffset = [...DEFAULT_CAMERA_STATE.targetOffset];
75221
+ draft.cameraState.targetOffset = [...DEFAULT_CAMERA_STATE$1.targetOffset];
75287
75222
  }
75288
75223
  if (followMode === "follow-pose") {
75289
- draft.cameraState.thetaOffset = DEFAULT_CAMERA_STATE.thetaOffset;
75224
+ draft.cameraState.thetaOffset = DEFAULT_CAMERA_STATE$1.thetaOffset;
75290
75225
  }
75291
75226
  draft.followMode = followMode;
75292
75227
  });
@@ -75494,7 +75429,7 @@ class CameraStateSettings extends SceneExtension {
75494
75429
  this.add(_classPrivateFieldLooseBase(this, _cameraGroup)[_cameraGroup]);
75495
75430
  this.renderer.updateConfig(draft => {
75496
75431
  if (!draft.cameraState) {
75497
- draft.cameraState = cloneDeep(DEFAULT_CAMERA_STATE);
75432
+ draft.cameraState = cloneDeep(DEFAULT_CAMERA_STATE$1);
75498
75433
  }
75499
75434
  });
75500
75435
  const _isPerspective = this.renderer.config.cameraState.perspective;
@@ -75693,7 +75628,7 @@ function _setDefaultCameraState2(resetCamera = false) {
75693
75628
  _classPrivateFieldLooseBase(this, _perspectiveCamera)[_perspectiveCamera].position.set(0, 0, 0);
75694
75629
  _classPrivateFieldLooseBase(this, _orthographicCamera)[_orthographicCamera].position.set(0, 0, 0);
75695
75630
  this.renderer.updateConfig(draft => {
75696
- draft.cameraState = cloneDeep(DEFAULT_CAMERA_STATE);
75631
+ draft.cameraState = cloneDeep(DEFAULT_CAMERA_STATE$1);
75697
75632
  });
75698
75633
  }
75699
75634
  let restoredCameraState = false;
@@ -75714,7 +75649,7 @@ function _setDefaultCameraState2(resetCamera = false) {
75714
75649
  const activeCamera = this.getActiveCamera();
75715
75650
  activeCamera.updateMatrixWorld(true);
75716
75651
  this.renderer.queueAnimationFrame();
75717
- const cameraState = defaultCameraState !== null && defaultCameraState !== void 0 ? defaultCameraState : DEFAULT_CAMERA_STATE;
75652
+ const cameraState = defaultCameraState !== null && defaultCameraState !== void 0 ? defaultCameraState : DEFAULT_CAMERA_STATE$1;
75718
75653
  _classPrivateFieldLooseBase(this, _applyCameraStateToControls)[_applyCameraStateToControls](cameraState, undefined);
75719
75654
  _classPrivateFieldLooseBase(this, _controls)[_controls].update(0);
75720
75655
  this.renderer.queueAnimationFrame();
@@ -75813,7 +75748,7 @@ function _cameraSettingsNode2() {
75813
75748
  near: {
75814
75749
  label: t$1("threeDee:near"),
75815
75750
  input: "number",
75816
- step: DEFAULT_CAMERA_STATE.near,
75751
+ step: DEFAULT_CAMERA_STATE$1.near,
75817
75752
  precision: PRECISION_DISTANCE,
75818
75753
  value: camera.near
75819
75754
  },
@@ -76456,6 +76391,7 @@ Object.defineProperty(LabelMaterial.prototype, "fragmentShaderKey", {
76456
76391
  * `WebGLRenderingContext`, and `SettingsTree`.
76457
76392
  */
76458
76393
  var _canvas = /*#__PURE__*/_classPrivateFieldLooseKey("canvas");
76394
+ var _isDisposed = /*#__PURE__*/_classPrivateFieldLooseKey("isDisposed");
76459
76395
  var _customLayerActions = /*#__PURE__*/_classPrivateFieldLooseKey("customLayerActions");
76460
76396
  var _scene = /*#__PURE__*/_classPrivateFieldLooseKey("scene");
76461
76397
  var _dirLight = /*#__PURE__*/_classPrivateFieldLooseKey("dirLight");
@@ -76576,6 +76512,10 @@ class Renderer extends EventEmitter {
76576
76512
  value: void 0
76577
76513
  });
76578
76514
  this.gl = void 0;
76515
+ Object.defineProperty(this, _isDisposed, {
76516
+ writable: true,
76517
+ value: false
76518
+ });
76579
76519
  this.maxLod = DetailLevel.High;
76580
76520
  this.debugPicking = void 0;
76581
76521
  this.config = void 0;
@@ -77181,8 +77121,16 @@ class Renderer extends EventEmitter {
77181
77121
  }
77182
77122
  dispose() {
77183
77123
  var _classPrivateFieldLoo2;
77124
+ if (_classPrivateFieldLooseBase(this, _isDisposed)[_isDisposed]) {
77125
+ return;
77126
+ }
77127
+ _classPrivateFieldLooseBase(this, _isDisposed)[_isDisposed] = true;
77184
77128
  log$2.warn(`Disposing renderer`);
77185
77129
  (_classPrivateFieldLoo2 = _classPrivateFieldLooseBase(this, _devicePixelRatioMediaQuery)[_devicePixelRatioMediaQuery]) === null || _classPrivateFieldLoo2 === void 0 || _classPrivateFieldLoo2.removeEventListener("change", _classPrivateFieldLooseBase(this, _onDevicePixelRatioChange)[_onDevicePixelRatioChange]);
77130
+ if (_classPrivateFieldLooseBase(this, _animationFrame)[_animationFrame] != undefined) {
77131
+ cancelAnimationFrame(_classPrivateFieldLooseBase(this, _animationFrame)[_animationFrame]);
77132
+ _classPrivateFieldLooseBase(this, _animationFrame)[_animationFrame] = undefined;
77133
+ }
77186
77134
  this.removeAllListeners();
77187
77135
  this.settings.removeAllListeners();
77188
77136
  this.input.removeAllListeners();
@@ -77197,6 +77145,7 @@ class Renderer extends EventEmitter {
77197
77145
  _classPrivateFieldLooseBase(this, _transformPool)[_transformPool].clear();
77198
77146
  _classPrivateFieldLooseBase(this, _picker)[_picker].dispose();
77199
77147
  this.input.dispose();
77148
+ this.gl.forceContextLoss();
77200
77149
  this.gl.dispose();
77201
77150
  }
77202
77151
  cameraSyncError() {
@@ -81962,7 +81911,7 @@ function ThreeDeeRender(props) {
81962
81911
  const partialConfig = initialState;
81963
81912
 
81964
81913
  // Initialize the camera from default settings overlaid with persisted settings
81965
- const cameraState = merge$1(cloneDeep(DEFAULT_CAMERA_STATE), partialConfig === null || partialConfig === void 0 ? void 0 : partialConfig.cameraState);
81914
+ const cameraState = merge$1(cloneDeep(DEFAULT_CAMERA_STATE$1), partialConfig === null || partialConfig === void 0 ? void 0 : partialConfig.cameraState);
81966
81915
  const publish = merge$1(cloneDeep(DEFAULT_PUBLISH_SETTINGS), partialConfig === null || partialConfig === void 0 ? void 0 : partialConfig.publish);
81967
81916
  const transforms = (_partialConfig$transf = partialConfig === null || partialConfig === void 0 ? void 0 : partialConfig.transforms) !== null && _partialConfig$transf !== void 0 ? _partialConfig$transf : {};
81968
81917
  return {
@@ -82005,20 +81954,30 @@ function ThreeDeeRender(props) {
82005
81954
  });
82006
81955
  }, [enqueueSnackbar]);
82007
81956
  useEffect(() => {
82008
- var _props$registerRender;
82009
- const newRenderer = canvas ? new Renderer({
82010
- canvas,
82011
- config: configRef.current,
82012
- interfaceMode,
82013
- fetchAsset,
82014
- sceneExtensionConfig: merge$1({}, DEFAULT_SCENE_EXTENSION_CONFIG, customSceneExtensions !== null && customSceneExtensions !== void 0 ? customSceneExtensions : {}),
82015
- displayTemporaryError,
82016
- testOptions,
82017
- onFrameRendered: frameRenderedEvent,
82018
- annotationReceivedEventHandler
82019
- }) : undefined;
81957
+ let newRenderer;
81958
+ if (canvas) {
81959
+ try {
81960
+ newRenderer = new Renderer({
81961
+ canvas,
81962
+ config: configRef.current,
81963
+ interfaceMode,
81964
+ fetchAsset,
81965
+ sceneExtensionConfig: merge$1({}, DEFAULT_SCENE_EXTENSION_CONFIG, customSceneExtensions !== null && customSceneExtensions !== void 0 ? customSceneExtensions : {}),
81966
+ displayTemporaryError,
81967
+ testOptions,
81968
+ onFrameRendered: frameRenderedEvent,
81969
+ annotationReceivedEventHandler
81970
+ });
81971
+ } catch (error) {
81972
+ log.error(error);
81973
+ displayTemporaryError(error instanceof Error ? error.message : "Failed to initialize 3D renderer");
81974
+ }
81975
+ }
82020
81976
  setRenderer(newRenderer);
82021
- (_props$registerRender = props.registerRendered) === null || _props$registerRender === void 0 || _props$registerRender.call(props, newRenderer);
81977
+ if (newRenderer) {
81978
+ var _props$registerRender;
81979
+ (_props$registerRender = props.registerRendered) === null || _props$registerRender === void 0 || _props$registerRender.call(props, newRenderer);
81980
+ }
82022
81981
  rendererRef.current = newRenderer;
82023
81982
  return () => {
82024
81983
  var _rendererRef$current;
@@ -1,8 +1,8 @@
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-BWUFvnnr.js';
3
- import './protobuf-BQPUfAzh.js';
2
+ import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a1 as syntaxTree, $ as ifNotIn, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, a8 as IterMode, a0 as completeFromList, a9 as NodeWeakMap, a7 as snippetCompletion } from './index-Bi4nJb4U.js';
3
+ import './protobuf-Be0G3NFz.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-Ct_zm8Rq.js';
5
+ import './depth-DlC6A3Te.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-Z9mJitqG.js';
13
+ import './FoxgloveServer-B98MHUu6.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-DTBud3kT.js';
15
+ import './foxglove-protocol-yHdoBNaD.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';
@@ -1,8 +1,8 @@
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-BWUFvnnr.js';
3
- import './protobuf-BQPUfAzh.js';
2
+ import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-Bi4nJb4U.js';
3
+ import './protobuf-Be0G3NFz.js';
4
4
  import './logger-Bqy1nuLj.js';
5
- import './depth-Ct_zm8Rq.js';
5
+ import './depth-DlC6A3Te.js';
6
6
  import './comlink-jf8bdrAf.js';
7
7
  import 'react';
8
8
  import 'zustand';
@@ -10,9 +10,9 @@ import 'react-mosaic-component';
10
10
  import '@mui/material';
11
11
  import './isArrayLikeObject-n9ytTioB.js';
12
12
  import './utils-DmlHZWuo.js';
13
- import './FoxgloveServer-Z9mJitqG.js';
13
+ import './FoxgloveServer-B98MHUu6.js';
14
14
  import 'ms';
15
- import './foxglove-protocol-DTBud3kT.js';
15
+ import './foxglove-protocol-yHdoBNaD.js';
16
16
  import 'react-dnd';
17
17
  import 'react-dnd-html5-backend';
18
18
  import './i18next-17tp0Ngf.js';