@luxonis/visualizer-protobuf 2.13.0 → 2.14.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/WorkerImageDecoder.worker-DCoSYoLL.js +31 -0
- package/dist/{decodeImage-BBqnjJjE.js → decodeImage-NYPkamnK.js} +29 -363
- package/dist/{index-4msm-wtA.js → index-BHzFgL5N.js} +1 -1
- package/dist/{index-CpLzYoX8.js → index-BJofTpil.js} +1 -1
- package/dist/{index-CE0akFDh.js → index-BPWE58mB.js} +85 -56
- package/dist/{index-DfgdvKhl.js → index-BTNGGXoa.js} +1 -1
- package/dist/{index-CbS2HMyR.js → index-BwoyZPjj.js} +1 -1
- package/dist/{index-DSIL_c41.js → index-C1eH0RCy.js} +1 -1
- package/dist/{index-PmNaQtc7.js → index-CIfIw1LQ.js} +1 -1
- package/dist/{index-nJgMRJTy.js → index-Cq7so9Q9.js} +1 -1
- package/dist/{index-CtKYoeeM.js → index-D7jNrXVP.js} +1 -1
- package/dist/{index-DFlpZwK1.js → index-D8jKQuGu.js} +22 -22
- package/dist/{index-BsQeBBzM.js → index-D9d5kqGf.js} +1 -1
- package/dist/{index-BWakrawk.js → index-DAXpEznJ.js} +3 -3
- package/dist/{index-BbAm1fKU.js → index-DCh-Eobo.js} +1 -1
- package/dist/{index-DyoCH5GH.js → index-DI5QHg2x.js} +1 -1
- package/dist/{index-fN8Tpgww.js → index-DM9oCkXH.js} +1 -1
- package/dist/{index-DFdQY59I.js → index-DY6zQP_F.js} +1 -1
- package/dist/{index-DTZuXJ1A.js → index-Di_-JfGf.js} +1 -1
- package/dist/{index-BK0O58zw.js → index-Zivk6fee.js} +1 -1
- package/dist/{index-Do7UsSft.js → index-d8vRrHr4.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 +1 -1
- package/dist/lib/src/components/PanelToolbar.js.map +1 -1
- package/dist/lib/src/messaging/message-handler.d.ts.map +1 -1
- package/dist/lib/src/messaging/message-handler.js.map +1 -1
- package/dist/lib/src/protobuf.generated/IMUData.d.ts +122 -0
- package/dist/lib/src/protobuf.generated/IMUData.d.ts.map +1 -0
- package/dist/lib/src/protobuf.generated/IMUData.js +691 -0
- package/dist/lib/src/protobuf.generated/IMUData.js.map +1 -0
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.d.ts +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 +6 -7
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js +2 -3
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.d.ts +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.js +8 -3
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.d.ts +10 -2
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.js +69 -10
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.d.ts +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.d.ts.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.js +29 -21
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.js.map +1 -1
- package/package.json +3 -1
- package/dist/WorkerImageDecoder.worker-DjK2q36W.js +0 -18
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.d.ts +0 -9
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.d.ts.map +0 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.js +0 -15
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Component, useContext, useState, useEffect, createContext, forwardRef, createElement, cloneElement, useMemo, Profiler, StrictMode } from 'react';
|
|
3
3
|
import ReactDOM__default from 'react-dom';
|
|
4
|
-
import { i as isSymbol, t as toString, k as keys, g as getSymbols$1, s as stubArray, a as arrayPush, b as baseGetAllKeys, c as getTag, d as getAllKeys, e as createAggregator, f as baseGet, h as baseIteratee, j as castPath, l as toKey, m as flatRest, n as arrayMap$1, o as baseSet, p as baseUniq, q as baseFlatten, r as generateUtilityClass, A as AnalyticsContext, u as useMustNotChange, P as PropTypes, v as useCurrentLayoutActions, w as useCurrentLayoutSelector, x as reportError, y as AppError, E as ErrorDisplay, S as Stack$1, z as makeStyles$1, _ as _extends$1, L as Logger, B as useGuaranteedContext, W as WorkspaceContext, C as useAnalytics, D as AppEvent, F as LeftSidebarItemKeys, R as RightSidebarItemKeys, G as usePanelMosaicId, H as useTranslation, I as usePanelCatalog, J as EmptyState, K as isEmpty, M as PanelContext, N as PanelCatalogContext, O as useSelectedPanels, Q as usePanelStateStore, T as useDefaultPanelTitle, U as PANEL_TITLE_CONFIG_KEY, V as noop$4, X as getPanelTypeFromId, Y as useWorkspaceStore, Z as useShallowMemo, $ as TAB_PANEL_TYPE, a0 as WorkspaceStoreSelectors, a1 as difference, a2 as filterMap, a3 as dist$3, a4 as usePanelContext, a5 as useMessagePipeline, a6 as v4, a7 as useHoverValue, a8 as useSetHoverValue, a9 as useClearHoverValue, aa as useAppConfiguration, ab as useMessagePipelineGetter, ac as usePanelSettingsTreeUpdate, ad as PlayerCapabilities, ae as useValueChangedDebugLog, af as assertNever, ag as PlayerPresence, ah as typescript, ai as isEqual, aj as isDesktopApp, ak as createTheme, al as propTypesExports, am as useJsonTreeTheme } from './index-
|
|
4
|
+
import { i as isSymbol, t as toString, k as keys, g as getSymbols$1, s as stubArray, a as arrayPush, b as baseGetAllKeys, c as getTag, d as getAllKeys, e as createAggregator, f as baseGet, h as baseIteratee, j as castPath, l as toKey, m as flatRest, n as arrayMap$1, o as baseSet, p as baseUniq, q as baseFlatten, r as generateUtilityClass, A as AnalyticsContext, u as useMustNotChange, P as PropTypes, v as useCurrentLayoutActions, w as useCurrentLayoutSelector, x as reportError, y as AppError, E as ErrorDisplay, S as Stack$1, z as makeStyles$1, _ as _extends$1, L as Logger, B as useGuaranteedContext, W as WorkspaceContext, C as useAnalytics, D as AppEvent, F as LeftSidebarItemKeys, R as RightSidebarItemKeys, G as usePanelMosaicId, H as useTranslation, I as usePanelCatalog, J as EmptyState, K as isEmpty, M as PanelContext, N as PanelCatalogContext, O as useSelectedPanels, Q as usePanelStateStore, T as useDefaultPanelTitle, U as PANEL_TITLE_CONFIG_KEY, V as noop$4, X as getPanelTypeFromId, Y as useWorkspaceStore, Z as useShallowMemo, $ as TAB_PANEL_TYPE, a0 as WorkspaceStoreSelectors, a1 as difference, a2 as filterMap, a3 as dist$3, a4 as usePanelContext, a5 as useMessagePipeline, a6 as v4, a7 as useHoverValue, a8 as useSetHoverValue, a9 as useClearHoverValue, aa as useAppConfiguration, ab as useMessagePipelineGetter, ac as usePanelSettingsTreeUpdate, ad as PlayerCapabilities, ae as useValueChangedDebugLog, af as assertNever, ag as PlayerPresence, ah as typescript, ai as isEqual, aj as isDesktopApp, ak as createTheme, al as propTypesExports, am as useJsonTreeTheme } from './index-D8jKQuGu.js';
|
|
5
5
|
import { createStore, useStore } from 'zustand';
|
|
6
6
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
7
7
|
import { a as getDefaultExportFromCjs, c as commonjsGlobal, g as getAugmentedNamespace, E as EventEmitter } from './FoxgloveServer-DiLI7KZU.js';
|
|
@@ -14,7 +14,7 @@ import MoreVertIcon from '@mui/icons-material/MoreVert';
|
|
|
14
14
|
import CancelIcon from '@mui/icons-material/Cancel';
|
|
15
15
|
import SearchIcon from '@mui/icons-material/Search';
|
|
16
16
|
import { useDrag, useDrop } from 'react-dnd';
|
|
17
|
-
import { B as Box3, V as Vector3, I as InstancedBufferGeometry, F as Float32BufferAttribute, a as InstancedInterleavedBuffer, b as InterleavedBufferAttribute, W as WireframeGeometry, S as Sphere, U as UniformsLib, c as Vector2,
|
|
17
|
+
import { B as Box3, V as Vector3, I as InstancedBufferGeometry, F as Float32BufferAttribute, a as InstancedInterleavedBuffer, b as InterleavedBufferAttribute, W as WireframeGeometry, S as Sphere, U as UniformsLib, c as Vector2, e as ShaderLib, f as UniformsUtils, g as ShaderMaterial, h as Vector4, M as Matrix4, L as Line3, i as Mesh, j as MathUtils, O as Object3D, C as Color, r as rgbToThreeColor, s as stringToRgba, m as makeRgba, k as MeshStandardMaterial, R as ReplaceStencilOp, N as NotEqualStencilFunc, D as DoubleSide, P as PointsMaterial, l as rgbaToCssString, n as colorModeSettingsFields, o as autoSelectColorSettings, p as PlaneGeometry, q as DataTexture, t as UVMapping, u as ClampToEdgeWrapping, v as NearestFilter, w as LinearFilter, x as FS_SRGB_TO_LINEAR, y as SRGBColorSpace, z as LinearSRGBColorSpace, A as rgbaToLinear, E as RedFormat, G as RGBAFormat, H as getColorConverter, J as FloatType, K as UnsignedByteType, Q as NEEDS_MIN_MAX$1, T as InstancedMesh, X as CylinderGeometry, Y as ConeGeometry, Z as DataTextureLoader, _ as LinearMipmapLinearFilter, $ as Loader, a0 as LoaderUtils, a1 as FileLoader, a2 as MeshBasicMaterial, a3 as Scene, a4 as TextureLoader, a5 as AnimationClip, a6 as VectorKeyframeTrack, a7 as QuaternionKeyframeTrack, a8 as MeshLambertMaterial, a9 as MeshPhongMaterial, aa as FrontSide, ab as PerspectiveCamera, ac as OrthographicCamera, ad as AmbientLight, ae as SpotLight, af as PointLight, ag as DirectionalLight, ah as BufferGeometry, ai as Group, aj as Quaternion, ak as Bone, al as LineBasicMaterial, am as SkinnedMesh, an as Line, ao as LineSegments, ap as RepeatWrapping, aq as Skeleton, ar as BufferAttribute, as as TrianglesDrawMode, at as TriangleFanDrawMode, au as TriangleStripDrawMode, av as MeshPhysicalMaterial, aw as ImageBitmapLoader, ax as InterleavedBuffer, ay as Material, az as PropertyBinding, aA as LineLoop, aB as Points, aC as InterpolateLinear, aD as ColorManagement, aE as NearestMipmapNearestFilter, aF as LinearMipmapNearestFilter, aG as NearestMipmapLinearFilter, aH as MirroredRepeatWrapping, aI as InterpolateDiscrete, aJ as Texture, aK as NumberKeyframeTrack, aL as Interpolant, aM as EdgesGeometry, aN as LoadingManager, aO as stringToRgb, aP as getLuminance, aQ as Euler, aR as vec3TupleApproxEquals, aS as decodeCompressedImageToBitmap, aT as CanvasTexture, aU as Shape, aV as SRGBToLinear, aW as ShapeGeometry, aX as DynamicDrawUsage, aY as ShaderChunk, aZ as IMAGE_DEFAULT_COLOR_MODE_SETTINGS, a_ as colorHasTransparency, a$ as StaticDrawUsage, b0 as RawShaderMaterial, b1 as GLSL3, b2 as colorFieldComputedPrefix, b3 as getRotationTo, b4 as SphereGeometry, b5 as rgbaGradient, b6 as InstancedBufferAttribute, b7 as BoxGeometry, b8 as DARK_OUTLINE, b9 as LIGHT_OUTLINE, ba as CircleGeometry, bb as LineDashedMaterial, bc as GreaterDepth, bd as EventDispatcher, be as Plane, bf as Raycaster, bg as WebGLRenderTarget, bh as Ray, bi as MOUSE, bj as TOUCH, bk as Spherical, bl as WebGLRenderer, bm as NoToneMapping, bn as VSMShadowMap, bo as HemisphereLight } from './decodeImage-NYPkamnK.js';
|
|
18
18
|
import { CacheProvider } from '@emotion/react';
|
|
19
19
|
import '@mui/material/styles/createTypography';
|
|
20
20
|
import require$$1$3 from 'color';
|
|
@@ -31455,34 +31455,7 @@ Object.defineProperty(awaited, "__esModule", { value: true });
|
|
|
31455
31455
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
31456
31456
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
31457
31457
|
|
|
31458
|
-
|
|
31459
|
-
/**
|
|
31460
|
-
* Wraps an instantiated `Worker` and exposes its API in the same way that `Comlink.wrap` does
|
|
31461
|
-
* but it also provides a `dispose` function to terminate the worker and release the comlink proxy.
|
|
31462
|
-
* This can help prevent memory leaks when the comlink proxy is unable to garbage collect itself due to
|
|
31463
|
-
* unresolved promises which can occur if the worker is terminated while processing a request.
|
|
31464
|
-
* This should be used instead of `Comlink.wrap` where possible.
|
|
31465
|
-
*
|
|
31466
|
-
* @param worker - worker to be wrapped by comlink
|
|
31467
|
-
* @returns remote - API for worker wrapped by comlink. What is normally received from Comlink.wrap
|
|
31468
|
-
* @returns dispose - function to release the comlink proxy and to terminate the worker
|
|
31469
|
-
*/
|
|
31470
|
-
function ComlinkWrap(worker) {
|
|
31471
|
-
const remote = wrap(worker);
|
|
31472
|
-
const dispose = () => {
|
|
31473
|
-
remote[releaseProxy]();
|
|
31474
|
-
worker.terminate();
|
|
31475
|
-
};
|
|
31476
|
-
return {
|
|
31477
|
-
remote,
|
|
31478
|
-
dispose
|
|
31479
|
-
};
|
|
31480
|
-
}
|
|
31481
|
-
|
|
31482
|
-
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
31483
|
-
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
31484
|
-
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
31485
|
-
|
|
31458
|
+
//import init, { decode_i420_simd } from "./pkg/viewer_rust_decoder.js";
|
|
31486
31459
|
|
|
31487
31460
|
/**
|
|
31488
31461
|
* Provides a worker that can process RawImages on a background thread.
|
|
@@ -31494,27 +31467,82 @@ function ComlinkWrap(worker) {
|
|
|
31494
31467
|
*/
|
|
31495
31468
|
|
|
31496
31469
|
class WorkerImageDecoder {
|
|
31497
|
-
|
|
31498
|
-
#
|
|
31470
|
+
//#wasmInitialized = false;
|
|
31471
|
+
#worker; // have more workers
|
|
31472
|
+
//#reusableBuffer: SharedArrayBuffer | null = null;
|
|
31473
|
+
|
|
31499
31474
|
constructor() {
|
|
31500
|
-
|
|
31501
|
-
|
|
31502
|
-
|
|
31503
|
-
} = ComlinkWrap(new Worker(new URL("WorkerImageDecoder.worker-DjK2q36W.js", import.meta.url), {
|
|
31504
|
-
type: 'module'
|
|
31505
|
-
}));
|
|
31506
|
-
this.#remote = remote;
|
|
31507
|
-
this.#dispose = dispose;
|
|
31475
|
+
this.#worker = new Worker(new URL("WorkerImageDecoder.worker-DCoSYoLL.js", import.meta.url), {
|
|
31476
|
+
type: "module"
|
|
31477
|
+
});
|
|
31508
31478
|
}
|
|
31509
31479
|
|
|
31510
31480
|
/**
|
|
31511
31481
|
* Copies `image` to the worker, and transfers the decoded result back to the main thread.
|
|
31512
31482
|
*/
|
|
31513
|
-
|
|
31514
|
-
return
|
|
31483
|
+
decode(image, options) {
|
|
31484
|
+
return new Promise((resolve, reject) => {
|
|
31485
|
+
image.width * image.height * 4;
|
|
31486
|
+
|
|
31487
|
+
// Create or resize buffer if needed
|
|
31488
|
+
//if (!this.#reusableBuffer || this.#reusableBuffer.byteLength !== requiredSize) {
|
|
31489
|
+
// console.log("Resizing buffer", this.#reusableBuffer?.byteLength);
|
|
31490
|
+
// this.#reusableBuffer = new SharedArrayBuffer(requiredSize);
|
|
31491
|
+
//}
|
|
31492
|
+
|
|
31493
|
+
this.#worker.onmessage = event => {
|
|
31494
|
+
if (event.data.error) {
|
|
31495
|
+
reject(new Error(event.data.error));
|
|
31496
|
+
} else {
|
|
31497
|
+
resolve(new ImageData(event.data.result, image.width, image.height));
|
|
31498
|
+
}
|
|
31499
|
+
};
|
|
31500
|
+
|
|
31501
|
+
// TODO: Try using shared buffer for input data as well
|
|
31502
|
+
this.#worker.postMessage({
|
|
31503
|
+
image,
|
|
31504
|
+
options
|
|
31505
|
+
}, [image.data.buffer]);
|
|
31506
|
+
});
|
|
31515
31507
|
}
|
|
31508
|
+
|
|
31509
|
+
//public async decodeOnMain(image: RosImage | RawImage, options: Partial<RawImageOptions>): Promise<ImageData | ImageBitmap> {
|
|
31510
|
+
// const requiredSize = image.width * image.height * 4;
|
|
31511
|
+
//
|
|
31512
|
+
// // Create or resize buffer if needed
|
|
31513
|
+
// if (!this.#reusableBuffer || this.#reusableBuffer.length < requiredSize) {
|
|
31514
|
+
// console.log('Resizing buffer', this.#reusableBuffer?.length);
|
|
31515
|
+
// this.#reusableBuffer = new Uint8ClampedArray(requiredSize);
|
|
31516
|
+
// }
|
|
31517
|
+
//
|
|
31518
|
+
// return decodeRawImage(image, options, this.#reusableBuffer).then(() => {
|
|
31519
|
+
// return new ImageData(this.#reusableBuffer!, image.width, image.height);
|
|
31520
|
+
// });
|
|
31521
|
+
//}
|
|
31522
|
+
|
|
31523
|
+
//public async decodeRust(
|
|
31524
|
+
// image: RosImage | RawImage,
|
|
31525
|
+
// options: Partial<RawImageOptions>,
|
|
31526
|
+
//): Promise<ImageData> {
|
|
31527
|
+
// if (!this.#wasmInitialized) {
|
|
31528
|
+
// console.log("Initializing wasm decoder");
|
|
31529
|
+
// await init();
|
|
31530
|
+
// this.#wasmInitialized = true;
|
|
31531
|
+
// }
|
|
31532
|
+
//
|
|
31533
|
+
// // TODO: Potentially use async rs function to improve performance
|
|
31534
|
+
// const decodedBuffer: Uint8Array = decode_i420_simd(
|
|
31535
|
+
// image.data as Uint8Array,
|
|
31536
|
+
// image.width,
|
|
31537
|
+
// image.height,
|
|
31538
|
+
// 0,
|
|
31539
|
+
// );
|
|
31540
|
+
//
|
|
31541
|
+
// return new ImageData(new Uint8ClampedArray(decodedBuffer), image.width, image.height);
|
|
31542
|
+
//}
|
|
31543
|
+
|
|
31516
31544
|
terminate() {
|
|
31517
|
-
this.#
|
|
31545
|
+
this.#worker.terminate();
|
|
31518
31546
|
}
|
|
31519
31547
|
}
|
|
31520
31548
|
|
|
@@ -31522,6 +31550,7 @@ class WorkerImageDecoder {
|
|
|
31522
31550
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
31523
31551
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
31524
31552
|
|
|
31553
|
+
const WORKER_COUNT = 4;
|
|
31525
31554
|
const log$4 = Logger.getLogger("src/index.ts");
|
|
31526
31555
|
const DEFAULT_DISTANCE = 1;
|
|
31527
31556
|
const DEFAULT_PLANAR_PROJECTION_FACTOR = 0;
|
|
@@ -31546,12 +31575,14 @@ class ImageRenderable extends Renderable {
|
|
|
31546
31575
|
#renderBehindScene = false;
|
|
31547
31576
|
#isUpdating = false;
|
|
31548
31577
|
#decodedImage;
|
|
31578
|
+
#lastUsedDecoderIndex = 0;
|
|
31549
31579
|
#receivedImageSequenceNumber = 0;
|
|
31550
31580
|
#displayedImageSequenceNumber = 0;
|
|
31551
31581
|
#showingErrorImage = false;
|
|
31552
31582
|
#disposed = false;
|
|
31553
31583
|
constructor(topicName, renderer, userData) {
|
|
31554
31584
|
super(topicName, renderer, userData);
|
|
31585
|
+
this.decoderPool = new Array(WORKER_COUNT).fill(undefined).map(() => new WorkerImageDecoder());
|
|
31555
31586
|
}
|
|
31556
31587
|
isDisposed() {
|
|
31557
31588
|
return this.#disposed;
|
|
@@ -31564,7 +31595,7 @@ class ImageRenderable extends Renderable {
|
|
|
31564
31595
|
this.userData.texture?.dispose();
|
|
31565
31596
|
this.userData.material?.dispose();
|
|
31566
31597
|
this.userData.geometry?.dispose();
|
|
31567
|
-
this.decoder
|
|
31598
|
+
this.decoderPool?.forEach(decoder => decoder.terminate());
|
|
31568
31599
|
super.dispose();
|
|
31569
31600
|
}
|
|
31570
31601
|
updateHeaderInfo() {
|
|
@@ -31675,7 +31706,9 @@ class ImageRenderable extends Renderable {
|
|
|
31675
31706
|
if ("format" in image) {
|
|
31676
31707
|
return await decodeCompressedImageToBitmap(image, resizeWidth);
|
|
31677
31708
|
}
|
|
31678
|
-
|
|
31709
|
+
const decoder = this.decoderPool?.at(this.#lastUsedDecoderIndex);
|
|
31710
|
+
this.#lastUsedDecoderIndex = (this.#lastUsedDecoderIndex + 1) % this.decoderPool.length;
|
|
31711
|
+
return await decoder.decode(image, this.userData.settings);
|
|
31679
31712
|
}
|
|
31680
31713
|
update() {
|
|
31681
31714
|
if (this.#isUpdating) {
|
|
@@ -59810,7 +59843,8 @@ class Renderer extends EventEmitter {
|
|
|
59810
59843
|
this.gl = new WebGLRenderer({
|
|
59811
59844
|
canvas,
|
|
59812
59845
|
alpha: true,
|
|
59813
|
-
antialias: true
|
|
59846
|
+
antialias: true,
|
|
59847
|
+
powerPreference: 'high-performance'
|
|
59814
59848
|
});
|
|
59815
59849
|
if (!this.gl.capabilities.isWebGL2) {
|
|
59816
59850
|
throw new Error("WebGL2 is not supported");
|
|
@@ -59874,8 +59908,7 @@ class Renderer extends EventEmitter {
|
|
|
59874
59908
|
switch (interfaceMode) {
|
|
59875
59909
|
case "image":
|
|
59876
59910
|
{
|
|
59877
|
-
|
|
59878
|
-
this.#imageModeExtension = imageMode;
|
|
59911
|
+
this.#imageModeExtension = reserved.imageMode.init(this);
|
|
59879
59912
|
this.cameraHandler = this.#imageModeExtension;
|
|
59880
59913
|
this.#imageModeExtension.addEventListener("hasModifiedViewChanged", () => {
|
|
59881
59914
|
this.emit("resetViewChanged", this);
|
|
@@ -59894,9 +59927,7 @@ class Renderer extends EventEmitter {
|
|
|
59894
59927
|
extensionsById
|
|
59895
59928
|
} = args.sceneExtensionConfig;
|
|
59896
59929
|
for (const extensionItem of Object.values(extensionsById)) {
|
|
59897
|
-
if (extensionItem.supportedInterfaceModes == undefined || extensionItem.supportedInterfaceModes.includes(interfaceMode))
|
|
59898
|
-
this.#addSceneExtension(extensionItem.init(this));
|
|
59899
|
-
}
|
|
59930
|
+
if (extensionItem.supportedInterfaceModes == undefined || extensionItem.supportedInterfaceModes.includes(interfaceMode)) ;
|
|
59900
59931
|
}
|
|
59901
59932
|
log$1.debug(`Renderer initialized with scene extensions ${Array.from(this.sceneExtensions.keys()).join(", ")}`);
|
|
59902
59933
|
if (interfaceMode === "image" && config.imageMode.calibrationTopic == undefined) {
|
|
@@ -59962,6 +59993,7 @@ class Renderer extends EventEmitter {
|
|
|
59962
59993
|
setCurrentTime(newTimeNs) {
|
|
59963
59994
|
this.currentTime = newTimeNs;
|
|
59964
59995
|
}
|
|
59996
|
+
|
|
59965
59997
|
/**
|
|
59966
59998
|
* Updates renderer state according to seek delta. Handles clearing of future state and resetting of allFrames cursor if seeked backwards
|
|
59967
59999
|
* Should be called after `setCurrentTime` as been called
|
|
@@ -60561,8 +60593,6 @@ class Renderer extends EventEmitter {
|
|
|
60561
60593
|
camera.layers.set(LAYER_SELECTED);
|
|
60562
60594
|
this.gl.render(this.#scene, camera);
|
|
60563
60595
|
}
|
|
60564
|
-
|
|
60565
|
-
// TODO - check that this isn't causing a memory leak!
|
|
60566
60596
|
this.emit("endFrame", currentTime, this);
|
|
60567
60597
|
this.gl.info.reset();
|
|
60568
60598
|
};
|
|
@@ -77644,7 +77674,6 @@ function ThreeDeeRender(props) {
|
|
|
77644
77674
|
displayTemporaryError,
|
|
77645
77675
|
testOptions
|
|
77646
77676
|
}) : undefined;
|
|
77647
|
-
console.log('interface mode', merge$1({}, DEFAULT_SCENE_EXTENSION_CONFIG, customSceneExtensions ?? {}));
|
|
77648
77677
|
setRenderer(newRenderer);
|
|
77649
77678
|
rendererRef.current = newRenderer;
|
|
77650
77679
|
return () => {
|
|
@@ -78023,8 +78052,8 @@ function ThreeDeeRender(props) {
|
|
|
78023
78052
|
// Invoke the done callback once the render is complete
|
|
78024
78053
|
useEffect(() => {
|
|
78025
78054
|
renderDone?.();
|
|
78026
|
-
if (
|
|
78027
|
-
props.frameRenderedEvent(
|
|
78055
|
+
if (props.frameRenderedEvent) {
|
|
78056
|
+
props.frameRenderedEvent(0);
|
|
78028
78057
|
}
|
|
78029
78058
|
}, [renderDone]);
|
|
78030
78059
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, av as LRParser, aD as LocalTokenGroup, aK as html, aL as parseMixed, aN as javascriptLanguage } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, av as LRParser, aD as LocalTokenGroup, aK as html, aL as parseMixed, aN as javascriptLanguage } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ap as foldNodeProp, aM as bracketMatchingHandle, at as LanguageSupport, aI as EditorView, ay as syntaxTree, aJ as EditorSelection } from './index-
|
|
1
|
+
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ap as foldNodeProp, aM as bracketMatchingHandle, at as LanguageSupport, aI as EditorView, ay as syntaxTree, aJ as EditorSelection } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, au as ExternalTokenizer, av as LRParser, aw as ifNotIn, ax as completeFromList, ay as syntaxTree } from './index-
|
|
1
|
+
import { an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aq as styleTags, ar as tags, as as LRLanguage, at as LanguageSupport, au as ExternalTokenizer, av as LRParser, aw as ifNotIn, ax as completeFromList, ay as syntaxTree } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -90568,7 +90568,7 @@ function legacy(parser) {
|
|
|
90568
90568
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
90569
90569
|
}
|
|
90570
90570
|
function sql$1(dialectName) {
|
|
90571
|
-
return import('./index-
|
|
90571
|
+
return import('./index-Cq7so9Q9.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
90572
90572
|
}
|
|
90573
90573
|
/**
|
|
90574
90574
|
An array of language descriptions for known language packages.
|
|
@@ -90579,7 +90579,7 @@ const languages = [
|
|
|
90579
90579
|
name: "C",
|
|
90580
90580
|
extensions: ["c", "h", "ino"],
|
|
90581
90581
|
load() {
|
|
90582
|
-
return import('./index-
|
|
90582
|
+
return import('./index-DI5QHg2x.js').then(m => m.cpp());
|
|
90583
90583
|
}
|
|
90584
90584
|
}),
|
|
90585
90585
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90587,7 +90587,7 @@ const languages = [
|
|
|
90587
90587
|
alias: ["cpp"],
|
|
90588
90588
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
90589
90589
|
load() {
|
|
90590
|
-
return import('./index-
|
|
90590
|
+
return import('./index-DI5QHg2x.js').then(m => m.cpp());
|
|
90591
90591
|
}
|
|
90592
90592
|
}),
|
|
90593
90593
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90607,7 +90607,7 @@ const languages = [
|
|
|
90607
90607
|
name: "Go",
|
|
90608
90608
|
extensions: ["go"],
|
|
90609
90609
|
load() {
|
|
90610
|
-
return import('./index-
|
|
90610
|
+
return import('./index-DM9oCkXH.js').then(m => m.go());
|
|
90611
90611
|
}
|
|
90612
90612
|
}),
|
|
90613
90613
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90622,7 +90622,7 @@ const languages = [
|
|
|
90622
90622
|
name: "Java",
|
|
90623
90623
|
extensions: ["java"],
|
|
90624
90624
|
load() {
|
|
90625
|
-
return import('./index-
|
|
90625
|
+
return import('./index-CIfIw1LQ.js').then(m => m.java());
|
|
90626
90626
|
}
|
|
90627
90627
|
}),
|
|
90628
90628
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90638,7 +90638,7 @@ const languages = [
|
|
|
90638
90638
|
alias: ["json5"],
|
|
90639
90639
|
extensions: ["json", "map"],
|
|
90640
90640
|
load() {
|
|
90641
|
-
return import('./index-
|
|
90641
|
+
return import('./index-D7jNrXVP.js').then(m => m.json());
|
|
90642
90642
|
}
|
|
90643
90643
|
}),
|
|
90644
90644
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90652,14 +90652,14 @@ const languages = [
|
|
|
90652
90652
|
name: "LESS",
|
|
90653
90653
|
extensions: ["less"],
|
|
90654
90654
|
load() {
|
|
90655
|
-
return import('./index-
|
|
90655
|
+
return import('./index-d8vRrHr4.js').then(m => m.less());
|
|
90656
90656
|
}
|
|
90657
90657
|
}),
|
|
90658
90658
|
/*@__PURE__*/LanguageDescription.of({
|
|
90659
90659
|
name: "Liquid",
|
|
90660
90660
|
extensions: ["liquid"],
|
|
90661
90661
|
load() {
|
|
90662
|
-
return import('./index-
|
|
90662
|
+
return import('./index-DCh-Eobo.js').then(m => m.liquid());
|
|
90663
90663
|
}
|
|
90664
90664
|
}),
|
|
90665
90665
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90685,7 +90685,7 @@ const languages = [
|
|
|
90685
90685
|
name: "PHP",
|
|
90686
90686
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
90687
90687
|
load() {
|
|
90688
|
-
return import('./index-
|
|
90688
|
+
return import('./index-BJofTpil.js').then(m => m.php());
|
|
90689
90689
|
}
|
|
90690
90690
|
}),
|
|
90691
90691
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90702,28 +90702,28 @@ const languages = [
|
|
|
90702
90702
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
90703
90703
|
filename: /^(BUCK|BUILD)$/,
|
|
90704
90704
|
load() {
|
|
90705
|
-
return import('./index-
|
|
90705
|
+
return import('./index-Zivk6fee.js').then(m => m.python());
|
|
90706
90706
|
}
|
|
90707
90707
|
}),
|
|
90708
90708
|
/*@__PURE__*/LanguageDescription.of({
|
|
90709
90709
|
name: "Rust",
|
|
90710
90710
|
extensions: ["rs"],
|
|
90711
90711
|
load() {
|
|
90712
|
-
return import('./index-
|
|
90712
|
+
return import('./index-BwoyZPjj.js').then(m => m.rust());
|
|
90713
90713
|
}
|
|
90714
90714
|
}),
|
|
90715
90715
|
/*@__PURE__*/LanguageDescription.of({
|
|
90716
90716
|
name: "Sass",
|
|
90717
90717
|
extensions: ["sass"],
|
|
90718
90718
|
load() {
|
|
90719
|
-
return import('./index-
|
|
90719
|
+
return import('./index-Di_-JfGf.js').then(m => m.sass({ indented: true }));
|
|
90720
90720
|
}
|
|
90721
90721
|
}),
|
|
90722
90722
|
/*@__PURE__*/LanguageDescription.of({
|
|
90723
90723
|
name: "SCSS",
|
|
90724
90724
|
extensions: ["scss"],
|
|
90725
90725
|
load() {
|
|
90726
|
-
return import('./index-
|
|
90726
|
+
return import('./index-Di_-JfGf.js').then(m => m.sass());
|
|
90727
90727
|
}
|
|
90728
90728
|
}),
|
|
90729
90729
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90754,7 +90754,7 @@ const languages = [
|
|
|
90754
90754
|
name: "WebAssembly",
|
|
90755
90755
|
extensions: ["wat", "wast"],
|
|
90756
90756
|
load() {
|
|
90757
|
-
return import('./index-
|
|
90757
|
+
return import('./index-BHzFgL5N.js').then(m => m.wast());
|
|
90758
90758
|
}
|
|
90759
90759
|
}),
|
|
90760
90760
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90762,7 +90762,7 @@ const languages = [
|
|
|
90762
90762
|
alias: ["rss", "wsdl", "xsd"],
|
|
90763
90763
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
90764
90764
|
load() {
|
|
90765
|
-
return import('./index-
|
|
90765
|
+
return import('./index-C1eH0RCy.js').then(m => m.xml());
|
|
90766
90766
|
}
|
|
90767
90767
|
}),
|
|
90768
90768
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -90770,7 +90770,7 @@ const languages = [
|
|
|
90770
90770
|
alias: ["yml"],
|
|
90771
90771
|
extensions: ["yaml", "yml"],
|
|
90772
90772
|
load() {
|
|
90773
|
-
return import('./index-
|
|
90773
|
+
return import('./index-DY6zQP_F.js').then(m => m.yaml());
|
|
90774
90774
|
}
|
|
90775
90775
|
}),
|
|
90776
90776
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -91566,13 +91566,13 @@ const languages = [
|
|
|
91566
91566
|
name: "Vue",
|
|
91567
91567
|
extensions: ["vue"],
|
|
91568
91568
|
load() {
|
|
91569
|
-
return import('./index-
|
|
91569
|
+
return import('./index-BTNGGXoa.js').then(m => m.vue());
|
|
91570
91570
|
}
|
|
91571
91571
|
}),
|
|
91572
91572
|
/*@__PURE__*/LanguageDescription.of({
|
|
91573
91573
|
name: "Angular Template",
|
|
91574
91574
|
load() {
|
|
91575
|
-
return import('./index-
|
|
91575
|
+
return import('./index-D9d5kqGf.js').then(m => m.angular());
|
|
91576
91576
|
}
|
|
91577
91577
|
})
|
|
91578
91578
|
];
|
|
@@ -162499,13 +162499,13 @@ const PanelToolbar = ({
|
|
|
162499
162499
|
align: "start",
|
|
162500
162500
|
justify: "start"
|
|
162501
162501
|
}, /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162502
|
+
text: `Camera: ${targetFps ? `${targetFps} FPS` : "-"}`
|
|
162503
|
+
}), /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162502
162504
|
text: `Network: ${metrics?.incomingMessagesFps ? `${metrics.incomingMessagesFps} FPS` : "-"}`
|
|
162503
162505
|
}), /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162504
162506
|
text: `Decoding: ${metrics?.decodedMessagesFps ? `${metrics.decodedMessagesFps} FPS` : "-"}`
|
|
162505
162507
|
}), /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162506
162508
|
text: `Rendering: ${renderedFps ? `${Math.round(renderedFps / 2)} FPS` : "-"}`
|
|
162507
|
-
}), /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162508
|
-
text: `Camera: ${targetFps ? `${targetFps} FPS` : "-"}`
|
|
162509
162509
|
}), /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162510
162510
|
text: `Frontend Delay: ${eventLoopDelay ? `${Math.ceil(eventLoopDelay)} ms` : "-"}`
|
|
162511
162511
|
}))), !disableAnnotations && kind === "image" && /*#__PURE__*/React__default.createElement(DropdownMenu, {
|
|
@@ -162644,7 +162644,7 @@ function createRenderDelaySampler() {
|
|
|
162644
162644
|
};
|
|
162645
162645
|
}
|
|
162646
162646
|
|
|
162647
|
-
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
162647
|
+
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-DAXpEznJ.js'));
|
|
162648
162648
|
const ImagePanelBody = ({
|
|
162649
162649
|
topic,
|
|
162650
162650
|
frameRenderedEvent
|
|
@@ -162710,7 +162710,7 @@ const ImagePanel = /*#__PURE__*/React__default.memo(function ImagePanel(props) {
|
|
|
162710
162710
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
162711
162711
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
162712
162712
|
|
|
162713
|
-
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
162713
|
+
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BPWE58mB.js'));
|
|
162714
162714
|
const PointCloudPanelBody = ({
|
|
162715
162715
|
topic
|
|
162716
162716
|
}) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, aN as javascriptLanguage, as as LRLanguage, at as LanguageSupport, av as LRParser, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, aN as javascriptLanguage, as as LRLanguage, at as LanguageSupport, av as LRParser, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ImagePanel } from './index-
|
|
1
|
+
import { ImagePanel } from './index-BPWE58mB.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
4
|
-
import './index-
|
|
4
|
+
import './index-D8jKQuGu.js';
|
|
5
5
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
6
6
|
import 'protobufjs/minimal';
|
|
7
7
|
import 'ms';
|
|
@@ -27,7 +27,7 @@ import '@mui/icons-material/ChevronRight';
|
|
|
27
27
|
import '@mui/icons-material/MoreVert';
|
|
28
28
|
import '@mui/icons-material/Cancel';
|
|
29
29
|
import '@mui/icons-material/Search';
|
|
30
|
-
import './decodeImage-
|
|
30
|
+
import './decodeImage-NYPkamnK.js';
|
|
31
31
|
import '@mui/material/styles/createTypography';
|
|
32
32
|
import 'color';
|
|
33
33
|
import 'lodash.curry';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aI as EditorView, aJ as EditorSelection, as as LRLanguage, aq as styleTags, ar as tags, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, at as LanguageSupport, av as LRParser, ay as syntaxTree, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-
|
|
1
|
+
import { aI as EditorView, aJ as EditorSelection, as as LRLanguage, aq as styleTags, ar as tags, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, at as LanguageSupport, av as LRParser, ay as syntaxTree, aK as html, aL as parseMixed, au as ExternalTokenizer } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, aD as LocalTokenGroup, aE as snippetCompletion, ay as syntaxTree, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aw as ifNotIn, ax as completeFromList, aF as IterMode, aG as NodeWeakMap } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, aD as LocalTokenGroup, aE as snippetCompletion, ay as syntaxTree, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, az as flatIndent, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aw as ifNotIn, ax as completeFromList, aF as IterMode, aG as NodeWeakMap } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aL as parseMixed } from './index-
|
|
1
|
+
import { aC as ContextTracker, au as ExternalTokenizer, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aL as parseMixed } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, ap as foldNodeProp, aB as foldInside, an as indentNodeProp, ao as continuedIndent, aH as defineCSSCompletionSource, at as LanguageSupport } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, as as LRLanguage, ap as foldNodeProp, aB as foldInside, an as indentNodeProp, ao as continuedIndent, aH as defineCSSCompletionSource, at as LanguageSupport } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, ay as syntaxTree, aw as ifNotIn, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aF as IterMode, ax as completeFromList, aG as NodeWeakMap, aE as snippetCompletion } from './index-
|
|
1
|
+
import { au as ExternalTokenizer, aC as ContextTracker, aq as styleTags, ar as tags, av as LRParser, ay as syntaxTree, aw as ifNotIn, as as LRLanguage, an as indentNodeProp, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, at as LanguageSupport, aF as IterMode, ax as completeFromList, aG as NodeWeakMap, aE as snippetCompletion } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aq as styleTags, ar as tags, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, aH as defineCSSCompletionSource, at as LanguageSupport, av as LRParser, au as ExternalTokenizer } from './index-
|
|
1
|
+
import { aq as styleTags, ar as tags, as as LRLanguage, an as indentNodeProp, ao as continuedIndent, ap as foldNodeProp, aB as foldInside, aH as defineCSSCompletionSource, at as LanguageSupport, av as LRParser, au as ExternalTokenizer } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { aR as ImagePanel, aQ as PanelLayout, aS as PointCloudPanel, aO as VisualizerConnection, aP as VisualizerContext } from './index-
|
|
1
|
+
export { aR as ImagePanel, aQ as PanelLayout, aS as PointCloudPanel, aO as VisualizerConnection, aP as VisualizerContext } from './index-D8jKQuGu.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,sCAAsC,CAAC;AA2B9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"PanelToolbar.d.ts","sourceRoot":"","sources":["../../../../src/components/PanelToolbar.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,sCAAsC,CAAC;AA2B9C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiMpD,CAAC"}
|
|
@@ -62,7 +62,7 @@ export const PanelToolbar = ({ topic, kind, setDetections, disableAnnotations =
|
|
|
62
62
|
} }, detection.name)), [onToggleTopic]);
|
|
63
63
|
return (_jsxs(Flex, { direction: "row", gap: "sm", align: "center", justify: "space-between", style: {
|
|
64
64
|
paddingLeft: 16,
|
|
65
|
-
}, children: [_jsxs(Flex, { direction: "column", gap: "xxs", align: "start", justify: "start", paddingY: "xs", children: [_jsx(SubHeader, { text: name }), _jsxs(Flex, { direction: "row", gap: "sm", align: "start", justify: "start", children: [_jsx(Label, { text: `
|
|
65
|
+
}, children: [_jsxs(Flex, { direction: "column", gap: "xxs", align: "start", justify: "start", paddingY: "xs", children: [_jsx(SubHeader, { text: name }), _jsxs(Flex, { direction: "row", gap: "sm", align: "start", justify: "start", children: [_jsx(Label, { text: `Camera: ${targetFps ? `${targetFps} FPS` : "-"}` }), _jsx(Label, { text: `Network: ${metrics?.incomingMessagesFps ? `${metrics.incomingMessagesFps} FPS` : "-"}` }), _jsx(Label, { text: `Decoding: ${metrics?.decodedMessagesFps ? `${metrics.decodedMessagesFps} FPS` : "-"}` }), _jsx(Label, { text: `Rendering: ${renderedFps ? `${Math.round(renderedFps / 2)} FPS` : "-"}` }), _jsx(Label, { text: `Frontend Delay: ${eventLoopDelay ? `${Math.ceil(eventLoopDelay)} ms` : "-"}` })] })] }), !disableAnnotations && kind === "image" && (_jsxs(DropdownMenu, { onOpenChange: setAnnotationsOpened, children: [_jsx(DropdownMenuTrigger, { asChild: true, disabled: detections.length === 0, children: _jsx(Button, { variant: "outline", label: "Annotations", "aria-controls": annotationsOpened ? "basic-menu" : undefined, "aria-haspopup": "true", "aria-expanded": annotationsOpened ? "true" : undefined, icon: annotationsOpened ? ArrowUpIcon : ArrowDownIcon, disabled: detections.length === 0, style: {
|
|
66
66
|
borderRadius: 0,
|
|
67
67
|
borderTopRightRadius: 8,
|
|
68
68
|
height: "100%",
|