@luxonis/visualizer-protobuf 3.0.1-rc.13 → 3.0.1-rc.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/{FoxgloveServer-Ck4XVALC.js → FoxgloveServer-CzGfv6A4.js} +1 -1
  2. package/dist/{communicator-DwoWapnY.js → communicator-Bry8Rhl_.js} +1 -1
  3. package/dist/{depth-DtQG33aY.js → depth-CQVPltgS.js} +92 -92
  4. package/dist/{deserialization.worker-BfbPeqsq.js → deserialization.worker-Dr424k53.js} +84 -13
  5. package/dist/{foxglove-protocol-DDWtWavo.js → foxglove-protocol-BvaCHfze.js} +1 -1
  6. package/dist/{index-B8xnGl1x.js → index-6fs6UYaN.js} +5 -5
  7. package/dist/{index-BLwlM8wv.js → index-BJ3C9hps.js} +5 -5
  8. package/dist/{index-B4Qrfc5I.js → index-BLi9zAwC.js} +1 -1
  9. package/dist/{index-Co7XRmuL.js → index-BPoTaoph.js} +7 -7
  10. package/dist/{index-CQsVrKqv.js → index-BY2rYySO.js} +5 -5
  11. package/dist/{index-zwhb2kXc.js → index-BdiTEPoM.js} +5 -5
  12. package/dist/{index-DpD1Pyy-.js → index-BkS-nZes.js} +5 -5
  13. package/dist/{index-Dqa0cme2.js → index-BsX7x9hw.js} +5 -5
  14. package/dist/{index-BBalrlYS.js → index-CFMJPxKI.js} +5 -5
  15. package/dist/{index-CSvBvTpC.js → index-CG7ft1qf.js} +5 -5
  16. package/dist/{index-TMe-gZmH.js → index-CHf-lJzF.js} +5 -5
  17. package/dist/{index-DOcUMmIe.js → index-CeOjT8o2.js} +192 -1413
  18. package/dist/{index-Dmt7o837.js → index-CgMz_5wT.js} +5 -5
  19. package/dist/{index-PLxb-jpm.js → index-CjLf14Be.js} +23 -89
  20. package/dist/{index-DbzFfooa.js → index-CoMM1e1J.js} +5 -5
  21. package/dist/{index-2G7qU-Pv.js → index-DAcYzvrJ.js} +5 -5
  22. package/dist/{index-EV3As2dS.js → index-DCFU-A6p.js} +5 -5
  23. package/dist/{index-DqwQs3lZ.js → index-DR4oVDM5.js} +5 -5
  24. package/dist/{index-Demh7UGG.js → index-DjlVxjDm.js} +5 -5
  25. package/dist/{index-CAj2s_yQ.js → index-DkZPJoOb.js} +5 -5
  26. package/dist/{index-DxP5vLJB.js → index-sWxE-73U.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/connection/webrtc/comms-proxy.d.ts +1 -2
  29. package/dist/lib/src/connection/webrtc/comms-proxy.d.ts.map +1 -1
  30. package/dist/lib/src/connection/webrtc/comms-proxy.js +26 -14
  31. package/dist/lib/src/connection/webrtc/comms-proxy.js.map +1 -1
  32. package/dist/lib/src/messaging/deserialization/detections/detection.d.ts.map +1 -1
  33. package/dist/lib/src/messaging/deserialization/detections/detection.js +56 -14
  34. package/dist/lib/src/messaging/deserialization/detections/detection.js.map +1 -1
  35. package/dist/lib/src/protobuf.generated/EncodedFrame.js +1 -1
  36. package/dist/lib/src/protobuf.generated/EncodedFrame.js.map +1 -1
  37. package/dist/lib/src/protobuf.generated/Event.js +1 -1
  38. package/dist/lib/src/protobuf.generated/Event.js.map +1 -1
  39. package/dist/lib/src/protobuf.generated/IMUData.js +1 -1
  40. package/dist/lib/src/protobuf.generated/IMUData.js.map +1 -1
  41. package/dist/lib/src/protobuf.generated/ImageAnnotations.js +1 -1
  42. package/dist/lib/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  43. package/dist/lib/src/protobuf.generated/ImgDetections.js +1 -1
  44. package/dist/lib/src/protobuf.generated/ImgDetections.js.map +1 -1
  45. package/dist/lib/src/protobuf.generated/ImgFrame.js +1 -1
  46. package/dist/lib/src/protobuf.generated/ImgFrame.js.map +1 -1
  47. package/dist/lib/src/protobuf.generated/PointCloudData.js +1 -1
  48. package/dist/lib/src/protobuf.generated/PointCloudData.js.map +1 -1
  49. package/dist/lib/src/protobuf.generated/RGBDData.js +1 -1
  50. package/dist/lib/src/protobuf.generated/RGBDData.js.map +1 -1
  51. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +1 -1
  52. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  53. package/dist/lib/src/protobuf.generated/common.js +1 -1
  54. package/dist/lib/src/protobuf.generated/common.js.map +1 -1
  55. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.d.ts.map +1 -1
  56. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.js +0 -1
  57. package/dist/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.js.map +1 -1
  58. package/dist/{protobuf-C2hFflNu.js → protobuf-fLt-ppqN.js} +8 -8
  59. package/dist/{worker-CHANzqz1.js → worker-BGG-ZdUp.js} +3 -3
  60. package/dist/{worker-Dtxm0lWz.js → worker-DR9o4zBS.js} +4 -4
  61. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  'use client';
2
2
  import { L as Logger, _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, b as _objectSpread2, c as _objectWithoutProperties$2, d as _extends$2 } from './logger-CgxnhrWP.js';
3
- import { L as Logger$1, d as dist$1, r as reportError, A as AppError, b as baseFlatten, a as baseEach, c as baseIteratee, e as baseDifference, g as getTag, f as baseKeys, h as baseIsEqual, i as castPath, t as toKey, j as baseGet, k as hasIn, s as sendNotification, l as shallowequal, u as useGuaranteedContext, m as getPanelIdsInsideTabPanels, n as getPanelTypeFromId, T as TAB_PANEL_TYPE, o as removePanelFromTabPanel, p as getPanelIdForType, q as getPathFromNode, v as updateTabPanelLayout, w as getSaveConfigsPayloadForAddedPanel, x as replaceAndRemovePanels, y as inlineTabPanelLayouts, z as getAllPanelIds, D as DEFAULT_TAB_PANEL_CONFIG, B as getConfigsForNestedPanelsInsideTab, C as reorderTabWithinTabPanel, E as moveTabBetweenTabPanels, F as isTabPanelConfig, G as addPanelToTab, H as createAddUpdates, I as filterMap, J as uniq$2, K as useShallowMemo, M as CurrentLayoutContext, N as MessageOrderTracker, O as AppConfigurationContext } from './depth-DtQG33aY.js';
3
+ import { d as dist$1, e as estimateObjectSize, r as reportError, A as AppError, b as baseFlatten, a as baseEach, c as baseIteratee, f as baseDifference, g as getTag, h as baseKeys, i as baseIsEqual, j as castPath, t as toKey, k as baseGet, l as hasIn, s as sendNotification, m as shallowequal, u as useGuaranteedContext, n as getPanelIdsInsideTabPanels, o as getPanelTypeFromId, T as TAB_PANEL_TYPE, p as removePanelFromTabPanel, q as getPanelIdForType, v as getPathFromNode, w as updateTabPanelLayout, x as getSaveConfigsPayloadForAddedPanel, y as replaceAndRemovePanels, z as inlineTabPanelLayouts, B as getAllPanelIds, D as DEFAULT_TAB_PANEL_CONFIG, C as getConfigsForNestedPanelsInsideTab, E as reorderTabWithinTabPanel, F as moveTabBetweenTabPanels, G as isTabPanelConfig, H as addPanelToTab, I as createAddUpdates, J as filterMap, L as Logger$1, K as uniq$2, M as useShallowMemo, N as CurrentLayoutContext, O as MessageOrderTracker, P as AppConfigurationContext } from './depth-CQVPltgS.js';
4
4
  import { w as wrap$3, p as proxy } from './comlink-wXOdMqIH.js';
5
5
  import { u as uint8ArrayToUint16Array } from './utils-DmlHZWuo.js';
6
- import { p as protobufsBySchema, a as protobufSchemaNameToType, g as getDefaultExportFromCjs, c as commonjsGlobal } from './protobuf-C2hFflNu.js';
7
- import { B as BinaryOpcode } from './FoxgloveServer-Ck4XVALC.js';
6
+ import { p as protobufsBySchema, a as protobufSchemaNameToType, g as getDefaultExportFromCjs, c as commonjsGlobal } from './protobuf-fLt-ppqN.js';
7
+ import { B as BinaryOpcode } from './FoxgloveServer-CzGfv6A4.js';
8
8
  import * as React$1 from 'react';
9
9
  import React__default, { useRef, useMemo, createContext, useContext, forwardRef, createElement, useState, Component, useCallback, useEffect, useLayoutEffect, useReducer, useImperativeHandle, Fragment as Fragment$1, Suspense } from 'react';
10
- import { p as parseFoxgloveMessage } from './foxglove-protocol-DDWtWavo.js';
10
+ import { p as parseFoxgloveMessage } from './foxglove-protocol-BvaCHfze.js';
11
11
  import { DndProvider } from 'react-dnd';
12
12
  import { HTML5Backend } from 'react-dnd-html5-backend';
13
13
  import { getLeaves, createRemoveUpdate, updateTree, createHideUpdate, createDragToUpdates, getNodeAtPath, MosaicContext, MosaicWindowContext } from 'react-mosaic-component';
@@ -18,7 +18,7 @@ import { getContrastRatio, lighten, darken } from '@mui/system/colorManipulator'
18
18
  import require$$1 from 'object-assign';
19
19
  import { createStore, useStore } from 'zustand';
20
20
  import { s as setToString, o as overRest, i as isArray$1, b as baseRest, a as isArrayLikeObject, c as isArrayLike, d as isBuffer$1, e as isTypedArray, f as isArguments, g as isPrototype, h as isObject$4, j as isIndex } from './isArrayLikeObject-n9ytTioB.js';
21
- import { jsx as jsx$2, jsxs, Fragment } from 'react/jsx-runtime';
21
+ import { jsx as jsx$2, Fragment, jsxs } from 'react/jsx-runtime';
22
22
  import * as ReactDOM from 'react-dom';
23
23
  import ReactDOM__default from 'react-dom';
24
24
  import 'react-icons';
@@ -478,90 +478,6 @@ class Condvar {
478
478
  // License, v2.0. If a copy of the MPL was not distributed with this
479
479
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
480
480
 
481
- const log$7 = Logger$1.getLogger("src/index.ts");
482
- /**
483
- * Values of the contants below are a (more or less) informed guesses and not guaranteed to be accurate.
484
- */
485
- const COMPRESSED_POINTER_SIZE = 4; // Pointers use 4 bytes (also on 64-bit systems) due to pointer compression
486
- const OBJECT_BASE_SIZE = 3 * COMPRESSED_POINTER_SIZE; // 3 compressed pointers
487
- // Arrays have an additional length property (1 pointer) and a backing store header (2 pointers)
488
- // See https://stackoverflow.com/a/70550693.
489
- const ARRAY_BASE_SIZE = OBJECT_BASE_SIZE + 3 * COMPRESSED_POINTER_SIZE;
490
- const TYPED_ARRAY_BASE_SIZE = 25 * COMPRESSED_POINTER_SIZE; // byteLength, byteOffset, ..., see https://stackoverflow.com/a/45808835
491
- const SMALL_INTEGER_SIZE = COMPRESSED_POINTER_SIZE; // Small integers (up to 31 bits), pointer tagging
492
- const HEAP_NUMBER_SIZE = 8 + 2 * COMPRESSED_POINTER_SIZE; // 4-byte map pointer + 8-byte payload + property pointer
493
- const MAX_NUM_FAST_PROPERTIES = 1020;
494
-
495
- /**
496
- * Estimate the size in bytes of an arbitrary object or primitive.
497
- * @param obj Object or primitive to estimate the size for
498
- * @returns Estimated size in bytes
499
- */
500
- function estimateObjectSize(obj) {
501
- // catches null and undefined
502
- // typeof null == "object"
503
- if (obj == undefined) {
504
- return SMALL_INTEGER_SIZE;
505
- }
506
- switch (typeof obj) {
507
- case "undefined":
508
- case "boolean":
509
- {
510
- return SMALL_INTEGER_SIZE;
511
- }
512
- case "number":
513
- {
514
- return Number.isInteger(obj) ? SMALL_INTEGER_SIZE : HEAP_NUMBER_SIZE;
515
- }
516
- case "bigint":
517
- {
518
- return HEAP_NUMBER_SIZE;
519
- }
520
- case "string":
521
- {
522
- // The string length is rounded up to the next multiple of 4.
523
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Math.ceil(obj.length / 4) * 4;
524
- }
525
- case "object":
526
- {
527
- if (Array.isArray(obj)) {
528
- return COMPRESSED_POINTER_SIZE + ARRAY_BASE_SIZE + Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
529
- } else if (ArrayBuffer.isView(obj)) {
530
- return TYPED_ARRAY_BASE_SIZE + obj.byteLength;
531
- } else if (obj instanceof Set) {
532
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Array.from(obj.values()).reduce((acc, val) => acc + estimateObjectSize(val), 0);
533
- } else if (obj instanceof Map) {
534
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Array.from(obj.entries()).reduce((acc, [key, val]) => acc + estimateObjectSize(key) + estimateObjectSize(val), 0);
535
- }
536
- let propertiesSize = 0;
537
- const numProps = Object.keys(obj).length;
538
- if (numProps > MAX_NUM_FAST_PROPERTIES) {
539
- // If there are too many properties, V8 stores Objects in dictionary mode (slow properties)
540
- // with each object having a self-contained dictionary. This dictionary contains the key, value
541
- // and details of properties. Below we estimate the size of this additional dictionary. Formula
542
- // adapted from
543
- // medium.com/@bpmxmqd/v8-engine-jsobject-structure-analysis-and-memory-optimization-ideas-be30cfcdcd16
544
- const propertiesDictSize = 16 + 5 * 8 + 2 ** Math.ceil(Math.log2((numProps + 2) * 1.5)) * 3 * 4;
545
- // In return, properties are no longer stored in the properties array, so we subtract that.
546
- propertiesSize = propertiesDictSize - numProps * COMPRESSED_POINTER_SIZE;
547
- }
548
- const valuesSize = Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
549
- return OBJECT_BASE_SIZE + propertiesSize + valuesSize;
550
- }
551
- case "symbol":
552
- case "function":
553
- {
554
- throw new Error(`Can't estimate size of type '${typeof obj}'`);
555
- }
556
- }
557
- log$7.error(`Can't estimate size of type '${typeof obj}'`);
558
- return SMALL_INTEGER_SIZE;
559
- }
560
-
561
- // This Source Code Form is subject to the terms of the Mozilla Public
562
- // License, v2.0. If a copy of the MPL was not distributed with this
563
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
564
-
565
481
  const MAX_SAMPLE_SIZE = 100;
566
482
  function constructKeyForTopicRenderMetrics(key, topic) {
567
483
  return `${key}:${topic}`;
@@ -989,7 +905,7 @@ ConfigStore.instance = void 0;
989
905
 
990
906
  var _localStorage$getItem;
991
907
  function initWorker(callback) {
992
- const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-BfbPeqsq.js", import.meta.url), {
908
+ const workerWrap = wrap$3(new Worker(new URL("deserialization.worker-Dr424k53.js", import.meta.url), {
993
909
  type: "module",
994
910
  name: `message-decoder`
995
911
  }));
@@ -18594,7 +18510,7 @@ const defaultLogger$1 = buildLogger$1('default', {
18594
18510
  format: parseLogFormat$1(globalThis.ENV?.LOG_FORMAT),
18595
18511
  runtime: globalThis.ENV?.RUNTIME ?? 'development',
18596
18512
  });
18597
- const log$6 = defaultLogger$1;
18513
+ const log$4 = defaultLogger$1;
18598
18514
  globalThis.log = defaultLogger$1;
18599
18515
 
18600
18516
  const customFormats$1 = {
@@ -18626,7 +18542,7 @@ const customFormats$1 = {
18626
18542
  };
18627
18543
  const onIntlError$1 = (error) => {
18628
18544
  if (typeof window !== 'undefined') {
18629
- log$6.fatal(error);
18545
+ log$4.fatal(error);
18630
18546
  }
18631
18547
  };
18632
18548
  const cache$2 = createIntlCache();
@@ -22059,8 +21975,10 @@ const GET_APP_CONNECTION = () => ({
22059
21975
  const GET_CONNECTION_REFRESH_INTERVAL = 5 * MINUTE;
22060
21976
  var _commsChannel = /*#__PURE__*/_classPrivateFieldLooseKey("commsChannel");
22061
21977
  var _refreshIntervalId = /*#__PURE__*/_classPrivateFieldLooseKey("refreshIntervalId");
21978
+ var _sendMessageToCommsChannel = /*#__PURE__*/_classPrivateFieldLooseKey("sendMessageToCommsChannel");
22062
21979
  var _handleCommsMessages = /*#__PURE__*/_classPrivateFieldLooseKey("handleCommsMessages");
22063
- var _isAppConnectionResponse = /*#__PURE__*/_classPrivateFieldLooseKey("isAppConnectionResponse");
21980
+ var _isAppConnectionOkResponse = /*#__PURE__*/_classPrivateFieldLooseKey("isAppConnectionOkResponse");
21981
+ var _isAppConnectionErrorResponse = /*#__PURE__*/_classPrivateFieldLooseKey("isAppConnectionErrorResponse");
22064
21982
  var _startRefreshInterval = /*#__PURE__*/_classPrivateFieldLooseKey("startRefreshInterval");
22065
21983
  class WebRtcCommsProxy {
22066
21984
  constructor(commsChannel, automaticTokenRefresh) {
@@ -22068,12 +21986,18 @@ class WebRtcCommsProxy {
22068
21986
  Object.defineProperty(this, _startRefreshInterval, {
22069
21987
  value: _startRefreshInterval2
22070
21988
  });
22071
- Object.defineProperty(this, _isAppConnectionResponse, {
22072
- value: _isAppConnectionResponse2
21989
+ Object.defineProperty(this, _isAppConnectionErrorResponse, {
21990
+ value: _isAppConnectionErrorResponse2
21991
+ });
21992
+ Object.defineProperty(this, _isAppConnectionOkResponse, {
21993
+ value: _isAppConnectionOkResponse2
22073
21994
  });
22074
21995
  Object.defineProperty(this, _handleCommsMessages, {
22075
21996
  value: _handleCommsMessages2
22076
21997
  });
21998
+ Object.defineProperty(this, _sendMessageToCommsChannel, {
21999
+ value: _sendMessageToCommsChannel2
22000
+ });
22077
22001
  Object.defineProperty(this, _commsChannel, {
22078
22002
  writable: true,
22079
22003
  value: void 0
@@ -22083,8 +22007,6 @@ class WebRtcCommsProxy {
22083
22007
  value: null
22084
22008
  });
22085
22009
  _classPrivateFieldLooseBase(this, _commsChannel)[_commsChannel] = commsChannel;
22086
-
22087
- // TODO: Handle more states (disconnect..)
22088
22010
  _classPrivateFieldLooseBase(this, _commsChannel)[_commsChannel].on("message:json", event => {
22089
22011
  _classPrivateFieldLooseBase(this, _handleCommsMessages)[_handleCommsMessages](event);
22090
22012
  });
@@ -22092,47 +22014,61 @@ class WebRtcCommsProxy {
22092
22014
  _classPrivateFieldLooseBase(this, _startRefreshInterval)[_startRefreshInterval]();
22093
22015
  }
22094
22016
  }
22095
- sendMessageToCommsChannel(message) {
22096
- switch (message) {
22097
- case "getConnection":
22098
- {
22099
- const _message = GET_APP_CONNECTION();
22100
- const webRtcMessage = JSON.stringify({
22101
- cid: uuidv7(),
22102
- data: _message
22103
- });
22104
- if (webRtcMessage) {
22105
- _classPrivateFieldLooseBase(this, _commsChannel)[_commsChannel].sendMessage(webRtcMessage);
22106
- } else {
22107
- logger$3.error("Failed to serialize GetAppConnectionMessage");
22108
- }
22109
- }
22110
- }
22111
- }
22112
22017
  handleClose() {
22113
22018
  if (_classPrivateFieldLooseBase(this, _refreshIntervalId)[_refreshIntervalId]) {
22114
22019
  clearInterval(_classPrivateFieldLooseBase(this, _refreshIntervalId)[_refreshIntervalId]);
22115
22020
  }
22116
22021
  }
22117
22022
  }
22023
+ function _sendMessageToCommsChannel2(message) {
22024
+ switch (message) {
22025
+ case "getConnection":
22026
+ {
22027
+ const typedMessage = GET_APP_CONNECTION();
22028
+ const webRtcMessage = JSON.stringify({
22029
+ cid: uuidv7(),
22030
+ data: typedMessage
22031
+ });
22032
+ if (webRtcMessage) {
22033
+ _classPrivateFieldLooseBase(this, _commsChannel)[_commsChannel].sendMessage(webRtcMessage);
22034
+ } else {
22035
+ logger$3.error("Failed to serialize GetAppConnectionMessage");
22036
+ }
22037
+ }
22038
+ }
22039
+ }
22118
22040
  function _handleCommsMessages2(message) {
22119
- if (_classPrivateFieldLooseBase(this, _isAppConnectionResponse)[_isAppConnectionResponse](message)) {
22041
+ logger$3.debug("Incoming message on comms channel - ", message);
22042
+ if (_classPrivateFieldLooseBase(this, _isAppConnectionErrorResponse)[_isAppConnectionErrorResponse](message)) {
22043
+ logger$3.warn("Received error response for GetAppConnection request - ", message.data.Error);
22044
+ return;
22045
+ }
22046
+ if (_classPrivateFieldLooseBase(this, _isAppConnectionOkResponse)[_isAppConnectionOkResponse](message)) {
22120
22047
  if (this.automaticTokenRefresh) {
22121
22048
  this.automaticTokenRefresh(message.data.Ok.GetAppConnection.token);
22122
22049
  } else {
22123
22050
  logger$3.warn("Automatic token refresh is not enabled but received app connection response.");
22124
22051
  }
22125
- } else {
22126
- logger$3.error("Comms Proxy received unsupported message - ", message);
22052
+ return;
22127
22053
  }
22054
+ logger$3.error("Comms Proxy received unsupported message - ", message);
22128
22055
  }
22129
- function _isAppConnectionResponse2(message) {
22130
- return message.data.Ok.GetAppConnection !== undefined;
22056
+ function _isAppConnectionOkResponse2(message) {
22057
+ return "Ok" in message;
22058
+ }
22059
+ function _isAppConnectionErrorResponse2(message) {
22060
+ return "Error" in message;
22131
22061
  }
22132
22062
  function _startRefreshInterval2() {
22133
- _classPrivateFieldLooseBase(this, _refreshIntervalId)[_refreshIntervalId] = setInterval(() => {
22134
- this.sendMessageToCommsChannel("getConnection");
22135
- }, GET_CONNECTION_REFRESH_INTERVAL);
22063
+ if (_classPrivateFieldLooseBase(this, _refreshIntervalId)[_refreshIntervalId]) {
22064
+ logger$3.debug("Refresh interval already exists, skipping creation of new interval.");
22065
+ return;
22066
+ }
22067
+ {
22068
+ _classPrivateFieldLooseBase(this, _refreshIntervalId)[_refreshIntervalId] = setInterval(() => {
22069
+ _classPrivateFieldLooseBase(this, _sendMessageToCommsChannel)[_sendMessageToCommsChannel]("getConnection");
22070
+ }, GET_CONNECTION_REFRESH_INTERVAL);
22071
+ }
22136
22072
  }
22137
22073
 
22138
22074
  var _selfTarget = /*#__PURE__*/_classPrivateFieldLooseKey("selfTarget");
@@ -22247,7 +22183,7 @@ class WebRtcBridge extends ArtificialWorker {
22247
22183
  value: null
22248
22184
  });
22249
22185
  this.commsProxy = null;
22250
- _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-Dtxm0lWz.js", import.meta.url), {
22186
+ _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-DR9o4zBS.js", import.meta.url), {
22251
22187
  type: "module"
22252
22188
  });
22253
22189
  _classPrivateFieldLooseBase(this, _setupArtificialWorker)[_setupArtificialWorker]();
@@ -22503,7 +22439,7 @@ class VisualizerConnection extends FoxgloveConnection {
22503
22439
  let _worker;
22504
22440
  if (type === "ws") {
22505
22441
  _classPrivateFieldLooseBase(this, _url)[_url] = data.connectionUrl;
22506
- _worker = new Worker(new URL("worker-CHANzqz1.js", import.meta.url), {
22442
+ _worker = new Worker(new URL("worker-BGG-ZdUp.js", import.meta.url), {
22507
22443
  type: "module"
22508
22444
  });
22509
22445
  } else {
@@ -26794,7 +26730,7 @@ n$1(css$a,{});
26794
26730
  var css$9 = "/* latin */\n@font-face {\n font-family: \"IBM Plex Mono\";\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(\"@foxglove/studio-base/styles/assets/PlexMono-Italic.woff2\") format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,\n U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin */\n@font-face {\n font-family: \"IBM Plex Mono\";\n font-style: italic;\n font-weight: 600;\n font-display: swap;\n src: url(\"@foxglove/studio-base/styles/assets/PlexMono-BoldItalic.woff2\") format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,\n U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin */\n@font-face {\n font-family: \"IBM Plex Mono\";\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(\"@foxglove/studio-base/styles/assets/PlexMono.woff2\") format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,\n U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* latin */\n@font-face {\n font-family: \"IBM Plex Mono\";\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(\"@foxglove/studio-base/styles/assets/PlexMono-Bold.woff2\") format(\"woff2\");\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,\n U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n";
26795
26731
  n$1(css$9,{});
26796
26732
 
26797
- const useStyles$4 = makeStyles()(({
26733
+ const useStyles$3 = makeStyles()(({
26798
26734
  palette,
26799
26735
  typography
26800
26736
  }) => ({
@@ -26999,14 +26935,14 @@ const useStyles$4 = makeStyles()(({
26999
26935
  function CssBaseline(props) {
27000
26936
  const {
27001
26937
  classes
27002
- } = useStyles$4();
26938
+ } = useStyles$3();
27003
26939
  return /*#__PURE__*/React__default.createElement("div", {
27004
26940
  className: classes.root
27005
26941
  }, props.children);
27006
26942
  }
27007
26943
 
27008
26944
  const _excluded$7 = ["alignItems", "alignSelf", "children", "className", "direction", "flex", "flexBasis", "flexGrow", "flexShrink", "flexWrap", "fullHeight", "fullWidth", "gap", "gapX", "gapY", "inline", "justifyContent", "order", "overflow", "overflowX", "overflowY", "padding", "paddingBottom", "paddingLeft", "paddingRight", "paddingTop", "paddingX", "paddingY", "paddingBlock", "paddingBlockStart", "paddingBlockEnd", "paddingInline", "paddingInlineStart", "paddingInlineEnd", "position", "style", "zeroMinWidth"];
27009
- const useStyles$3 = makeStyles({
26945
+ const useStyles$2 = makeStyles({
27010
26946
  name: "FoxgloveStack"
27011
26947
  })((theme, props) => ({
27012
26948
  root: _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({
@@ -27068,7 +27004,7 @@ const useStyles$3 = makeStyles({
27068
27004
  paddingInlineEnd: theme.spacing(props.paddingInlineEnd)
27069
27005
  })
27070
27006
  }));
27071
- var Stack$2 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27007
+ var Stack$1 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27072
27008
  const {
27073
27009
  alignItems,
27074
27010
  alignSelf,
@@ -27112,7 +27048,7 @@ var Stack$2 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27112
27048
  const {
27113
27049
  classes,
27114
27050
  cx
27115
- } = useStyles$3({
27051
+ } = useStyles$2({
27116
27052
  alignItems,
27117
27053
  alignSelf,
27118
27054
  direction,
@@ -27155,7 +27091,7 @@ var Stack$2 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27155
27091
  }, rest), children);
27156
27092
  });
27157
27093
 
27158
- const useStyles$2 = makeStyles()(theme => ({
27094
+ const useStyles$1 = makeStyles()(theme => ({
27159
27095
  grid: {
27160
27096
  display: "grid",
27161
27097
  gridTemplateRows: "auto 1fr auto",
@@ -27193,7 +27129,7 @@ function ErrorStacktrace({
27193
27129
  }) {
27194
27130
  const {
27195
27131
  classes
27196
- } = useStyles$2();
27132
+ } = useStyles$1();
27197
27133
  const lines = (hideSourceLocations ? sanitizeStack(stack) : stack).trim().replace(/^\s*at /gm, "").split("\n").map(line => line.trim());
27198
27134
  return /*#__PURE__*/React__default.createElement("pre", {
27199
27135
  className: classes.errorDetailStack
@@ -27211,7 +27147,7 @@ function ErrorDisplay(props) {
27211
27147
  var _props$showErrorDetai, _props$title;
27212
27148
  const {
27213
27149
  classes
27214
- } = useStyles$2();
27150
+ } = useStyles$1();
27215
27151
  const {
27216
27152
  error,
27217
27153
  errorInfo,
@@ -27242,10 +27178,10 @@ function ErrorDisplay(props) {
27242
27178
  }, [error, errorInfo, hideErrorSourceLocations, showErrorDetails]);
27243
27179
  return /*#__PURE__*/React__default.createElement("div", {
27244
27180
  className: classes.grid
27245
- }, /*#__PURE__*/React__default.createElement(Stack$2, {
27181
+ }, /*#__PURE__*/React__default.createElement(Stack$1, {
27246
27182
  gap: 2,
27247
27183
  paddingBottom: 2
27248
- }, /*#__PURE__*/React__default.createElement(Stack$2, null, /*#__PURE__*/React__default.createElement(Typography, {
27184
+ }, /*#__PURE__*/React__default.createElement(Stack$1, null, /*#__PURE__*/React__default.createElement(Typography, {
27249
27185
  variant: "h4",
27250
27186
  gutterBottom: true
27251
27187
  }, (_props$title = props.title) !== null && _props$title !== void 0 ? _props$title : "The app encountered an unexpected error"), /*#__PURE__*/React__default.createElement(Typography, {
@@ -27266,7 +27202,7 @@ function ErrorDisplay(props) {
27266
27202
  }, props.actions));
27267
27203
  }
27268
27204
 
27269
- let ErrorBoundary$1 = class ErrorBoundary extends Component {
27205
+ class ErrorBoundary extends Component {
27270
27206
  constructor(...args) {
27271
27207
  super(...args);
27272
27208
  this.state = {
@@ -27285,7 +27221,7 @@ let ErrorBoundary$1 = class ErrorBoundary extends Component {
27285
27221
  render() {
27286
27222
  if (this.state.currentError) {
27287
27223
  var _this$props$actions;
27288
- const actions = (_this$props$actions = this.props.actions) !== null && _this$props$actions !== void 0 ? _this$props$actions : /*#__PURE__*/React__default.createElement(Stack$2, {
27224
+ const actions = (_this$props$actions = this.props.actions) !== null && _this$props$actions !== void 0 ? _this$props$actions : /*#__PURE__*/React__default.createElement(Stack$1, {
27289
27225
  fullHeight: true,
27290
27226
  flex: "auto",
27291
27227
  alignItems: "flex-end",
@@ -27318,7 +27254,7 @@ let ErrorBoundary$1 = class ErrorBoundary extends Component {
27318
27254
  }
27319
27255
  return this.props.children;
27320
27256
  }
27321
- };
27257
+ }
27322
27258
 
27323
27259
  /** GlobalCss component configures html, body, and #root with theme elements */
27324
27260
  function GlobalCss() {
@@ -33391,7 +33327,7 @@ const moveTab = (panelsState, {
33391
33327
  });
33392
33328
  return savePanelConfigs(panelsState, saveConfigsPayload);
33393
33329
  };
33394
- const addPanel$3 = (panelsState, {
33330
+ const addPanel$1 = (panelsState, {
33395
33331
  tabId,
33396
33332
  id,
33397
33333
  config
@@ -33795,7 +33731,7 @@ function panelsReducer (panelsState, action) {
33795
33731
  case "MOVE_TAB":
33796
33732
  return moveTab(panelsState, action.payload);
33797
33733
  case "ADD_PANEL":
33798
- return addPanel$3(panelsState, action.payload);
33734
+ return addPanel$1(panelsState, action.payload);
33799
33735
  case "DROP_PANEL":
33800
33736
  return dropPanel(panelsState, action.payload);
33801
33737
  case "START_DRAG":
@@ -34149,7 +34085,7 @@ function IncompatibleLayoutVersionAlert(props) {
34149
34085
  }, "OK")));
34150
34086
  }
34151
34087
 
34152
- const log$5 = Logger$1.getLogger("src/index.ts");
34088
+ const log$3 = Logger$1.getLogger("src/index.ts");
34153
34089
  const MAX_SUPPORTED_LAYOUT_VERSION = 1;
34154
34090
 
34155
34091
  /**
@@ -34220,7 +34156,7 @@ function CurrentLayoutProvider({
34220
34156
  // The panel state did not change, so no need to perform layout state
34221
34157
  // updates or layout manager updates.
34222
34158
  if (isEqual(oldData, newData)) {
34223
- log$5.warn("Panel action resulted in identical config:", action);
34159
+ log$3.warn("Panel action resulted in identical config:", action);
34224
34160
  return;
34225
34161
  }
34226
34162
 
@@ -34945,7 +34881,7 @@ const VisualizerContext = /*#__PURE__*/React__default.memo(function VisualizerCo
34945
34881
  value: appConfiguration
34946
34882
  }, /*#__PURE__*/React__default.createElement(DndProvider, {
34947
34883
  backend: HTML5Backend
34948
- }, /*#__PURE__*/React__default.createElement(GlobalCss, null), /*#__PURE__*/React__default.createElement(CssBaseline, null, /*#__PURE__*/React__default.createElement(ErrorBoundary$1, null, /*#__PURE__*/React__default.createElement(TimelineInteractionStateProvider, null, /*#__PURE__*/React__default.createElement(CurrentLayoutProvider, null, /*#__PURE__*/React__default.createElement(ConnectionsProvider, {
34884
+ }, /*#__PURE__*/React__default.createElement(GlobalCss, null), /*#__PURE__*/React__default.createElement(CssBaseline, null, /*#__PURE__*/React__default.createElement(ErrorBoundary, null, /*#__PURE__*/React__default.createElement(TimelineInteractionStateProvider, null, /*#__PURE__*/React__default.createElement(CurrentLayoutProvider, null, /*#__PURE__*/React__default.createElement(ConnectionsProvider, {
34949
34885
  value: connections
34950
34886
  }, /*#__PURE__*/React__default.createElement(MessagePipelineProvider, null, /*#__PURE__*/React__default.createElement(EventsProvider, null, /*#__PURE__*/React__default.createElement(MosaicContext.Provider, {
34951
34887
  value: mosaicContext
@@ -34956,126 +34892,6 @@ const VisualizerContext = /*#__PURE__*/React__default.memo(function VisualizerCo
34956
34892
  }, /*#__PURE__*/React__default.createElement(PanelStateContextProvider, null, children)))))))))))));
34957
34893
  });
34958
34894
 
34959
- const useStyles$1 = makeStyles({ name: "FoxgloveStack" })((theme, props) => ({
34960
- root: {
34961
- display: props.inline === true ? "inline-flex" : "flex",
34962
- flexDirection: props.direction,
34963
- flex: props.flex,
34964
- flexBasis: props.flexBasis,
34965
- flexShrink: props.flexShrink,
34966
- flexGrow: props.flexGrow,
34967
- flexWrap: props.flexWrap,
34968
- justifyContent: props.justifyContent,
34969
- alignItems: props.alignItems,
34970
- alignContent: props.alignContent,
34971
- alignSelf: props.alignSelf,
34972
- order: props.order,
34973
- overflow: props.overflow,
34974
- overflowX: props.overflowX,
34975
- overflowY: props.overflowY,
34976
- position: props.position,
34977
- ...(props.zeroMinWidth === true && {
34978
- minWidth: 0,
34979
- }),
34980
- ...(props.fullHeight === true && {
34981
- height: "100%",
34982
- }),
34983
- ...(props.fullWidth === true && {
34984
- width: "100%",
34985
- }),
34986
- ...(props.gap != undefined && {
34987
- gap: theme.spacing(props.gap),
34988
- }),
34989
- ...(props.gapX != undefined && {
34990
- rowGap: theme.spacing(props.gapX),
34991
- }),
34992
- ...(props.gapY != undefined && {
34993
- columnGap: theme.spacing(props.gapY),
34994
- }),
34995
- ...(props.padding != undefined && {
34996
- padding: theme.spacing(props.padding),
34997
- }),
34998
- ...(props.paddingX != undefined && {
34999
- paddingLeft: theme.spacing(props.paddingX),
35000
- paddingRight: theme.spacing(props.paddingX),
35001
- }),
35002
- ...(props.paddingY != undefined && {
35003
- paddingTop: theme.spacing(props.paddingY),
35004
- paddingBottom: theme.spacing(props.paddingY),
35005
- }),
35006
- ...(props.paddingTop != undefined && {
35007
- paddingTop: theme.spacing(props.paddingTop),
35008
- }),
35009
- ...(props.paddingBottom != undefined && {
35010
- paddingBottom: theme.spacing(props.paddingBottom),
35011
- }),
35012
- ...(props.paddingLeft != undefined && {
35013
- paddingLeft: theme.spacing(props.paddingLeft),
35014
- }),
35015
- ...(props.paddingRight != undefined && {
35016
- paddingRight: theme.spacing(props.paddingRight),
35017
- }),
35018
- ...(props.paddingBlock != undefined && {
35019
- paddingBlock: theme.spacing(props.paddingBlock),
35020
- }),
35021
- ...(props.paddingBlockStart != undefined && {
35022
- paddingBlockStart: theme.spacing(props.paddingBlockStart),
35023
- }),
35024
- ...(props.paddingBlockEnd != undefined && {
35025
- paddingBlockEnd: theme.spacing(props.paddingBlockEnd),
35026
- }),
35027
- ...(props.paddingInline != undefined && {
35028
- paddingInline: theme.spacing(props.paddingInline),
35029
- }),
35030
- ...(props.paddingInlineStart != undefined && {
35031
- paddingInlineStart: theme.spacing(props.paddingInlineStart),
35032
- }),
35033
- ...(props.paddingInlineEnd != undefined && {
35034
- paddingInlineEnd: theme.spacing(props.paddingInlineEnd),
35035
- }),
35036
- },
35037
- }));
35038
- var Stack$1 = forwardRef(function Stack(props, ref) {
35039
- const { alignItems, alignSelf, children, className, direction = "column", flex, flexBasis, flexGrow, flexShrink, flexWrap, fullHeight = false, fullWidth = false, gap, gapX, gapY, inline = false, justifyContent, order, overflow, overflowX, overflowY, padding, paddingBottom, paddingLeft, paddingRight, paddingTop, paddingX, paddingY, paddingBlock, paddingBlockStart, paddingBlockEnd, paddingInline, paddingInlineStart, paddingInlineEnd, position, style, zeroMinWidth = false, ...rest } = props;
35040
- const { classes, cx } = useStyles$1({
35041
- alignItems,
35042
- alignSelf,
35043
- direction,
35044
- flex,
35045
- flexBasis,
35046
- flexGrow,
35047
- flexShrink,
35048
- flexWrap,
35049
- fullHeight,
35050
- fullWidth,
35051
- gap,
35052
- gapX,
35053
- gapY,
35054
- inline,
35055
- justifyContent,
35056
- order,
35057
- overflow,
35058
- overflowX,
35059
- overflowY,
35060
- padding,
35061
- paddingBottom,
35062
- paddingLeft,
35063
- paddingRight,
35064
- paddingTop,
35065
- paddingX,
35066
- paddingY,
35067
- paddingBlock,
35068
- paddingBlockStart,
35069
- paddingBlockEnd,
35070
- paddingInline,
35071
- paddingInlineStart,
35072
- paddingInlineEnd,
35073
- position,
35074
- zeroMinWidth,
35075
- });
35076
- return (jsx$2("div", { ref: ref, className: cx(classes.root, className), style: style, ...rest, children: children }));
35077
- });
35078
-
35079
34895
  function _classCallCheck(a, n) {
35080
34896
  if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
35081
34897
  }
@@ -35459,7 +35275,7 @@ Browser.type = 'languageDetector';
35459
35275
  // License, v2.0. If a copy of the MPL was not distributed with this
35460
35276
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35461
35277
 
35462
- const addPanel$2 = {
35278
+ const addPanel = {
35463
35279
  addPanel: "Add panel",
35464
35280
  noLayoutSelected: "<selectLayoutLink>Select a layout</selectLayoutLink> to get started!",
35465
35281
  noPanelsMatchSearchCriteria: "No panels match search criteria.",
@@ -35471,7 +35287,7 @@ const addPanel$2 = {
35471
35287
  // License, v2.0. If a copy of the MPL was not distributed with this
35472
35288
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35473
35289
 
35474
- const appBar$2 = {
35290
+ const appBar = {
35475
35291
  about: "About",
35476
35292
  addPanel: "Add panel",
35477
35293
  documentation: "Documentation",
@@ -35509,7 +35325,7 @@ const appBar$2 = {
35509
35325
  // License, v2.0. If a copy of the MPL was not distributed with this
35510
35326
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35511
35327
 
35512
- const appSettings$2 = {
35328
+ const appSettings = {
35513
35329
  about: "About",
35514
35330
  advanced: "Advanced",
35515
35331
  askEachTime: "Ask each time",
@@ -35542,7 +35358,7 @@ const appSettings$2 = {
35542
35358
  // License, v2.0. If a copy of the MPL was not distributed with this
35543
35359
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35544
35360
 
35545
- const dataSourceInfo$2 = {
35361
+ const dataSourceInfo = {
35546
35362
  currentSource: "Current source",
35547
35363
  dataSource: "Data source",
35548
35364
  duration: "Duration",
@@ -35555,7 +35371,7 @@ const dataSourceInfo$2 = {
35555
35371
  // License, v2.0. If a copy of the MPL was not distributed with this
35556
35372
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35557
35373
 
35558
- const desktopWindow$2 = {
35374
+ const desktopWindow = {
35559
35375
  advanced: "Advanced",
35560
35376
  checkForUpdates: "Check for Updates…",
35561
35377
  edit: "Edit",
@@ -35572,7 +35388,7 @@ const desktopWindow$2 = {
35572
35388
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35573
35389
 
35574
35390
  // Generic global translation
35575
- const general$2 = {
35391
+ const general = {
35576
35392
  foxglove: "Foxglove",
35577
35393
  learnMore: "Learn more",
35578
35394
  on: "On",
@@ -35584,7 +35400,7 @@ const general$2 = {
35584
35400
  // License, v2.0. If a copy of the MPL was not distributed with this
35585
35401
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35586
35402
 
35587
- const incompatibleLayoutVersion$2 = {
35403
+ const incompatibleLayoutVersion = {
35588
35404
  desktopText: "This layout was created with a newer version of Foxglove Studio. Please update to the latest version at ",
35589
35405
  title: "Incompatible layout version",
35590
35406
  webText: "This layout was created with a newer version of Foxglove Studio. Please refresh your browser."
@@ -35594,7 +35410,7 @@ const incompatibleLayoutVersion$2 = {
35594
35410
  // License, v2.0. If a copy of the MPL was not distributed with this
35595
35411
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35596
35412
 
35597
- const log$4 = {
35413
+ const log$2 = {
35598
35414
  hideAll: "Hide all",
35599
35415
  minLogLevel: "Log level",
35600
35416
  nameFilter: "Namespaces",
@@ -35607,7 +35423,7 @@ const log$4 = {
35607
35423
  // License, v2.0. If a copy of the MPL was not distributed with this
35608
35424
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35609
35425
 
35610
- const openDialog$2 = {
35426
+ const openDialog = {
35611
35427
  canBeShared: "Share data files, visualization layouts, and custom extensions with teammates",
35612
35428
  collaborateTitle: "Accelerate development with Foxglove",
35613
35429
  convenientWebInterface: "Use a convenient web interface to tag, search, and retrieve data at lightning speed",
@@ -35644,7 +35460,7 @@ const openDialog$2 = {
35644
35460
  // License, v2.0. If a copy of the MPL was not distributed with this
35645
35461
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35646
35462
 
35647
- const panelConfigVersionGuard$2 = {
35463
+ const panelConfigVersionGuard = {
35648
35464
  instructions: "Please update to the latest version of the app.",
35649
35465
  warning: "This layout requires a more recent version of this panel."
35650
35466
  };
@@ -35653,7 +35469,7 @@ const panelConfigVersionGuard$2 = {
35653
35469
  // License, v2.0. If a copy of the MPL was not distributed with this
35654
35470
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35655
35471
 
35656
- const panels$2 = {
35472
+ const panels = {
35657
35473
  "3D": "3D",
35658
35474
  "3DPanelDescription": "Display markers, camera images, meshes, URDFs, and more in a 3D scene.",
35659
35475
  callService: "Service Call",
@@ -35703,7 +35519,7 @@ const panels$2 = {
35703
35519
  // License, v2.0. If a copy of the MPL was not distributed with this
35704
35520
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35705
35521
 
35706
- const panelSettings$2 = {
35522
+ const panelSettings = {
35707
35523
  currentSettingsPanelName: "{{title}} panel settings",
35708
35524
  importOrExportSettings: "Import/export settings",
35709
35525
  importOrExportSettingsWithEllipsis: "Import/export settings…",
@@ -35720,7 +35536,7 @@ const panelSettings$2 = {
35720
35536
  // License, v2.0. If a copy of the MPL was not distributed with this
35721
35537
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35722
35538
 
35723
- const panelToolbar$2 = {
35539
+ const panelToolbar = {
35724
35540
  changePanel: "Change panel",
35725
35541
  fullscreen: "Fullscreen",
35726
35542
  more: "More",
@@ -35733,7 +35549,7 @@ const panelToolbar$2 = {
35733
35549
  // License, v2.0. If a copy of the MPL was not distributed with this
35734
35550
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35735
35551
 
35736
- const plot$2 = {
35552
+ const plot = {
35737
35553
  accumulatedPath: "Path (accumulated)",
35738
35554
  addSeries: "Add series",
35739
35555
  clickToAddASeries: "Click to add a series",
@@ -35774,7 +35590,7 @@ const plot$2 = {
35774
35590
  // License, v2.0. If a copy of the MPL was not distributed with this
35775
35591
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35776
35592
 
35777
- const problemsList$2 = {
35593
+ const problemsList = {
35778
35594
  noDetailsProvided: "No details provided",
35779
35595
  noProblemsFound: "No problems found"
35780
35596
  };
@@ -35783,7 +35599,7 @@ const problemsList$2 = {
35783
35599
  // License, v2.0. If a copy of the MPL was not distributed with this
35784
35600
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35785
35601
 
35786
- const stateTransitions$2 = {
35602
+ const stateTransitions = {
35787
35603
  max: "Max",
35788
35604
  maxXError: "X max must be greater than X min.",
35789
35605
  min: "Min",
@@ -35795,7 +35611,7 @@ const stateTransitions$2 = {
35795
35611
  // License, v2.0. If a copy of the MPL was not distributed with this
35796
35612
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35797
35613
 
35798
- const threeDee$2 = {
35614
+ const threeDee = {
35799
35615
  // Common
35800
35616
  color: "Color",
35801
35617
  colorMode: "Color mode",
@@ -35942,7 +35758,7 @@ const threeDee$2 = {
35942
35758
  // License, v2.0. If a copy of the MPL was not distributed with this
35943
35759
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35944
35760
 
35945
- const topicList$2 = {
35761
+ const topicList = {
35946
35762
  anErrorOccurred: "An error occurred",
35947
35763
  clearFilter: "Clear filter",
35948
35764
  copyMessagePath: "Copy message path",
@@ -35962,7 +35778,7 @@ const topicList$2 = {
35962
35778
  // License, v2.0. If a copy of the MPL was not distributed with this
35963
35779
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35964
35780
 
35965
- const workspace$2 = {
35781
+ const workspace = {
35966
35782
  events: "Events",
35967
35783
  panel: "Panel",
35968
35784
  performance: "Performance",
@@ -35977,1048 +35793,6 @@ const workspace$2 = {
35977
35793
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35978
35794
 
35979
35795
  var en = /*#__PURE__*/Object.freeze({
35980
- __proto__: null,
35981
- addPanel: addPanel$2,
35982
- appBar: appBar$2,
35983
- appSettings: appSettings$2,
35984
- dataSourceInfo: dataSourceInfo$2,
35985
- desktopWindow: desktopWindow$2,
35986
- general: general$2,
35987
- incompatibleLayoutVersion: incompatibleLayoutVersion$2,
35988
- log: log$4,
35989
- openDialog: openDialog$2,
35990
- panelConfigVersionGuard: panelConfigVersionGuard$2,
35991
- panelSettings: panelSettings$2,
35992
- panelToolbar: panelToolbar$2,
35993
- panels: panels$2,
35994
- plot: plot$2,
35995
- problemsList: problemsList$2,
35996
- stateTransitions: stateTransitions$2,
35997
- threeDee: threeDee$2,
35998
- topicList: topicList$2,
35999
- workspace: workspace$2
36000
- });
36001
-
36002
- // This Source Code Form is subject to the terms of the Mozilla Public
36003
- // License, v2.0. If a copy of the MPL was not distributed with this
36004
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36005
- const addPanel$1 = {
36006
- addPanel: "パネルを追加",
36007
- noLayoutSelected: "<selectLayoutLink>レイアウトを選択</selectLayoutLink>して始めましょう!",
36008
- noPanelsMatchSearchCriteria: "検索条件に一致するパネルがありません。",
36009
- searchPanels: "パネルを検索",
36010
- selectPanelToAddToLayout: "下のパネルを選択してレイアウトに追加してください。",
36011
- };
36012
-
36013
- // This Source Code Form is subject to the terms of the Mozilla Public
36014
- // License, v2.0. If a copy of the MPL was not distributed with this
36015
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36016
- const appBar$1 = {
36017
- about: "情報",
36018
- addPanel: "パネルを追加",
36019
- documentation: "ドキュメンテーション",
36020
- exploreSampleData: "サンプルデータを探索する",
36021
- exportLayoutToFile: "レイアウトをファイルにエクスポート",
36022
- extensions: "拡張機能",
36023
- file: "ファイル",
36024
- help: "ヘルプ",
36025
- importLayoutFromFile: "ファイルからレイアウトをインポート",
36026
- joinOurSlack: "Slackに参加する",
36027
- joinSlackCommunity: "Slackコミュニティに参加する",
36028
- noDataSource: "データソースがありません",
36029
- open: "を開く",
36030
- openConnection: "接続を開く",
36031
- openLocalFile: "ローカルファイルを開く",
36032
- recentDataSources: "最近のデータソース",
36033
- settings: "設定",
36034
- signIn: "ログイン",
36035
- signOut: "ログアウト",
36036
- unknown: "不明",
36037
- userProfile: "ユーザープロファイル",
36038
- view: "表示",
36039
- viewData: "データを見る",
36040
- viewOurDocs: "ドキュメンテーションを見る",
36041
- profile: undefined,
36042
- };
36043
-
36044
- // This Source Code Form is subject to the terms of the Mozilla Public
36045
- // License, v2.0. If a copy of the MPL was not distributed with this
36046
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36047
- const appSettings$1 = {
36048
- about: "情報",
36049
- advanced: "高度な設定",
36050
- askEachTime: "毎回確認する",
36051
- colorScheme: "カラースキーム",
36052
- dark: "ダーク",
36053
- debugModeDescription: "Foxgloveのデバッグ用のパネルと機能を有効にする",
36054
- desktopApp: "デスクトップアプリ",
36055
- displayTimestampsIn: "タイムスタンプを表示",
36056
- experimentalFeatures: "実験的機能",
36057
- experimentalFeaturesDescription: "これらの機能は挙動が不安定なため、日々の利用は推奨されません。",
36058
- extensions: "拡張機能",
36059
- followSystem: "システムに従う",
36060
- general: "一般",
36061
- language: "言語",
36062
- layoutDebugging: "レイアウトデバッグ",
36063
- layoutDebuggingDescription: "レイアウトストレージの開発およびデバッグ用の追加コントロールを表示する。",
36064
- light: "ライト",
36065
- messageRate: "メッセージレート",
36066
- noExperimentalFeatures: "現在、実験的機能はありません。",
36067
- openLinksIn: "リンクを開く",
36068
- ros: "ROS",
36069
- settings: "設定",
36070
- timestampFormat: "タイムスタンプ形式",
36071
- webApp: "ウェブアプリ",
36072
- };
36073
-
36074
- // This Source Code Form is subject to the terms of the Mozilla Public
36075
- // License, v2.0. If a copy of the MPL was not distributed with this
36076
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36077
- const dataSourceInfo$1 = {
36078
- currentSource: "現在のデータソース",
36079
- dataSource: "データソース",
36080
- duration: "所要時間",
36081
- endTime: "終了時刻",
36082
- startTime: "開始時刻",
36083
- waitingForConnection: "接続待機中…",
36084
- };
36085
-
36086
- // This Source Code Form is subject to the terms of the Mozilla Public
36087
- // License, v2.0. If a copy of the MPL was not distributed with this
36088
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36089
- const desktopWindow$1 = {
36090
- advanced: "高度な設定",
36091
- checkForUpdates: "更新を確認する…",
36092
- edit: "編集",
36093
- file: "ファイル",
36094
- inspectSharedWorker: "共有ワーカーを検査する…",
36095
- newWindow: "新しいウィンドウ",
36096
- noSharedWorkers: "共有ワーカーがありません",
36097
- settings: "設定…",
36098
- view: "表示",
36099
- };
36100
-
36101
- // This Source Code Form is subject to the terms of the Mozilla Public
36102
- // License, v2.0. If a copy of the MPL was not distributed with this
36103
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36104
- // Generic global translation
36105
- const general$1 = {
36106
- // Note that we use the term `Foxglove` as an English word rather than a Japanese
36107
- // word since it would sound very different - フォックスグローブ (Fokusugorobu).
36108
- foxglove: "Foxglove",
36109
- learnMore: "もっと学ぶ",
36110
- on: undefined,
36111
- off: undefined,
36112
- auto: undefined,
36113
- };
36114
-
36115
- // This Source Code Form is subject to the terms of the Mozilla Public
36116
- // License, v2.0. If a copy of the MPL was not distributed with this
36117
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36118
- const incompatibleLayoutVersion$1 = {
36119
- desktopText: "このレイアウトはFoxglove Studioの新しいバージョンで作成されました。最新バージョンに更新してください ",
36120
- title: "互換性のないレイアウトバージョン",
36121
- webText: "このレイアウトはFoxglove Studioの新しいバージョンで作成されました。ブラウザを更新してください。",
36122
- };
36123
-
36124
- // This Source Code Form is subject to the terms of the Mozilla Public
36125
- // License, v2.0. If a copy of the MPL was not distributed with this
36126
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36127
- const log$3 = {
36128
- hideAll: "すべて隠す",
36129
- minLogLevel: "ログレベル",
36130
- nameFilter: "ネームスペース",
36131
- showAll: "すべて表示",
36132
- topic: "トピック",
36133
- topicError: "{{topic}}というトピックは利用できません。",
36134
- };
36135
-
36136
- // This Source Code Form is subject to the terms of the Mozilla Public
36137
- // License, v2.0. If a copy of the MPL was not distributed with this
36138
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36139
- const openDialog$1 = {
36140
- canBeShared: "チームメイトとデータファイル、可視化レイアウト、およびカスタム拡張子を共有できます",
36141
- collaborateTitle: "Foxglove で開発を加速する",
36142
- convenientWebInterface: "便利なWebインターフェースを使用して、データをタグ付け、検索、および高速に取得",
36143
- createAFreeAccount: "無料のアカウントを作成する",
36144
- exploreSampleData: "サンプルデータを探索する",
36145
- joinOurCommunity: "コミュニティに参加する",
36146
- joinOurCommunityDescription: "SlackやGitHubに参加して、ヘルプを得たり、機能リクエストを行ったり、バグを報告しましょう。",
36147
- joinOurSlack: "Slackに参加する",
36148
- learnMore: "詳細を見る",
36149
- needHelp: "ヘルプが必要ですか?",
36150
- needHelpDescription: "ドキュメンテーションを見たり、Foxgloveブログのチュートリアルをチェックしてみましょう。",
36151
- newToFoxgloveStudio: "Foxglove を初めてご利用ですか?",
36152
- newToFoxgloveStudioDescription: "サンプルデータセットを探索したり、ドキュメンテーションをチェックして開始してください。",
36153
- openAGitHubIssue: "GitHubの問題を開く",
36154
- openConnection: "接続を開く",
36155
- openConnectionDescription: "ライブロボットまたはサーバーに接続します。",
36156
- openDataSource: "データソースを開く",
36157
- openLocalFile: "ローカルファイルを開く",
36158
- openLocalFileDescription: "ローカルファイルシステムから直接データを可視化します。",
36159
- openUrl: "データをアップロードして共有する",
36160
- openUrlDescription: "Foxglove を使用して、チームとデータを共有します。",
36161
- recentDataSources: "最近のデータソース",
36162
- secureStorageOfData: "ROSまたはカスタムデータをペタバイト単位で安全に保存",
36163
- seeTutorials: "チュートリアルを見る",
36164
- shareLayouts: "レイアウトを共有する",
36165
- signIn: "ログイン",
36166
- startCollaborating: "Foxgloveの組織とコラボレーションを開始する",
36167
- startCollaboratingDescription: "Foxgloveアカウントを最大限に活用しましょう。たとえば、データを詳細に分析したり、チームメイトとツールを共有したりすることができます。",
36168
- uploadToDataPlatform: "Data Platformにアップロードする",
36169
- viewOurDocs: "ドキュメンテーションを見る",
36170
- };
36171
-
36172
- const panelConfigVersionGuard$1 = {
36173
- instructions: "アプリを最新バージョンに更新してください。",
36174
- warning: "このレイアウトは、より新しいバージョンのパネルを必要とします。",
36175
- };
36176
-
36177
- // This Source Code Form is subject to the terms of the Mozilla Public
36178
- // License, v2.0. If a copy of the MPL was not distributed with this
36179
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36180
- const panels$1 = {
36181
- "3D": "3D",
36182
- "3DPanelDescription": "マーカーやカメラ映像、メッシュ、URDFなどを3Dシーンで表示します。",
36183
- callService: "サービスを呼び出す",
36184
- callServiceDescription: "サービスを呼び出し、サービス呼び出し結果を表示する",
36185
- dataSourceInfo: "データソース情報",
36186
- dataSourceInfoDescription: "現在のデータソースに関するトピックやタイムスタンプなどの詳細を表示します。",
36187
- gauge: "ゲージ",
36188
- gaugeDescription: "連続値に基づく色付きのゲージを表示します。",
36189
- image: "画像",
36190
- imageDescription: "注釈付きの画像を表示します。",
36191
- indicator: "インジケーター",
36192
- indicatorDescription: "閾値に基づいた色やテキストで表示されるインジケーターを表示します。",
36193
- log: "ログ",
36194
- logDescription: "ノードと重要度レベル別にログを表示します。",
36195
- map: "地図",
36196
- mapDescription: "地図上に点を表示します。",
36197
- parameters: "パラメーター",
36198
- parametersDescription: "データソースのパラメーターを読み取り、設定します。",
36199
- plot: "プロット",
36200
- plotDescription: "時間または他の値に対する数値をプロットします。",
36201
- publish: "パブリッシュ",
36202
- publishDescription: "データソースにメッセージをパブリッシュします(ライブ接続のみ)。 ",
36203
- rawMessages: "生データのメッセージ",
36204
- rawMessagesDescription: "トピックメッセージを検査します。",
36205
- ROSDiagnosticsDetail: "診断 - 詳細 (ROS)",
36206
- ROSDiagnosticsDetailDescription: "特定のhardware_idのROS DiagnosticArrayメッセージを表示します。",
36207
- ROSDiagnosticSummary: "診断 - 概要 (ROS)",
36208
- ROSDiagnosticSummaryDescription: "すべてのROS DiagnosticArrayメッセージの概要を表示します。",
36209
- stateTransitions: "ステートトランジション",
36210
- stateTransitionsDescription: "時間とともに値が変化するときを追跡します。",
36211
- tab: "タブ",
36212
- tabDescription: "複数のパネルをタブでグループ化して表示します。",
36213
- table: "テーブル",
36214
- tableDescription: "トピックメッセージを表形式で表示します。",
36215
- teleop: "Teleop",
36216
- teleopDescription: "ライブ接続でロボットを操作します。",
36217
- topicGraph: "トピックグラフ",
36218
- topicGraphDescription: "アクティブなノード、トピック、サービスのグラフを表示します。",
36219
- userScripts: "ユーザースクリプト",
36220
- userScriptsDescription: "TypeScriptでカスタムデータ変換を記述します。以前はNode Playgroundとして知られていました。",
36221
- variableSlider: "変数スライダー",
36222
- variableSliderDescription: "レイアウトの数値変数を更新します。",
36223
- settings: undefined,
36224
- };
36225
-
36226
- // This Source Code Form is subject to the terms of the Mozilla Public
36227
- // License, v2.0. If a copy of the MPL was not distributed with this
36228
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36229
- const panelSettings$1 = {
36230
- currentSettingsPanelName: "{{title}}パネルの設定",
36231
- importOrExportSettings: "設定のインポート/エクスポート",
36232
- importOrExportSettingsWithEllipsis: "設定のインポート/エクスポート…",
36233
- loadingPanelSettings: "パネル設定を読み込んでいます…",
36234
- panelDoesNotHaveSettings: "このパネルには設定がありません。",
36235
- panelName: "{{title}}パネル",
36236
- panelSettings: "パネル設定",
36237
- resetToDefaults: "デフォルトにリセット",
36238
- selectAPanelToEditItsSettings: "編集するパネルを選択してください。",
36239
- unknown: "不明",
36240
- };
36241
-
36242
- // This Source Code Form is subject to the terms of the Mozilla Public
36243
- // License, v2.0. If a copy of the MPL was not distributed with this
36244
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36245
- const panelToolbar$1 = {
36246
- changePanel: "パネルを変更",
36247
- fullscreen: "全画面表示",
36248
- more: "もっと見る",
36249
- removePanel: "パネルを削除",
36250
- splitDown: "下に分割",
36251
- splitRight: "右に分割",
36252
- };
36253
-
36254
- // This Source Code Form is subject to the terms of the Mozilla Public
36255
- // License, v2.0. If a copy of the MPL was not distributed with this
36256
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36257
- const plot$1 = {
36258
- accumulatedPath: "パス(累積)",
36259
- addSeries: "シリーズを追加する",
36260
- clickToAddASeries: "シリーズを追加するにはクリック",
36261
- color: "カラー",
36262
- currentPath: "パス(現在)",
36263
- deleteSeries: "シリーズを削除する",
36264
- floating: "フローティング",
36265
- general: "一般的な",
36266
- headerStamp: "ヘッダースタンプ",
36267
- hidden: "隠す",
36268
- index: "インデックス",
36269
- label: "ラベル",
36270
- left: "左",
36271
- legend: "凡例",
36272
- lineSize: undefined,
36273
- max: "最大",
36274
- maxXError: "X最大値は、X最小値より大きくなければなりません。",
36275
- maxYError: "Y最大値は、Y最小値より大きくなければなりません。",
36276
- messagePath: "メッセージパス",
36277
- min: "最小",
36278
- position: "ポジション",
36279
- receiveTime: "受信時間",
36280
- secondsRange: "範囲(秒数)",
36281
- series: "シリーズ",
36282
- showLabels: "ラベルを表示する",
36283
- showLine: undefined,
36284
- showValues: "値を表示する",
36285
- syncWithOtherPlots: "他のプロットと同期する",
36286
- timestamp: "タイムスタンプ",
36287
- top: "上",
36288
- value: "値",
36289
- xAxis: "X軸",
36290
- yAxis: "Y軸",
36291
- resetView: undefined,
36292
- };
36293
-
36294
- // This Source Code Form is subject to the terms of the Mozilla Public
36295
- // License, v2.0. If a copy of the MPL was not distributed with this
36296
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36297
- const problemsList$1 = {
36298
- noDetailsProvided: "詳細は提供されていません",
36299
- noProblemsFound: "問題は見つかりませんでした",
36300
- };
36301
-
36302
- // This Source Code Form is subject to the terms of the Mozilla Public
36303
- // License, v2.0. If a copy of the MPL was not distributed with this
36304
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36305
- const settingsEditor$1 = {
36306
- clearSearch: "検索をクリアする",
36307
- filterList: "リストをフィルタリングする",
36308
- filterListHelp: "可視性でリストをフィルタリングする",
36309
- general: "一般的な",
36310
- hideAll: "すべて非表示",
36311
- labels: "ラベル",
36312
- listAll: "すべてのリスト",
36313
- listInvisible: "非表示のリスト",
36314
- listVisible: "表示されているリスト",
36315
- searchPanelSettings: "検索パネルの設定…",
36316
- showAll: "すべて表示",
36317
- title: "タイトル",
36318
- };
36319
-
36320
- // This Source Code Form is subject to the terms of the Mozilla Public
36321
- // License, v2.0. If a copy of the MPL was not distributed with this
36322
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36323
- const stateTransitions$1 = {
36324
- max: "最大",
36325
- maxXError: "Xの最大値はXの最小値より大きくなければなりません。",
36326
- min: "最小",
36327
- secondsRange: "範囲(秒)",
36328
- xAxis: "X軸",
36329
- };
36330
-
36331
- // This Source Code Form is subject to the terms of the Mozilla Public
36332
- // License, v2.0. If a copy of the MPL was not distributed with this
36333
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36334
- const threeDee$1 = {
36335
- // Common
36336
- color: "色",
36337
- colorMode: "カラーモード",
36338
- frame: "フレーム",
36339
- lineWidth: "ライン幅",
36340
- position: "位置",
36341
- reset: "リセット",
36342
- rotation: "回転",
36343
- scale: "スケール",
36344
- gradient: "グラデーション",
36345
- type: "タイプ",
36346
- topic: "トピック",
36347
- // Frame
36348
- age: "経過時間",
36349
- axisScale: "軸のスケール",
36350
- displayFrame: "フレームを表示する",
36351
- displayFrameHelp: "カメラを配置するための座標フレームです。カメラの位置と向きは、このフレームの原点を基準とした相対的なものとなります。",
36352
- editable: "編集可能",
36353
- enablePreloading: "事前の読み込みを有効にする",
36354
- fixed: "固定",
36355
- followMode: "フォローモード",
36356
- followModeHelp: "再生中のカメラの動作を変更し、表示フレームをフォローするかどうかを選択できます。",
36357
- frameNotFound: "フレーム {{frameId}} が見つかりません",
36358
- hideAll: "すべて非表示",
36359
- historySize: "履歴サイズ",
36360
- labels: "ラベル",
36361
- labelSize: "ラベルのサイズ",
36362
- lineColor: "ラインの色",
36363
- noCoordinateFramesFound: "座標フレームが見つかりません",
36364
- parent: "親",
36365
- pose: "ポーズ",
36366
- rotationOffset: "回転オフセット",
36367
- settings: "設定",
36368
- showAll: "すべて表示",
36369
- transforms: "変換",
36370
- translation: "変換",
36371
- translationOffset: "変換オフセット",
36372
- // Scene
36373
- background: "背景",
36374
- debugPicking: "デバッグピッキング",
36375
- ignoreColladaUpAxis: "COLLADA <up_axis> を無視",
36376
- ignoreColladaUpAxisHelp: "COLLADA ファイル内の <up_axis> タグを無視することで、rviz の動作に合わせます。",
36377
- labelScale: "ラベルのスケール",
36378
- labelScaleHelp: "すべてのラベルに適用するスケールファクター",
36379
- meshUpAxis: "メッシュの上軸",
36380
- meshUpAxisHelp: "方向を使用してメッシュを読み込むときに '上' として使用する方向(STL および OBJ)",
36381
- renderStats: "レンダリングの統計情報",
36382
- scene: "シーン",
36383
- takeEffectAfterReboot: "この設定は再起動後に有効になります。",
36384
- YUp: "Y-up",
36385
- ZUp: "Z-up",
36386
- // Camera
36387
- distance: "距離",
36388
- far: "Far",
36389
- fovy: "Y軸 FOV",
36390
- near: "Near",
36391
- perspective: "遠近法",
36392
- phi: "Phi",
36393
- planarProjectionFactor: "平面投影係数",
36394
- syncCamera: "カメラを同期する",
36395
- syncCameraHelp: "この設定が有効になっている他のパネルとカメラを同期します。",
36396
- target: "ターゲット",
36397
- theta: "Theta",
36398
- view: "ビュー",
36399
- // Topics
36400
- topics: "トピック",
36401
- // Custom layers
36402
- addGrid: "グリッドを追加する",
36403
- addURDF: "URDF を追加する",
36404
- customLayers: "カスタムレイヤー",
36405
- delete: "削除",
36406
- divisions: "分割数",
36407
- grid: "グリッド",
36408
- size: "サイズ",
36409
- // Image annotations
36410
- imageAnnotations: "画像アノテーション",
36411
- resetView: "ビューをリセット",
36412
- // Images
36413
- cameraInfo: "カメラ情報",
36414
- // Occupancy Grids
36415
- colorModeCustom: "カスタム",
36416
- colorModeRaw: "生データ",
36417
- colorModeRvizCostmap: "Costmap",
36418
- colorModeRvizMap: "Map",
36419
- frameLock: "フレームロック",
36420
- invalidColor: "無効な色",
36421
- maxColor: "最大色",
36422
- minColor: "最小色",
36423
- unknownColor: "不明な色",
36424
- // Point Extension Utils
36425
- decayTime: "減衰時間",
36426
- decayTimeDefaultZeroSeconds: "0秒",
36427
- pointShape: "ポイント形状",
36428
- pointShapeCircle: "円",
36429
- pointShapeSquare: "四角",
36430
- pointSize: "ポイントサイズ",
36431
- // Color Mode
36432
- colorBy: "色指定",
36433
- colorModeBgraPacked: "BGRA(パック)",
36434
- colorModeBgrPacked: "BGR(パック)",
36435
- colorModeColorMap: "カラーマップ",
36436
- colorModeFlat: "フラット",
36437
- colorModeRgbaSeparateFields: "RGBA(個別フィールド)",
36438
- flatColor: "フラットカラー",
36439
- opacity: "不透明度",
36440
- valueMax: "最大値",
36441
- valueMin: "最小値",
36442
- // Markers
36443
- selectionVariable: "選択変数",
36444
- selectionVariableHelp: "マーカーを選択すると、このグローバル変数がマーカーIDに設定されます",
36445
- showOutline: "アウトラインを表示",
36446
- // Poses
36447
- covariance: "共分散",
36448
- covarianceColor: "共分散色",
36449
- poseDisplayTypeArrow: "矢印",
36450
- poseDisplayTypeAxis: "軸",
36451
- poseDisplayTypeLine: "ライン",
36452
- // Publish
36453
- publish: "公開",
36454
- publishTopicHelp: "公開するトピック",
36455
- publishTypeHelp: "シーンをクリックする際に公開するメッセージのタイプ",
36456
- publishTypePoint: "ポイント(geometry_msgs/Point)",
36457
- publishTypePose: "ポーズ(geometry_msgs/PoseStamped)",
36458
- publishTypePoseEstimate: "ポーズ推定(geometry_msgs/PoseWithCovarianceStamped)",
36459
- thetaDeviation: "シータ偏差",
36460
- thetaDeviationHelp: "ポーズ推定で公開するシータの標準偏差",
36461
- xDeviation: "X偏差",
36462
- xDeviationHelp: "ポーズ推定で公開するXの標準偏差",
36463
- yDeviation: "Y偏差",
36464
- yDeviationHelp: "ポーズ推定で公開するYの標準偏差",
36465
- };
36466
-
36467
- const topicList$1 = {
36468
- anErrorOccurred: "エラーが発生しました",
36469
- clearFilter: "フィルターをクリア",
36470
- copyMessagePath: "メッセージパスをコピー",
36471
- copyMessagePaths: "選択したメッセージパスをコピー",
36472
- copySchemaName: "スキーマ名をコピー",
36473
- copyTopicName: "トピック名をコピー",
36474
- copyTopicNames: "選択したトピック名をコピー",
36475
- noDataSourceSelected: "データソースが選択されていません",
36476
- noTopicsAvailable: "利用可能なトピックがありません。",
36477
- noTopicsOrDatatypesMatching: "一致するトピックやデータタイプがありません",
36478
- searchBarPlaceholder: "トピックまたはスキーマ名でフィルター…",
36479
- waitingForConnection: "接続を待っています",
36480
- waitingForData: "データ待ち…",
36481
- };
36482
-
36483
- // This Source Code Form is subject to the terms of the Mozilla Public
36484
- // License, v2.0. If a copy of the MPL was not distributed with this
36485
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36486
- const workspace$1 = {
36487
- events: "イベント",
36488
- panel: "パネル",
36489
- performance: "パフォーマンス",
36490
- problems: "問題",
36491
- studioLogs: "ログ",
36492
- topics: "トピック",
36493
- variables: "変数",
36494
- };
36495
-
36496
- // This Source Code Form is subject to the terms of the Mozilla Public
36497
- // License, v2.0. If a copy of the MPL was not distributed with this
36498
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36499
-
36500
- var ja = /*#__PURE__*/Object.freeze({
36501
- __proto__: null,
36502
- addPanel: addPanel$1,
36503
- appBar: appBar$1,
36504
- appSettings: appSettings$1,
36505
- dataSourceInfo: dataSourceInfo$1,
36506
- desktopWindow: desktopWindow$1,
36507
- general: general$1,
36508
- incompatibleLayoutVersion: incompatibleLayoutVersion$1,
36509
- log: log$3,
36510
- openDialog: openDialog$1,
36511
- panelConfigVersionGuard: panelConfigVersionGuard$1,
36512
- panelSettings: panelSettings$1,
36513
- panelToolbar: panelToolbar$1,
36514
- panels: panels$1,
36515
- plot: plot$1,
36516
- problemsList: problemsList$1,
36517
- settingsEditor: settingsEditor$1,
36518
- stateTransitions: stateTransitions$1,
36519
- threeDee: threeDee$1,
36520
- topicList: topicList$1,
36521
- workspace: workspace$1
36522
- });
36523
-
36524
- const addPanel = {
36525
- addPanel: "添加面板",
36526
- noLayoutSelected: "<selectLayoutLink>选择一个布局</selectLayoutLink>来开始使用!",
36527
- noPanelsMatchSearchCriteria: "没有符合搜索条件的面板。",
36528
- searchPanels: "搜索面板",
36529
- selectPanelToAddToLayout: "在下面选择一个面板,将其添加到你的布局中。",
36530
- };
36531
-
36532
- // This Source Code Form is subject to the terms of the Mozilla Public
36533
- // License, v2.0. If a copy of the MPL was not distributed with this
36534
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36535
- const appBar = {
36536
- about: "关于",
36537
- addPanel: "添加面板",
36538
- documentation: "文档",
36539
- exploreSampleData: "探索样本数据",
36540
- exportLayoutToFile: "导出布局到文件……",
36541
- extensions: "扩展",
36542
- file: "文件",
36543
- help: "帮助",
36544
- hideLeftSidebar: "隐藏左侧边栏",
36545
- hideRightSidebar: "隐藏右侧边栏",
36546
- importLayoutFromFile: "通过文件导入布局……",
36547
- joinOurSlack: "加入我们的 Slack",
36548
- joinSlackCommunity: "加入 Slack 社区",
36549
- noDataSource: "没有数据源",
36550
- open: "打开……",
36551
- openConnection: "打开连接……",
36552
- openLocalFile: "打开本地文件……",
36553
- recentDataSources: "最近使用的数据源",
36554
- settings: "设置",
36555
- showLeftSidebar: "显示左侧边栏",
36556
- showRightSidebar: "显示右侧边栏",
36557
- signIn: "登录",
36558
- signOut: "登出",
36559
- unknown: "未知",
36560
- userProfile: "用户资料",
36561
- view: "查看",
36562
- viewData: "查看数据",
36563
- viewOurDocs: "查看我们的文档",
36564
- profile: "个人资料",
36565
- };
36566
-
36567
- // This Source Code Form is subject to the terms of the Mozilla Public
36568
- // License, v2.0. If a copy of the MPL was not distributed with this
36569
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36570
- const appSettings = {
36571
- about: "关于",
36572
- advanced: "高级",
36573
- askEachTime: "每次询问",
36574
- colorScheme: "配色方案",
36575
- dark: "暗色",
36576
- debugModeDescription: "启用调试 Foxglove 的面板和功能",
36577
- desktopApp: "桌面应用",
36578
- displayTimestampsIn: "显示时间戳在",
36579
- experimentalFeatures: "实验性功能",
36580
- experimentalFeaturesDescription: "这些功能不稳定,不建议日常使用。",
36581
- extensions: "扩展",
36582
- followSystem: "跟随系统",
36583
- general: "通用",
36584
- language: "语言",
36585
- layoutDebugging: "布局调试",
36586
- layoutDebuggingDescription: "显示用于开发和调试布局存储的额外控件。",
36587
- light: "亮色",
36588
- messageRate: "消息速率",
36589
- noExperimentalFeatures: "目前没有实验性的功能。",
36590
- openLinksIn: "打开链接",
36591
- ros: "ROS",
36592
- settings: "设置",
36593
- timestampFormat: "时间戳格式",
36594
- webApp: "网页应用",
36595
- };
36596
-
36597
- // This Source Code Form is subject to the terms of the Mozilla Public
36598
- // License, v2.0. If a copy of the MPL was not distributed with this
36599
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36600
- const dataSourceInfo = {
36601
- currentSource: "当前源",
36602
- dataSource: "数据源",
36603
- duration: "持续时间",
36604
- endTime: "结束时间",
36605
- startTime: "开始时间",
36606
- waitingForConnection: "等待连接……",
36607
- };
36608
-
36609
- // This Source Code Form is subject to the terms of the Mozilla Public
36610
- // License, v2.0. If a copy of the MPL was not distributed with this
36611
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36612
- const desktopWindow = {
36613
- advanced: "高级",
36614
- checkForUpdates: "检查更新……",
36615
- edit: "编辑",
36616
- file: "文件",
36617
- inspectSharedWorker: "检查共享工作者……",
36618
- newWindow: "新建窗口",
36619
- noSharedWorkers: "没有共享工作者",
36620
- settings: "设置……",
36621
- view: "视图",
36622
- };
36623
-
36624
- // This Source Code Form is subject to the terms of the Mozilla Public
36625
- // License, v2.0. If a copy of the MPL was not distributed with this
36626
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36627
- // Generic global translation
36628
- const general = {
36629
- foxglove: "Foxglove",
36630
- learnMore: "了解更多",
36631
- on: "开",
36632
- off: "关",
36633
- auto: "自动",
36634
- };
36635
-
36636
- // This Source Code Form is subject to the terms of the Mozilla Public
36637
- // License, v2.0. If a copy of the MPL was not distributed with this
36638
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36639
- const incompatibleLayoutVersion = {
36640
- desktopText: "此版面是使用较新版本的 Foxglove Studio 制作的。请从以下网址更新至最新版本 ",
36641
- title: "布局版本不兼容",
36642
- webText: "此版面是使用较新版本的 Foxglove Studio 制作的。请刷新浏览器。",
36643
- };
36644
-
36645
- // This Source Code Form is subject to the terms of the Mozilla Public
36646
- // License, v2.0. If a copy of the MPL was not distributed with this
36647
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36648
- const log$2 = {
36649
- topicError: "话题 {{topic}} 不可用",
36650
- topic: "话题",
36651
- hideAll: "隐藏全部",
36652
- minLogLevel: "日志级别",
36653
- nameFilter: "命名空间",
36654
- showAll: "显示全部",
36655
- };
36656
-
36657
- // This Source Code Form is subject to the terms of the Mozilla Public
36658
- // License, v2.0. If a copy of the MPL was not distributed with this
36659
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36660
- const openDialog = {
36661
- canBeShared: "与队友分享数据文件、可视化布局和自定义扩展程序",
36662
- collaborateTitle: "使用 Foxglove 数据平台加速开发",
36663
- convenientWebInterface: "使用一个方便的网络界面,以闪电般的速度标记、搜索和检索数据",
36664
- createAFreeAccount: "创建免费帐户",
36665
- exploreSampleData: "探索样本数据",
36666
- joinOurCommunity: "加入我们的社区",
36667
- joinOurCommunityDescription: "在 Slack 上与我们的开发人员和用户交流,或在 GitHub 上提出问题。",
36668
- joinOurSlack: "加入我们的 Slack",
36669
- learnMore: "了解更多",
36670
- needHelp: "需要帮助?",
36671
- needHelpDescription: "查看我们的文档,或查看 Foxglove 博客上的教程。",
36672
- newToFoxgloveStudio: "第一次使用 Foxglove?",
36673
- newToFoxgloveStudioDescription: "从探索一个样本数据集开始,或查看我们的文档。",
36674
- openAGitHubIssue: "打开 GitHub issue",
36675
- openConnection: "打开连接",
36676
- openConnectionDescription: "连接到实时机器人或服务器。",
36677
- openDataSource: "打开数据源",
36678
- openLocalFile: "打开本地文件",
36679
- openLocalFileDescription: "直接从本地文件系统可视化数据。",
36680
- openUrl: "上传和共享数据",
36681
- openUrlDescription: "使用 Foxglove 数据平台与您的团队共享数据。",
36682
- recentDataSources: "最近使用的数据源",
36683
- secureStorageOfData: "安全地存储 PB 级的 ROS 或自定义数据",
36684
- seeTutorials: "查看教程",
36685
- shareLayouts: "分享布局",
36686
- signIn: "登录",
36687
- startCollaborating: "与您的 Foxglove 组织开始合作",
36688
- startCollaboratingDescription: "充分利用你的 Foxglove 账户——无论你想深入研究你的数据还是与你的团队成员分享工具。",
36689
- uploadToDataPlatform: "上传到数据平台",
36690
- viewOurDocs: "查看我们的文档",
36691
- };
36692
-
36693
- const panelConfigVersionGuard = {
36694
- instructions: "请更新至最新版本的应用程序。",
36695
- warning: "该布局需要该面板的最新版本。",
36696
- };
36697
-
36698
- // This Source Code Form is subject to the terms of the Mozilla Public
36699
- // License, v2.0. If a copy of the MPL was not distributed with this
36700
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36701
- const panels = {
36702
- "3D": "三维",
36703
- "3DPanelDescription": "在三维场景中显示标记、相机图像、网格、URDF 和其他内容。",
36704
- callService: "调用服务",
36705
- callServiceDescription: "调用服务并查看服务调用结果。",
36706
- dataSourceInfo: "数据源信息",
36707
- dataSourceInfoDescription: "查看当前数据源的主题和时间戳等详细信息。",
36708
- gauge: "仪表",
36709
- gaugeDescription: "基于连续值显示彩色仪表。",
36710
- image: "图像",
36711
- imageDescription: "显示带注释的图像。",
36712
- indicator: "指示器",
36713
- indicatorDescription: "基于阈值值显示彩色和/或文本指示器。",
36714
- log: "日志",
36715
- logDescription: "按节点和严重程度级别显示日志。",
36716
- map: "地图",
36717
- mapDescription: "在地图上显示点。",
36718
- parameters: "参数",
36719
- parametersDescription: "读取和设置数据源的参数。",
36720
- plot: "图表",
36721
- plotDescription: "绘制随时间或其他值变化的数字值。",
36722
- publish: "发布",
36723
- publishDescription: "向数据源发布消息(仅限实时连接)。",
36724
- rawMessages: "原始消息",
36725
- rawMessagesDescription: "检查主题消息。",
36726
- ROSDiagnosticsDetail: "诊断 - 详细信息(ROS)",
36727
- ROSDiagnosticsDetailDescription: "显示特定 hardware_id 的 ROS DiagnosticArray 消息。",
36728
- ROSDiagnosticSummary: "诊断 - 概要(ROS)",
36729
- ROSDiagnosticSummaryDescription: "显示所有 ROS DiagnosticArray 消息的摘要。",
36730
- stateTransitions: "状态转换",
36731
- stateTransitionsDescription: "跟踪值随时间变化的情况。",
36732
- tab: "选项卡",
36733
- tabDescription: "将面板分组在选项卡界面中。",
36734
- table: "表格",
36735
- tableDescription: "以表格格式显示主题消息。",
36736
- teleop: "远程操纵",
36737
- teleopDescription: "通过实时连接远程操纵机器人。",
36738
- topicGraph: "主题图",
36739
- topicGraphDescription: "显示活动节点、主题和服务的图形。",
36740
- userScripts: "用户脚本",
36741
- userScriptsDescription: "使用 TypeScript 编写自定义数据转换。以前称为 Node Playground。",
36742
- variableSlider: "变量滑块",
36743
- variableSliderDescription: "更新布局的数字变量值。",
36744
- settings: "设置",
36745
- };
36746
-
36747
- // This Source Code Form is subject to the terms of the Mozilla Public
36748
- // License, v2.0. If a copy of the MPL was not distributed with this
36749
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36750
- const panelSettings = {
36751
- currentSettingsPanelName: "{{title}}面板设置",
36752
- importOrExportSettings: "导入/导出设置",
36753
- importOrExportSettingsWithEllipsis: "导入/导出设置……",
36754
- loadingPanelSettings: "正在加载面板设置……",
36755
- panelDoesNotHaveSettings: "此面板没有任何设置",
36756
- panelName: "{{title}}面板",
36757
- panelSettings: "面板设置",
36758
- resetToDefaults: "重置为默认值",
36759
- selectAPanelToEditItsSettings: "选择一个面板来编辑其设置。",
36760
- unknown: "未知",
36761
- };
36762
-
36763
- // This Source Code Form is subject to the terms of the Mozilla Public
36764
- // License, v2.0. If a copy of the MPL was not distributed with this
36765
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36766
- const panelToolbar = {
36767
- changePanel: "更改面板",
36768
- fullscreen: "全屏",
36769
- more: "更多",
36770
- removePanel: "删除面板",
36771
- splitDown: "向下拆分",
36772
- splitRight: "向右拆分",
36773
- };
36774
-
36775
- // This Source Code Form is subject to the terms of the Mozilla Public
36776
- // License, v2.0. If a copy of the MPL was not distributed with this
36777
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36778
- const plot = {
36779
- accumulatedPath: "地址(累积)",
36780
- addSeries: "添加数据系列",
36781
- clickToAddASeries: "点击来添加数据系列",
36782
- color: "颜色",
36783
- currentPath: "地址(当前)",
36784
- deleteSeries: "删除数据系列",
36785
- floating: "浮动",
36786
- general: "通用",
36787
- headerStamp: "头时间戳",
36788
- hidden: "隐藏",
36789
- index: "索引",
36790
- label: "标签",
36791
- left: "左",
36792
- legend: "图例",
36793
- lineSize: "线宽",
36794
- max: "最大值",
36795
- maxXError: "X 的最大值必须大于 X 的最小值。",
36796
- maxYError: "Y 的最大值必须大于 Y 的最小值。",
36797
- messagePath: "消息地址",
36798
- min: "最小值",
36799
- position: "位置",
36800
- receiveTime: "接收时间",
36801
- secondsRange: "范围(秒)",
36802
- series: "数据系列",
36803
- showLabels: "显示标签",
36804
- showLine: "显示线条",
36805
- showValues: "显示值",
36806
- syncWithOtherPlots: "与其他图表同步",
36807
- timestamp: "时间戳",
36808
- top: "上",
36809
- value: "值",
36810
- xAxis: "X 轴",
36811
- yAxis: "Y 轴",
36812
- resetView: "重置视图",
36813
- };
36814
-
36815
- // This Source Code Form is subject to the terms of the Mozilla Public
36816
- // License, v2.0. If a copy of the MPL was not distributed with this
36817
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36818
- const problemsList = {
36819
- noDetailsProvided: "没有提供细节",
36820
- noProblemsFound: "没有发现问题",
36821
- };
36822
-
36823
- // This Source Code Form is subject to the terms of the Mozilla Public
36824
- // License, v2.0. If a copy of the MPL was not distributed with this
36825
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36826
- const settingsEditor = {
36827
- clearSearch: "清空搜索",
36828
- filterList: "过滤列表",
36829
- filterListHelp: "按照可见性过滤列表",
36830
- general: "通用",
36831
- hideAll: "隐藏全部",
36832
- labels: "标签",
36833
- listAll: "列出全部",
36834
- listInvisible: "列出不可见",
36835
- listVisible: "列出可见",
36836
- searchPanelSettings: "搜索面板设置……",
36837
- showAll: "显示全部",
36838
- title: "标题",
36839
- };
36840
-
36841
- // This Source Code Form is subject to the terms of the Mozilla Public
36842
- // License, v2.0. If a copy of the MPL was not distributed with this
36843
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36844
- const stateTransitions = {
36845
- max: "最大",
36846
- maxXError: "X 最大值必须大于 X 最小值。",
36847
- min: "最小",
36848
- secondsRange: "范围(秒)",
36849
- xAxis: "X 轴",
36850
- };
36851
-
36852
- // This Source Code Form is subject to the terms of the Mozilla Public
36853
- // License, v2.0. If a copy of the MPL was not distributed with this
36854
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36855
- const threeDee = {
36856
- // Common
36857
- color: "颜色",
36858
- colorMode: "颜色模式",
36859
- frame: "参考系",
36860
- lineWidth: "线宽",
36861
- position: "位置",
36862
- reset: "重置",
36863
- rotation: "旋转",
36864
- scale: "刻度",
36865
- gradient: "渐变",
36866
- type: "类型",
36867
- topic: "话题",
36868
- // Frame
36869
- age: "陈旧度",
36870
- axisScale: "轴比例",
36871
- displayFrame: "展示参考系",
36872
- displayFrameHelp: "放置相机用于显示坐标系。相机的位置和方向将相对于该坐标系的原点。",
36873
- editable: "可编辑",
36874
- enablePreloading: "启用预加载",
36875
- fixed: "固定",
36876
- followMode: "跟踪模式",
36877
- followModeHelp: "更改回放期间相机的行为,是否跟踪显示坐标系。",
36878
- frameNotFound: "未找到参考系 {{frameId}}",
36879
- hideAll: "隐藏全部",
36880
- historySize: "历史长度",
36881
- labels: "标签",
36882
- labelSize: "标签大小",
36883
- lineColor: "线颜色",
36884
- noCoordinateFramesFound: "未找到坐标系",
36885
- parent: "父变换",
36886
- pose: "姿态",
36887
- rotationOffset: "旋转偏移",
36888
- settings: "设置",
36889
- showAll: "显示全部",
36890
- transforms: "变换",
36891
- translation: "平移",
36892
- translationOffset: "平移偏移",
36893
- // Scene
36894
- background: "背景",
36895
- debugPicking: "调试拾取",
36896
- ignoreColladaUpAxis: "忽略 COLLADA 的 <up_axis>",
36897
- ignoreColladaUpAxisHelp: "通过忽略 COLLADA 文件中的 <up_axis> 标记,匹配 rviz 的行为",
36898
- labelScale: "标签比例",
36899
- labelScaleHelp: "应用于所有标签的比例因子",
36900
- meshUpAxis: "网格上轴",
36901
- meshUpAxisHelp: "加载缺少方向信息的网格(STL 和 OBJ)时使用的“上”方向",
36902
- renderStats: "渲染统计",
36903
- scene: "场景",
36904
- takeEffectAfterReboot: "此设置需要重新启动以生效",
36905
- YUp: "Y-up",
36906
- ZUp: "Z-up",
36907
- // Camera
36908
- distance: "距离",
36909
- far: "远面",
36910
- fovy: "Y轴视野",
36911
- near: "近面",
36912
- perspective: "透视",
36913
- phi: "方向角",
36914
- planarProjectionFactor: "平面投影因子",
36915
- syncCamera: "同步相机",
36916
- syncCameraHelp: "将相机与其他启用此设置的面板同步。",
36917
- target: "目标",
36918
- theta: "极角",
36919
- view: "视图",
36920
- // Topics
36921
- topics: "话题",
36922
- // Custom layers
36923
- addGrid: "添加网格",
36924
- addURDF: "添加 URDF",
36925
- customLayers: "自定义图层",
36926
- delete: "删除",
36927
- divisions: "划分",
36928
- grid: "网格",
36929
- size: "大小",
36930
- // Image annotations
36931
- imageAnnotations: "图像注释",
36932
- resetView: "重置视图",
36933
- // Images
36934
- cameraInfo: "相机信息",
36935
- // Occupancy Grids
36936
- colorModeCustom: "自定义",
36937
- colorModeRaw: "原始",
36938
- colorModeRvizCostmap: "Costmap",
36939
- colorModeRvizMap: "Map",
36940
- frameLock: "锁定参考系",
36941
- invalidColor: "无效值颜色",
36942
- maxColor: "最大值颜色",
36943
- minColor: "最小值颜色",
36944
- unknownColor: "未知值颜色",
36945
- // Point Extension Utils
36946
- decayTime: "衰减时间",
36947
- pointShape: "点形状",
36948
- pointShapeCircle: "圆形",
36949
- pointShapeSquare: "方形",
36950
- pointSize: "点大小",
36951
- decayTimeDefaultZeroSeconds: "0 秒",
36952
- // Color Mode
36953
- colorBy: "颜色映射值",
36954
- colorModeBgraPacked: "BGRA (堆积)",
36955
- colorModeBgrPacked: "BGR (堆积)",
36956
- colorModeColorMap: "色板",
36957
- colorModeFlat: "单色",
36958
- colorModeRgbaSeparateFields: "RGBA (独立字段)",
36959
- flatColor: "单色",
36960
- opacity: "透明度",
36961
- valueMax: "最大值",
36962
- valueMin: "最小值",
36963
- // Markers
36964
- selectionVariable: "选择变量",
36965
- selectionVariableHelp: "选择标记时,该全局变量将被设置为标记 ID",
36966
- showOutline: "展示轮廓",
36967
- // Poses
36968
- covariance: "协方差",
36969
- covarianceColor: "协方差颜色",
36970
- poseDisplayTypeArrow: "箭头",
36971
- poseDisplayTypeAxis: "轴",
36972
- poseDisplayTypeLine: "线",
36973
- // Publish
36974
- publish: "发布",
36975
- publishTopicHelp: "发布的主题",
36976
- publishTypeHelp: "在场景中点击时要发布的信息类型",
36977
- publishTypePoint: "点 (geometry_msgs/Point)",
36978
- publishTypePose: "姿态 (geometry_msgs/PoseStamped)",
36979
- publishTypePoseEstimate: "姿态估计 (geometry_msgs/PoseWithCovarianceStamped)",
36980
- thetaDeviation: "Theta 偏差",
36981
- thetaDeviationHelp: "与姿势估计值一起发布的 Theta 标准偏差",
36982
- xDeviation: "X 偏差",
36983
- xDeviationHelp: "与姿势估计值一起公布的 X 标准偏差",
36984
- yDeviation: "Y 偏差",
36985
- yDeviationHelp: "与姿势估计值一起发布的 Y 标准偏差",
36986
- };
36987
-
36988
- const topicList = {
36989
- anErrorOccurred: "发生错误",
36990
- clearFilter: "清除筛选",
36991
- copyMessagePath: "复制消息路径",
36992
- copyMessagePaths: "复制所选的消息路径",
36993
- copySchemaName: "复制 schema 名称",
36994
- copyTopicName: "复制主题名称",
36995
- copyTopicNames: "复制所选的主题路径",
36996
- noDataSourceSelected: "未选择数据源",
36997
- noTopicsAvailable: "暂无主题。 ",
36998
- noTopicsOrDatatypesMatching: "没有匹配的主题或数据类型",
36999
- searchBarPlaceholder: "按主题或 schema 名称筛选……",
37000
- waitingForConnection: "等待连接",
37001
- waitingForData: "等待数据……",
37002
- };
37003
-
37004
- // This Source Code Form is subject to the terms of the Mozilla Public
37005
- // License, v2.0. If a copy of the MPL was not distributed with this
37006
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37007
- const workspace = {
37008
- events: "事件",
37009
- panel: "面板",
37010
- performance: "性能",
37011
- problems: "问题",
37012
- studioLogs: "日志",
37013
- topics: "话题",
37014
- variables: "变量",
37015
- };
37016
-
37017
- // This Source Code Form is subject to the terms of the Mozilla Public
37018
- // License, v2.0. If a copy of the MPL was not distributed with this
37019
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37020
-
37021
- var zh = /*#__PURE__*/Object.freeze({
37022
35796
  __proto__: null,
37023
35797
  addPanel: addPanel,
37024
35798
  appBar: appBar,
@@ -37035,7 +35809,6 @@ var zh = /*#__PURE__*/Object.freeze({
37035
35809
  panels: panels,
37036
35810
  plot: plot,
37037
35811
  problemsList: problemsList,
37038
- settingsEditor: settingsEditor,
37039
35812
  stateTransitions: stateTransitions,
37040
35813
  threeDee: threeDee,
37041
35814
  topicList: topicList,
@@ -37045,25 +35818,31 @@ var zh = /*#__PURE__*/Object.freeze({
37045
35818
  // This Source Code Form is subject to the terms of the Mozilla Public
37046
35819
  // License, v2.0. If a copy of the MPL was not distributed with this
37047
35820
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
37048
- const translations = { en, zh, ja };
35821
+
35822
+ const translations = {
35823
+ en
35824
+ };
37049
35825
  const defaultNS = "general";
37050
35826
  async function initI18n(options) {
37051
- const { context = "browser" } = options ?? {};
37052
- if (context === "browser") {
37053
- instance.use(initReactI18next);
37054
- instance.use(Browser);
37055
- }
37056
- await instance.init({
37057
- resources: translations,
37058
- detection: context === "browser"
37059
- ? { order: ["localStorage", "navigator"], caches: ["localStorage"] }
37060
- : undefined,
37061
- fallbackLng: "en",
37062
- defaultNS,
37063
- interpolation: {
37064
- escapeValue: false, // not needed for react as it escapes by default
37065
- },
37066
- });
35827
+ const {
35828
+ context = "browser"
35829
+ } = options !== null && options !== void 0 ? options : {};
35830
+ if (context === "browser") {
35831
+ instance.use(initReactI18next);
35832
+ instance.use(Browser);
35833
+ }
35834
+ await instance.init({
35835
+ resources: translations,
35836
+ detection: context === "browser" ? {
35837
+ order: ["localStorage", "navigator"],
35838
+ caches: ["localStorage"]
35839
+ } : undefined,
35840
+ fallbackLng: "en",
35841
+ defaultNS,
35842
+ interpolation: {
35843
+ escapeValue: false
35844
+ }
35845
+ });
37067
35846
  }
37068
35847
 
37069
35848
  // This Source Code Form is subject to the terms of the Mozilla Public
@@ -37090,40 +35869,37 @@ const PanelLayout = ({
37090
35869
  }, children);
37091
35870
  };
37092
35871
 
37093
- const useStyles = makeStyles()((theme) => ({
37094
- root: {
37095
- whiteSpace: "pre-line",
37096
- code: {
37097
- color: theme.palette.primary.main,
37098
- background: "transparent",
37099
- padding: 0,
37100
- },
37101
- },
37102
- }));
37103
- function EmptyState({ children, className, }) {
37104
- const { classes, cx } = useStyles();
37105
- return (jsx$2(Stack$2, { className: cx(classes.root, className), flex: "auto", alignItems: "center", justifyContent: "center", fullHeight: true, paddingX: 1, children: jsx$2(Typography, { variant: "body2", color: "text.secondary", lineHeight: 1.4, align: "center", children: children }) }));
37106
- }
37107
-
37108
- class ErrorBoundary extends Component {
37109
- state = {
37110
- currentError: undefined,
37111
- };
37112
- componentDidCatch(error, errorInfo) {
37113
- reportError(new AppError(error, errorInfo));
37114
- this.setState({ currentError: { error, errorInfo } });
37115
- }
37116
- render() {
37117
- if (this.state.currentError) {
37118
- const actions = this.props.actions ?? (jsx$2(Stack$2, { fullHeight: true, flex: "auto", alignItems: "flex-end", justifyContent: "flex-end", direction: "row", children: jsx$2(Button$2, { variant: "outlined", color: "secondary", onClick: () => {
37119
- this.setState({ currentError: undefined });
37120
- }, children: "Dismiss" }) }));
37121
- return (jsx$2(ErrorDisplay, { showErrorDetails: this.props.showErrorDetails, hideErrorSourceLocations: this.props.hideErrorSourceLocations, error: this.state.currentError.error, errorInfo: this.state.currentError.errorInfo, content: jsxs(Typography, { children: ["Something went wrong.", " ", jsx$2(Link, { color: "inherit", onClick: () => {
37122
- this.setState({ currentError: undefined });
37123
- }, children: "Dismiss this error" }), " ", "to continue using the app. If the issue persists, try restarting the app."] }), actions: actions }));
37124
- }
37125
- return this.props.children;
35872
+ const useStyles = makeStyles()(theme => ({
35873
+ root: {
35874
+ whiteSpace: "pre-line",
35875
+ code: {
35876
+ color: theme.palette.primary.main,
35877
+ background: "transparent",
35878
+ padding: 0
37126
35879
  }
35880
+ }
35881
+ }));
35882
+ function EmptyState({
35883
+ children,
35884
+ className
35885
+ }) {
35886
+ const {
35887
+ classes,
35888
+ cx
35889
+ } = useStyles();
35890
+ return /*#__PURE__*/React__default.createElement(Stack$1, {
35891
+ className: cx(classes.root, className),
35892
+ flex: "auto",
35893
+ alignItems: "center",
35894
+ justifyContent: "center",
35895
+ fullHeight: true,
35896
+ paddingX: 1
35897
+ }, /*#__PURE__*/React__default.createElement(Typography, {
35898
+ variant: "body2",
35899
+ color: "text.secondary",
35900
+ lineHeight: 1.4,
35901
+ align: "center"
35902
+ }, children));
37127
35903
  }
37128
35904
 
37129
35905
  /**
@@ -37134,13 +35910,15 @@ class ErrorBoundary extends Component {
37134
35910
  * last resort nuclear option when you think that an entire subtree should be purged.
37135
35911
  */
37136
35912
  function RemountOnValueChange(props) {
37137
- // When the value changes, useCallback will create a new component by returning a new
37138
- // function instance. Since this is a completely new component it will remount its entire tree.
37139
- const Parent = useCallback(({ children }) => {
37140
- void props.value; // to suppress eslint complaining about the value in the deps list
37141
- return jsx$2(Fragment, { children: children });
37142
- }, [props.value]);
37143
- return jsx$2(Parent, { children: props.children });
35913
+ // When the value changes, useCallback will create a new component by returning a new
35914
+ // function instance. Since this is a completely new component it will remount its entire tree.
35915
+ const Parent = useCallback(({
35916
+ children
35917
+ }) => {
35918
+ void props.value; // to suppress eslint complaining about the value in the deps list
35919
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
35920
+ }, [props.value]);
35921
+ return /*#__PURE__*/React__default.createElement(Parent, null, props.children);
37144
35922
  }
37145
35923
 
37146
35924
  var css$8 = "@layer reset, base, tokens, recipes, utilities;\n\n.fake-password-input {\n\t-webkit-text-security: disc;\n}\n";
@@ -89707,7 +88485,7 @@ function legacy(parser) {
89707
88485
  return new LanguageSupport(StreamLanguage.define(parser));
89708
88486
  }
89709
88487
  function sql$1(dialectName) {
89710
- return import('./index-TMe-gZmH.js').then(m => m.sql({ dialect: m[dialectName] }));
88488
+ return import('./index-CHf-lJzF.js').then(m => m.sql({ dialect: m[dialectName] }));
89711
88489
  }
89712
88490
  /**
89713
88491
  An array of language descriptions for known language packages.
@@ -89718,7 +88496,7 @@ const languages = [
89718
88496
  name: "C",
89719
88497
  extensions: ["c", "h", "ino"],
89720
88498
  load() {
89721
- return import('./index-Dmt7o837.js').then(m => m.cpp());
88499
+ return import('./index-CgMz_5wT.js').then(m => m.cpp());
89722
88500
  }
89723
88501
  }),
89724
88502
  /*@__PURE__*/LanguageDescription.of({
@@ -89726,7 +88504,7 @@ const languages = [
89726
88504
  alias: ["cpp"],
89727
88505
  extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
89728
88506
  load() {
89729
- return import('./index-Dmt7o837.js').then(m => m.cpp());
88507
+ return import('./index-CgMz_5wT.js').then(m => m.cpp());
89730
88508
  }
89731
88509
  }),
89732
88510
  /*@__PURE__*/LanguageDescription.of({
@@ -89746,7 +88524,7 @@ const languages = [
89746
88524
  name: "Go",
89747
88525
  extensions: ["go"],
89748
88526
  load() {
89749
- return import('./index-2G7qU-Pv.js').then(m => m.go());
88527
+ return import('./index-DAcYzvrJ.js').then(m => m.go());
89750
88528
  }
89751
88529
  }),
89752
88530
  /*@__PURE__*/LanguageDescription.of({
@@ -89761,7 +88539,7 @@ const languages = [
89761
88539
  name: "Java",
89762
88540
  extensions: ["java"],
89763
88541
  load() {
89764
- return import('./index-zwhb2kXc.js').then(m => m.java());
88542
+ return import('./index-BdiTEPoM.js').then(m => m.java());
89765
88543
  }
89766
88544
  }),
89767
88545
  /*@__PURE__*/LanguageDescription.of({
@@ -89776,7 +88554,7 @@ const languages = [
89776
88554
  name: "Jinja",
89777
88555
  extensions: ["j2", "jinja", "jinja2"],
89778
88556
  load() {
89779
- return import('./index-DxP5vLJB.js').then(m => m.jinja());
88557
+ return import('./index-sWxE-73U.js').then(m => m.jinja());
89780
88558
  }
89781
88559
  }),
89782
88560
  /*@__PURE__*/LanguageDescription.of({
@@ -89784,7 +88562,7 @@ const languages = [
89784
88562
  alias: ["json5"],
89785
88563
  extensions: ["json", "map"],
89786
88564
  load() {
89787
- return import('./index-DbzFfooa.js').then(m => m.json());
88565
+ return import('./index-CoMM1e1J.js').then(m => m.json());
89788
88566
  }
89789
88567
  }),
89790
88568
  /*@__PURE__*/LanguageDescription.of({
@@ -89798,14 +88576,14 @@ const languages = [
89798
88576
  name: "LESS",
89799
88577
  extensions: ["less"],
89800
88578
  load() {
89801
- return import('./index-DqwQs3lZ.js').then(m => m.less());
88579
+ return import('./index-DR4oVDM5.js').then(m => m.less());
89802
88580
  }
89803
88581
  }),
89804
88582
  /*@__PURE__*/LanguageDescription.of({
89805
88583
  name: "Liquid",
89806
88584
  extensions: ["liquid"],
89807
88585
  load() {
89808
- return import('./index-Dqa0cme2.js').then(m => m.liquid());
88586
+ return import('./index-BsX7x9hw.js').then(m => m.liquid());
89809
88587
  }
89810
88588
  }),
89811
88589
  /*@__PURE__*/LanguageDescription.of({
@@ -89831,7 +88609,7 @@ const languages = [
89831
88609
  name: "PHP",
89832
88610
  extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
89833
88611
  load() {
89834
- return import('./index-EV3As2dS.js').then(m => m.php());
88612
+ return import('./index-DCFU-A6p.js').then(m => m.php());
89835
88613
  }
89836
88614
  }),
89837
88615
  /*@__PURE__*/LanguageDescription.of({
@@ -89848,28 +88626,28 @@ const languages = [
89848
88626
  extensions: ["BUILD", "bzl", "py", "pyw"],
89849
88627
  filename: /^(BUCK|BUILD)$/,
89850
88628
  load() {
89851
- return import('./index-CQsVrKqv.js').then(m => m.python());
88629
+ return import('./index-BY2rYySO.js').then(m => m.python());
89852
88630
  }
89853
88631
  }),
89854
88632
  /*@__PURE__*/LanguageDescription.of({
89855
88633
  name: "Rust",
89856
88634
  extensions: ["rs"],
89857
88635
  load() {
89858
- return import('./index-CSvBvTpC.js').then(m => m.rust());
88636
+ return import('./index-CG7ft1qf.js').then(m => m.rust());
89859
88637
  }
89860
88638
  }),
89861
88639
  /*@__PURE__*/LanguageDescription.of({
89862
88640
  name: "Sass",
89863
88641
  extensions: ["sass"],
89864
88642
  load() {
89865
- return import('./index-BBalrlYS.js').then(m => m.sass({ indented: true }));
88643
+ return import('./index-CFMJPxKI.js').then(m => m.sass({ indented: true }));
89866
88644
  }
89867
88645
  }),
89868
88646
  /*@__PURE__*/LanguageDescription.of({
89869
88647
  name: "SCSS",
89870
88648
  extensions: ["scss"],
89871
88649
  load() {
89872
- return import('./index-BBalrlYS.js').then(m => m.sass());
88650
+ return import('./index-CFMJPxKI.js').then(m => m.sass());
89873
88651
  }
89874
88652
  }),
89875
88653
  /*@__PURE__*/LanguageDescription.of({
@@ -89900,7 +88678,7 @@ const languages = [
89900
88678
  name: "WebAssembly",
89901
88679
  extensions: ["wat", "wast"],
89902
88680
  load() {
89903
- return import('./index-CAj2s_yQ.js').then(m => m.wast());
88681
+ return import('./index-DkZPJoOb.js').then(m => m.wast());
89904
88682
  }
89905
88683
  }),
89906
88684
  /*@__PURE__*/LanguageDescription.of({
@@ -89908,7 +88686,7 @@ const languages = [
89908
88686
  alias: ["rss", "wsdl", "xsd"],
89909
88687
  extensions: ["xml", "xsl", "xsd", "svg"],
89910
88688
  load() {
89911
- return import('./index-Demh7UGG.js').then(m => m.xml());
88689
+ return import('./index-DjlVxjDm.js').then(m => m.xml());
89912
88690
  }
89913
88691
  }),
89914
88692
  /*@__PURE__*/LanguageDescription.of({
@@ -89916,7 +88694,7 @@ const languages = [
89916
88694
  alias: ["yml"],
89917
88695
  extensions: ["yaml", "yml"],
89918
88696
  load() {
89919
- return import('./index-DpD1Pyy-.js').then(m => m.yaml());
88697
+ return import('./index-BkS-nZes.js').then(m => m.yaml());
89920
88698
  }
89921
88699
  }),
89922
88700
  // Legacy modes ported from CodeMirror 5
@@ -90705,13 +89483,13 @@ const languages = [
90705
89483
  name: "Vue",
90706
89484
  extensions: ["vue"],
90707
89485
  load() {
90708
- return import('./index-BLwlM8wv.js').then(m => m.vue());
89486
+ return import('./index-BJ3C9hps.js').then(m => m.vue());
90709
89487
  }
90710
89488
  }),
90711
89489
  /*@__PURE__*/LanguageDescription.of({
90712
89490
  name: "Angular Template",
90713
89491
  load() {
90714
- return import('./index-B8xnGl1x.js').then(m => m.angular());
89492
+ return import('./index-6fs6UYaN.js').then(m => m.angular());
90715
89493
  }
90716
89494
  })
90717
89495
  ];
@@ -175764,7 +174542,7 @@ function createRenderDelaySampler() {
175764
174542
  };
175765
174543
  }
175766
174544
 
175767
- const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-Co7XRmuL.js'));
174545
+ const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BPoTaoph.js'));
175768
174546
  const ImagePanelBody = ({
175769
174547
  topic,
175770
174548
  frameRenderedEvent,
@@ -175841,24 +174619,25 @@ const ImagePanel = /*#__PURE__*/React__default.memo(function ImagePanel(props) {
175841
174619
  // This Source Code Form is subject to the terms of the Mozilla Public
175842
174620
  // License, v2.0. If a copy of the MPL was not distributed with this
175843
174621
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
174622
+
175844
174623
  const DEFAULT_CAMERA_STATE = {
175845
- distance: -500,
175846
- perspective: true,
175847
- phi: 89,
175848
- target: [0, 0, 0],
175849
- targetOffset: [0, 0, 0],
175850
- targetOrientation: [0, 1, 1, 1],
175851
- thetaOffset: 180,
175852
- fovy: 60,
175853
- near: 2,
175854
- far: 20000,
174624
+ distance: -500,
174625
+ perspective: localStorage.getItem("perspective") ? localStorage.getItem("perspective") === "true" : true,
174626
+ phi: 89,
174627
+ target: [0, 0, 0],
174628
+ targetOffset: [0, 0, 0],
174629
+ targetOrientation: [0, 1, 1, 1],
174630
+ thetaOffset: 180,
174631
+ fovy: 60,
174632
+ near: 2,
174633
+ far: 20000
175855
174634
  };
175856
174635
 
175857
174636
  // This Source Code Form is subject to the terms of the Mozilla Public
175858
174637
  // License, v2.0. If a copy of the MPL was not distributed with this
175859
174638
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
175860
174639
 
175861
- const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-PLxb-jpm.js'));
174640
+ const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-CjLf14Be.js'));
175862
174641
  const PointCloudPanelBody = ({
175863
174642
  topic,
175864
174643
  frameRenderedEvent,
@@ -175967,4 +174746,4 @@ const PointCloudPanel = /*#__PURE__*/React__default.memo(function PointCloudPane
175967
174746
  }));
175968
174747
  });
175969
174748
 
175970
- export { syntaxTree as $, AnalyticsContext as A, AppEvent as B, isDesktopApp as C, createTheme$1 as D, ErrorDisplay as E, propTypesExports as F, format as G, stringType as H, serializeError as I, stringify$3 as J, createIntl as K, createIntlCache as L, useAnalytics as M, indentNodeProp as N, continuedIndent as O, PropTypes as P, foldNodeProp as Q, styleTags as R, Stack$2 as S, tags$1 as T, LRLanguage as U, LanguageSupport as V, ExternalTokenizer as W, LRParser as X, ifNotIn as Y, completeFromList as Z, _objectWithoutPropertiesLoose$2 as _, makeStyles as a, LocalTokenGroup as a0, flatIndent as a1, delimitedIndent as a2, foldInside as a3, ContextTracker as a4, snippetCompletion as a5, IterMode as a6, NodeWeakMap as a7, EditorView as a8, EditorSelection as a9, html$6 as aa, parseMixed as ab, defineCSSCompletionSource as ac, bracketMatchingHandle as ad, javascriptLanguage as ae, VisualizerConnection as af, VisualizerContext as ag, PanelLayout as ah, ImagePanel as ai, PointCloudPanel as aj, constructKeyForTopicRenderMetrics as ak, globalInputEventMetricsManager as al, globalDecodeMetricsManager as am, globalRenderMetricsManager as an, globalThroughputMetricsManager as ao, FrameStore as ap, getIMUEventEmitter as aq, baseSet as b, createAggregator as c, usePanelCatalog as d, PanelContext as e, flatRest as f, generateUtilityClass as g, PanelCatalogContext as h, isEmpty as i, usePanelStateStore as j, difference as k, usePanelContext as l, murmur2 as m, useMessagePipeline as n, useDefaultPanelTitle as o, useHoverValue as p, useSetHoverValue as q, useClearHoverValue as r, useMessagePipelineGetter as s, usePanelSettingsTreeUpdate as t, useTranslation as u, v4$1 as v, PlayerCapabilities as w, assertNever as x, PlayerPresence as y, isEqual as z };
174749
+ export { ifNotIn as $, AnalyticsContext as A, isEqual as B, AppEvent as C, isDesktopApp as D, ErrorDisplay as E, createTheme$1 as F, propTypesExports as G, DEFAULT_CAMERA_STATE as H, format as I, stringType as J, serializeError as K, stringify$3 as L, createIntl as M, createIntlCache as N, useAnalytics as O, PropTypes as P, indentNodeProp as Q, continuedIndent as R, Stack$1 as S, foldNodeProp as T, styleTags as U, tags$1 as V, LRLanguage as W, LanguageSupport as X, ExternalTokenizer as Y, LRParser as Z, _objectWithoutPropertiesLoose$2 as _, makeStyles as a, completeFromList as a0, syntaxTree as a1, LocalTokenGroup as a2, flatIndent as a3, delimitedIndent as a4, foldInside as a5, ContextTracker as a6, snippetCompletion as a7, IterMode as a8, NodeWeakMap as a9, EditorView as aa, EditorSelection as ab, html$6 as ac, parseMixed as ad, defineCSSCompletionSource as ae, bracketMatchingHandle as af, javascriptLanguage as ag, VisualizerConnection as ah, VisualizerContext as ai, PanelLayout as aj, ImagePanel as ak, PointCloudPanel as al, constructKeyForTopicRenderMetrics as am, globalInputEventMetricsManager as an, globalDecodeMetricsManager as ao, globalRenderMetricsManager as ap, globalThroughputMetricsManager as aq, FrameStore as ar, getIMUEventEmitter as as, baseSet as b, createAggregator as c, usePanelCatalog as d, EmptyState as e, flatRest as f, generateUtilityClass as g, PanelContext as h, isEmpty as i, PanelCatalogContext as j, usePanelStateStore as k, difference as l, murmur2 as m, usePanelContext as n, useMessagePipeline as o, useDefaultPanelTitle as p, useHoverValue as q, useSetHoverValue as r, useClearHoverValue as s, useMessagePipelineGetter as t, useTranslation as u, v4$1 as v, usePanelSettingsTreeUpdate as w, PlayerCapabilities as x, assertNever as y, PlayerPresence as z };