@luxonis/visualizer-protobuf 2.13.0 → 2.15.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-fN8Tpgww.js → index-B3np51f5.js} +1 -1
- package/dist/{index-DTZuXJ1A.js → index-B5Y2BwAY.js} +1 -1
- package/dist/{index-DFdQY59I.js → index-BHvk_lXs.js} +1 -1
- package/dist/{index-BK0O58zw.js → index-BVlhWOws.js} +1 -1
- package/dist/{index-4msm-wtA.js → index-B_XiOSDG.js} +1 -1
- package/dist/{index-DSIL_c41.js → index-BlTiOUx8.js} +1 -1
- package/dist/{index-CbS2HMyR.js → index-BwXQcktX.js} +1 -1
- package/dist/{index-BsQeBBzM.js → index-CU7EP-1Z.js} +1 -1
- package/dist/{index-CE0akFDh.js → index-ClHNc7K7.js} +97 -59
- package/dist/{index-DfgdvKhl.js → index-CvOH_4Vb.js} +1 -1
- package/dist/{index-Do7UsSft.js → index-D2l8qtZA.js} +1 -1
- package/dist/{index-CtKYoeeM.js → index-DVFtn83p.js} +1 -1
- package/dist/{index-PmNaQtc7.js → index-DWzj93US.js} +1 -1
- package/dist/{index-BWakrawk.js → index-Dj1nE_e2.js} +3 -3
- package/dist/{index-DyoCH5GH.js → index-DqahF3Pt.js} +1 -1
- package/dist/{index-nJgMRJTy.js → index-XYuXuR6J.js} +1 -1
- package/dist/{index-DFlpZwK1.js → index-XshD358Z.js} +23 -23
- package/dist/{index-CpLzYoX8.js → index-duY9KDhj.js} +1 -1
- package/dist/{index-BbAm1fKU.js → index-u_8JsVuJ.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 +2 -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 +9 -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 +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 +4 -4
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.js +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/index.js.map +1 -1
- package/dist/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.d.ts +1 -0
- 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 +7 -0
- 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 +68 -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-XshD358Z.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,80 @@ 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
|
+
// Create or resize buffer if needed
|
|
31486
|
+
//if (!this.#reusableBuffer || this.#reusableBuffer.byteLength !== requiredSize) {
|
|
31487
|
+
// console.log("Resizing buffer", this.#reusableBuffer?.byteLength);
|
|
31488
|
+
// this.#reusableBuffer = new SharedArrayBuffer(requiredSize);
|
|
31489
|
+
//}
|
|
31490
|
+
|
|
31491
|
+
this.#worker.onmessage = event => {
|
|
31492
|
+
if (event.data.error) {
|
|
31493
|
+
reject(new Error(event.data.error));
|
|
31494
|
+
} else {
|
|
31495
|
+
resolve(new ImageData(event.data.result, image.width, image.height));
|
|
31496
|
+
}
|
|
31497
|
+
};
|
|
31498
|
+
|
|
31499
|
+
// TODO: Try using shared buffer for input data as well
|
|
31500
|
+
this.#worker.postMessage({
|
|
31501
|
+
image,
|
|
31502
|
+
options
|
|
31503
|
+
}, [image.data.buffer]);
|
|
31504
|
+
});
|
|
31515
31505
|
}
|
|
31506
|
+
|
|
31507
|
+
//public async decodeOnMain(image: RosImage | RawImage, options: Partial<RawImageOptions>): Promise<ImageData | ImageBitmap> {
|
|
31508
|
+
// const requiredSize = image.width * image.height * 4;
|
|
31509
|
+
//
|
|
31510
|
+
// // Create or resize buffer if needed
|
|
31511
|
+
// if (!this.#reusableBuffer || this.#reusableBuffer.length < requiredSize) {
|
|
31512
|
+
// console.log('Resizing buffer', this.#reusableBuffer?.length);
|
|
31513
|
+
// this.#reusableBuffer = new Uint8ClampedArray(requiredSize);
|
|
31514
|
+
// }
|
|
31515
|
+
//
|
|
31516
|
+
// return decodeRawImage(image, options, this.#reusableBuffer).then(() => {
|
|
31517
|
+
// return new ImageData(this.#reusableBuffer!, image.width, image.height);
|
|
31518
|
+
// });
|
|
31519
|
+
//}
|
|
31520
|
+
|
|
31521
|
+
//public async decodeRust(
|
|
31522
|
+
// image: RosImage | RawImage,
|
|
31523
|
+
// options: Partial<RawImageOptions>,
|
|
31524
|
+
//): Promise<ImageData> {
|
|
31525
|
+
// if (!this.#wasmInitialized) {
|
|
31526
|
+
// console.log("Initializing wasm decoder");
|
|
31527
|
+
// await init();
|
|
31528
|
+
// this.#wasmInitialized = true;
|
|
31529
|
+
// }
|
|
31530
|
+
//
|
|
31531
|
+
// // TODO: Potentially use async rs function to improve performance
|
|
31532
|
+
// const decodedBuffer: Uint8Array = decode_i420_simd(
|
|
31533
|
+
// image.data as Uint8Array,
|
|
31534
|
+
// image.width,
|
|
31535
|
+
// image.height,
|
|
31536
|
+
// 0,
|
|
31537
|
+
// );
|
|
31538
|
+
//
|
|
31539
|
+
// return new ImageData(new Uint8ClampedArray(decodedBuffer), image.width, image.height);
|
|
31540
|
+
//}
|
|
31541
|
+
|
|
31516
31542
|
terminate() {
|
|
31517
|
-
this.#
|
|
31543
|
+
this.#worker.terminate();
|
|
31518
31544
|
}
|
|
31519
31545
|
}
|
|
31520
31546
|
|
|
@@ -31522,6 +31548,7 @@ class WorkerImageDecoder {
|
|
|
31522
31548
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
31523
31549
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
31524
31550
|
|
|
31551
|
+
const WORKER_COUNT = 4;
|
|
31525
31552
|
const log$4 = Logger.getLogger("src/index.ts");
|
|
31526
31553
|
const DEFAULT_DISTANCE = 1;
|
|
31527
31554
|
const DEFAULT_PLANAR_PROJECTION_FACTOR = 0;
|
|
@@ -31546,12 +31573,14 @@ class ImageRenderable extends Renderable {
|
|
|
31546
31573
|
#renderBehindScene = false;
|
|
31547
31574
|
#isUpdating = false;
|
|
31548
31575
|
#decodedImage;
|
|
31576
|
+
#lastUsedDecoderIndex = 0;
|
|
31549
31577
|
#receivedImageSequenceNumber = 0;
|
|
31550
31578
|
#displayedImageSequenceNumber = 0;
|
|
31551
31579
|
#showingErrorImage = false;
|
|
31552
31580
|
#disposed = false;
|
|
31553
31581
|
constructor(topicName, renderer, userData) {
|
|
31554
31582
|
super(topicName, renderer, userData);
|
|
31583
|
+
this.decoderPool = new Array(WORKER_COUNT).fill(undefined).map(() => new WorkerImageDecoder());
|
|
31555
31584
|
}
|
|
31556
31585
|
isDisposed() {
|
|
31557
31586
|
return this.#disposed;
|
|
@@ -31564,7 +31593,7 @@ class ImageRenderable extends Renderable {
|
|
|
31564
31593
|
this.userData.texture?.dispose();
|
|
31565
31594
|
this.userData.material?.dispose();
|
|
31566
31595
|
this.userData.geometry?.dispose();
|
|
31567
|
-
this.decoder
|
|
31596
|
+
this.decoderPool?.forEach(decoder => decoder.terminate());
|
|
31568
31597
|
super.dispose();
|
|
31569
31598
|
}
|
|
31570
31599
|
updateHeaderInfo() {
|
|
@@ -31675,7 +31704,9 @@ class ImageRenderable extends Renderable {
|
|
|
31675
31704
|
if ("format" in image) {
|
|
31676
31705
|
return await decodeCompressedImageToBitmap(image, resizeWidth);
|
|
31677
31706
|
}
|
|
31678
|
-
|
|
31707
|
+
const decoder = this.decoderPool?.at(this.#lastUsedDecoderIndex);
|
|
31708
|
+
this.#lastUsedDecoderIndex = (this.#lastUsedDecoderIndex + 1) % this.decoderPool.length;
|
|
31709
|
+
return await decoder.decode(image, this.userData.settings);
|
|
31679
31710
|
}
|
|
31680
31711
|
update() {
|
|
31681
31712
|
if (this.#isUpdating) {
|
|
@@ -34774,6 +34805,7 @@ class ImageMode extends SceneExtension {
|
|
|
34774
34805
|
#dragStartMouseCoords = new Vector2();
|
|
34775
34806
|
#hasModifiedView = false;
|
|
34776
34807
|
#imageSize;
|
|
34808
|
+
#onImageRendered;
|
|
34777
34809
|
constructor(renderer, name = ImageMode.extensionId) {
|
|
34778
34810
|
super(name, renderer);
|
|
34779
34811
|
this.#camera = new ImageModeCamera();
|
|
@@ -35262,6 +35294,9 @@ class ImageMode extends SceneExtension {
|
|
|
35262
35294
|
}
|
|
35263
35295
|
renderable.userData.receiveTime = receiveTime;
|
|
35264
35296
|
renderable.setImage(image, /*resizeWidth=*/undefined, () => {
|
|
35297
|
+
if (this.#onImageRendered) {
|
|
35298
|
+
this.#onImageRendered();
|
|
35299
|
+
}
|
|
35265
35300
|
if (this.#fallbackCameraModelActive()) {
|
|
35266
35301
|
this.#updateFallbackCameraModel(renderable);
|
|
35267
35302
|
this.#updateViewAndRenderables();
|
|
@@ -35549,6 +35584,9 @@ class ImageMode extends SceneExtension {
|
|
|
35549
35584
|
disabled: this.imageRenderable?.getDecodedImage() == undefined
|
|
35550
35585
|
}];
|
|
35551
35586
|
}
|
|
35587
|
+
setOnImageRendered(callback) {
|
|
35588
|
+
this.#onImageRendered = callback;
|
|
35589
|
+
}
|
|
35552
35590
|
}
|
|
35553
35591
|
const createFallbackCameraInfoForImage = options => {
|
|
35554
35592
|
const {
|
|
@@ -59810,7 +59848,8 @@ class Renderer extends EventEmitter {
|
|
|
59810
59848
|
this.gl = new WebGLRenderer({
|
|
59811
59849
|
canvas,
|
|
59812
59850
|
alpha: true,
|
|
59813
|
-
antialias: true
|
|
59851
|
+
antialias: true,
|
|
59852
|
+
powerPreference: 'high-performance'
|
|
59814
59853
|
});
|
|
59815
59854
|
if (!this.gl.capabilities.isWebGL2) {
|
|
59816
59855
|
throw new Error("WebGL2 is not supported");
|
|
@@ -59874,8 +59913,10 @@ class Renderer extends EventEmitter {
|
|
|
59874
59913
|
switch (interfaceMode) {
|
|
59875
59914
|
case "image":
|
|
59876
59915
|
{
|
|
59877
|
-
|
|
59878
|
-
|
|
59916
|
+
this.#imageModeExtension = reserved.imageMode.init(this);
|
|
59917
|
+
if (args.onFrameRendered) {
|
|
59918
|
+
this.#imageModeExtension.setOnImageRendered(args.onFrameRendered);
|
|
59919
|
+
}
|
|
59879
59920
|
this.cameraHandler = this.#imageModeExtension;
|
|
59880
59921
|
this.#imageModeExtension.addEventListener("hasModifiedViewChanged", () => {
|
|
59881
59922
|
this.emit("resetViewChanged", this);
|
|
@@ -59894,9 +59935,7 @@ class Renderer extends EventEmitter {
|
|
|
59894
59935
|
extensionsById
|
|
59895
59936
|
} = args.sceneExtensionConfig;
|
|
59896
59937
|
for (const extensionItem of Object.values(extensionsById)) {
|
|
59897
|
-
if (extensionItem.supportedInterfaceModes == undefined || extensionItem.supportedInterfaceModes.includes(interfaceMode))
|
|
59898
|
-
this.#addSceneExtension(extensionItem.init(this));
|
|
59899
|
-
}
|
|
59938
|
+
if (extensionItem.supportedInterfaceModes == undefined || extensionItem.supportedInterfaceModes.includes(interfaceMode)) ;
|
|
59900
59939
|
}
|
|
59901
59940
|
log$1.debug(`Renderer initialized with scene extensions ${Array.from(this.sceneExtensions.keys()).join(", ")}`);
|
|
59902
59941
|
if (interfaceMode === "image" && config.imageMode.calibrationTopic == undefined) {
|
|
@@ -59962,6 +60001,7 @@ class Renderer extends EventEmitter {
|
|
|
59962
60001
|
setCurrentTime(newTimeNs) {
|
|
59963
60002
|
this.currentTime = newTimeNs;
|
|
59964
60003
|
}
|
|
60004
|
+
|
|
59965
60005
|
/**
|
|
59966
60006
|
* Updates renderer state according to seek delta. Handles clearing of future state and resetting of allFrames cursor if seeked backwards
|
|
59967
60007
|
* Should be called after `setCurrentTime` as been called
|
|
@@ -60561,8 +60601,6 @@ class Renderer extends EventEmitter {
|
|
|
60561
60601
|
camera.layers.set(LAYER_SELECTED);
|
|
60562
60602
|
this.gl.render(this.#scene, camera);
|
|
60563
60603
|
}
|
|
60564
|
-
|
|
60565
|
-
// TODO - check that this isn't causing a memory leak!
|
|
60566
60604
|
this.emit("endFrame", currentTime, this);
|
|
60567
60605
|
this.gl.info.reset();
|
|
60568
60606
|
};
|
|
@@ -77642,9 +77680,9 @@ function ThreeDeeRender(props) {
|
|
|
77642
77680
|
fetchAsset,
|
|
77643
77681
|
sceneExtensionConfig: merge$1({}, DEFAULT_SCENE_EXTENSION_CONFIG, customSceneExtensions ?? {}),
|
|
77644
77682
|
displayTemporaryError,
|
|
77645
|
-
testOptions
|
|
77683
|
+
testOptions,
|
|
77684
|
+
onFrameRendered: props.frameRenderedEvent
|
|
77646
77685
|
}) : undefined;
|
|
77647
|
-
console.log('interface mode', merge$1({}, DEFAULT_SCENE_EXTENSION_CONFIG, customSceneExtensions ?? {}));
|
|
77648
77686
|
setRenderer(newRenderer);
|
|
77649
77687
|
rendererRef.current = newRenderer;
|
|
77650
77688
|
return () => {
|
|
@@ -78023,9 +78061,9 @@ function ThreeDeeRender(props) {
|
|
|
78023
78061
|
// Invoke the done callback once the render is complete
|
|
78024
78062
|
useEffect(() => {
|
|
78025
78063
|
renderDone?.();
|
|
78026
|
-
if (
|
|
78027
|
-
|
|
78028
|
-
}
|
|
78064
|
+
//if (props.frameRenderedEvent) {
|
|
78065
|
+
// props.frameRenderedEvent(0);
|
|
78066
|
+
//}
|
|
78029
78067
|
}, [renderDone]);
|
|
78030
78068
|
|
|
78031
78069
|
// Create a useCallback wrapper for adding a new panel to the layout, used to open the
|
|
@@ -78232,7 +78270,7 @@ function initPanel(args, context) {
|
|
|
78232
78270
|
interfaceMode: interfaceMode,
|
|
78233
78271
|
testOptions: testOptions,
|
|
78234
78272
|
customSceneExtensions: customSceneExtensions,
|
|
78235
|
-
frameRenderedEvent: frameRenderedEvent
|
|
78273
|
+
frameRenderedEvent: frameRenderedEvent ? () => frameRenderedEvent(0) : undefined
|
|
78236
78274
|
})))), context.panelElement);
|
|
78237
78275
|
return () => {
|
|
78238
78276
|
// eslint-disable-next-line react/no-deprecated
|
|
@@ -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-XshD358Z.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-XshD358Z.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-XshD358Z.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-XshD358Z.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-ClHNc7K7.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-dom';
|
|
4
|
-
import './index-
|
|
4
|
+
import './index-XshD358Z.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 { 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-XshD358Z.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-XshD358Z.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-XYuXuR6J.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-DqahF3Pt.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-DqahF3Pt.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-B3np51f5.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-DWzj93US.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-DVFtn83p.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-D2l8qtZA.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-u_8JsVuJ.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-duY9KDhj.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-BVlhWOws.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-BwXQcktX.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-B5Y2BwAY.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-B5Y2BwAY.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-B_XiOSDG.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-BlTiOUx8.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-BHvk_lXs.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-CvOH_4Vb.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-CU7EP-1Z.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
|
-
text: `Rendering: ${renderedFps ? `${
|
|
162507
|
-
}), /*#__PURE__*/React__default.createElement(Label$3, {
|
|
162508
|
-
text: `Camera: ${targetFps ? `${targetFps} FPS` : "-"}`
|
|
162508
|
+
text: `Rendering: ${renderedFps ? `${renderedFps} 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-Dj1nE_e2.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-ClHNc7K7.js'));
|
|
162714
162714
|
const PointCloudPanelBody = ({
|
|
162715
162715
|
topic
|
|
162716
162716
|
}) => {
|
|
@@ -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, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aK as html, at as LanguageSupport, aL as parseMixed } 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, aA as delimitedIndent, ap as foldNodeProp, aB as foldInside, aK as html, at as LanguageSupport, aL as parseMixed } from './index-XshD358Z.js';
|
|
2
2
|
import './FoxgloveServer-DiLI7KZU.js';
|
|
3
3
|
import 'protobufjs/minimal';
|
|
4
4
|
import 'ms';
|
|
@@ -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-XshD358Z.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-XshD358Z.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 ? `${renderedFps} 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%",
|