@luxonis/visualizer-protobuf 3.1.4 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/{FoxgloveServer-Z9mJitqG.js → FoxgloveServer-B98MHUu6.js} +1 -1
  2. package/dist/{communicator-t3uE4_km.js → communicator-Bzkx3Qfr.js} +1 -1
  3. package/dist/{depth-Ct_zm8Rq.js → depth-DlC6A3Te.js} +92 -92
  4. package/dist/{deserialization.worker-DvXlnMzb.js → deserialization.worker-BPsjKVe4.js} +49 -10
  5. package/dist/{foxglove-protocol-DTBud3kT.js → foxglove-protocol-yHdoBNaD.js} +1 -1
  6. package/dist/{index-C_Rypho5.js → index-1RjTt6HK.js} +7 -7
  7. package/dist/{index-1D5S7eR3.js → index-BF6pGj6y.js} +60 -101
  8. package/dist/{index-DnPkbSwI.js → index-BOEXymjd.js} +5 -5
  9. package/dist/{index-CrogdRc3.js → index-Bcd7r8Iv.js} +5 -5
  10. package/dist/{index-BWUFvnnr.js → index-Bi4nJb4U.js} +143 -1384
  11. package/dist/{index-CEJd4Yuv.js → index-Bnw5i4J9.js} +5 -5
  12. package/dist/{index-CfSbEMmb.js → index-BoqJy5eD.js} +5 -5
  13. package/dist/{index-Xp6XXYGL.js → index-C5yt-flE.js} +5 -5
  14. package/dist/{index-DRTvKm-0.js → index-CHlhmU5r.js} +5 -5
  15. package/dist/{index-CtcRTdcC.js → index-CKfc_K3x.js} +5 -5
  16. package/dist/{index-C-rWRmE5.js → index-CjcnWHBX.js} +5 -5
  17. package/dist/{index-DpfKCYgk.js → index-D-ixoHgF.js} +5 -5
  18. package/dist/{index-4r5XO2hY.js → index-DLW4CyCW.js} +5 -5
  19. package/dist/{index-D4NfQEba.js → index-DLZ3xvY3.js} +5 -5
  20. package/dist/{index-DXHvsHzl.js → index-DOEAktbW.js} +5 -5
  21. package/dist/{index-Z2_pOHuN.js → index-DQXLqhI5.js} +5 -5
  22. package/dist/{index-DrXETBmj.js → index-DRcGifo6.js} +5 -5
  23. package/dist/{index-I7fQaE0_.js → index-DhI-rSJS.js} +5 -5
  24. package/dist/{index-BEfrzxM3.js → index-Dqm1x8G2.js} +1 -1
  25. package/dist/{index-Dgmw82OA.js → index-Drd3hxmz.js} +5 -5
  26. package/dist/{index-DUpgA7e6.js → index-mot3qpp9.js} +5 -5
  27. package/dist/index.js +5 -5
  28. package/dist/lib/src/messaging/deserialization/video/h264.d.ts.map +1 -1
  29. package/dist/lib/src/messaging/deserialization/video/h264.js +14 -1
  30. package/dist/lib/src/messaging/deserialization/video/h264.js.map +1 -1
  31. package/dist/lib/src/messaging/deserialization/video/h265.d.ts.map +1 -1
  32. package/dist/lib/src/messaging/deserialization/video/h265.js +34 -4
  33. package/dist/lib/src/messaging/deserialization/video/h265.js.map +1 -1
  34. package/dist/lib/src/output.css +1 -1
  35. package/dist/lib/src/protobuf.generated/EncodedFrame.js +1 -1
  36. package/dist/lib/src/protobuf.generated/EncodedFrame.js.map +1 -1
  37. package/dist/lib/src/protobuf.generated/Event.js +1 -1
  38. package/dist/lib/src/protobuf.generated/Event.js.map +1 -1
  39. package/dist/lib/src/protobuf.generated/IMUData.js +1 -1
  40. package/dist/lib/src/protobuf.generated/IMUData.js.map +1 -1
  41. package/dist/lib/src/protobuf.generated/ImageAnnotations.js +1 -1
  42. package/dist/lib/src/protobuf.generated/ImageAnnotations.js.map +1 -1
  43. package/dist/lib/src/protobuf.generated/ImgDetections.js +1 -1
  44. package/dist/lib/src/protobuf.generated/ImgDetections.js.map +1 -1
  45. package/dist/lib/src/protobuf.generated/ImgFrame.js +1 -1
  46. package/dist/lib/src/protobuf.generated/ImgFrame.js.map +1 -1
  47. package/dist/lib/src/protobuf.generated/PointCloudData.js +1 -1
  48. package/dist/lib/src/protobuf.generated/PointCloudData.js.map +1 -1
  49. package/dist/lib/src/protobuf.generated/RGBDData.js +1 -1
  50. package/dist/lib/src/protobuf.generated/RGBDData.js.map +1 -1
  51. package/dist/lib/src/protobuf.generated/SegmentationMask.js +1 -1
  52. package/dist/lib/src/protobuf.generated/SegmentationMask.js.map +1 -1
  53. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js +1 -1
  54. package/dist/lib/src/protobuf.generated/SpatialImgDetections.js.map +1 -1
  55. package/dist/lib/src/protobuf.generated/common.js +1 -1
  56. package/dist/lib/src/protobuf.generated/common.js.map +1 -1
  57. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.d.ts.map +1 -1
  58. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js +10 -0
  59. package/dist/packages/studio-base/src/panels/ThreeDeeRender/Renderer.js.map +1 -1
  60. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.d.ts.map +1 -1
  61. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js +23 -14
  62. package/dist/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.js.map +1 -1
  63. package/dist/{protobuf-BQPUfAzh.js → protobuf-Be0G3NFz.js} +8 -8
  64. package/dist/{worker-IhN8LKNl.js → worker-0Q6os6Ck.js} +4 -4
  65. package/dist/{worker-ChcSJthL.js → worker-NFznpx6V.js} +3 -3
  66. package/package.json +1 -1
@@ -1,13 +1,13 @@
1
1
  'use client';
2
- import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, b as _objectSpread2, p as protobufsBySchema, c as protobufSchemaNameToType, g as getDefaultExportFromCjs, d as _objectWithoutProperties$2, e as _extends$2, f as commonjsGlobal } from './protobuf-BQPUfAzh.js';
2
+ import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, b as _objectSpread2, p as protobufsBySchema, c as protobufSchemaNameToType, g as getDefaultExportFromCjs, d as _objectWithoutProperties$2, e as _extends$2, f as commonjsGlobal } from './protobuf-Be0G3NFz.js';
3
3
  import { L as Logger } from './logger-Bqy1nuLj.js';
4
- import { L as Logger$1, d as dist$1, c as createDecodingError, r as reportError, A as AppError, b as baseFlatten, a as baseEach, e 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, K as uniq$2, M as useShallowMemo, N as CurrentLayoutContext, O as MessageOrderTracker, P as AppConfigurationContext, Q as DecodingError } from './depth-Ct_zm8Rq.js';
4
+ import { d as dist$1, e as estimateObjectSize, c as createDecodingError, r as reportError, A as AppError, b as baseFlatten, a as baseEach, f as baseIteratee, g as baseDifference, h as getTag, i as baseKeys, j as baseIsEqual, k as castPath, t as toKey, l as baseGet, m as hasIn, s as sendNotification, n as shallowequal, u as useGuaranteedContext, o as getPanelIdsInsideTabPanels, p as getPanelTypeFromId, T as TAB_PANEL_TYPE, q as removePanelFromTabPanel, v as getPanelIdForType, w as getPathFromNode, x as updateTabPanelLayout, y as getSaveConfigsPayloadForAddedPanel, z as replaceAndRemovePanels, B as inlineTabPanelLayouts, C as getAllPanelIds, D as DEFAULT_TAB_PANEL_CONFIG, E as getConfigsForNestedPanelsInsideTab, F as reorderTabWithinTabPanel, G as moveTabBetweenTabPanels, H as isTabPanelConfig, I as addPanelToTab, J as createAddUpdates, K as filterMap, L as Logger$1, M as uniq$2, N as useShallowMemo, O as CurrentLayoutContext, P as MessageOrderTracker, Q as AppConfigurationContext, R as DecodingError } from './depth-DlC6A3Te.js';
5
5
  import { w as wrap$3, r as releaseProxy, p as proxy } from './comlink-jf8bdrAf.js';
6
6
  import { u as uint8ArrayToUint16Array } from './utils-DmlHZWuo.js';
7
- import { B as BinaryOpcode } from './FoxgloveServer-Z9mJitqG.js';
7
+ import { B as BinaryOpcode } from './FoxgloveServer-B98MHUu6.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-DTBud3kT.js';
10
+ import { p as parseFoxgloveMessage } from './foxglove-protocol-yHdoBNaD.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';
@@ -29,7 +29,7 @@ import { defineGlobalStyles, defineTokens as defineTokens$1, defineKeyframes, de
29
29
 
30
30
  var e=[],t$1=[];function n$1(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t$1[u]={}),a=t$1[u]&&t$1[u][s]?t$1[u][s]:t$1[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
31
31
 
32
- var css$b = "/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-700: oklch(0.373 0.034 259.733);\n --color-white: #fff;\n --spacing: 0.25rem;\n --font-weight-semibold: 600;\n --radius-lg: 0.5rem;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .fixed {\n position: fixed;\n }\n .static {\n position: static;\n }\n .start {\n inset-inline-start: var(--spacing);\n }\n .end {\n inset-inline-end: var(--spacing);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .w-full {\n width: 100%;\n }\n .max-w-\\[60\\%\\%\\] {\n max-width: 60%%;\n }\n .grow {\n flex-grow: 1;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-start {\n align-items: flex-start;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-\\[\\#d3d3d3d9\\] {\n border-color: #d3d3d3d9;\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .text-\\[14px\\]\\/\\[14px\\] {\n font-size: 14px;\n line-height: 14px;\n }\n .text-\\[20px\\]\\/\\[20px\\] {\n font-size: 20px;\n line-height: 20px;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-nowrap {\n text-wrap: nowrap;\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:items-end {\n @media (width >= 80rem) {\n align-items: flex-end;\n }\n }\n .xl\\:pb-\\[2px\\] {\n @media (width >= 80rem) {\n padding-bottom: 2px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-outline-style: solid;\n }\n }\n}\n";
32
+ var css$b = "/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --color-gray-700: oklch(0.373 0.034 259.733);\n --color-white: #fff;\n --spacing: 0.25rem;\n --font-weight-semibold: 600;\n --radius-lg: 0.5rem;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentColor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentColor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .visible {\n visibility: visible;\n }\n .fixed {\n position: fixed;\n }\n .static {\n position: static;\n }\n .start {\n inset-inline-start: var(--spacing);\n }\n .end {\n inset-inline-end: var(--spacing);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .w-full {\n width: 100%;\n }\n .max-w-\\[60\\%\\%\\] {\n max-width: 60%%;\n }\n .grow {\n flex-grow: 1;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-start {\n align-items: flex-start;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded {\n border-radius: 0.25rem;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-\\[\\#d3d3d3d9\\] {\n border-color: #d3d3d3d9;\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .text-\\[14px\\]\\/\\[14px\\] {\n font-size: 14px;\n line-height: 14px;\n }\n .text-\\[20px\\]\\/\\[20px\\] {\n font-size: 20px;\n line-height: 20px;\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-nowrap {\n text-wrap: nowrap;\n }\n .text-gray-700 {\n color: var(--color-gray-700);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .xl\\:flex-row {\n @media (width >= 80rem) {\n flex-direction: row;\n }\n }\n .xl\\:items-end {\n @media (width >= 80rem) {\n align-items: flex-end;\n }\n }\n .xl\\:pb-\\[2px\\] {\n @media (width >= 80rem) {\n padding-bottom: 2px;\n }\n }\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-outline-style: solid;\n }\n }\n}\n";
33
33
  n$1(css$b,{});
34
34
 
35
35
  // This Source Code Form is subject to the terms of the Mozilla Public
@@ -513,90 +513,6 @@ class Condvar {
513
513
  // License, v2.0. If a copy of the MPL was not distributed with this
514
514
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
515
515
 
516
- const log$7 = Logger$1.getLogger("src/index.ts");
517
- /**
518
- * Values of the contants below are a (more or less) informed guesses and not guaranteed to be accurate.
519
- */
520
- const COMPRESSED_POINTER_SIZE = 4; // Pointers use 4 bytes (also on 64-bit systems) due to pointer compression
521
- const OBJECT_BASE_SIZE = 3 * COMPRESSED_POINTER_SIZE; // 3 compressed pointers
522
- // Arrays have an additional length property (1 pointer) and a backing store header (2 pointers)
523
- // See https://stackoverflow.com/a/70550693.
524
- const ARRAY_BASE_SIZE = OBJECT_BASE_SIZE + 3 * COMPRESSED_POINTER_SIZE;
525
- const TYPED_ARRAY_BASE_SIZE = 25 * COMPRESSED_POINTER_SIZE; // byteLength, byteOffset, ..., see https://stackoverflow.com/a/45808835
526
- const SMALL_INTEGER_SIZE = COMPRESSED_POINTER_SIZE; // Small integers (up to 31 bits), pointer tagging
527
- const HEAP_NUMBER_SIZE = 8 + 2 * COMPRESSED_POINTER_SIZE; // 4-byte map pointer + 8-byte payload + property pointer
528
- const MAX_NUM_FAST_PROPERTIES = 1020;
529
-
530
- /**
531
- * Estimate the size in bytes of an arbitrary object or primitive.
532
- * @param obj Object or primitive to estimate the size for
533
- * @returns Estimated size in bytes
534
- */
535
- function estimateObjectSize(obj) {
536
- // catches null and undefined
537
- // typeof null == "object"
538
- if (obj == undefined) {
539
- return SMALL_INTEGER_SIZE;
540
- }
541
- switch (typeof obj) {
542
- case "undefined":
543
- case "boolean":
544
- {
545
- return SMALL_INTEGER_SIZE;
546
- }
547
- case "number":
548
- {
549
- return Number.isInteger(obj) ? SMALL_INTEGER_SIZE : HEAP_NUMBER_SIZE;
550
- }
551
- case "bigint":
552
- {
553
- return HEAP_NUMBER_SIZE;
554
- }
555
- case "string":
556
- {
557
- // The string length is rounded up to the next multiple of 4.
558
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Math.ceil(obj.length / 4) * 4;
559
- }
560
- case "object":
561
- {
562
- if (Array.isArray(obj)) {
563
- return COMPRESSED_POINTER_SIZE + ARRAY_BASE_SIZE + Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
564
- } else if (ArrayBuffer.isView(obj)) {
565
- return TYPED_ARRAY_BASE_SIZE + obj.byteLength;
566
- } else if (obj instanceof Set) {
567
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Array.from(obj.values()).reduce((acc, val) => acc + estimateObjectSize(val), 0);
568
- } else if (obj instanceof Map) {
569
- return COMPRESSED_POINTER_SIZE + OBJECT_BASE_SIZE + Array.from(obj.entries()).reduce((acc, [key, val]) => acc + estimateObjectSize(key) + estimateObjectSize(val), 0);
570
- }
571
- let propertiesSize = 0;
572
- const numProps = Object.keys(obj).length;
573
- if (numProps > MAX_NUM_FAST_PROPERTIES) {
574
- // If there are too many properties, V8 stores Objects in dictionary mode (slow properties)
575
- // with each object having a self-contained dictionary. This dictionary contains the key, value
576
- // and details of properties. Below we estimate the size of this additional dictionary. Formula
577
- // adapted from
578
- // medium.com/@bpmxmqd/v8-engine-jsobject-structure-analysis-and-memory-optimization-ideas-be30cfcdcd16
579
- const propertiesDictSize = 16 + 5 * 8 + 2 ** Math.ceil(Math.log2((numProps + 2) * 1.5)) * 3 * 4;
580
- // In return, properties are no longer stored in the properties array, so we subtract that.
581
- propertiesSize = propertiesDictSize - numProps * COMPRESSED_POINTER_SIZE;
582
- }
583
- const valuesSize = Object.values(obj).reduce((acc, val) => acc + estimateObjectSize(val), 0);
584
- return OBJECT_BASE_SIZE + propertiesSize + valuesSize;
585
- }
586
- case "symbol":
587
- case "function":
588
- {
589
- throw new Error(`Can't estimate size of type '${typeof obj}'`);
590
- }
591
- }
592
- log$7.error(`Can't estimate size of type '${typeof obj}'`);
593
- return SMALL_INTEGER_SIZE;
594
- }
595
-
596
- // This Source Code Form is subject to the terms of the Mozilla Public
597
- // License, v2.0. If a copy of the MPL was not distributed with this
598
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
599
-
600
516
 
601
517
  /**
602
518
  * Wraps an instantiated `Worker` and exposes its API in the same way that `Comlink.wrap` does
@@ -1059,7 +975,7 @@ ConfigStore.instance = void 0;
1059
975
 
1060
976
  var _localStorage$getItem;
1061
977
  function initWorker(callback) {
1062
- const worker = new Worker(new URL("deserialization.worker-DvXlnMzb.js", import.meta.url), {
978
+ const worker = new Worker(new URL("deserialization.worker-BPsjKVe4.js", import.meta.url), {
1063
979
  type: "module",
1064
980
  name: `message-decoder`
1065
981
  });
@@ -18698,7 +18614,7 @@ const defaultLogger$1 = buildLogger$1('default', {
18698
18614
  format: parseLogFormat$1(globalThis.ENV?.LOG_FORMAT),
18699
18615
  runtime: globalThis.ENV?.RUNTIME ?? 'development',
18700
18616
  });
18701
- const log$6 = defaultLogger$1;
18617
+ const log$4 = defaultLogger$1;
18702
18618
  globalThis.log = defaultLogger$1;
18703
18619
 
18704
18620
  const customFormats$1 = {
@@ -18730,7 +18646,7 @@ const customFormats$1 = {
18730
18646
  };
18731
18647
  const onIntlError$1 = (error) => {
18732
18648
  if (typeof window !== 'undefined') {
18733
- log$6.fatal(error);
18649
+ log$4.fatal(error);
18734
18650
  }
18735
18651
  };
18736
18652
  const cache$2 = createIntlCache();
@@ -22395,7 +22311,7 @@ class WebRtcBridge extends ArtificialWorker {
22395
22311
  writable: true,
22396
22312
  value: null
22397
22313
  });
22398
- _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-IhN8LKNl.js", import.meta.url), {
22314
+ _classPrivateFieldLooseBase(this, _worker)[_worker] = new Worker(new URL("worker-0Q6os6Ck.js", import.meta.url), {
22399
22315
  type: "module"
22400
22316
  });
22401
22317
  _classPrivateFieldLooseBase(this, _setupArtificialWorker)[_setupArtificialWorker]();
@@ -22716,7 +22632,7 @@ class VisualizerConnection extends FoxgloveConnection {
22716
22632
  let _worker;
22717
22633
  if (type === "ws") {
22718
22634
  _classPrivateFieldLooseBase(this, _url)[_url] = data.connectionUrl;
22719
- _worker = new Worker(new URL("worker-ChcSJthL.js", import.meta.url), {
22635
+ _worker = new Worker(new URL("worker-NFznpx6V.js", import.meta.url), {
22720
22636
  type: "module"
22721
22637
  });
22722
22638
  } else {
@@ -27024,7 +26940,7 @@ n$1(css$a,{});
27024
26940
  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";
27025
26941
  n$1(css$9,{});
27026
26942
 
27027
- const useStyles$4 = makeStyles()(({
26943
+ const useStyles$3 = makeStyles()(({
27028
26944
  palette,
27029
26945
  typography
27030
26946
  }) => ({
@@ -27229,14 +27145,14 @@ const useStyles$4 = makeStyles()(({
27229
27145
  function CssBaseline(props) {
27230
27146
  const {
27231
27147
  classes
27232
- } = useStyles$4();
27148
+ } = useStyles$3();
27233
27149
  return /*#__PURE__*/React__default.createElement("div", {
27234
27150
  className: classes.root
27235
27151
  }, props.children);
27236
27152
  }
27237
27153
 
27238
27154
  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"];
27239
- const useStyles$3 = makeStyles({
27155
+ const useStyles$2 = makeStyles({
27240
27156
  name: "FoxgloveStack"
27241
27157
  })((theme, props) => ({
27242
27158
  root: _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({
@@ -27298,7 +27214,7 @@ const useStyles$3 = makeStyles({
27298
27214
  paddingInlineEnd: theme.spacing(props.paddingInlineEnd)
27299
27215
  })
27300
27216
  }));
27301
- var Stack$2 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27217
+ var Stack$1 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27302
27218
  const {
27303
27219
  alignItems,
27304
27220
  alignSelf,
@@ -27342,7 +27258,7 @@ var Stack$2 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27342
27258
  const {
27343
27259
  classes,
27344
27260
  cx
27345
- } = useStyles$3({
27261
+ } = useStyles$2({
27346
27262
  alignItems,
27347
27263
  alignSelf,
27348
27264
  direction,
@@ -27385,7 +27301,7 @@ var Stack$2 = /*#__PURE__*/forwardRef(function Stack(props, ref) {
27385
27301
  }, rest), children);
27386
27302
  });
27387
27303
 
27388
- const useStyles$2 = makeStyles()(theme => ({
27304
+ const useStyles$1 = makeStyles()(theme => ({
27389
27305
  grid: {
27390
27306
  display: "grid",
27391
27307
  gridTemplateRows: "auto 1fr auto",
@@ -27423,7 +27339,7 @@ function ErrorStacktrace({
27423
27339
  }) {
27424
27340
  const {
27425
27341
  classes
27426
- } = useStyles$2();
27342
+ } = useStyles$1();
27427
27343
  const lines = (hideSourceLocations ? sanitizeStack(stack) : stack).trim().replace(/^\s*at /gm, "").split("\n").map(line => line.trim());
27428
27344
  return /*#__PURE__*/React__default.createElement("pre", {
27429
27345
  className: classes.errorDetailStack
@@ -27441,7 +27357,7 @@ function ErrorDisplay(props) {
27441
27357
  var _props$showErrorDetai, _props$title;
27442
27358
  const {
27443
27359
  classes
27444
- } = useStyles$2();
27360
+ } = useStyles$1();
27445
27361
  const {
27446
27362
  error,
27447
27363
  errorInfo,
@@ -27472,10 +27388,10 @@ function ErrorDisplay(props) {
27472
27388
  }, [error, errorInfo, hideErrorSourceLocations, showErrorDetails]);
27473
27389
  return /*#__PURE__*/React__default.createElement("div", {
27474
27390
  className: classes.grid
27475
- }, /*#__PURE__*/React__default.createElement(Stack$2, {
27391
+ }, /*#__PURE__*/React__default.createElement(Stack$1, {
27476
27392
  gap: 2,
27477
27393
  paddingBottom: 2
27478
- }, /*#__PURE__*/React__default.createElement(Stack$2, null, /*#__PURE__*/React__default.createElement(Typography, {
27394
+ }, /*#__PURE__*/React__default.createElement(Stack$1, null, /*#__PURE__*/React__default.createElement(Typography, {
27479
27395
  variant: "h4",
27480
27396
  gutterBottom: true
27481
27397
  }, (_props$title = props.title) !== null && _props$title !== void 0 ? _props$title : "The app encountered an unexpected error"), /*#__PURE__*/React__default.createElement(Typography, {
@@ -27496,7 +27412,7 @@ function ErrorDisplay(props) {
27496
27412
  }, props.actions));
27497
27413
  }
27498
27414
 
27499
- let ErrorBoundary$1 = class ErrorBoundary extends Component {
27415
+ class ErrorBoundary extends Component {
27500
27416
  constructor(...args) {
27501
27417
  super(...args);
27502
27418
  this.state = {
@@ -27515,7 +27431,7 @@ let ErrorBoundary$1 = class ErrorBoundary extends Component {
27515
27431
  render() {
27516
27432
  if (this.state.currentError) {
27517
27433
  var _this$props$actions;
27518
- const actions = (_this$props$actions = this.props.actions) !== null && _this$props$actions !== void 0 ? _this$props$actions : /*#__PURE__*/React__default.createElement(Stack$2, {
27434
+ const actions = (_this$props$actions = this.props.actions) !== null && _this$props$actions !== void 0 ? _this$props$actions : /*#__PURE__*/React__default.createElement(Stack$1, {
27519
27435
  fullHeight: true,
27520
27436
  flex: "auto",
27521
27437
  alignItems: "flex-end",
@@ -27548,7 +27464,7 @@ let ErrorBoundary$1 = class ErrorBoundary extends Component {
27548
27464
  }
27549
27465
  return this.props.children;
27550
27466
  }
27551
- };
27467
+ }
27552
27468
 
27553
27469
  /** GlobalCss component configures html, body, and #root with theme elements */
27554
27470
  function GlobalCss() {
@@ -33621,7 +33537,7 @@ const moveTab = (panelsState, {
33621
33537
  });
33622
33538
  return savePanelConfigs(panelsState, saveConfigsPayload);
33623
33539
  };
33624
- const addPanel$3 = (panelsState, {
33540
+ const addPanel$1 = (panelsState, {
33625
33541
  tabId,
33626
33542
  id,
33627
33543
  config
@@ -34025,7 +33941,7 @@ function panelsReducer (panelsState, action) {
34025
33941
  case "MOVE_TAB":
34026
33942
  return moveTab(panelsState, action.payload);
34027
33943
  case "ADD_PANEL":
34028
- return addPanel$3(panelsState, action.payload);
33944
+ return addPanel$1(panelsState, action.payload);
34029
33945
  case "DROP_PANEL":
34030
33946
  return dropPanel(panelsState, action.payload);
34031
33947
  case "START_DRAG":
@@ -34379,7 +34295,7 @@ function IncompatibleLayoutVersionAlert(props) {
34379
34295
  }, "OK")));
34380
34296
  }
34381
34297
 
34382
- const log$5 = Logger$1.getLogger("src/index.ts");
34298
+ const log$3 = Logger$1.getLogger("src/index.ts");
34383
34299
  const MAX_SUPPORTED_LAYOUT_VERSION = 1;
34384
34300
 
34385
34301
  /**
@@ -34450,7 +34366,7 @@ function CurrentLayoutProvider({
34450
34366
  // The panel state did not change, so no need to perform layout state
34451
34367
  // updates or layout manager updates.
34452
34368
  if (isEqual(oldData, newData)) {
34453
- log$5.warn("Panel action resulted in identical config:", action);
34369
+ log$3.warn("Panel action resulted in identical config:", action);
34454
34370
  return;
34455
34371
  }
34456
34372
 
@@ -35182,7 +35098,7 @@ const VisualizerContext = /*#__PURE__*/React__default.memo(function VisualizerCo
35182
35098
  value: appConfiguration
35183
35099
  }, /*#__PURE__*/React__default.createElement(DndProvider, {
35184
35100
  backend: HTML5Backend
35185
- }, /*#__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, {
35101
+ }, /*#__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, {
35186
35102
  value: connections
35187
35103
  }, /*#__PURE__*/React__default.createElement(MessagePipelineProvider, null, /*#__PURE__*/React__default.createElement(EventsProvider, null, /*#__PURE__*/React__default.createElement(MosaicContext.Provider, {
35188
35104
  value: mosaicContext
@@ -35193,126 +35109,6 @@ const VisualizerContext = /*#__PURE__*/React__default.memo(function VisualizerCo
35193
35109
  }, /*#__PURE__*/React__default.createElement(PanelStateContextProvider, null, children)))))))))))));
35194
35110
  });
35195
35111
 
35196
- const useStyles$1 = makeStyles({ name: "FoxgloveStack" })((theme, props) => ({
35197
- root: {
35198
- display: props.inline === true ? "inline-flex" : "flex",
35199
- flexDirection: props.direction,
35200
- flex: props.flex,
35201
- flexBasis: props.flexBasis,
35202
- flexShrink: props.flexShrink,
35203
- flexGrow: props.flexGrow,
35204
- flexWrap: props.flexWrap,
35205
- justifyContent: props.justifyContent,
35206
- alignItems: props.alignItems,
35207
- alignContent: props.alignContent,
35208
- alignSelf: props.alignSelf,
35209
- order: props.order,
35210
- overflow: props.overflow,
35211
- overflowX: props.overflowX,
35212
- overflowY: props.overflowY,
35213
- position: props.position,
35214
- ...(props.zeroMinWidth === true && {
35215
- minWidth: 0,
35216
- }),
35217
- ...(props.fullHeight === true && {
35218
- height: "100%",
35219
- }),
35220
- ...(props.fullWidth === true && {
35221
- width: "100%",
35222
- }),
35223
- ...(props.gap != undefined && {
35224
- gap: theme.spacing(props.gap),
35225
- }),
35226
- ...(props.gapX != undefined && {
35227
- rowGap: theme.spacing(props.gapX),
35228
- }),
35229
- ...(props.gapY != undefined && {
35230
- columnGap: theme.spacing(props.gapY),
35231
- }),
35232
- ...(props.padding != undefined && {
35233
- padding: theme.spacing(props.padding),
35234
- }),
35235
- ...(props.paddingX != undefined && {
35236
- paddingLeft: theme.spacing(props.paddingX),
35237
- paddingRight: theme.spacing(props.paddingX),
35238
- }),
35239
- ...(props.paddingY != undefined && {
35240
- paddingTop: theme.spacing(props.paddingY),
35241
- paddingBottom: theme.spacing(props.paddingY),
35242
- }),
35243
- ...(props.paddingTop != undefined && {
35244
- paddingTop: theme.spacing(props.paddingTop),
35245
- }),
35246
- ...(props.paddingBottom != undefined && {
35247
- paddingBottom: theme.spacing(props.paddingBottom),
35248
- }),
35249
- ...(props.paddingLeft != undefined && {
35250
- paddingLeft: theme.spacing(props.paddingLeft),
35251
- }),
35252
- ...(props.paddingRight != undefined && {
35253
- paddingRight: theme.spacing(props.paddingRight),
35254
- }),
35255
- ...(props.paddingBlock != undefined && {
35256
- paddingBlock: theme.spacing(props.paddingBlock),
35257
- }),
35258
- ...(props.paddingBlockStart != undefined && {
35259
- paddingBlockStart: theme.spacing(props.paddingBlockStart),
35260
- }),
35261
- ...(props.paddingBlockEnd != undefined && {
35262
- paddingBlockEnd: theme.spacing(props.paddingBlockEnd),
35263
- }),
35264
- ...(props.paddingInline != undefined && {
35265
- paddingInline: theme.spacing(props.paddingInline),
35266
- }),
35267
- ...(props.paddingInlineStart != undefined && {
35268
- paddingInlineStart: theme.spacing(props.paddingInlineStart),
35269
- }),
35270
- ...(props.paddingInlineEnd != undefined && {
35271
- paddingInlineEnd: theme.spacing(props.paddingInlineEnd),
35272
- }),
35273
- },
35274
- }));
35275
- var Stack$1 = forwardRef(function Stack(props, ref) {
35276
- 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;
35277
- const { classes, cx } = useStyles$1({
35278
- alignItems,
35279
- alignSelf,
35280
- direction,
35281
- flex,
35282
- flexBasis,
35283
- flexGrow,
35284
- flexShrink,
35285
- flexWrap,
35286
- fullHeight,
35287
- fullWidth,
35288
- gap,
35289
- gapX,
35290
- gapY,
35291
- inline,
35292
- justifyContent,
35293
- order,
35294
- overflow,
35295
- overflowX,
35296
- overflowY,
35297
- padding,
35298
- paddingBottom,
35299
- paddingLeft,
35300
- paddingRight,
35301
- paddingTop,
35302
- paddingX,
35303
- paddingY,
35304
- paddingBlock,
35305
- paddingBlockStart,
35306
- paddingBlockEnd,
35307
- paddingInline,
35308
- paddingInlineStart,
35309
- paddingInlineEnd,
35310
- position,
35311
- zeroMinWidth,
35312
- });
35313
- return (jsx$2("div", { ref: ref, className: cx(classes.root, className), style: style, ...rest, children: children }));
35314
- });
35315
-
35316
35112
  function _classCallCheck(a, n) {
35317
35113
  if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
35318
35114
  }
@@ -35696,7 +35492,7 @@ Browser.type = 'languageDetector';
35696
35492
  // License, v2.0. If a copy of the MPL was not distributed with this
35697
35493
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35698
35494
 
35699
- const addPanel$2 = {
35495
+ const addPanel = {
35700
35496
  addPanel: "Add panel",
35701
35497
  noLayoutSelected: "<selectLayoutLink>Select a layout</selectLayoutLink> to get started!",
35702
35498
  noPanelsMatchSearchCriteria: "No panels match search criteria.",
@@ -35708,7 +35504,7 @@ const addPanel$2 = {
35708
35504
  // License, v2.0. If a copy of the MPL was not distributed with this
35709
35505
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35710
35506
 
35711
- const appBar$2 = {
35507
+ const appBar = {
35712
35508
  about: "About",
35713
35509
  addPanel: "Add panel",
35714
35510
  documentation: "Documentation",
@@ -35746,7 +35542,7 @@ const appBar$2 = {
35746
35542
  // License, v2.0. If a copy of the MPL was not distributed with this
35747
35543
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35748
35544
 
35749
- const appSettings$2 = {
35545
+ const appSettings = {
35750
35546
  about: "About",
35751
35547
  advanced: "Advanced",
35752
35548
  askEachTime: "Ask each time",
@@ -35779,7 +35575,7 @@ const appSettings$2 = {
35779
35575
  // License, v2.0. If a copy of the MPL was not distributed with this
35780
35576
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35781
35577
 
35782
- const dataSourceInfo$2 = {
35578
+ const dataSourceInfo = {
35783
35579
  currentSource: "Current source",
35784
35580
  dataSource: "Data source",
35785
35581
  duration: "Duration",
@@ -35792,7 +35588,7 @@ const dataSourceInfo$2 = {
35792
35588
  // License, v2.0. If a copy of the MPL was not distributed with this
35793
35589
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35794
35590
 
35795
- const desktopWindow$2 = {
35591
+ const desktopWindow = {
35796
35592
  advanced: "Advanced",
35797
35593
  checkForUpdates: "Check for Updates…",
35798
35594
  edit: "Edit",
@@ -35809,7 +35605,7 @@ const desktopWindow$2 = {
35809
35605
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35810
35606
 
35811
35607
  // Generic global translation
35812
- const general$2 = {
35608
+ const general = {
35813
35609
  foxglove: "Foxglove",
35814
35610
  learnMore: "Learn more",
35815
35611
  on: "On",
@@ -35821,7 +35617,7 @@ const general$2 = {
35821
35617
  // License, v2.0. If a copy of the MPL was not distributed with this
35822
35618
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35823
35619
 
35824
- const incompatibleLayoutVersion$2 = {
35620
+ const incompatibleLayoutVersion = {
35825
35621
  desktopText: "This layout was created with a newer version of Foxglove Studio. Please update to the latest version at ",
35826
35622
  title: "Incompatible layout version",
35827
35623
  webText: "This layout was created with a newer version of Foxglove Studio. Please refresh your browser."
@@ -35831,7 +35627,7 @@ const incompatibleLayoutVersion$2 = {
35831
35627
  // License, v2.0. If a copy of the MPL was not distributed with this
35832
35628
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35833
35629
 
35834
- const log$4 = {
35630
+ const log$2 = {
35835
35631
  hideAll: "Hide all",
35836
35632
  minLogLevel: "Log level",
35837
35633
  nameFilter: "Namespaces",
@@ -35844,7 +35640,7 @@ const log$4 = {
35844
35640
  // License, v2.0. If a copy of the MPL was not distributed with this
35845
35641
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35846
35642
 
35847
- const openDialog$2 = {
35643
+ const openDialog = {
35848
35644
  canBeShared: "Share data files, visualization layouts, and custom extensions with teammates",
35849
35645
  collaborateTitle: "Accelerate development with Foxglove",
35850
35646
  convenientWebInterface: "Use a convenient web interface to tag, search, and retrieve data at lightning speed",
@@ -35881,7 +35677,7 @@ const openDialog$2 = {
35881
35677
  // License, v2.0. If a copy of the MPL was not distributed with this
35882
35678
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35883
35679
 
35884
- const panelConfigVersionGuard$2 = {
35680
+ const panelConfigVersionGuard = {
35885
35681
  instructions: "Please update to the latest version of the app.",
35886
35682
  warning: "This layout requires a more recent version of this panel."
35887
35683
  };
@@ -35890,7 +35686,7 @@ const panelConfigVersionGuard$2 = {
35890
35686
  // License, v2.0. If a copy of the MPL was not distributed with this
35891
35687
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35892
35688
 
35893
- const panels$2 = {
35689
+ const panels = {
35894
35690
  "3D": "3D",
35895
35691
  "3DPanelDescription": "Display markers, camera images, meshes, URDFs, and more in a 3D scene.",
35896
35692
  callService: "Service Call",
@@ -35940,7 +35736,7 @@ const panels$2 = {
35940
35736
  // License, v2.0. If a copy of the MPL was not distributed with this
35941
35737
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35942
35738
 
35943
- const panelSettings$2 = {
35739
+ const panelSettings = {
35944
35740
  currentSettingsPanelName: "{{title}} panel settings",
35945
35741
  importOrExportSettings: "Import/export settings",
35946
35742
  importOrExportSettingsWithEllipsis: "Import/export settings…",
@@ -35957,7 +35753,7 @@ const panelSettings$2 = {
35957
35753
  // License, v2.0. If a copy of the MPL was not distributed with this
35958
35754
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35959
35755
 
35960
- const panelToolbar$2 = {
35756
+ const panelToolbar = {
35961
35757
  changePanel: "Change panel",
35962
35758
  fullscreen: "Fullscreen",
35963
35759
  more: "More",
@@ -35970,7 +35766,7 @@ const panelToolbar$2 = {
35970
35766
  // License, v2.0. If a copy of the MPL was not distributed with this
35971
35767
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
35972
35768
 
35973
- const plot$2 = {
35769
+ const plot = {
35974
35770
  accumulatedPath: "Path (accumulated)",
35975
35771
  addSeries: "Add series",
35976
35772
  clickToAddASeries: "Click to add a series",
@@ -36011,7 +35807,7 @@ const plot$2 = {
36011
35807
  // License, v2.0. If a copy of the MPL was not distributed with this
36012
35808
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
36013
35809
 
36014
- const problemsList$2 = {
35810
+ const problemsList = {
36015
35811
  noDetailsProvided: "No details provided",
36016
35812
  noProblemsFound: "No problems found"
36017
35813
  };
@@ -36020,7 +35816,7 @@ const problemsList$2 = {
36020
35816
  // License, v2.0. If a copy of the MPL was not distributed with this
36021
35817
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
36022
35818
 
36023
- const stateTransitions$2 = {
35819
+ const stateTransitions = {
36024
35820
  max: "Max",
36025
35821
  maxXError: "X max must be greater than X min.",
36026
35822
  min: "Min",
@@ -36032,7 +35828,7 @@ const stateTransitions$2 = {
36032
35828
  // License, v2.0. If a copy of the MPL was not distributed with this
36033
35829
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
36034
35830
 
36035
- const threeDee$2 = {
35831
+ const threeDee = {
36036
35832
  // Common
36037
35833
  color: "Color",
36038
35834
  colorMode: "Color mode",
@@ -36179,7 +35975,7 @@ const threeDee$2 = {
36179
35975
  // License, v2.0. If a copy of the MPL was not distributed with this
36180
35976
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
36181
35977
 
36182
- const topicList$2 = {
35978
+ const topicList = {
36183
35979
  anErrorOccurred: "An error occurred",
36184
35980
  clearFilter: "Clear filter",
36185
35981
  copyMessagePath: "Copy message path",
@@ -36199,7 +35995,7 @@ const topicList$2 = {
36199
35995
  // License, v2.0. If a copy of the MPL was not distributed with this
36200
35996
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
36201
35997
 
36202
- const workspace$2 = {
35998
+ const workspace = {
36203
35999
  events: "Events",
36204
36000
  panel: "Panel",
36205
36001
  performance: "Performance",
@@ -36214,1048 +36010,6 @@ const workspace$2 = {
36214
36010
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
36215
36011
 
36216
36012
  var en = /*#__PURE__*/Object.freeze({
36217
- __proto__: null,
36218
- addPanel: addPanel$2,
36219
- appBar: appBar$2,
36220
- appSettings: appSettings$2,
36221
- dataSourceInfo: dataSourceInfo$2,
36222
- desktopWindow: desktopWindow$2,
36223
- general: general$2,
36224
- incompatibleLayoutVersion: incompatibleLayoutVersion$2,
36225
- log: log$4,
36226
- openDialog: openDialog$2,
36227
- panelConfigVersionGuard: panelConfigVersionGuard$2,
36228
- panelSettings: panelSettings$2,
36229
- panelToolbar: panelToolbar$2,
36230
- panels: panels$2,
36231
- plot: plot$2,
36232
- problemsList: problemsList$2,
36233
- stateTransitions: stateTransitions$2,
36234
- threeDee: threeDee$2,
36235
- topicList: topicList$2,
36236
- workspace: workspace$2
36237
- });
36238
-
36239
- // This Source Code Form is subject to the terms of the Mozilla Public
36240
- // License, v2.0. If a copy of the MPL was not distributed with this
36241
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36242
- const addPanel$1 = {
36243
- addPanel: "パネルを追加",
36244
- noLayoutSelected: "<selectLayoutLink>レイアウトを選択</selectLayoutLink>して始めましょう!",
36245
- noPanelsMatchSearchCriteria: "検索条件に一致するパネルがありません。",
36246
- searchPanels: "パネルを検索",
36247
- selectPanelToAddToLayout: "下のパネルを選択してレイアウトに追加してください。",
36248
- };
36249
-
36250
- // This Source Code Form is subject to the terms of the Mozilla Public
36251
- // License, v2.0. If a copy of the MPL was not distributed with this
36252
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36253
- const appBar$1 = {
36254
- about: "情報",
36255
- addPanel: "パネルを追加",
36256
- documentation: "ドキュメンテーション",
36257
- exploreSampleData: "サンプルデータを探索する",
36258
- exportLayoutToFile: "レイアウトをファイルにエクスポート",
36259
- extensions: "拡張機能",
36260
- file: "ファイル",
36261
- help: "ヘルプ",
36262
- importLayoutFromFile: "ファイルからレイアウトをインポート",
36263
- joinOurSlack: "Slackに参加する",
36264
- joinSlackCommunity: "Slackコミュニティに参加する",
36265
- noDataSource: "データソースがありません",
36266
- open: "を開く",
36267
- openConnection: "接続を開く",
36268
- openLocalFile: "ローカルファイルを開く",
36269
- recentDataSources: "最近のデータソース",
36270
- settings: "設定",
36271
- signIn: "ログイン",
36272
- signOut: "ログアウト",
36273
- unknown: "不明",
36274
- userProfile: "ユーザープロファイル",
36275
- view: "表示",
36276
- viewData: "データを見る",
36277
- viewOurDocs: "ドキュメンテーションを見る",
36278
- profile: undefined,
36279
- };
36280
-
36281
- // This Source Code Form is subject to the terms of the Mozilla Public
36282
- // License, v2.0. If a copy of the MPL was not distributed with this
36283
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36284
- const appSettings$1 = {
36285
- about: "情報",
36286
- advanced: "高度な設定",
36287
- askEachTime: "毎回確認する",
36288
- colorScheme: "カラースキーム",
36289
- dark: "ダーク",
36290
- debugModeDescription: "Foxgloveのデバッグ用のパネルと機能を有効にする",
36291
- desktopApp: "デスクトップアプリ",
36292
- displayTimestampsIn: "タイムスタンプを表示",
36293
- experimentalFeatures: "実験的機能",
36294
- experimentalFeaturesDescription: "これらの機能は挙動が不安定なため、日々の利用は推奨されません。",
36295
- extensions: "拡張機能",
36296
- followSystem: "システムに従う",
36297
- general: "一般",
36298
- language: "言語",
36299
- layoutDebugging: "レイアウトデバッグ",
36300
- layoutDebuggingDescription: "レイアウトストレージの開発およびデバッグ用の追加コントロールを表示する。",
36301
- light: "ライト",
36302
- messageRate: "メッセージレート",
36303
- noExperimentalFeatures: "現在、実験的機能はありません。",
36304
- openLinksIn: "リンクを開く",
36305
- ros: "ROS",
36306
- settings: "設定",
36307
- timestampFormat: "タイムスタンプ形式",
36308
- webApp: "ウェブアプリ",
36309
- };
36310
-
36311
- // This Source Code Form is subject to the terms of the Mozilla Public
36312
- // License, v2.0. If a copy of the MPL was not distributed with this
36313
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36314
- const dataSourceInfo$1 = {
36315
- currentSource: "現在のデータソース",
36316
- dataSource: "データソース",
36317
- duration: "所要時間",
36318
- endTime: "終了時刻",
36319
- startTime: "開始時刻",
36320
- waitingForConnection: "接続待機中…",
36321
- };
36322
-
36323
- // This Source Code Form is subject to the terms of the Mozilla Public
36324
- // License, v2.0. If a copy of the MPL was not distributed with this
36325
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36326
- const desktopWindow$1 = {
36327
- advanced: "高度な設定",
36328
- checkForUpdates: "更新を確認する…",
36329
- edit: "編集",
36330
- file: "ファイル",
36331
- inspectSharedWorker: "共有ワーカーを検査する…",
36332
- newWindow: "新しいウィンドウ",
36333
- noSharedWorkers: "共有ワーカーがありません",
36334
- settings: "設定…",
36335
- view: "表示",
36336
- };
36337
-
36338
- // This Source Code Form is subject to the terms of the Mozilla Public
36339
- // License, v2.0. If a copy of the MPL was not distributed with this
36340
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36341
- // Generic global translation
36342
- const general$1 = {
36343
- // Note that we use the term `Foxglove` as an English word rather than a Japanese
36344
- // word since it would sound very different - フォックスグローブ (Fokusugorobu).
36345
- foxglove: "Foxglove",
36346
- learnMore: "もっと学ぶ",
36347
- on: undefined,
36348
- off: undefined,
36349
- auto: undefined,
36350
- };
36351
-
36352
- // This Source Code Form is subject to the terms of the Mozilla Public
36353
- // License, v2.0. If a copy of the MPL was not distributed with this
36354
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36355
- const incompatibleLayoutVersion$1 = {
36356
- desktopText: "このレイアウトはFoxglove Studioの新しいバージョンで作成されました。最新バージョンに更新してください ",
36357
- title: "互換性のないレイアウトバージョン",
36358
- webText: "このレイアウトはFoxglove Studioの新しいバージョンで作成されました。ブラウザを更新してください。",
36359
- };
36360
-
36361
- // This Source Code Form is subject to the terms of the Mozilla Public
36362
- // License, v2.0. If a copy of the MPL was not distributed with this
36363
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36364
- const log$3 = {
36365
- hideAll: "すべて隠す",
36366
- minLogLevel: "ログレベル",
36367
- nameFilter: "ネームスペース",
36368
- showAll: "すべて表示",
36369
- topic: "トピック",
36370
- topicError: "{{topic}}というトピックは利用できません。",
36371
- };
36372
-
36373
- // This Source Code Form is subject to the terms of the Mozilla Public
36374
- // License, v2.0. If a copy of the MPL was not distributed with this
36375
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36376
- const openDialog$1 = {
36377
- canBeShared: "チームメイトとデータファイル、可視化レイアウト、およびカスタム拡張子を共有できます",
36378
- collaborateTitle: "Foxglove で開発を加速する",
36379
- convenientWebInterface: "便利なWebインターフェースを使用して、データをタグ付け、検索、および高速に取得",
36380
- createAFreeAccount: "無料のアカウントを作成する",
36381
- exploreSampleData: "サンプルデータを探索する",
36382
- joinOurCommunity: "コミュニティに参加する",
36383
- joinOurCommunityDescription: "SlackやGitHubに参加して、ヘルプを得たり、機能リクエストを行ったり、バグを報告しましょう。",
36384
- joinOurSlack: "Slackに参加する",
36385
- learnMore: "詳細を見る",
36386
- needHelp: "ヘルプが必要ですか?",
36387
- needHelpDescription: "ドキュメンテーションを見たり、Foxgloveブログのチュートリアルをチェックしてみましょう。",
36388
- newToFoxgloveStudio: "Foxglove を初めてご利用ですか?",
36389
- newToFoxgloveStudioDescription: "サンプルデータセットを探索したり、ドキュメンテーションをチェックして開始してください。",
36390
- openAGitHubIssue: "GitHubの問題を開く",
36391
- openConnection: "接続を開く",
36392
- openConnectionDescription: "ライブロボットまたはサーバーに接続します。",
36393
- openDataSource: "データソースを開く",
36394
- openLocalFile: "ローカルファイルを開く",
36395
- openLocalFileDescription: "ローカルファイルシステムから直接データを可視化します。",
36396
- openUrl: "データをアップロードして共有する",
36397
- openUrlDescription: "Foxglove を使用して、チームとデータを共有します。",
36398
- recentDataSources: "最近のデータソース",
36399
- secureStorageOfData: "ROSまたはカスタムデータをペタバイト単位で安全に保存",
36400
- seeTutorials: "チュートリアルを見る",
36401
- shareLayouts: "レイアウトを共有する",
36402
- signIn: "ログイン",
36403
- startCollaborating: "Foxgloveの組織とコラボレーションを開始する",
36404
- startCollaboratingDescription: "Foxgloveアカウントを最大限に活用しましょう。たとえば、データを詳細に分析したり、チームメイトとツールを共有したりすることができます。",
36405
- uploadToDataPlatform: "Data Platformにアップロードする",
36406
- viewOurDocs: "ドキュメンテーションを見る",
36407
- };
36408
-
36409
- const panelConfigVersionGuard$1 = {
36410
- instructions: "アプリを最新バージョンに更新してください。",
36411
- warning: "このレイアウトは、より新しいバージョンのパネルを必要とします。",
36412
- };
36413
-
36414
- // This Source Code Form is subject to the terms of the Mozilla Public
36415
- // License, v2.0. If a copy of the MPL was not distributed with this
36416
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36417
- const panels$1 = {
36418
- "3D": "3D",
36419
- "3DPanelDescription": "マーカーやカメラ映像、メッシュ、URDFなどを3Dシーンで表示します。",
36420
- callService: "サービスを呼び出す",
36421
- callServiceDescription: "サービスを呼び出し、サービス呼び出し結果を表示する",
36422
- dataSourceInfo: "データソース情報",
36423
- dataSourceInfoDescription: "現在のデータソースに関するトピックやタイムスタンプなどの詳細を表示します。",
36424
- gauge: "ゲージ",
36425
- gaugeDescription: "連続値に基づく色付きのゲージを表示します。",
36426
- image: "画像",
36427
- imageDescription: "注釈付きの画像を表示します。",
36428
- indicator: "インジケーター",
36429
- indicatorDescription: "閾値に基づいた色やテキストで表示されるインジケーターを表示します。",
36430
- log: "ログ",
36431
- logDescription: "ノードと重要度レベル別にログを表示します。",
36432
- map: "地図",
36433
- mapDescription: "地図上に点を表示します。",
36434
- parameters: "パラメーター",
36435
- parametersDescription: "データソースのパラメーターを読み取り、設定します。",
36436
- plot: "プロット",
36437
- plotDescription: "時間または他の値に対する数値をプロットします。",
36438
- publish: "パブリッシュ",
36439
- publishDescription: "データソースにメッセージをパブリッシュします(ライブ接続のみ)。 ",
36440
- rawMessages: "生データのメッセージ",
36441
- rawMessagesDescription: "トピックメッセージを検査します。",
36442
- ROSDiagnosticsDetail: "診断 - 詳細 (ROS)",
36443
- ROSDiagnosticsDetailDescription: "特定のhardware_idのROS DiagnosticArrayメッセージを表示します。",
36444
- ROSDiagnosticSummary: "診断 - 概要 (ROS)",
36445
- ROSDiagnosticSummaryDescription: "すべてのROS DiagnosticArrayメッセージの概要を表示します。",
36446
- stateTransitions: "ステートトランジション",
36447
- stateTransitionsDescription: "時間とともに値が変化するときを追跡します。",
36448
- tab: "タブ",
36449
- tabDescription: "複数のパネルをタブでグループ化して表示します。",
36450
- table: "テーブル",
36451
- tableDescription: "トピックメッセージを表形式で表示します。",
36452
- teleop: "Teleop",
36453
- teleopDescription: "ライブ接続でロボットを操作します。",
36454
- topicGraph: "トピックグラフ",
36455
- topicGraphDescription: "アクティブなノード、トピック、サービスのグラフを表示します。",
36456
- userScripts: "ユーザースクリプト",
36457
- userScriptsDescription: "TypeScriptでカスタムデータ変換を記述します。以前はNode Playgroundとして知られていました。",
36458
- variableSlider: "変数スライダー",
36459
- variableSliderDescription: "レイアウトの数値変数を更新します。",
36460
- settings: undefined,
36461
- };
36462
-
36463
- // This Source Code Form is subject to the terms of the Mozilla Public
36464
- // License, v2.0. If a copy of the MPL was not distributed with this
36465
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36466
- const panelSettings$1 = {
36467
- currentSettingsPanelName: "{{title}}パネルの設定",
36468
- importOrExportSettings: "設定のインポート/エクスポート",
36469
- importOrExportSettingsWithEllipsis: "設定のインポート/エクスポート…",
36470
- loadingPanelSettings: "パネル設定を読み込んでいます…",
36471
- panelDoesNotHaveSettings: "このパネルには設定がありません。",
36472
- panelName: "{{title}}パネル",
36473
- panelSettings: "パネル設定",
36474
- resetToDefaults: "デフォルトにリセット",
36475
- selectAPanelToEditItsSettings: "編集するパネルを選択してください。",
36476
- unknown: "不明",
36477
- };
36478
-
36479
- // This Source Code Form is subject to the terms of the Mozilla Public
36480
- // License, v2.0. If a copy of the MPL was not distributed with this
36481
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36482
- const panelToolbar$1 = {
36483
- changePanel: "パネルを変更",
36484
- fullscreen: "全画面表示",
36485
- more: "もっと見る",
36486
- removePanel: "パネルを削除",
36487
- splitDown: "下に分割",
36488
- splitRight: "右に分割",
36489
- };
36490
-
36491
- // This Source Code Form is subject to the terms of the Mozilla Public
36492
- // License, v2.0. If a copy of the MPL was not distributed with this
36493
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36494
- const plot$1 = {
36495
- accumulatedPath: "パス(累積)",
36496
- addSeries: "シリーズを追加する",
36497
- clickToAddASeries: "シリーズを追加するにはクリック",
36498
- color: "カラー",
36499
- currentPath: "パス(現在)",
36500
- deleteSeries: "シリーズを削除する",
36501
- floating: "フローティング",
36502
- general: "一般的な",
36503
- headerStamp: "ヘッダースタンプ",
36504
- hidden: "隠す",
36505
- index: "インデックス",
36506
- label: "ラベル",
36507
- left: "左",
36508
- legend: "凡例",
36509
- lineSize: undefined,
36510
- max: "最大",
36511
- maxXError: "X最大値は、X最小値より大きくなければなりません。",
36512
- maxYError: "Y最大値は、Y最小値より大きくなければなりません。",
36513
- messagePath: "メッセージパス",
36514
- min: "最小",
36515
- position: "ポジション",
36516
- receiveTime: "受信時間",
36517
- secondsRange: "範囲(秒数)",
36518
- series: "シリーズ",
36519
- showLabels: "ラベルを表示する",
36520
- showLine: undefined,
36521
- showValues: "値を表示する",
36522
- syncWithOtherPlots: "他のプロットと同期する",
36523
- timestamp: "タイムスタンプ",
36524
- top: "上",
36525
- value: "値",
36526
- xAxis: "X軸",
36527
- yAxis: "Y軸",
36528
- resetView: undefined,
36529
- };
36530
-
36531
- // This Source Code Form is subject to the terms of the Mozilla Public
36532
- // License, v2.0. If a copy of the MPL was not distributed with this
36533
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36534
- const problemsList$1 = {
36535
- noDetailsProvided: "詳細は提供されていません",
36536
- noProblemsFound: "問題は見つかりませんでした",
36537
- };
36538
-
36539
- // This Source Code Form is subject to the terms of the Mozilla Public
36540
- // License, v2.0. If a copy of the MPL was not distributed with this
36541
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36542
- const settingsEditor$1 = {
36543
- clearSearch: "検索をクリアする",
36544
- filterList: "リストをフィルタリングする",
36545
- filterListHelp: "可視性でリストをフィルタリングする",
36546
- general: "一般的な",
36547
- hideAll: "すべて非表示",
36548
- labels: "ラベル",
36549
- listAll: "すべてのリスト",
36550
- listInvisible: "非表示のリスト",
36551
- listVisible: "表示されているリスト",
36552
- searchPanelSettings: "検索パネルの設定…",
36553
- showAll: "すべて表示",
36554
- title: "タイトル",
36555
- };
36556
-
36557
- // This Source Code Form is subject to the terms of the Mozilla Public
36558
- // License, v2.0. If a copy of the MPL was not distributed with this
36559
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36560
- const stateTransitions$1 = {
36561
- max: "最大",
36562
- maxXError: "Xの最大値はXの最小値より大きくなければなりません。",
36563
- min: "最小",
36564
- secondsRange: "範囲(秒)",
36565
- xAxis: "X軸",
36566
- };
36567
-
36568
- // This Source Code Form is subject to the terms of the Mozilla Public
36569
- // License, v2.0. If a copy of the MPL was not distributed with this
36570
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36571
- const threeDee$1 = {
36572
- // Common
36573
- color: "色",
36574
- colorMode: "カラーモード",
36575
- frame: "フレーム",
36576
- lineWidth: "ライン幅",
36577
- position: "位置",
36578
- reset: "リセット",
36579
- rotation: "回転",
36580
- scale: "スケール",
36581
- gradient: "グラデーション",
36582
- type: "タイプ",
36583
- topic: "トピック",
36584
- // Frame
36585
- age: "経過時間",
36586
- axisScale: "軸のスケール",
36587
- displayFrame: "フレームを表示する",
36588
- displayFrameHelp: "カメラを配置するための座標フレームです。カメラの位置と向きは、このフレームの原点を基準とした相対的なものとなります。",
36589
- editable: "編集可能",
36590
- enablePreloading: "事前の読み込みを有効にする",
36591
- fixed: "固定",
36592
- followMode: "フォローモード",
36593
- followModeHelp: "再生中のカメラの動作を変更し、表示フレームをフォローするかどうかを選択できます。",
36594
- frameNotFound: "フレーム {{frameId}} が見つかりません",
36595
- hideAll: "すべて非表示",
36596
- historySize: "履歴サイズ",
36597
- labels: "ラベル",
36598
- labelSize: "ラベルのサイズ",
36599
- lineColor: "ラインの色",
36600
- noCoordinateFramesFound: "座標フレームが見つかりません",
36601
- parent: "親",
36602
- pose: "ポーズ",
36603
- rotationOffset: "回転オフセット",
36604
- settings: "設定",
36605
- showAll: "すべて表示",
36606
- transforms: "変換",
36607
- translation: "変換",
36608
- translationOffset: "変換オフセット",
36609
- // Scene
36610
- background: "背景",
36611
- debugPicking: "デバッグピッキング",
36612
- ignoreColladaUpAxis: "COLLADA <up_axis> を無視",
36613
- ignoreColladaUpAxisHelp: "COLLADA ファイル内の <up_axis> タグを無視することで、rviz の動作に合わせます。",
36614
- labelScale: "ラベルのスケール",
36615
- labelScaleHelp: "すべてのラベルに適用するスケールファクター",
36616
- meshUpAxis: "メッシュの上軸",
36617
- meshUpAxisHelp: "方向を使用してメッシュを読み込むときに '上' として使用する方向(STL および OBJ)",
36618
- renderStats: "レンダリングの統計情報",
36619
- scene: "シーン",
36620
- takeEffectAfterReboot: "この設定は再起動後に有効になります。",
36621
- YUp: "Y-up",
36622
- ZUp: "Z-up",
36623
- // Camera
36624
- distance: "距離",
36625
- far: "Far",
36626
- fovy: "Y軸 FOV",
36627
- near: "Near",
36628
- perspective: "遠近法",
36629
- phi: "Phi",
36630
- planarProjectionFactor: "平面投影係数",
36631
- syncCamera: "カメラを同期する",
36632
- syncCameraHelp: "この設定が有効になっている他のパネルとカメラを同期します。",
36633
- target: "ターゲット",
36634
- theta: "Theta",
36635
- view: "ビュー",
36636
- // Topics
36637
- topics: "トピック",
36638
- // Custom layers
36639
- addGrid: "グリッドを追加する",
36640
- addURDF: "URDF を追加する",
36641
- customLayers: "カスタムレイヤー",
36642
- delete: "削除",
36643
- divisions: "分割数",
36644
- grid: "グリッド",
36645
- size: "サイズ",
36646
- // Image annotations
36647
- imageAnnotations: "画像アノテーション",
36648
- resetView: "ビューをリセット",
36649
- // Images
36650
- cameraInfo: "カメラ情報",
36651
- // Occupancy Grids
36652
- colorModeCustom: "カスタム",
36653
- colorModeRaw: "生データ",
36654
- colorModeRvizCostmap: "Costmap",
36655
- colorModeRvizMap: "Map",
36656
- frameLock: "フレームロック",
36657
- invalidColor: "無効な色",
36658
- maxColor: "最大色",
36659
- minColor: "最小色",
36660
- unknownColor: "不明な色",
36661
- // Point Extension Utils
36662
- decayTime: "減衰時間",
36663
- decayTimeDefaultZeroSeconds: "0秒",
36664
- pointShape: "ポイント形状",
36665
- pointShapeCircle: "円",
36666
- pointShapeSquare: "四角",
36667
- pointSize: "ポイントサイズ",
36668
- // Color Mode
36669
- colorBy: "色指定",
36670
- colorModeBgraPacked: "BGRA(パック)",
36671
- colorModeBgrPacked: "BGR(パック)",
36672
- colorModeColorMap: "カラーマップ",
36673
- colorModeFlat: "フラット",
36674
- colorModeRgbaSeparateFields: "RGBA(個別フィールド)",
36675
- flatColor: "フラットカラー",
36676
- opacity: "不透明度",
36677
- valueMax: "最大値",
36678
- valueMin: "最小値",
36679
- // Markers
36680
- selectionVariable: "選択変数",
36681
- selectionVariableHelp: "マーカーを選択すると、このグローバル変数がマーカーIDに設定されます",
36682
- showOutline: "アウトラインを表示",
36683
- // Poses
36684
- covariance: "共分散",
36685
- covarianceColor: "共分散色",
36686
- poseDisplayTypeArrow: "矢印",
36687
- poseDisplayTypeAxis: "軸",
36688
- poseDisplayTypeLine: "ライン",
36689
- // Publish
36690
- publish: "公開",
36691
- publishTopicHelp: "公開するトピック",
36692
- publishTypeHelp: "シーンをクリックする際に公開するメッセージのタイプ",
36693
- publishTypePoint: "ポイント(geometry_msgs/Point)",
36694
- publishTypePose: "ポーズ(geometry_msgs/PoseStamped)",
36695
- publishTypePoseEstimate: "ポーズ推定(geometry_msgs/PoseWithCovarianceStamped)",
36696
- thetaDeviation: "シータ偏差",
36697
- thetaDeviationHelp: "ポーズ推定で公開するシータの標準偏差",
36698
- xDeviation: "X偏差",
36699
- xDeviationHelp: "ポーズ推定で公開するXの標準偏差",
36700
- yDeviation: "Y偏差",
36701
- yDeviationHelp: "ポーズ推定で公開するYの標準偏差",
36702
- };
36703
-
36704
- const topicList$1 = {
36705
- anErrorOccurred: "エラーが発生しました",
36706
- clearFilter: "フィルターをクリア",
36707
- copyMessagePath: "メッセージパスをコピー",
36708
- copyMessagePaths: "選択したメッセージパスをコピー",
36709
- copySchemaName: "スキーマ名をコピー",
36710
- copyTopicName: "トピック名をコピー",
36711
- copyTopicNames: "選択したトピック名をコピー",
36712
- noDataSourceSelected: "データソースが選択されていません",
36713
- noTopicsAvailable: "利用可能なトピックがありません。",
36714
- noTopicsOrDatatypesMatching: "一致するトピックやデータタイプがありません",
36715
- searchBarPlaceholder: "トピックまたはスキーマ名でフィルター…",
36716
- waitingForConnection: "接続を待っています",
36717
- waitingForData: "データ待ち…",
36718
- };
36719
-
36720
- // This Source Code Form is subject to the terms of the Mozilla Public
36721
- // License, v2.0. If a copy of the MPL was not distributed with this
36722
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36723
- const workspace$1 = {
36724
- events: "イベント",
36725
- panel: "パネル",
36726
- performance: "パフォーマンス",
36727
- problems: "問題",
36728
- studioLogs: "ログ",
36729
- topics: "トピック",
36730
- variables: "変数",
36731
- };
36732
-
36733
- // This Source Code Form is subject to the terms of the Mozilla Public
36734
- // License, v2.0. If a copy of the MPL was not distributed with this
36735
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36736
-
36737
- var ja = /*#__PURE__*/Object.freeze({
36738
- __proto__: null,
36739
- addPanel: addPanel$1,
36740
- appBar: appBar$1,
36741
- appSettings: appSettings$1,
36742
- dataSourceInfo: dataSourceInfo$1,
36743
- desktopWindow: desktopWindow$1,
36744
- general: general$1,
36745
- incompatibleLayoutVersion: incompatibleLayoutVersion$1,
36746
- log: log$3,
36747
- openDialog: openDialog$1,
36748
- panelConfigVersionGuard: panelConfigVersionGuard$1,
36749
- panelSettings: panelSettings$1,
36750
- panelToolbar: panelToolbar$1,
36751
- panels: panels$1,
36752
- plot: plot$1,
36753
- problemsList: problemsList$1,
36754
- settingsEditor: settingsEditor$1,
36755
- stateTransitions: stateTransitions$1,
36756
- threeDee: threeDee$1,
36757
- topicList: topicList$1,
36758
- workspace: workspace$1
36759
- });
36760
-
36761
- const addPanel = {
36762
- addPanel: "添加面板",
36763
- noLayoutSelected: "<selectLayoutLink>选择一个布局</selectLayoutLink>来开始使用!",
36764
- noPanelsMatchSearchCriteria: "没有符合搜索条件的面板。",
36765
- searchPanels: "搜索面板",
36766
- selectPanelToAddToLayout: "在下面选择一个面板,将其添加到你的布局中。",
36767
- };
36768
-
36769
- // This Source Code Form is subject to the terms of the Mozilla Public
36770
- // License, v2.0. If a copy of the MPL was not distributed with this
36771
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36772
- const appBar = {
36773
- about: "关于",
36774
- addPanel: "添加面板",
36775
- documentation: "文档",
36776
- exploreSampleData: "探索样本数据",
36777
- exportLayoutToFile: "导出布局到文件……",
36778
- extensions: "扩展",
36779
- file: "文件",
36780
- help: "帮助",
36781
- hideLeftSidebar: "隐藏左侧边栏",
36782
- hideRightSidebar: "隐藏右侧边栏",
36783
- importLayoutFromFile: "通过文件导入布局……",
36784
- joinOurSlack: "加入我们的 Slack",
36785
- joinSlackCommunity: "加入 Slack 社区",
36786
- noDataSource: "没有数据源",
36787
- open: "打开……",
36788
- openConnection: "打开连接……",
36789
- openLocalFile: "打开本地文件……",
36790
- recentDataSources: "最近使用的数据源",
36791
- settings: "设置",
36792
- showLeftSidebar: "显示左侧边栏",
36793
- showRightSidebar: "显示右侧边栏",
36794
- signIn: "登录",
36795
- signOut: "登出",
36796
- unknown: "未知",
36797
- userProfile: "用户资料",
36798
- view: "查看",
36799
- viewData: "查看数据",
36800
- viewOurDocs: "查看我们的文档",
36801
- profile: "个人资料",
36802
- };
36803
-
36804
- // This Source Code Form is subject to the terms of the Mozilla Public
36805
- // License, v2.0. If a copy of the MPL was not distributed with this
36806
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36807
- const appSettings = {
36808
- about: "关于",
36809
- advanced: "高级",
36810
- askEachTime: "每次询问",
36811
- colorScheme: "配色方案",
36812
- dark: "暗色",
36813
- debugModeDescription: "启用调试 Foxglove 的面板和功能",
36814
- desktopApp: "桌面应用",
36815
- displayTimestampsIn: "显示时间戳在",
36816
- experimentalFeatures: "实验性功能",
36817
- experimentalFeaturesDescription: "这些功能不稳定,不建议日常使用。",
36818
- extensions: "扩展",
36819
- followSystem: "跟随系统",
36820
- general: "通用",
36821
- language: "语言",
36822
- layoutDebugging: "布局调试",
36823
- layoutDebuggingDescription: "显示用于开发和调试布局存储的额外控件。",
36824
- light: "亮色",
36825
- messageRate: "消息速率",
36826
- noExperimentalFeatures: "目前没有实验性的功能。",
36827
- openLinksIn: "打开链接",
36828
- ros: "ROS",
36829
- settings: "设置",
36830
- timestampFormat: "时间戳格式",
36831
- webApp: "网页应用",
36832
- };
36833
-
36834
- // This Source Code Form is subject to the terms of the Mozilla Public
36835
- // License, v2.0. If a copy of the MPL was not distributed with this
36836
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36837
- const dataSourceInfo = {
36838
- currentSource: "当前源",
36839
- dataSource: "数据源",
36840
- duration: "持续时间",
36841
- endTime: "结束时间",
36842
- startTime: "开始时间",
36843
- waitingForConnection: "等待连接……",
36844
- };
36845
-
36846
- // This Source Code Form is subject to the terms of the Mozilla Public
36847
- // License, v2.0. If a copy of the MPL was not distributed with this
36848
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36849
- const desktopWindow = {
36850
- advanced: "高级",
36851
- checkForUpdates: "检查更新……",
36852
- edit: "编辑",
36853
- file: "文件",
36854
- inspectSharedWorker: "检查共享工作者……",
36855
- newWindow: "新建窗口",
36856
- noSharedWorkers: "没有共享工作者",
36857
- settings: "设置……",
36858
- view: "视图",
36859
- };
36860
-
36861
- // This Source Code Form is subject to the terms of the Mozilla Public
36862
- // License, v2.0. If a copy of the MPL was not distributed with this
36863
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36864
- // Generic global translation
36865
- const general = {
36866
- foxglove: "Foxglove",
36867
- learnMore: "了解更多",
36868
- on: "开",
36869
- off: "关",
36870
- auto: "自动",
36871
- };
36872
-
36873
- // This Source Code Form is subject to the terms of the Mozilla Public
36874
- // License, v2.0. If a copy of the MPL was not distributed with this
36875
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36876
- const incompatibleLayoutVersion = {
36877
- desktopText: "此版面是使用较新版本的 Foxglove Studio 制作的。请从以下网址更新至最新版本 ",
36878
- title: "布局版本不兼容",
36879
- webText: "此版面是使用较新版本的 Foxglove Studio 制作的。请刷新浏览器。",
36880
- };
36881
-
36882
- // This Source Code Form is subject to the terms of the Mozilla Public
36883
- // License, v2.0. If a copy of the MPL was not distributed with this
36884
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36885
- const log$2 = {
36886
- topicError: "话题 {{topic}} 不可用",
36887
- topic: "话题",
36888
- hideAll: "隐藏全部",
36889
- minLogLevel: "日志级别",
36890
- nameFilter: "命名空间",
36891
- showAll: "显示全部",
36892
- };
36893
-
36894
- // This Source Code Form is subject to the terms of the Mozilla Public
36895
- // License, v2.0. If a copy of the MPL was not distributed with this
36896
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36897
- const openDialog = {
36898
- canBeShared: "与队友分享数据文件、可视化布局和自定义扩展程序",
36899
- collaborateTitle: "使用 Foxglove 数据平台加速开发",
36900
- convenientWebInterface: "使用一个方便的网络界面,以闪电般的速度标记、搜索和检索数据",
36901
- createAFreeAccount: "创建免费帐户",
36902
- exploreSampleData: "探索样本数据",
36903
- joinOurCommunity: "加入我们的社区",
36904
- joinOurCommunityDescription: "在 Slack 上与我们的开发人员和用户交流,或在 GitHub 上提出问题。",
36905
- joinOurSlack: "加入我们的 Slack",
36906
- learnMore: "了解更多",
36907
- needHelp: "需要帮助?",
36908
- needHelpDescription: "查看我们的文档,或查看 Foxglove 博客上的教程。",
36909
- newToFoxgloveStudio: "第一次使用 Foxglove?",
36910
- newToFoxgloveStudioDescription: "从探索一个样本数据集开始,或查看我们的文档。",
36911
- openAGitHubIssue: "打开 GitHub issue",
36912
- openConnection: "打开连接",
36913
- openConnectionDescription: "连接到实时机器人或服务器。",
36914
- openDataSource: "打开数据源",
36915
- openLocalFile: "打开本地文件",
36916
- openLocalFileDescription: "直接从本地文件系统可视化数据。",
36917
- openUrl: "上传和共享数据",
36918
- openUrlDescription: "使用 Foxglove 数据平台与您的团队共享数据。",
36919
- recentDataSources: "最近使用的数据源",
36920
- secureStorageOfData: "安全地存储 PB 级的 ROS 或自定义数据",
36921
- seeTutorials: "查看教程",
36922
- shareLayouts: "分享布局",
36923
- signIn: "登录",
36924
- startCollaborating: "与您的 Foxglove 组织开始合作",
36925
- startCollaboratingDescription: "充分利用你的 Foxglove 账户——无论你想深入研究你的数据还是与你的团队成员分享工具。",
36926
- uploadToDataPlatform: "上传到数据平台",
36927
- viewOurDocs: "查看我们的文档",
36928
- };
36929
-
36930
- const panelConfigVersionGuard = {
36931
- instructions: "请更新至最新版本的应用程序。",
36932
- warning: "该布局需要该面板的最新版本。",
36933
- };
36934
-
36935
- // This Source Code Form is subject to the terms of the Mozilla Public
36936
- // License, v2.0. If a copy of the MPL was not distributed with this
36937
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36938
- const panels = {
36939
- "3D": "三维",
36940
- "3DPanelDescription": "在三维场景中显示标记、相机图像、网格、URDF 和其他内容。",
36941
- callService: "调用服务",
36942
- callServiceDescription: "调用服务并查看服务调用结果。",
36943
- dataSourceInfo: "数据源信息",
36944
- dataSourceInfoDescription: "查看当前数据源的主题和时间戳等详细信息。",
36945
- gauge: "仪表",
36946
- gaugeDescription: "基于连续值显示彩色仪表。",
36947
- image: "图像",
36948
- imageDescription: "显示带注释的图像。",
36949
- indicator: "指示器",
36950
- indicatorDescription: "基于阈值值显示彩色和/或文本指示器。",
36951
- log: "日志",
36952
- logDescription: "按节点和严重程度级别显示日志。",
36953
- map: "地图",
36954
- mapDescription: "在地图上显示点。",
36955
- parameters: "参数",
36956
- parametersDescription: "读取和设置数据源的参数。",
36957
- plot: "图表",
36958
- plotDescription: "绘制随时间或其他值变化的数字值。",
36959
- publish: "发布",
36960
- publishDescription: "向数据源发布消息(仅限实时连接)。",
36961
- rawMessages: "原始消息",
36962
- rawMessagesDescription: "检查主题消息。",
36963
- ROSDiagnosticsDetail: "诊断 - 详细信息(ROS)",
36964
- ROSDiagnosticsDetailDescription: "显示特定 hardware_id 的 ROS DiagnosticArray 消息。",
36965
- ROSDiagnosticSummary: "诊断 - 概要(ROS)",
36966
- ROSDiagnosticSummaryDescription: "显示所有 ROS DiagnosticArray 消息的摘要。",
36967
- stateTransitions: "状态转换",
36968
- stateTransitionsDescription: "跟踪值随时间变化的情况。",
36969
- tab: "选项卡",
36970
- tabDescription: "将面板分组在选项卡界面中。",
36971
- table: "表格",
36972
- tableDescription: "以表格格式显示主题消息。",
36973
- teleop: "远程操纵",
36974
- teleopDescription: "通过实时连接远程操纵机器人。",
36975
- topicGraph: "主题图",
36976
- topicGraphDescription: "显示活动节点、主题和服务的图形。",
36977
- userScripts: "用户脚本",
36978
- userScriptsDescription: "使用 TypeScript 编写自定义数据转换。以前称为 Node Playground。",
36979
- variableSlider: "变量滑块",
36980
- variableSliderDescription: "更新布局的数字变量值。",
36981
- settings: "设置",
36982
- };
36983
-
36984
- // This Source Code Form is subject to the terms of the Mozilla Public
36985
- // License, v2.0. If a copy of the MPL was not distributed with this
36986
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
36987
- const panelSettings = {
36988
- currentSettingsPanelName: "{{title}}面板设置",
36989
- importOrExportSettings: "导入/导出设置",
36990
- importOrExportSettingsWithEllipsis: "导入/导出设置……",
36991
- loadingPanelSettings: "正在加载面板设置……",
36992
- panelDoesNotHaveSettings: "此面板没有任何设置",
36993
- panelName: "{{title}}面板",
36994
- panelSettings: "面板设置",
36995
- resetToDefaults: "重置为默认值",
36996
- selectAPanelToEditItsSettings: "选择一个面板来编辑其设置。",
36997
- unknown: "未知",
36998
- };
36999
-
37000
- // This Source Code Form is subject to the terms of the Mozilla Public
37001
- // License, v2.0. If a copy of the MPL was not distributed with this
37002
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37003
- const panelToolbar = {
37004
- changePanel: "更改面板",
37005
- fullscreen: "全屏",
37006
- more: "更多",
37007
- removePanel: "删除面板",
37008
- splitDown: "向下拆分",
37009
- splitRight: "向右拆分",
37010
- };
37011
-
37012
- // This Source Code Form is subject to the terms of the Mozilla Public
37013
- // License, v2.0. If a copy of the MPL was not distributed with this
37014
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37015
- const plot = {
37016
- accumulatedPath: "地址(累积)",
37017
- addSeries: "添加数据系列",
37018
- clickToAddASeries: "点击来添加数据系列",
37019
- color: "颜色",
37020
- currentPath: "地址(当前)",
37021
- deleteSeries: "删除数据系列",
37022
- floating: "浮动",
37023
- general: "通用",
37024
- headerStamp: "头时间戳",
37025
- hidden: "隐藏",
37026
- index: "索引",
37027
- label: "标签",
37028
- left: "左",
37029
- legend: "图例",
37030
- lineSize: "线宽",
37031
- max: "最大值",
37032
- maxXError: "X 的最大值必须大于 X 的最小值。",
37033
- maxYError: "Y 的最大值必须大于 Y 的最小值。",
37034
- messagePath: "消息地址",
37035
- min: "最小值",
37036
- position: "位置",
37037
- receiveTime: "接收时间",
37038
- secondsRange: "范围(秒)",
37039
- series: "数据系列",
37040
- showLabels: "显示标签",
37041
- showLine: "显示线条",
37042
- showValues: "显示值",
37043
- syncWithOtherPlots: "与其他图表同步",
37044
- timestamp: "时间戳",
37045
- top: "上",
37046
- value: "值",
37047
- xAxis: "X 轴",
37048
- yAxis: "Y 轴",
37049
- resetView: "重置视图",
37050
- };
37051
-
37052
- // This Source Code Form is subject to the terms of the Mozilla Public
37053
- // License, v2.0. If a copy of the MPL was not distributed with this
37054
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37055
- const problemsList = {
37056
- noDetailsProvided: "没有提供细节",
37057
- noProblemsFound: "没有发现问题",
37058
- };
37059
-
37060
- // This Source Code Form is subject to the terms of the Mozilla Public
37061
- // License, v2.0. If a copy of the MPL was not distributed with this
37062
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37063
- const settingsEditor = {
37064
- clearSearch: "清空搜索",
37065
- filterList: "过滤列表",
37066
- filterListHelp: "按照可见性过滤列表",
37067
- general: "通用",
37068
- hideAll: "隐藏全部",
37069
- labels: "标签",
37070
- listAll: "列出全部",
37071
- listInvisible: "列出不可见",
37072
- listVisible: "列出可见",
37073
- searchPanelSettings: "搜索面板设置……",
37074
- showAll: "显示全部",
37075
- title: "标题",
37076
- };
37077
-
37078
- // This Source Code Form is subject to the terms of the Mozilla Public
37079
- // License, v2.0. If a copy of the MPL was not distributed with this
37080
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37081
- const stateTransitions = {
37082
- max: "最大",
37083
- maxXError: "X 最大值必须大于 X 最小值。",
37084
- min: "最小",
37085
- secondsRange: "范围(秒)",
37086
- xAxis: "X 轴",
37087
- };
37088
-
37089
- // This Source Code Form is subject to the terms of the Mozilla Public
37090
- // License, v2.0. If a copy of the MPL was not distributed with this
37091
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37092
- const threeDee = {
37093
- // Common
37094
- color: "颜色",
37095
- colorMode: "颜色模式",
37096
- frame: "参考系",
37097
- lineWidth: "线宽",
37098
- position: "位置",
37099
- reset: "重置",
37100
- rotation: "旋转",
37101
- scale: "刻度",
37102
- gradient: "渐变",
37103
- type: "类型",
37104
- topic: "话题",
37105
- // Frame
37106
- age: "陈旧度",
37107
- axisScale: "轴比例",
37108
- displayFrame: "展示参考系",
37109
- displayFrameHelp: "放置相机用于显示坐标系。相机的位置和方向将相对于该坐标系的原点。",
37110
- editable: "可编辑",
37111
- enablePreloading: "启用预加载",
37112
- fixed: "固定",
37113
- followMode: "跟踪模式",
37114
- followModeHelp: "更改回放期间相机的行为,是否跟踪显示坐标系。",
37115
- frameNotFound: "未找到参考系 {{frameId}}",
37116
- hideAll: "隐藏全部",
37117
- historySize: "历史长度",
37118
- labels: "标签",
37119
- labelSize: "标签大小",
37120
- lineColor: "线颜色",
37121
- noCoordinateFramesFound: "未找到坐标系",
37122
- parent: "父变换",
37123
- pose: "姿态",
37124
- rotationOffset: "旋转偏移",
37125
- settings: "设置",
37126
- showAll: "显示全部",
37127
- transforms: "变换",
37128
- translation: "平移",
37129
- translationOffset: "平移偏移",
37130
- // Scene
37131
- background: "背景",
37132
- debugPicking: "调试拾取",
37133
- ignoreColladaUpAxis: "忽略 COLLADA 的 <up_axis>",
37134
- ignoreColladaUpAxisHelp: "通过忽略 COLLADA 文件中的 <up_axis> 标记,匹配 rviz 的行为",
37135
- labelScale: "标签比例",
37136
- labelScaleHelp: "应用于所有标签的比例因子",
37137
- meshUpAxis: "网格上轴",
37138
- meshUpAxisHelp: "加载缺少方向信息的网格(STL 和 OBJ)时使用的“上”方向",
37139
- renderStats: "渲染统计",
37140
- scene: "场景",
37141
- takeEffectAfterReboot: "此设置需要重新启动以生效",
37142
- YUp: "Y-up",
37143
- ZUp: "Z-up",
37144
- // Camera
37145
- distance: "距离",
37146
- far: "远面",
37147
- fovy: "Y轴视野",
37148
- near: "近面",
37149
- perspective: "透视",
37150
- phi: "方向角",
37151
- planarProjectionFactor: "平面投影因子",
37152
- syncCamera: "同步相机",
37153
- syncCameraHelp: "将相机与其他启用此设置的面板同步。",
37154
- target: "目标",
37155
- theta: "极角",
37156
- view: "视图",
37157
- // Topics
37158
- topics: "话题",
37159
- // Custom layers
37160
- addGrid: "添加网格",
37161
- addURDF: "添加 URDF",
37162
- customLayers: "自定义图层",
37163
- delete: "删除",
37164
- divisions: "划分",
37165
- grid: "网格",
37166
- size: "大小",
37167
- // Image annotations
37168
- imageAnnotations: "图像注释",
37169
- resetView: "重置视图",
37170
- // Images
37171
- cameraInfo: "相机信息",
37172
- // Occupancy Grids
37173
- colorModeCustom: "自定义",
37174
- colorModeRaw: "原始",
37175
- colorModeRvizCostmap: "Costmap",
37176
- colorModeRvizMap: "Map",
37177
- frameLock: "锁定参考系",
37178
- invalidColor: "无效值颜色",
37179
- maxColor: "最大值颜色",
37180
- minColor: "最小值颜色",
37181
- unknownColor: "未知值颜色",
37182
- // Point Extension Utils
37183
- decayTime: "衰减时间",
37184
- pointShape: "点形状",
37185
- pointShapeCircle: "圆形",
37186
- pointShapeSquare: "方形",
37187
- pointSize: "点大小",
37188
- decayTimeDefaultZeroSeconds: "0 秒",
37189
- // Color Mode
37190
- colorBy: "颜色映射值",
37191
- colorModeBgraPacked: "BGRA (堆积)",
37192
- colorModeBgrPacked: "BGR (堆积)",
37193
- colorModeColorMap: "色板",
37194
- colorModeFlat: "单色",
37195
- colorModeRgbaSeparateFields: "RGBA (独立字段)",
37196
- flatColor: "单色",
37197
- opacity: "透明度",
37198
- valueMax: "最大值",
37199
- valueMin: "最小值",
37200
- // Markers
37201
- selectionVariable: "选择变量",
37202
- selectionVariableHelp: "选择标记时,该全局变量将被设置为标记 ID",
37203
- showOutline: "展示轮廓",
37204
- // Poses
37205
- covariance: "协方差",
37206
- covarianceColor: "协方差颜色",
37207
- poseDisplayTypeArrow: "箭头",
37208
- poseDisplayTypeAxis: "轴",
37209
- poseDisplayTypeLine: "线",
37210
- // Publish
37211
- publish: "发布",
37212
- publishTopicHelp: "发布的主题",
37213
- publishTypeHelp: "在场景中点击时要发布的信息类型",
37214
- publishTypePoint: "点 (geometry_msgs/Point)",
37215
- publishTypePose: "姿态 (geometry_msgs/PoseStamped)",
37216
- publishTypePoseEstimate: "姿态估计 (geometry_msgs/PoseWithCovarianceStamped)",
37217
- thetaDeviation: "Theta 偏差",
37218
- thetaDeviationHelp: "与姿势估计值一起发布的 Theta 标准偏差",
37219
- xDeviation: "X 偏差",
37220
- xDeviationHelp: "与姿势估计值一起公布的 X 标准偏差",
37221
- yDeviation: "Y 偏差",
37222
- yDeviationHelp: "与姿势估计值一起发布的 Y 标准偏差",
37223
- };
37224
-
37225
- const topicList = {
37226
- anErrorOccurred: "发生错误",
37227
- clearFilter: "清除筛选",
37228
- copyMessagePath: "复制消息路径",
37229
- copyMessagePaths: "复制所选的消息路径",
37230
- copySchemaName: "复制 schema 名称",
37231
- copyTopicName: "复制主题名称",
37232
- copyTopicNames: "复制所选的主题路径",
37233
- noDataSourceSelected: "未选择数据源",
37234
- noTopicsAvailable: "暂无主题。 ",
37235
- noTopicsOrDatatypesMatching: "没有匹配的主题或数据类型",
37236
- searchBarPlaceholder: "按主题或 schema 名称筛选……",
37237
- waitingForConnection: "等待连接",
37238
- waitingForData: "等待数据……",
37239
- };
37240
-
37241
- // This Source Code Form is subject to the terms of the Mozilla Public
37242
- // License, v2.0. If a copy of the MPL was not distributed with this
37243
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37244
- const workspace = {
37245
- events: "事件",
37246
- panel: "面板",
37247
- performance: "性能",
37248
- problems: "问题",
37249
- studioLogs: "日志",
37250
- topics: "话题",
37251
- variables: "变量",
37252
- };
37253
-
37254
- // This Source Code Form is subject to the terms of the Mozilla Public
37255
- // License, v2.0. If a copy of the MPL was not distributed with this
37256
- // file, You can obtain one at http://mozilla.org/MPL/2.0/
37257
-
37258
- var zh = /*#__PURE__*/Object.freeze({
37259
36013
  __proto__: null,
37260
36014
  addPanel: addPanel,
37261
36015
  appBar: appBar,
@@ -37272,7 +36026,6 @@ var zh = /*#__PURE__*/Object.freeze({
37272
36026
  panels: panels,
37273
36027
  plot: plot,
37274
36028
  problemsList: problemsList,
37275
- settingsEditor: settingsEditor,
37276
36029
  stateTransitions: stateTransitions,
37277
36030
  threeDee: threeDee,
37278
36031
  topicList: topicList,
@@ -37282,25 +36035,31 @@ var zh = /*#__PURE__*/Object.freeze({
37282
36035
  // This Source Code Form is subject to the terms of the Mozilla Public
37283
36036
  // License, v2.0. If a copy of the MPL was not distributed with this
37284
36037
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
37285
- const translations = { en, zh, ja };
36038
+
36039
+ const translations = {
36040
+ en
36041
+ };
37286
36042
  const defaultNS = "general";
37287
36043
  async function initI18n(options) {
37288
- const { context = "browser" } = options ?? {};
37289
- if (context === "browser") {
37290
- instance.use(initReactI18next);
37291
- instance.use(Browser);
37292
- }
37293
- await instance.init({
37294
- resources: translations,
37295
- detection: context === "browser"
37296
- ? { order: ["localStorage", "navigator"], caches: ["localStorage"] }
37297
- : undefined,
37298
- fallbackLng: "en",
37299
- defaultNS,
37300
- interpolation: {
37301
- escapeValue: false, // not needed for react as it escapes by default
37302
- },
37303
- });
36044
+ const {
36045
+ context = "browser"
36046
+ } = options !== null && options !== void 0 ? options : {};
36047
+ if (context === "browser") {
36048
+ instance.use(initReactI18next);
36049
+ instance.use(Browser);
36050
+ }
36051
+ await instance.init({
36052
+ resources: translations,
36053
+ detection: context === "browser" ? {
36054
+ order: ["localStorage", "navigator"],
36055
+ caches: ["localStorage"]
36056
+ } : undefined,
36057
+ fallbackLng: "en",
36058
+ defaultNS,
36059
+ interpolation: {
36060
+ escapeValue: false
36061
+ }
36062
+ });
37304
36063
  }
37305
36064
 
37306
36065
  // This Source Code Form is subject to the terms of the Mozilla Public
@@ -37327,40 +36086,37 @@ const PanelLayout = ({
37327
36086
  }, children);
37328
36087
  };
37329
36088
 
37330
- const useStyles = makeStyles()((theme) => ({
37331
- root: {
37332
- whiteSpace: "pre-line",
37333
- code: {
37334
- color: theme.palette.primary.main,
37335
- background: "transparent",
37336
- padding: 0,
37337
- },
37338
- },
37339
- }));
37340
- function EmptyState({ children, className, }) {
37341
- const { classes, cx } = useStyles();
37342
- 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 }) }));
37343
- }
37344
-
37345
- class ErrorBoundary extends Component {
37346
- state = {
37347
- currentError: undefined,
37348
- };
37349
- componentDidCatch(error, errorInfo) {
37350
- reportError(new AppError(error, errorInfo));
37351
- this.setState({ currentError: { error, errorInfo } });
37352
- }
37353
- render() {
37354
- if (this.state.currentError) {
37355
- 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: () => {
37356
- this.setState({ currentError: undefined });
37357
- }, children: "Dismiss" }) }));
37358
- 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: () => {
37359
- this.setState({ currentError: undefined });
37360
- }, children: "Dismiss this error" }), " ", "to continue using the app. If the issue persists, try restarting the app."] }), actions: actions }));
37361
- }
37362
- return this.props.children;
36089
+ const useStyles = makeStyles()(theme => ({
36090
+ root: {
36091
+ whiteSpace: "pre-line",
36092
+ code: {
36093
+ color: theme.palette.primary.main,
36094
+ background: "transparent",
36095
+ padding: 0
37363
36096
  }
36097
+ }
36098
+ }));
36099
+ function EmptyState({
36100
+ children,
36101
+ className
36102
+ }) {
36103
+ const {
36104
+ classes,
36105
+ cx
36106
+ } = useStyles();
36107
+ return /*#__PURE__*/React__default.createElement(Stack$1, {
36108
+ className: cx(classes.root, className),
36109
+ flex: "auto",
36110
+ alignItems: "center",
36111
+ justifyContent: "center",
36112
+ fullHeight: true,
36113
+ paddingX: 1
36114
+ }, /*#__PURE__*/React__default.createElement(Typography, {
36115
+ variant: "body2",
36116
+ color: "text.secondary",
36117
+ lineHeight: 1.4,
36118
+ align: "center"
36119
+ }, children));
37364
36120
  }
37365
36121
 
37366
36122
  /**
@@ -37371,13 +36127,15 @@ class ErrorBoundary extends Component {
37371
36127
  * last resort nuclear option when you think that an entire subtree should be purged.
37372
36128
  */
37373
36129
  function RemountOnValueChange(props) {
37374
- // When the value changes, useCallback will create a new component by returning a new
37375
- // function instance. Since this is a completely new component it will remount its entire tree.
37376
- const Parent = useCallback(({ children }) => {
37377
- void props.value; // to suppress eslint complaining about the value in the deps list
37378
- return jsx$2(Fragment, { children: children });
37379
- }, [props.value]);
37380
- return jsx$2(Parent, { children: props.children });
36130
+ // When the value changes, useCallback will create a new component by returning a new
36131
+ // function instance. Since this is a completely new component it will remount its entire tree.
36132
+ const Parent = useCallback(({
36133
+ children
36134
+ }) => {
36135
+ void props.value; // to suppress eslint complaining about the value in the deps list
36136
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
36137
+ }, [props.value]);
36138
+ return /*#__PURE__*/React__default.createElement(Parent, null, props.children);
37381
36139
  }
37382
36140
 
37383
36141
  var css$8 = "@layer reset, base, tokens, recipes, utilities;\n\n.fake-password-input {\n\t-webkit-text-security: disc;\n}\n";
@@ -89944,7 +88702,7 @@ function legacy(parser) {
89944
88702
  return new LanguageSupport(StreamLanguage.define(parser));
89945
88703
  }
89946
88704
  function sql$1(dialectName) {
89947
- return import('./index-DXHvsHzl.js').then(m => m.sql({ dialect: m[dialectName] }));
88705
+ return import('./index-DOEAktbW.js').then(m => m.sql({ dialect: m[dialectName] }));
89948
88706
  }
89949
88707
  /**
89950
88708
  An array of language descriptions for known language packages.
@@ -89955,7 +88713,7 @@ const languages = [
89955
88713
  name: "C",
89956
88714
  extensions: ["c", "h", "ino"],
89957
88715
  load() {
89958
- return import('./index-DUpgA7e6.js').then(m => m.cpp());
88716
+ return import('./index-mot3qpp9.js').then(m => m.cpp());
89959
88717
  }
89960
88718
  }),
89961
88719
  /*@__PURE__*/LanguageDescription.of({
@@ -89963,7 +88721,7 @@ const languages = [
89963
88721
  alias: ["cpp"],
89964
88722
  extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
89965
88723
  load() {
89966
- return import('./index-DUpgA7e6.js').then(m => m.cpp());
88724
+ return import('./index-mot3qpp9.js').then(m => m.cpp());
89967
88725
  }
89968
88726
  }),
89969
88727
  /*@__PURE__*/LanguageDescription.of({
@@ -89983,7 +88741,7 @@ const languages = [
89983
88741
  name: "Go",
89984
88742
  extensions: ["go"],
89985
88743
  load() {
89986
- return import('./index-I7fQaE0_.js').then(m => m.go());
88744
+ return import('./index-DhI-rSJS.js').then(m => m.go());
89987
88745
  }
89988
88746
  }),
89989
88747
  /*@__PURE__*/LanguageDescription.of({
@@ -89998,7 +88756,7 @@ const languages = [
89998
88756
  name: "Java",
89999
88757
  extensions: ["java"],
90000
88758
  load() {
90001
- return import('./index-DRTvKm-0.js').then(m => m.java());
88759
+ return import('./index-CHlhmU5r.js').then(m => m.java());
90002
88760
  }
90003
88761
  }),
90004
88762
  /*@__PURE__*/LanguageDescription.of({
@@ -90013,7 +88771,7 @@ const languages = [
90013
88771
  name: "Jinja",
90014
88772
  extensions: ["j2", "jinja", "jinja2"],
90015
88773
  load() {
90016
- return import('./index-DrXETBmj.js').then(m => m.jinja());
88774
+ return import('./index-DRcGifo6.js').then(m => m.jinja());
90017
88775
  }
90018
88776
  }),
90019
88777
  /*@__PURE__*/LanguageDescription.of({
@@ -90021,7 +88779,7 @@ const languages = [
90021
88779
  alias: ["json5"],
90022
88780
  extensions: ["json", "map"],
90023
88781
  load() {
90024
- return import('./index-CrogdRc3.js').then(m => m.json());
88782
+ return import('./index-Bcd7r8Iv.js').then(m => m.json());
90025
88783
  }
90026
88784
  }),
90027
88785
  /*@__PURE__*/LanguageDescription.of({
@@ -90035,14 +88793,14 @@ const languages = [
90035
88793
  name: "LESS",
90036
88794
  extensions: ["less"],
90037
88795
  load() {
90038
- return import('./index-CtcRTdcC.js').then(m => m.less());
88796
+ return import('./index-CKfc_K3x.js').then(m => m.less());
90039
88797
  }
90040
88798
  }),
90041
88799
  /*@__PURE__*/LanguageDescription.of({
90042
88800
  name: "Liquid",
90043
88801
  extensions: ["liquid"],
90044
88802
  load() {
90045
- return import('./index-DpfKCYgk.js').then(m => m.liquid());
88803
+ return import('./index-D-ixoHgF.js').then(m => m.liquid());
90046
88804
  }
90047
88805
  }),
90048
88806
  /*@__PURE__*/LanguageDescription.of({
@@ -90068,7 +88826,7 @@ const languages = [
90068
88826
  name: "PHP",
90069
88827
  extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
90070
88828
  load() {
90071
- return import('./index-Z2_pOHuN.js').then(m => m.php());
88829
+ return import('./index-DQXLqhI5.js').then(m => m.php());
90072
88830
  }
90073
88831
  }),
90074
88832
  /*@__PURE__*/LanguageDescription.of({
@@ -90085,28 +88843,28 @@ const languages = [
90085
88843
  extensions: ["BUILD", "bzl", "py", "pyw"],
90086
88844
  filename: /^(BUCK|BUILD)$/,
90087
88845
  load() {
90088
- return import('./index-DnPkbSwI.js').then(m => m.python());
88846
+ return import('./index-BOEXymjd.js').then(m => m.python());
90089
88847
  }
90090
88848
  }),
90091
88849
  /*@__PURE__*/LanguageDescription.of({
90092
88850
  name: "Rust",
90093
88851
  extensions: ["rs"],
90094
88852
  load() {
90095
- return import('./index-Dgmw82OA.js').then(m => m.rust());
88853
+ return import('./index-Drd3hxmz.js').then(m => m.rust());
90096
88854
  }
90097
88855
  }),
90098
88856
  /*@__PURE__*/LanguageDescription.of({
90099
88857
  name: "Sass",
90100
88858
  extensions: ["sass"],
90101
88859
  load() {
90102
- return import('./index-CEJd4Yuv.js').then(m => m.sass({ indented: true }));
88860
+ return import('./index-Bnw5i4J9.js').then(m => m.sass({ indented: true }));
90103
88861
  }
90104
88862
  }),
90105
88863
  /*@__PURE__*/LanguageDescription.of({
90106
88864
  name: "SCSS",
90107
88865
  extensions: ["scss"],
90108
88866
  load() {
90109
- return import('./index-CEJd4Yuv.js').then(m => m.sass());
88867
+ return import('./index-Bnw5i4J9.js').then(m => m.sass());
90110
88868
  }
90111
88869
  }),
90112
88870
  /*@__PURE__*/LanguageDescription.of({
@@ -90137,7 +88895,7 @@ const languages = [
90137
88895
  name: "WebAssembly",
90138
88896
  extensions: ["wat", "wast"],
90139
88897
  load() {
90140
- return import('./index-Xp6XXYGL.js').then(m => m.wast());
88898
+ return import('./index-C5yt-flE.js').then(m => m.wast());
90141
88899
  }
90142
88900
  }),
90143
88901
  /*@__PURE__*/LanguageDescription.of({
@@ -90145,7 +88903,7 @@ const languages = [
90145
88903
  alias: ["rss", "wsdl", "xsd"],
90146
88904
  extensions: ["xml", "xsl", "xsd", "svg"],
90147
88905
  load() {
90148
- return import('./index-4r5XO2hY.js').then(m => m.xml());
88906
+ return import('./index-DLW4CyCW.js').then(m => m.xml());
90149
88907
  }
90150
88908
  }),
90151
88909
  /*@__PURE__*/LanguageDescription.of({
@@ -90153,7 +88911,7 @@ const languages = [
90153
88911
  alias: ["yml"],
90154
88912
  extensions: ["yaml", "yml"],
90155
88913
  load() {
90156
- return import('./index-D4NfQEba.js').then(m => m.yaml());
88914
+ return import('./index-DLZ3xvY3.js').then(m => m.yaml());
90157
88915
  }
90158
88916
  }),
90159
88917
  // Legacy modes ported from CodeMirror 5
@@ -90942,13 +89700,13 @@ const languages = [
90942
89700
  name: "Vue",
90943
89701
  extensions: ["vue"],
90944
89702
  load() {
90945
- return import('./index-CfSbEMmb.js').then(m => m.vue());
89703
+ return import('./index-BoqJy5eD.js').then(m => m.vue());
90946
89704
  }
90947
89705
  }),
90948
89706
  /*@__PURE__*/LanguageDescription.of({
90949
89707
  name: "Angular Template",
90950
89708
  load() {
90951
- return import('./index-C-rWRmE5.js').then(m => m.angular());
89709
+ return import('./index-CjcnWHBX.js').then(m => m.angular());
90952
89710
  }
90953
89711
  })
90954
89712
  ];
@@ -176002,7 +174760,7 @@ function createRenderDelaySampler() {
176002
174760
  };
176003
174761
  }
176004
174762
 
176005
- const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-C_Rypho5.js'));
174763
+ const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-1RjTt6HK.js'));
176006
174764
  const ImagePanelBody = ({
176007
174765
  topic,
176008
174766
  frameRenderedEvent,
@@ -176079,24 +174837,25 @@ const ImagePanel = /*#__PURE__*/React__default.memo(function ImagePanel(props) {
176079
174837
  // This Source Code Form is subject to the terms of the Mozilla Public
176080
174838
  // License, v2.0. If a copy of the MPL was not distributed with this
176081
174839
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
174840
+
176082
174841
  const DEFAULT_CAMERA_STATE = {
176083
- distance: -500,
176084
- perspective: true,
176085
- phi: 89,
176086
- target: [0, 0, 0],
176087
- targetOffset: [0, 0, 0],
176088
- targetOrientation: [0, 1, 1, 1],
176089
- thetaOffset: 180,
176090
- fovy: 60,
176091
- near: 2,
176092
- far: 20000,
174842
+ distance: -500,
174843
+ perspective: localStorage.getItem("perspective") ? localStorage.getItem("perspective") === "true" : true,
174844
+ phi: 89,
174845
+ target: [0, 0, 0],
174846
+ targetOffset: [0, 0, 0],
174847
+ targetOrientation: [0, 1, 1, 1],
174848
+ thetaOffset: 180,
174849
+ fovy: 60,
174850
+ near: 2,
174851
+ far: 20000
176093
174852
  };
176094
174853
 
176095
174854
  // This Source Code Form is subject to the terms of the Mozilla Public
176096
174855
  // License, v2.0. If a copy of the MPL was not distributed with this
176097
174856
  // file, You can obtain one at http://mozilla.org/MPL/2.0/
176098
174857
 
176099
- const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-1D5S7eR3.js'));
174858
+ const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-BF6pGj6y.js'));
176100
174859
  const PointCloudPanelBody = ({
176101
174860
  topic,
176102
174861
  frameRenderedEvent,
@@ -176205,4 +174964,4 @@ const PointCloudPanel = /*#__PURE__*/React__default.memo(function PointCloudPane
176205
174964
  }));
176206
174965
  });
176207
174966
 
176208
- 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 };
174967
+ 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 };