diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml
index 646144894e..aaaf77c241 100644
--- a/.github/workflows/post-release.yml
+++ b/.github/workflows/post-release.yml
@@ -62,7 +62,7 @@ jobs:
- run: yarn install --immutable
- - run: npm publish ./packages/studio
+ - run: npm publish ./packages/suite
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
diff --git a/.storybook/main.ts b/.storybook/main.ts
index 25629f8971..17227bae4d 100644
--- a/.storybook/main.ts
+++ b/.storybook/main.ts
@@ -4,7 +4,7 @@
/* eslint-disable filenames/match-exported */
-import { makeConfig } from "@lichtblick/studio-base/webpack";
+import { makeConfig } from "@lichtblick/suite-base/webpack";
import { StorybookConfig } from "@storybook/react-webpack5";
import path from "path";
import { Configuration } from "webpack";
diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx
index 5ca8b8780a..06f2fc3d85 100644
--- a/.storybook/preview.tsx
+++ b/.storybook/preview.tsx
@@ -3,17 +3,17 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { Condvar } from "@lichtblick/den/async";
-import CssBaseline from "@lichtblick/studio-base/components/CssBaseline";
-import GlobalCss from "@lichtblick/studio-base/components/GlobalCss";
-import MultiProvider from "@lichtblick/studio-base/components/MultiProvider";
-import StudioToastProvider from "@lichtblick/studio-base/components/StudioToastProvider";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { initI18n, Language } from "@lichtblick/studio-base/i18n";
-import TimelineInteractionStateProvider from "@lichtblick/studio-base/providers/TimelineInteractionStateProvider";
-import ReadySignalContext from "@lichtblick/studio-base/stories/ReadySignalContext";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
-import waitForFonts from "@lichtblick/studio-base/util/waitForFonts";
+import CssBaseline from "@lichtblick/suite-base/components/CssBaseline";
+import GlobalCss from "@lichtblick/suite-base/components/GlobalCss";
+import MultiProvider from "@lichtblick/suite-base/components/MultiProvider";
+import StudioToastProvider from "@lichtblick/suite-base/components/StudioToastProvider";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { initI18n, Language } from "@lichtblick/suite-base/i18n";
+import TimelineInteractionStateProvider from "@lichtblick/suite-base/providers/TimelineInteractionStateProvider";
+import ReadySignalContext from "@lichtblick/suite-base/stories/ReadySignalContext";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
+import waitForFonts from "@lichtblick/suite-base/util/waitForFonts";
import { GlobalStyles } from "@mui/material";
import { Story, StoryContext } from "@storybook/react";
import { useMemo, useRef, useEffect } from "react";
@@ -164,7 +164,7 @@ function StudioContextProviders({
function WithContextProviders(Child: Story, ctx: StoryContext): JSX.Element {
if (
- (ctx.parameters.fileName as string).includes("/packages/studio-base/") ||
+ (ctx.parameters.fileName as string).includes("/packages/suite-base/") ||
(ctx.parameters.fileName as string).includes("/packages/theme/")
) {
return (
diff --git a/.storybook/tsconfig.json b/.storybook/tsconfig.json
index 493a7ba398..21c1858663 100644
--- a/.storybook/tsconfig.json
+++ b/.storybook/tsconfig.json
@@ -8,7 +8,7 @@
"experimentalDecorators": true,
"useUnknownInCatchVariables": false,
"paths": {
- "@lichtblick/studio-base/*": ["../packages/studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["../packages/suite-base/src/*"]
}
}
}
diff --git a/README.md b/README.md
index f9945c37c5..75a0e2b855 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@
-
+
diff --git a/benchmark/package.json b/benchmark/package.json
index 236fd0811d..cb79ce3d9c 100644
--- a/benchmark/package.json
+++ b/benchmark/package.json
@@ -2,7 +2,7 @@
"name": "benchmark",
"private": true,
"dependencies": {
- "@lichtblick/studio-base": "workspace:*"
+ "@lichtblick/suite-base": "workspace:*"
},
"devDependencies": {
"@foxglove/rostime": "1.1.2",
@@ -10,7 +10,7 @@
"@foxglove/tsconfig": "2.0.0",
"@lichtblick/den": "workspace:*",
"@lichtblick/log": "workspace:*",
- "@lichtblick/studio": "workspace:*",
+ "@lichtblick/suite": "workspace:*",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
"@types/react": "18.2.56",
"@types/react-dom": "18.2.7",
diff --git a/benchmark/src/Root.tsx b/benchmark/src/Root.tsx
index cd4f9187ff..738e61197d 100644
--- a/benchmark/src/Root.tsx
+++ b/benchmark/src/Root.tsx
@@ -8,7 +8,7 @@ import {
AppSetting,
LaunchPreferenceValue,
StudioApp,
-} from "@lichtblick/studio-base";
+} from "@lichtblick/suite-base";
import { useMemo, useState } from "react";
import { McapLocalBenchmarkDataSourceFactory, SyntheticDataSourceFactory } from "./dataSources";
diff --git a/benchmark/src/dataSources/McapLocalBenchmarkDataSourceFactory.ts b/benchmark/src/dataSources/McapLocalBenchmarkDataSourceFactory.ts
index 2e2855bc8e..f669256db7 100644
--- a/benchmark/src/dataSources/McapLocalBenchmarkDataSourceFactory.ts
+++ b/benchmark/src/dataSources/McapLocalBenchmarkDataSourceFactory.ts
@@ -5,9 +5,9 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import { McapIterableSource } from "@lichtblick/studio-base/players/IterablePlayer/Mcap/McapIterableSource";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import { McapIterableSource } from "@lichtblick/suite-base/players/IterablePlayer/Mcap/McapIterableSource";
+import { Player } from "@lichtblick/suite-base/players/types";
import { BenchmarkPlayer } from "../players";
diff --git a/benchmark/src/dataSources/SyntheticDataSourceFactory.ts b/benchmark/src/dataSources/SyntheticDataSourceFactory.ts
index f0baa1e817..6d737315c4 100644
--- a/benchmark/src/dataSources/SyntheticDataSourceFactory.ts
+++ b/benchmark/src/dataSources/SyntheticDataSourceFactory.ts
@@ -5,8 +5,8 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import { Player } from "@lichtblick/suite-base/players/types";
type PlayerConstructor = new () => Player;
diff --git a/benchmark/src/index.tsx b/benchmark/src/index.tsx
index 6afc3d49f5..1fef426132 100644
--- a/benchmark/src/index.tsx
+++ b/benchmark/src/index.tsx
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { initI18n } from "@lichtblick/studio-base";
+import { initI18n } from "@lichtblick/suite-base";
import ReactDOM from "react-dom";
const log = Logger.getLogger(__filename);
@@ -19,7 +19,7 @@ if (!rootEl) {
}
async function main() {
- const { overwriteFetch, waitForFonts } = await import("@lichtblick/studio-base");
+ const { overwriteFetch, waitForFonts } = await import("@lichtblick/suite-base");
overwriteFetch();
// consider moving waitForFonts into App to display an app loading screen
await waitForFonts();
diff --git a/benchmark/src/layouts.ts b/benchmark/src/layouts.ts
index df63ff3bea..b1bc7263fd 100644
--- a/benchmark/src/layouts.ts
+++ b/benchmark/src/layouts.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
import DefaultMultipleThreeDee from "./layouts/DefaultMultipleThreeDee.json";
import Empty from "./layouts/Empty.json";
diff --git a/benchmark/src/players/BenchmarkPlayer.ts b/benchmark/src/players/BenchmarkPlayer.ts
index 1e67016d98..a643eef99b 100644
--- a/benchmark/src/players/BenchmarkPlayer.ts
+++ b/benchmark/src/players/BenchmarkPlayer.ts
@@ -4,11 +4,11 @@
import { filterMap } from "@lichtblick/den/collection";
import Log from "@lichtblick/log";
-import { MessageEvent } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { BlockLoader } from "@lichtblick/studio-base/players/IterablePlayer/BlockLoader";
-import { IIterableSource } from "@lichtblick/studio-base/players/IterablePlayer/IIterableSource";
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
+import { MessageEvent } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { BlockLoader } from "@lichtblick/suite-base/players/IterablePlayer/BlockLoader";
+import { IIterableSource } from "@lichtblick/suite-base/players/IterablePlayer/IIterableSource";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
import {
AdvertiseOptions,
Player,
@@ -18,8 +18,8 @@ import {
Progress,
PublishPayload,
SubscribePayload,
-} from "@lichtblick/studio-base/players/types";
-import delay from "@lichtblick/studio-base/util/delay";
+} from "@lichtblick/suite-base/players/types";
+import delay from "@lichtblick/suite-base/util/delay";
import { toRFC3339String } from "@foxglove/rostime";
diff --git a/benchmark/src/players/PointcloudPlayer.ts b/benchmark/src/players/PointcloudPlayer.ts
index ffa370725b..165cec568d 100644
--- a/benchmark/src/players/PointcloudPlayer.ts
+++ b/benchmark/src/players/PointcloudPlayer.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { MessageEvent } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+import { MessageEvent } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
AdvertiseOptions,
Player,
@@ -14,8 +14,8 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import * as rostime from "@foxglove/rostime";
import { Time } from "@foxglove/rostime";
diff --git a/benchmark/src/players/SinewavePlayer.ts b/benchmark/src/players/SinewavePlayer.ts
index 8ed85678a5..af2202bbb8 100644
--- a/benchmark/src/players/SinewavePlayer.ts
+++ b/benchmark/src/players/SinewavePlayer.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { MessageEvent } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+import { MessageEvent } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
AdvertiseOptions,
Player,
@@ -14,8 +14,8 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import * as rostime from "@foxglove/rostime";
import { Time } from "@foxglove/rostime";
diff --git a/benchmark/src/players/TransformPlayer.ts b/benchmark/src/players/TransformPlayer.ts
index 40121ef99c..915d724f9e 100644
--- a/benchmark/src/players/TransformPlayer.ts
+++ b/benchmark/src/players/TransformPlayer.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { MessageEvent } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+import { MessageEvent } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
AdvertiseOptions,
Player,
@@ -14,9 +14,9 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { Quaternion } from "@lichtblick/studio-base/util/geometry";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { Quaternion } from "@lichtblick/suite-base/util/geometry";
import * as rostime from "@foxglove/rostime";
import { Time } from "@foxglove/rostime";
diff --git a/benchmark/src/players/TransformPreloadingPlayer.ts b/benchmark/src/players/TransformPreloadingPlayer.ts
index 1ab2b03635..a02e2c6496 100644
--- a/benchmark/src/players/TransformPreloadingPlayer.ts
+++ b/benchmark/src/players/TransformPreloadingPlayer.ts
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { MessageEvent } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { normalizeFrameTransform } from "@lichtblick/studio-base/panels/ThreeDeeRender/normalizeMessages";
+import { MessageEvent } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { normalizeFrameTransform } from "@lichtblick/suite-base/panels/ThreeDeeRender/normalizeMessages";
import {
AdvertiseOptions,
BlockCache,
@@ -18,9 +18,9 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import delay from "@lichtblick/studio-base/util/delay";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import delay from "@lichtblick/suite-base/util/delay";
import { Time, compare } from "@foxglove/rostime";
import { FrameTransform, Vector3 } from "@foxglove/schemas";
diff --git a/benchmark/src/services/MemoryAppConfiguration.tsx b/benchmark/src/services/MemoryAppConfiguration.tsx
index dfafc56c19..e49626c419 100644
--- a/benchmark/src/services/MemoryAppConfiguration.tsx
+++ b/benchmark/src/services/MemoryAppConfiguration.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IAppConfiguration, ChangeHandler, AppConfigurationValue } from "@lichtblick/studio-base";
+import { IAppConfiguration, ChangeHandler, AppConfigurationValue } from "@lichtblick/suite-base";
/**
* MemoryAppConfiguration implements IAppConfiguration by storing and reading configuration from
diff --git a/benchmark/src/tsconfig.json b/benchmark/src/tsconfig.json
index 3f5aaec1bc..faab4b8aae 100644
--- a/benchmark/src/tsconfig.json
+++ b/benchmark/src/tsconfig.json
@@ -8,7 +8,7 @@
"experimentalDecorators": true,
"useUnknownInCatchVariables": false,
"paths": {
- "@lichtblick/studio-base/*": ["../../packages/studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["../../packages/suite-base/src/*"]
}
}
}
diff --git a/benchmark/webpack.config.ts b/benchmark/webpack.config.ts
index 7afa6f3273..3d9d26c38c 100644
--- a/benchmark/webpack.config.ts
+++ b/benchmark/webpack.config.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { WebpackArgv } from "@lichtblick/studio-base/WebpackArgv";
-import { makeConfig } from "@lichtblick/studio-base/webpack";
+import type { WebpackArgv } from "@lichtblick/suite-base/WebpackArgv";
+import { makeConfig } from "@lichtblick/suite-base/webpack";
import ReactRefreshPlugin from "@pmmmwh/react-refresh-webpack-plugin";
import { CleanWebpackPlugin } from "clean-webpack-plugin";
import HtmlWebpackPlugin from "html-webpack-plugin";
diff --git a/ci/lint-unused-exports.ts b/ci/lint-unused-exports.ts
index 79cf2c81da..ca1a4d76c6 100644
--- a/ci/lint-unused-exports.ts
+++ b/ci/lint-unused-exports.ts
@@ -13,16 +13,16 @@ import tsUnusedExports from "ts-unused-exports";
// Note: use the "// ts-unused-exports:disable-next-line" comment above an export if you would like to mark it
// as used even though it appears unused. This might happen for exports which are injected via webpack.
async function main(): Promise {
- const results = tsUnusedExports(path.join(__dirname, "../packages/studio-base/tsconfig.json"), [
+ const results = tsUnusedExports(path.join(__dirname, "../packages/suite-base/tsconfig.json"), [
"--findCompletelyUnusedFiles",
"--ignoreLocallyUsed",
]);
const ignorePathsRegex = new RegExp(
[
String.raw`\.stories\.tsx?$`,
- String.raw`packages/studio-base/src/index\.ts`,
- String.raw`packages/studio-base/src/panels/ThreeDeeRender/transforms/index\.ts`, // `export *` is not correctly analyzed
- String.raw`packages/studio-base/src/test/`,
+ String.raw`packages/suite-base/src/index\.ts`,
+ String.raw`packages/suite-base/src/panels/ThreeDeeRender/transforms/index\.ts`, // `export *` is not correctly analyzed
+ String.raw`packages/suite-base/src/test/`,
].join("|"),
);
diff --git a/desktop/electronBuilderConfig.js b/desktop/electronBuilderConfig.js
index 8c180e4b20..553d5e42cf 100644
--- a/desktop/electronBuilderConfig.js
+++ b/desktop/electronBuilderConfig.js
@@ -4,7 +4,7 @@
const {
makeElectronBuilderConfig,
-} = require("@lichtblick/studio-desktop/src/electronBuilderConfig");
+} = require("@lichtblick/suite-desktop/src/electronBuilderConfig");
const path = require("path");
module.exports = makeElectronBuilderConfig({
diff --git a/desktop/main/index.ts b/desktop/main/index.ts
index 704626c9a4..0984763a0c 100644
--- a/desktop/main/index.ts
+++ b/desktop/main/index.ts
@@ -2,6 +2,6 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { main } from "@lichtblick/studio-desktop/src/main";
+import { main } from "@lichtblick/suite-desktop/src/main";
void main();
diff --git a/desktop/package.json b/desktop/package.json
index 7e90f85174..09363cd220 100644
--- a/desktop/package.json
+++ b/desktop/package.json
@@ -5,8 +5,8 @@
"@foxglove/tsconfig": "2.0.0",
"@lichtblick/den": "workspace:*",
"@lichtblick/log": "workspace:*",
- "@lichtblick/studio-base": "workspace:*",
- "@lichtblick/studio-desktop": "workspace:*",
+ "@lichtblick/suite-base": "workspace:*",
+ "@lichtblick/suite-desktop": "workspace:*",
"electron": "25.8.4",
"playwright": "1.37.1",
"webpack": "5.93.0"
diff --git a/desktop/preload/index.ts b/desktop/preload/index.ts
index 49925d33f2..3f67ad803e 100644
--- a/desktop/preload/index.ts
+++ b/desktop/preload/index.ts
@@ -2,6 +2,6 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { main } from "@lichtblick/studio-desktop/src/preload";
+import { main } from "@lichtblick/suite-desktop/src/preload";
main();
diff --git a/desktop/quicklook/index.ts b/desktop/quicklook/index.ts
index f4b96e3de5..997bf4bed9 100644
--- a/desktop/quicklook/index.ts
+++ b/desktop/quicklook/index.ts
@@ -2,6 +2,6 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { main } from "@lichtblick/studio-desktop/src/quicklook";
+import { main } from "@lichtblick/suite-desktop/src/quicklook";
main();
diff --git a/desktop/renderer/index.ts b/desktop/renderer/index.ts
index c893c8e0c6..57b4bfce42 100644
--- a/desktop/renderer/index.ts
+++ b/desktop/renderer/index.ts
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base";
-import { Storage } from "@lichtblick/studio-desktop/src/common/types";
-import { main as rendererMain } from "@lichtblick/studio-desktop/src/renderer/index";
-import NativeStorageAppConfiguration from "@lichtblick/studio-desktop/src/renderer/services/NativeStorageAppConfiguration";
+import { AppSetting } from "@lichtblick/suite-base";
+import { Storage } from "@lichtblick/suite-desktop/src/common/types";
+import { main as rendererMain } from "@lichtblick/suite-desktop/src/renderer/index";
+import NativeStorageAppConfiguration from "@lichtblick/suite-desktop/src/renderer/services/NativeStorageAppConfiguration";
const isDevelopment = process.env.NODE_ENV === "development";
diff --git a/desktop/renderer/tsconfig.json b/desktop/renderer/tsconfig.json
index 968d36a3a4..22913fcd82 100644
--- a/desktop/renderer/tsconfig.json
+++ b/desktop/renderer/tsconfig.json
@@ -9,7 +9,7 @@
"useUnknownInCatchVariables": false,
"lib": ["dom", "dom.iterable", "es2022", "webworker"],
"paths": {
- "@lichtblick/studio-base/*": ["../../packages/studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["../../packages/suite-base/src/*"]
}
}
}
diff --git a/desktop/webpack.config.ts b/desktop/webpack.config.ts
index 67436450aa..8fa1c0d973 100644
--- a/desktop/webpack.config.ts
+++ b/desktop/webpack.config.ts
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { WebpackConfigParams } from "@lichtblick/studio-desktop/src/WebpackConfigParams";
-import { webpackDevServerConfig } from "@lichtblick/studio-desktop/src/webpackDevServerConfig";
-import { webpackMainConfig } from "@lichtblick/studio-desktop/src/webpackMainConfig";
-import { webpackPreloadConfig } from "@lichtblick/studio-desktop/src/webpackPreloadConfig";
-import { webpackQuicklookConfig } from "@lichtblick/studio-desktop/src/webpackQuicklookConfig";
-import { webpackRendererConfig } from "@lichtblick/studio-desktop/src/webpackRendererConfig";
+import { WebpackConfigParams } from "@lichtblick/suite-desktop/src/WebpackConfigParams";
+import { webpackDevServerConfig } from "@lichtblick/suite-desktop/src/webpackDevServerConfig";
+import { webpackMainConfig } from "@lichtblick/suite-desktop/src/webpackMainConfig";
+import { webpackPreloadConfig } from "@lichtblick/suite-desktop/src/webpackPreloadConfig";
+import { webpackQuicklookConfig } from "@lichtblick/suite-desktop/src/webpackQuicklookConfig";
+import { webpackRendererConfig } from "@lichtblick/suite-desktop/src/webpackRendererConfig";
import path from "path";
import packageJson from "../package.json";
diff --git a/package.json b/package.json
index e0225d4a59..d2346d3848 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "lichtblick",
- "version": "1.3.1",
+ "version": "1.3.2",
"license": "MPL-2.0",
"private": true,
"productName": "Lichtblick",
@@ -130,7 +130,7 @@
"dependencies": {
"@lichtblick/hooks": "workspace:*",
"@lichtblick/log": "workspace:*",
- "@lichtblick/studio": "workspace:*",
+ "@lichtblick/suite": "workspace:*",
"@mui/material": "5.13.5",
"react-use": "17.5.1",
"rehype-raw": "6.1.1",
diff --git a/packages/den/package.json b/packages/den/package.json
index 6f80ad6605..e4aa1f294c 100644
--- a/packages/den/package.json
+++ b/packages/den/package.json
@@ -1,6 +1,6 @@
{
"name": "@lichtblick/den",
- "description": "Incubation area for code that may be released under future @foxglove packages",
+ "description": "Incubation area for code that may be released under future @lichtblick packages",
"license": "MPL-2.0",
"private": true,
"repository": {
diff --git a/packages/studio-base/README.md b/packages/studio-base/README.md
deleted file mode 100644
index be25d6cb42..0000000000
--- a/packages/studio-base/README.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# @lichtblick/studio-base [![npm version](https://img.shields.io/npm/v/@lichtblick/studio-base.svg?style=flat)](https://www.npmjs.com/package/@lichtblick/studio-base)
-
-This package contains core components used in [Lichtblick](https://github.com/foxglove/studio).
-
-## Quick start
-
-When contributing to the [Lichtblick](https://github.com/foxglove/studio) codebase, you can import from `@lichtblick/studio-base` at its top-level or from lower in its directory:
-
-```
-import { ExtensionInfo, ExtensionLoaderContext, ExtensionLoader } from "@lichtblick/studio-base";
-import fuzzyFilter from "@lichtblick/studio-base/util/fuzzyFilter";
-```
-
-For a full list of the package's exports, reference its [`index.ts` file](https://github.com/foxglove/studio/blob/main/packages/studio-base/src/index.ts).
diff --git a/packages/studio-base/.eslintrc.yaml b/packages/suite-base/.eslintrc.yaml
similarity index 100%
rename from packages/studio-base/.eslintrc.yaml
rename to packages/suite-base/.eslintrc.yaml
diff --git a/packages/studio-base/.gitignore b/packages/suite-base/.gitignore
similarity index 100%
rename from packages/studio-base/.gitignore
rename to packages/suite-base/.gitignore
diff --git a/packages/suite-base/README.md b/packages/suite-base/README.md
new file mode 100644
index 0000000000..f11449fe0c
--- /dev/null
+++ b/packages/suite-base/README.md
@@ -0,0 +1,17 @@
+# @lichtblick/suite-base
+ [![npm version](https://img.shields.io/npm/v/%40lichtblick%2Fsuite)](https://www.npmjs.com/package/@lichtblick/suite)
+ ![GitHub License](https://img.shields.io/github/license/bmw-software-engineering/lichtblick)
+
+
+This package contains core components used in [Lichtblick](https://github.com/foxglove/suite).
+
+## Quick start
+
+When contributing to the [Lichtblick](https://github.com/bmw-software-engineering/lichtblick) codebase, you can import from `@lichtblick/suite-base` at its top-level or from lower in its directory:
+
+```
+import { ExtensionInfo, ExtensionLoaderContext, ExtensionLoader } from "@lichtblick/suite-base";
+import fuzzyFilter from "@lichtblick/suite-base/util/fuzzyFilter";
+```
+
+For a full list of the package's exports, reference its [`index.ts` file](https://github.com/bmw-software-engineering/lichtblick/suite/blob/main/packages/suite-base/src/index.ts).
diff --git a/packages/studio-base/WebpackArgv.ts b/packages/suite-base/WebpackArgv.ts
similarity index 100%
rename from packages/studio-base/WebpackArgv.ts
rename to packages/suite-base/WebpackArgv.ts
diff --git a/packages/studio-base/jest.config.json b/packages/suite-base/jest.config.json
similarity index 95%
rename from packages/studio-base/jest.config.json
rename to packages/suite-base/jest.config.json
index 2559446bc6..2acc6b8e93 100644
--- a/packages/studio-base/jest.config.json
+++ b/packages/suite-base/jest.config.json
@@ -21,7 +21,7 @@
"\\.css$": "/src/test/mocks/MockCss.ts",
"react-monaco-editor": "/src/test/stubs/MonacoEditor.tsx",
"\\.(glb|md|png)$": "/src/test/mocks/fileMock.ts",
- "@lichtblick/studio-base/(.*)": "/src/$1"
+ "@lichtblick/suite-base/(.*)": "/src/$1"
},
"//": "Native find is slow because it does not exclude files: https://github.com/facebook/jest/pull/11264#issuecomment-825377579",
"haste": { "forceNodeFilesystemAPI": true }
diff --git a/packages/studio-base/package.json b/packages/suite-base/package.json
similarity index 96%
rename from packages/studio-base/package.json
rename to packages/suite-base/package.json
index 655e4dc5fa..7022ae9b9e 100644
--- a/packages/studio-base/package.json
+++ b/packages/suite-base/package.json
@@ -1,13 +1,13 @@
{
- "name": "@lichtblick/studio-base",
- "description": "Core components of Foxglove Studio",
+ "name": "@lichtblick/suite-base",
+ "description": "Core components of Lichtblick Suite",
"private": true,
"productName": "Lichtblick",
"productDescription": "Lichtblick Suite",
"license": "MPL-2.0",
"repository": {
"type": "git",
- "url": "https://github.com/foxglove/studio/tree/main/packages/studio-base"
+ "url": "https://github.com/bmw-software-engineering/lichtblick/tree/main/packages/suite-base"
},
"author": {
"name": "Lichtblick",
@@ -51,7 +51,7 @@
"@lichtblick/den": "workspace:*",
"@lichtblick/hooks": "workspace:*",
"@lichtblick/log": "workspace:*",
- "@lichtblick/studio": "workspace:*",
+ "@lichtblick/suite": "workspace:*",
"@mcap/core": "2.0.2",
"@mui/icons-material": "5.15.5",
"@mui/material": "5.13.5",
diff --git a/packages/studio-base/src/App.tsx b/packages/suite-base/src/App.tsx
similarity index 85%
rename from packages/studio-base/src/App.tsx
rename to packages/suite-base/src/App.tsx
index 553a7857f5..ec34acf7ac 100644
--- a/packages/studio-base/src/App.tsx
+++ b/packages/suite-base/src/App.tsx
@@ -2,17 +2,17 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IdbLayoutStorage } from "@lichtblick/studio-base/IdbLayoutStorage";
-import GlobalCss from "@lichtblick/studio-base/components/GlobalCss";
-import LayoutStorageContext from "@lichtblick/studio-base/context/LayoutStorageContext";
-import { UserScriptStateProvider } from "@lichtblick/studio-base/context/UserScriptStateContext";
-import EventsProvider from "@lichtblick/studio-base/providers/EventsProvider";
-import LayoutManagerProvider from "@lichtblick/studio-base/providers/LayoutManagerProvider";
-import ProblemsContextProvider from "@lichtblick/studio-base/providers/ProblemsContextProvider";
-import { StudioLogsSettingsProvider } from "@lichtblick/studio-base/providers/StudioLogsSettingsProvider";
-import TimelineInteractionStateProvider from "@lichtblick/studio-base/providers/TimelineInteractionStateProvider";
-import UserProfileLocalStorageProvider from "@lichtblick/studio-base/providers/UserProfileLocalStorageProvider";
-import { LayoutLoader } from "@lichtblick/studio-base/services/ILayoutLoader";
+import { IdbLayoutStorage } from "@lichtblick/suite-base/IdbLayoutStorage";
+import GlobalCss from "@lichtblick/suite-base/components/GlobalCss";
+import LayoutStorageContext from "@lichtblick/suite-base/context/LayoutStorageContext";
+import { UserScriptStateProvider } from "@lichtblick/suite-base/context/UserScriptStateContext";
+import EventsProvider from "@lichtblick/suite-base/providers/EventsProvider";
+import LayoutManagerProvider from "@lichtblick/suite-base/providers/LayoutManagerProvider";
+import ProblemsContextProvider from "@lichtblick/suite-base/providers/ProblemsContextProvider";
+import { StudioLogsSettingsProvider } from "@lichtblick/suite-base/providers/StudioLogsSettingsProvider";
+import TimelineInteractionStateProvider from "@lichtblick/suite-base/providers/TimelineInteractionStateProvider";
+import UserProfileLocalStorageProvider from "@lichtblick/suite-base/providers/UserProfileLocalStorageProvider";
+import { LayoutLoader } from "@lichtblick/suite-base/services/ILayoutLoader";
import { Fragment, Suspense, useEffect, useMemo } from "react";
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
diff --git a/packages/studio-base/src/AppSetting.ts b/packages/suite-base/src/AppSetting.ts
similarity index 100%
rename from packages/studio-base/src/AppSetting.ts
rename to packages/suite-base/src/AppSetting.ts
diff --git a/packages/studio-base/src/IdbLayoutStorage.ts b/packages/suite-base/src/IdbLayoutStorage.ts
similarity index 94%
rename from packages/studio-base/src/IdbLayoutStorage.ts
rename to packages/suite-base/src/IdbLayoutStorage.ts
index f01f19d136..e398233be6 100644
--- a/packages/studio-base/src/IdbLayoutStorage.ts
+++ b/packages/suite-base/src/IdbLayoutStorage.ts
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { ILayoutStorage, Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
-import { migrateLayout } from "@lichtblick/studio-base/services/migrateLayout";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { ILayoutStorage, Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
+import { migrateLayout } from "@lichtblick/suite-base/services/migrateLayout";
import * as IDB from "idb/with-async-ittr";
const log = Log.getLogger(__filename);
diff --git a/packages/studio-base/src/OsContext.ts b/packages/suite-base/src/OsContext.ts
similarity index 100%
rename from packages/studio-base/src/OsContext.ts
rename to packages/suite-base/src/OsContext.ts
diff --git a/packages/studio-base/src/OsContextSingleton.ts b/packages/suite-base/src/OsContextSingleton.ts
similarity index 86%
rename from packages/studio-base/src/OsContextSingleton.ts
rename to packages/suite-base/src/OsContextSingleton.ts
index 01fd4bc4e6..bb52381290 100644
--- a/packages/studio-base/src/OsContextSingleton.ts
+++ b/packages/suite-base/src/OsContextSingleton.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { OsContext } from "@lichtblick/studio-base/OsContext";
+import type { OsContext } from "@lichtblick/suite-base/OsContext";
type GlobalWithCtx = typeof global & {
ctxbridge?: OsContext;
diff --git a/packages/studio-base/src/PanelAPI/README.md b/packages/suite-base/src/PanelAPI/README.md
similarity index 100%
rename from packages/studio-base/src/PanelAPI/README.md
rename to packages/suite-base/src/PanelAPI/README.md
diff --git a/packages/studio-base/src/PanelAPI/index.ts b/packages/suite-base/src/PanelAPI/index.ts
similarity index 92%
rename from packages/studio-base/src/PanelAPI/index.ts
rename to packages/suite-base/src/PanelAPI/index.ts
index 2e739c9d87..c6a45009a0 100644
--- a/packages/studio-base/src/PanelAPI/index.ts
+++ b/packages/suite-base/src/PanelAPI/index.ts
@@ -13,7 +13,7 @@
// This file contains hooks and components comprising the public API for
// Lichtblick panel development.
-// Recommended use: import * as PanelAPI from "@lichtblick/studio-base/PanelAPI";
+// Recommended use: import * as PanelAPI from "@lichtblick/suite-base/PanelAPI";
export { useDataSourceInfo } from "./useDataSourceInfo";
diff --git a/packages/studio-base/src/PanelAPI/useBlocksSubscriptions.test.tsx b/packages/suite-base/src/PanelAPI/useBlocksSubscriptions.test.tsx
similarity index 95%
rename from packages/studio-base/src/PanelAPI/useBlocksSubscriptions.test.tsx
rename to packages/suite-base/src/PanelAPI/useBlocksSubscriptions.test.tsx
index 4d3173c25d..bd3374fd2f 100644
--- a/packages/studio-base/src/PanelAPI/useBlocksSubscriptions.test.tsx
+++ b/packages/suite-base/src/PanelAPI/useBlocksSubscriptions.test.tsx
@@ -12,9 +12,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { SubscribePayload } from "@lichtblick/studio-base/players/types";
-import { mockMessage } from "@lichtblick/studio-base/test/mocks/mockMessage";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { SubscribePayload } from "@lichtblick/suite-base/players/types";
+import { mockMessage } from "@lichtblick/suite-base/test/mocks/mockMessage";
import { renderHook } from "@testing-library/react";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/PanelAPI/useBlocksSubscriptions.ts b/packages/suite-base/src/PanelAPI/useBlocksSubscriptions.ts
similarity index 96%
rename from packages/studio-base/src/PanelAPI/useBlocksSubscriptions.ts
rename to packages/suite-base/src/PanelAPI/useBlocksSubscriptions.ts
index 34afc4f189..332118b8e1 100644
--- a/packages/studio-base/src/PanelAPI/useBlocksSubscriptions.ts
+++ b/packages/suite-base/src/PanelAPI/useBlocksSubscriptions.ts
@@ -11,16 +11,16 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
+import { Immutable } from "@lichtblick/suite";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
+} from "@lichtblick/suite-base/components/MessagePipeline";
import {
MessageEvent,
MessageBlock as PlayerMessageBlock,
SubscribePayload,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import memoizeWeak from "memoize-weak";
import { useCallback, useEffect, useMemo, useState } from "react";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/PanelAPI/useConfigById.ts b/packages/suite-base/src/PanelAPI/useConfigById.ts
similarity index 90%
rename from packages/studio-base/src/PanelAPI/useConfigById.ts
rename to packages/suite-base/src/PanelAPI/useConfigById.ts
index 939494107e..f4f6997de8 100644
--- a/packages/studio-base/src/PanelAPI/useConfigById.ts
+++ b/packages/suite-base/src/PanelAPI/useConfigById.ts
@@ -6,9 +6,9 @@ import {
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { maybeCast } from "@lichtblick/studio-base/util/maybeCast";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { maybeCast } from "@lichtblick/suite-base/util/maybeCast";
import { useCallback } from "react";
import { DeepPartial } from "ts-essentials";
diff --git a/packages/studio-base/src/PanelAPI/useDataSourceInfo.test.tsx b/packages/suite-base/src/PanelAPI/useDataSourceInfo.test.tsx
similarity index 92%
rename from packages/studio-base/src/PanelAPI/useDataSourceInfo.test.tsx
rename to packages/suite-base/src/PanelAPI/useDataSourceInfo.test.tsx
index ee05d4f8d3..816c6c339e 100644
--- a/packages/studio-base/src/PanelAPI/useDataSourceInfo.test.tsx
+++ b/packages/suite-base/src/PanelAPI/useDataSourceInfo.test.tsx
@@ -12,9 +12,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { MessageEvent, Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { MessageEvent, Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { renderHook } from "@testing-library/react";
import * as PanelAPI from ".";
diff --git a/packages/studio-base/src/PanelAPI/useDataSourceInfo.ts b/packages/suite-base/src/PanelAPI/useDataSourceInfo.ts
similarity index 88%
rename from packages/studio-base/src/PanelAPI/useDataSourceInfo.ts
rename to packages/suite-base/src/PanelAPI/useDataSourceInfo.ts
index d5a738792a..a4fe90be0b 100644
--- a/packages/studio-base/src/PanelAPI/useDataSourceInfo.ts
+++ b/packages/suite-base/src/PanelAPI/useDataSourceInfo.ts
@@ -11,13 +11,13 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable, Time } from "@lichtblick/studio";
+import { Immutable, Time } from "@lichtblick/suite";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { useMemo } from "react";
function selectDatatypes(ctx: MessagePipelineContext) {
@@ -52,7 +52,7 @@ export type DataSourceInfo = {
/**
* Data source info" encapsulates **rarely-changing** metadata about the source from which
- * Foxglove Studio is loading data.
+ * Lichtblick Suite is loading data.
*
* A data source might be a local file, a remote file, or a streaming source.
*/
diff --git a/packages/studio-base/src/PanelAPI/useMessageReducer.test.tsx b/packages/suite-base/src/PanelAPI/useMessageReducer.test.tsx
similarity index 96%
rename from packages/studio-base/src/PanelAPI/useMessageReducer.test.tsx
rename to packages/suite-base/src/PanelAPI/useMessageReducer.test.tsx
index ec4197af16..87a7baf0a7 100644
--- a/packages/studio-base/src/PanelAPI/useMessageReducer.test.tsx
+++ b/packages/suite-base/src/PanelAPI/useMessageReducer.test.tsx
@@ -12,18 +12,18 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MessagePipelineProvider } from "@lichtblick/studio-base/components/MessagePipeline";
-import FakePlayer from "@lichtblick/studio-base/components/MessagePipeline/FakePlayer";
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
+import { MessagePipelineProvider } from "@lichtblick/suite-base/components/MessagePipeline";
+import FakePlayer from "@lichtblick/suite-base/components/MessagePipeline/FakePlayer";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
import {
Player,
PlayerStateActiveData,
Topic,
MessageEvent,
-} from "@lichtblick/studio-base/players/types";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+} from "@lichtblick/suite-base/players/types";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { renderHook, act } from "@testing-library/react";
import { PropsWithChildren, useState } from "react";
diff --git a/packages/studio-base/src/PanelAPI/useMessageReducer.ts b/packages/suite-base/src/PanelAPI/useMessageReducer.ts
similarity index 96%
rename from packages/studio-base/src/PanelAPI/useMessageReducer.ts
rename to packages/suite-base/src/PanelAPI/useMessageReducer.ts
index c3464af5ec..c39990669b 100644
--- a/packages/studio-base/src/PanelAPI/useMessageReducer.ts
+++ b/packages/suite-base/src/PanelAPI/useMessageReducer.ts
@@ -16,14 +16,14 @@ import Log from "@lichtblick/log";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import useShouldNotChangeOften from "@lichtblick/studio-base/hooks/useShouldNotChangeOften";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import useShouldNotChangeOften from "@lichtblick/suite-base/hooks/useShouldNotChangeOften";
import {
MessageEvent,
PlayerStateActiveData,
SubscribePayload,
SubscriptionPreloadType,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/PanelAPI/useMessagesByTopic.test.tsx b/packages/suite-base/src/PanelAPI/useMessagesByTopic.test.tsx
similarity index 95%
rename from packages/studio-base/src/PanelAPI/useMessagesByTopic.test.tsx
rename to packages/suite-base/src/PanelAPI/useMessagesByTopic.test.tsx
index 24612a95a5..7ee0671d65 100644
--- a/packages/studio-base/src/PanelAPI/useMessagesByTopic.test.tsx
+++ b/packages/suite-base/src/PanelAPI/useMessagesByTopic.test.tsx
@@ -12,8 +12,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
import { renderHook } from "@testing-library/react";
import * as PanelAPI from ".";
diff --git a/packages/studio-base/src/PanelAPI/useMessagesByTopic.ts b/packages/suite-base/src/PanelAPI/useMessagesByTopic.ts
similarity index 94%
rename from packages/studio-base/src/PanelAPI/useMessagesByTopic.ts
rename to packages/suite-base/src/PanelAPI/useMessagesByTopic.ts
index 9d57eafd6e..e10e6dc3a6 100644
--- a/packages/studio-base/src/PanelAPI/useMessagesByTopic.ts
+++ b/packages/suite-base/src/PanelAPI/useMessagesByTopic.ts
@@ -12,8 +12,8 @@
// You may not use this file except in compliance with the License.
import { useDeepMemo } from "@lichtblick/hooks";
-import { MessageEvent, SubscribePayload } from "@lichtblick/studio-base/players/types";
-import concatAndTruncate from "@lichtblick/studio-base/util/concatAndTruncate";
+import { MessageEvent, SubscribePayload } from "@lichtblick/suite-base/players/types";
+import concatAndTruncate from "@lichtblick/suite-base/util/concatAndTruncate";
import * as _ from "lodash-es";
import { useCallback } from "react";
diff --git a/packages/studio-base/src/SharedRoot.tsx b/packages/suite-base/src/SharedRoot.tsx
similarity index 93%
rename from packages/studio-base/src/SharedRoot.tsx
rename to packages/suite-base/src/SharedRoot.tsx
index 73ca71574e..5dc70862a2 100644
--- a/packages/studio-base/src/SharedRoot.tsx
+++ b/packages/suite-base/src/SharedRoot.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import GlobalCss from "@lichtblick/studio-base/components/GlobalCss";
+import GlobalCss from "@lichtblick/suite-base/components/GlobalCss";
import {
ISharedRootContext,
SharedRootContext,
-} from "@lichtblick/studio-base/context/SharedRootContext";
+} from "@lichtblick/suite-base/context/SharedRootContext";
import { ColorSchemeThemeProvider } from "./components/ColorSchemeThemeProvider";
import CssBaseline from "./components/CssBaseline";
diff --git a/packages/studio-base/src/StudioApp.tsx b/packages/suite-base/src/StudioApp.tsx
similarity index 81%
rename from packages/studio-base/src/StudioApp.tsx
rename to packages/suite-base/src/StudioApp.tsx
index 8652f6370e..28e63305cf 100644
--- a/packages/studio-base/src/StudioApp.tsx
+++ b/packages/suite-base/src/StudioApp.tsx
@@ -2,17 +2,17 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IdbLayoutStorage } from "@lichtblick/studio-base/IdbLayoutStorage";
-import LayoutStorageContext from "@lichtblick/studio-base/context/LayoutStorageContext";
-import NativeAppMenuContext from "@lichtblick/studio-base/context/NativeAppMenuContext";
-import NativeWindowContext from "@lichtblick/studio-base/context/NativeWindowContext";
-import { useSharedRootContext } from "@lichtblick/studio-base/context/SharedRootContext";
-import EventsProvider from "@lichtblick/studio-base/providers/EventsProvider";
-import LayoutManagerProvider from "@lichtblick/studio-base/providers/LayoutManagerProvider";
-import ProblemsContextProvider from "@lichtblick/studio-base/providers/ProblemsContextProvider";
-import { StudioLogsSettingsProvider } from "@lichtblick/studio-base/providers/StudioLogsSettingsProvider";
-import TimelineInteractionStateProvider from "@lichtblick/studio-base/providers/TimelineInteractionStateProvider";
-import UserProfileLocalStorageProvider from "@lichtblick/studio-base/providers/UserProfileLocalStorageProvider";
+import { IdbLayoutStorage } from "@lichtblick/suite-base/IdbLayoutStorage";
+import LayoutStorageContext from "@lichtblick/suite-base/context/LayoutStorageContext";
+import NativeAppMenuContext from "@lichtblick/suite-base/context/NativeAppMenuContext";
+import NativeWindowContext from "@lichtblick/suite-base/context/NativeWindowContext";
+import { useSharedRootContext } from "@lichtblick/suite-base/context/SharedRootContext";
+import EventsProvider from "@lichtblick/suite-base/providers/EventsProvider";
+import LayoutManagerProvider from "@lichtblick/suite-base/providers/LayoutManagerProvider";
+import ProblemsContextProvider from "@lichtblick/suite-base/providers/ProblemsContextProvider";
+import { StudioLogsSettingsProvider } from "@lichtblick/suite-base/providers/StudioLogsSettingsProvider";
+import TimelineInteractionStateProvider from "@lichtblick/suite-base/providers/TimelineInteractionStateProvider";
+import UserProfileLocalStorageProvider from "@lichtblick/suite-base/providers/UserProfileLocalStorageProvider";
import { Fragment, Suspense, useEffect, useMemo } from "react";
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
diff --git a/packages/studio-base/src/Workspace.stories.tsx b/packages/suite-base/src/Workspace.stories.tsx
similarity index 89%
rename from packages/studio-base/src/Workspace.stories.tsx
rename to packages/suite-base/src/Workspace.stories.tsx
index 05d20defed..cf78d7ef60 100644
--- a/packages/studio-base/src/Workspace.stories.tsx
+++ b/packages/suite-base/src/Workspace.stories.tsx
@@ -2,20 +2,20 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MultiProvider from "@lichtblick/studio-base/components/MultiProvider";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext";
+import MultiProvider from "@lichtblick/suite-base/components/MultiProvider";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext";
import PanelCatalogContext, {
PanelCatalog,
PanelInfo,
-} from "@lichtblick/studio-base/context/PanelCatalogContext";
-import Tab from "@lichtblick/studio-base/panels/Tab";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import EventsProvider from "@lichtblick/studio-base/providers/EventsProvider";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+} from "@lichtblick/suite-base/context/PanelCatalogContext";
+import Tab from "@lichtblick/suite-base/panels/Tab";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import EventsProvider from "@lichtblick/suite-base/providers/EventsProvider";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fireEvent, screen, waitFor } from "@storybook/testing-library";
import { useEffect, useState } from "react";
diff --git a/packages/studio-base/src/Workspace.tsx b/packages/suite-base/src/Workspace.tsx
similarity index 86%
rename from packages/studio-base/src/Workspace.tsx
rename to packages/suite-base/src/Workspace.tsx
index ab1e4f0ca9..8dcccfd3a2 100644
--- a/packages/studio-base/src/Workspace.tsx
+++ b/packages/suite-base/src/Workspace.tsx
@@ -11,55 +11,55 @@
// You may not use this file except in compliance with the License.
import Logger from "@lichtblick/log";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import AccountSettings from "@lichtblick/studio-base/components/AccountSettingsSidebar/AccountSettings";
-import { AppBar, AppBarProps } from "@lichtblick/studio-base/components/AppBar";
-import { CustomWindowControlsProps } from "@lichtblick/studio-base/components/AppBar/CustomWindowControls";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import AccountSettings from "@lichtblick/suite-base/components/AccountSettingsSidebar/AccountSettings";
+import { AppBar, AppBarProps } from "@lichtblick/suite-base/components/AppBar";
+import { CustomWindowControlsProps } from "@lichtblick/suite-base/components/AppBar/CustomWindowControls";
import {
DataSourceDialog,
DataSourceDialogItem,
-} from "@lichtblick/studio-base/components/DataSourceDialog";
-import DataSourceSidebar from "@lichtblick/studio-base/components/DataSourceSidebar/DataSourceSidebar";
-import DocumentDropListener from "@lichtblick/studio-base/components/DocumentDropListener";
-import { EventsList } from "@lichtblick/studio-base/components/EventsList";
-import ExtensionsSettings from "@lichtblick/studio-base/components/ExtensionsSettings";
-import KeyListener from "@lichtblick/studio-base/components/KeyListener";
-import LayoutBrowser from "@lichtblick/studio-base/components/LayoutBrowser";
+} from "@lichtblick/suite-base/components/DataSourceDialog";
+import DataSourceSidebar from "@lichtblick/suite-base/components/DataSourceSidebar/DataSourceSidebar";
+import DocumentDropListener from "@lichtblick/suite-base/components/DocumentDropListener";
+import { EventsList } from "@lichtblick/suite-base/components/EventsList";
+import ExtensionsSettings from "@lichtblick/suite-base/components/ExtensionsSettings";
+import KeyListener from "@lichtblick/suite-base/components/KeyListener";
+import LayoutBrowser from "@lichtblick/suite-base/components/LayoutBrowser";
import {
MessagePipelineContext,
useMessagePipeline,
useMessagePipelineGetter,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { PanelCatalog } from "@lichtblick/studio-base/components/PanelCatalog";
-import PanelLayout from "@lichtblick/studio-base/components/PanelLayout";
-import PanelSettings from "@lichtblick/studio-base/components/PanelSettings";
-import PlaybackControls from "@lichtblick/studio-base/components/PlaybackControls";
-import { ProblemsList } from "@lichtblick/studio-base/components/ProblemsList";
-import RemountOnValueChange from "@lichtblick/studio-base/components/RemountOnValueChange";
-import { SidebarContent } from "@lichtblick/studio-base/components/SidebarContent";
-import Sidebars, { SidebarItem } from "@lichtblick/studio-base/components/Sidebars";
-import { NewSidebarItem } from "@lichtblick/studio-base/components/Sidebars/NewSidebar";
-import Stack from "@lichtblick/studio-base/components/Stack";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { PanelCatalog } from "@lichtblick/suite-base/components/PanelCatalog";
+import PanelLayout from "@lichtblick/suite-base/components/PanelLayout";
+import PanelSettings from "@lichtblick/suite-base/components/PanelSettings";
+import PlaybackControls from "@lichtblick/suite-base/components/PlaybackControls";
+import { ProblemsList } from "@lichtblick/suite-base/components/ProblemsList";
+import RemountOnValueChange from "@lichtblick/suite-base/components/RemountOnValueChange";
+import { SidebarContent } from "@lichtblick/suite-base/components/SidebarContent";
+import Sidebars, { SidebarItem } from "@lichtblick/suite-base/components/Sidebars";
+import { NewSidebarItem } from "@lichtblick/suite-base/components/Sidebars/NewSidebar";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
StudioLogsSettings,
StudioLogsSettingsSidebar,
-} from "@lichtblick/studio-base/components/StudioLogsSettings";
-import { SyncAdapters } from "@lichtblick/studio-base/components/SyncAdapters";
-import { TopicList } from "@lichtblick/studio-base/components/TopicList";
-import VariablesList from "@lichtblick/studio-base/components/VariablesList";
-import { WorkspaceDialogs } from "@lichtblick/studio-base/components/WorkspaceDialogs";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+} from "@lichtblick/suite-base/components/StudioLogsSettings";
+import { SyncAdapters } from "@lichtblick/suite-base/components/SyncAdapters";
+import { TopicList } from "@lichtblick/suite-base/components/TopicList";
+import VariablesList from "@lichtblick/suite-base/components/VariablesList";
+import { WorkspaceDialogs } from "@lichtblick/suite-base/components/WorkspaceDialogs";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import {
LayoutState,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
import {
useCurrentUser,
useCurrentUserType,
-} from "@lichtblick/studio-base/context/CurrentUserContext";
-import { EventsStore, useEvents } from "@lichtblick/studio-base/context/EventsContext";
-import { useExtensionCatalog } from "@lichtblick/studio-base/context/ExtensionCatalogContext";
-import { usePlayerSelection } from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/CurrentUserContext";
+import { EventsStore, useEvents } from "@lichtblick/suite-base/context/EventsContext";
+import { useExtensionCatalog } from "@lichtblick/suite-base/context/ExtensionCatalogContext";
+import { usePlayerSelection } from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
LeftSidebarItemKey,
RightSidebarItemKey,
@@ -67,17 +67,17 @@ import {
SidebarItemKeys,
WorkspaceContextStore,
useWorkspaceStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
-import useAddPanel from "@lichtblick/studio-base/hooks/useAddPanel";
-import { useDefaultWebLaunchPreference } from "@lichtblick/studio-base/hooks/useDefaultWebLaunchPreference";
-import useElectronFilesToOpen from "@lichtblick/studio-base/hooks/useElectronFilesToOpen";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
-import { PanelStateContextProvider } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
-import ICONS from "@lichtblick/studio-base/theme/icons";
-import { parseAppURLState } from "@lichtblick/studio-base/util/appURLState";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
+import useAddPanel from "@lichtblick/suite-base/hooks/useAddPanel";
+import { useDefaultWebLaunchPreference } from "@lichtblick/suite-base/hooks/useDefaultWebLaunchPreference";
+import useElectronFilesToOpen from "@lichtblick/suite-base/hooks/useElectronFilesToOpen";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
+import { PanelStateContextProvider } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
+import ICONS from "@lichtblick/suite-base/theme/icons";
+import { parseAppURLState } from "@lichtblick/suite-base/util/appURLState";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import { Link, Typography } from "@mui/material";
import { t } from "i18next";
import { useSnackbar } from "notistack";
diff --git a/packages/studio-base/src/assets/Mark.svg b/packages/suite-base/src/assets/Mark.svg
similarity index 100%
rename from packages/studio-base/src/assets/Mark.svg
rename to packages/suite-base/src/assets/Mark.svg
diff --git a/packages/studio-base/src/assets/database-settings.svg b/packages/suite-base/src/assets/database-settings.svg
similarity index 100%
rename from packages/studio-base/src/assets/database-settings.svg
rename to packages/suite-base/src/assets/database-settings.svg
diff --git a/packages/studio-base/src/assets/event-add-filled.svg b/packages/suite-base/src/assets/event-add-filled.svg
similarity index 100%
rename from packages/studio-base/src/assets/event-add-filled.svg
rename to packages/suite-base/src/assets/event-add-filled.svg
diff --git a/packages/studio-base/src/assets/event-add-outlined.svg b/packages/suite-base/src/assets/event-add-outlined.svg
similarity index 100%
rename from packages/studio-base/src/assets/event-add-outlined.svg
rename to packages/suite-base/src/assets/event-add-outlined.svg
diff --git a/packages/studio-base/src/assets/event-checked-filled.svg b/packages/suite-base/src/assets/event-checked-filled.svg
similarity index 100%
rename from packages/studio-base/src/assets/event-checked-filled.svg
rename to packages/suite-base/src/assets/event-checked-filled.svg
diff --git a/packages/studio-base/src/assets/event-checked-outlined.svg b/packages/suite-base/src/assets/event-checked-outlined.svg
similarity index 100%
rename from packages/studio-base/src/assets/event-checked-outlined.svg
rename to packages/suite-base/src/assets/event-checked-outlined.svg
diff --git a/packages/studio-base/src/assets/event-remove-filled.svg b/packages/suite-base/src/assets/event-remove-filled.svg
similarity index 100%
rename from packages/studio-base/src/assets/event-remove-filled.svg
rename to packages/suite-base/src/assets/event-remove-filled.svg
diff --git a/packages/studio-base/src/assets/event-remove-outlined.svg b/packages/suite-base/src/assets/event-remove-outlined.svg
similarity index 100%
rename from packages/studio-base/src/assets/event-remove-outlined.svg
rename to packages/suite-base/src/assets/event-remove-outlined.svg
diff --git a/packages/studio-base/src/assets/events-filled.svg b/packages/suite-base/src/assets/events-filled.svg
similarity index 100%
rename from packages/studio-base/src/assets/events-filled.svg
rename to packages/suite-base/src/assets/events-filled.svg
diff --git a/packages/studio-base/src/assets/events-outlined.svg b/packages/suite-base/src/assets/events-outlined.svg
similarity index 100%
rename from packages/studio-base/src/assets/events-outlined.svg
rename to packages/suite-base/src/assets/events-outlined.svg
diff --git a/packages/studio-base/src/assets/folder-check.svg b/packages/suite-base/src/assets/folder-check.svg
similarity index 100%
rename from packages/studio-base/src/assets/folder-check.svg
rename to packages/suite-base/src/assets/folder-check.svg
diff --git a/packages/studio-base/src/assets/layout.svg b/packages/suite-base/src/assets/layout.svg
similarity index 100%
rename from packages/studio-base/src/assets/layout.svg
rename to packages/suite-base/src/assets/layout.svg
diff --git a/packages/studio-base/src/assets/panel-layout.svg b/packages/suite-base/src/assets/panel-layout.svg
similarity index 100%
rename from packages/studio-base/src/assets/panel-layout.svg
rename to packages/suite-base/src/assets/panel-layout.svg
diff --git a/packages/studio-base/src/assets/panel-settings.svg b/packages/suite-base/src/assets/panel-settings.svg
similarity index 100%
rename from packages/studio-base/src/assets/panel-settings.svg
rename to packages/suite-base/src/assets/panel-settings.svg
diff --git a/packages/studio-base/src/components/AccountSettingsSidebar/AccountInfo.stories.tsx b/packages/suite-base/src/components/AccountSettingsSidebar/AccountInfo.stories.tsx
similarity index 92%
rename from packages/studio-base/src/components/AccountSettingsSidebar/AccountInfo.stories.tsx
rename to packages/suite-base/src/components/AccountSettingsSidebar/AccountInfo.stories.tsx
index 1162983d63..846675308c 100644
--- a/packages/studio-base/src/components/AccountSettingsSidebar/AccountInfo.stories.tsx
+++ b/packages/suite-base/src/components/AccountSettingsSidebar/AccountInfo.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { User } from "@lichtblick/studio-base/context/CurrentUserContext";
+import { User } from "@lichtblick/suite-base/context/CurrentUserContext";
import { StoryObj } from "@storybook/react";
import AccountInfo from "./AccountInfo";
diff --git a/packages/studio-base/src/components/AccountSettingsSidebar/AccountInfo.tsx b/packages/suite-base/src/components/AccountSettingsSidebar/AccountInfo.tsx
similarity index 89%
rename from packages/studio-base/src/components/AccountSettingsSidebar/AccountInfo.tsx
rename to packages/suite-base/src/components/AccountSettingsSidebar/AccountInfo.tsx
index f38d41fafb..7ae9bfab95 100644
--- a/packages/studio-base/src/components/AccountSettingsSidebar/AccountInfo.tsx
+++ b/packages/suite-base/src/components/AccountSettingsSidebar/AccountInfo.tsx
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import BlockheadFilledIcon from "@lichtblick/studio-base/components/BlockheadFilledIcon";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useCurrentUser, User } from "@lichtblick/studio-base/context/CurrentUserContext";
-import { useConfirm } from "@lichtblick/studio-base/hooks/useConfirm";
+import BlockheadFilledIcon from "@lichtblick/suite-base/components/BlockheadFilledIcon";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useCurrentUser, User } from "@lichtblick/suite-base/context/CurrentUserContext";
+import { useConfirm } from "@lichtblick/suite-base/hooks/useConfirm";
import { Button, CircularProgress, Typography } from "@mui/material";
import { useSnackbar } from "notistack";
import { useCallback } from "react";
diff --git a/packages/studio-base/src/components/AccountSettingsSidebar/AccountSettings.tsx b/packages/suite-base/src/components/AccountSettingsSidebar/AccountSettings.tsx
similarity index 79%
rename from packages/studio-base/src/components/AccountSettingsSidebar/AccountSettings.tsx
rename to packages/suite-base/src/components/AccountSettingsSidebar/AccountSettings.tsx
index 912601345a..05a3fe8e00 100644
--- a/packages/studio-base/src/components/AccountSettingsSidebar/AccountSettings.tsx
+++ b/packages/suite-base/src/components/AccountSettingsSidebar/AccountSettings.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SidebarContent } from "@lichtblick/studio-base/components/SidebarContent";
-import { useCurrentUser } from "@lichtblick/studio-base/context/CurrentUserContext";
+import { SidebarContent } from "@lichtblick/suite-base/components/SidebarContent";
+import { useCurrentUser } from "@lichtblick/suite-base/context/CurrentUserContext";
import { useMemo } from "react";
import AccountInfo from "./AccountInfo";
diff --git a/packages/studio-base/src/components/AccountSettingsSidebar/AccountSyncGraphic.tsx b/packages/suite-base/src/components/AccountSettingsSidebar/AccountSyncGraphic.tsx
similarity index 100%
rename from packages/studio-base/src/components/AccountSettingsSidebar/AccountSyncGraphic.tsx
rename to packages/suite-base/src/components/AccountSettingsSidebar/AccountSyncGraphic.tsx
diff --git a/packages/studio-base/src/components/AccountSettingsSidebar/SigninForm.tsx b/packages/suite-base/src/components/AccountSettingsSidebar/SigninForm.tsx
similarity index 93%
rename from packages/studio-base/src/components/AccountSettingsSidebar/SigninForm.tsx
rename to packages/suite-base/src/components/AccountSettingsSidebar/SigninForm.tsx
index 7d5b67f4d7..a2555d7755 100644
--- a/packages/studio-base/src/components/AccountSettingsSidebar/SigninForm.tsx
+++ b/packages/suite-base/src/components/AccountSettingsSidebar/SigninForm.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { useCurrentUser } from "@lichtblick/studio-base/context/CurrentUserContext";
+import { useCurrentUser } from "@lichtblick/suite-base/context/CurrentUserContext";
import { Button, Typography } from "@mui/material";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/AppBar/AddPanel.stories.tsx b/packages/suite-base/src/components/AppBar/AddPanel.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/AppBar/AddPanel.stories.tsx
rename to packages/suite-base/src/components/AppBar/AddPanel.stories.tsx
diff --git a/packages/studio-base/src/components/AppBar/AddPanelMenu.tsx b/packages/suite-base/src/components/AppBar/AddPanelMenu.tsx
similarity index 92%
rename from packages/studio-base/src/components/AppBar/AddPanelMenu.tsx
rename to packages/suite-base/src/components/AppBar/AddPanelMenu.tsx
index 99e08716c2..eaba5d75c9 100644
--- a/packages/studio-base/src/components/AppBar/AddPanelMenu.tsx
+++ b/packages/suite-base/src/components/AppBar/AddPanelMenu.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PanelCatalog } from "@lichtblick/studio-base/components/PanelCatalog";
-import useAddPanel from "@lichtblick/studio-base/hooks/useAddPanel";
+import { PanelCatalog } from "@lichtblick/suite-base/components/PanelCatalog";
+import useAddPanel from "@lichtblick/suite-base/hooks/useAddPanel";
import { Menu, PaperProps, PopoverPosition, PopoverReference } from "@mui/material";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/AppBar/AppBarContainer.tsx b/packages/suite-base/src/components/AppBar/AppBarContainer.tsx
similarity index 100%
rename from packages/studio-base/src/components/AppBar/AppBarContainer.tsx
rename to packages/suite-base/src/components/AppBar/AppBarContainer.tsx
diff --git a/packages/studio-base/src/components/AppBar/AppBarDropdownButton.tsx b/packages/suite-base/src/components/AppBar/AppBarDropdownButton.tsx
similarity index 93%
rename from packages/studio-base/src/components/AppBar/AppBarDropdownButton.tsx
rename to packages/suite-base/src/components/AppBar/AppBarDropdownButton.tsx
index a8acc51024..b820abb511 100644
--- a/packages/studio-base/src/components/AppBar/AppBarDropdownButton.tsx
+++ b/packages/suite-base/src/components/AppBar/AppBarDropdownButton.tsx
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ChevronDown12Filled } from "@fluentui/react-icons";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import TextMiddleTruncate from "@lichtblick/studio-base/components/TextMiddleTruncate";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import TextMiddleTruncate from "@lichtblick/suite-base/components/TextMiddleTruncate";
import { ButtonBase, ButtonBaseProps, Typography } from "@mui/material";
import { forwardRef } from "react";
import tinycolor2 from "tinycolor2";
diff --git a/packages/studio-base/src/components/AppBar/AppBarIconButton.tsx b/packages/suite-base/src/components/AppBar/AppBarIconButton.tsx
similarity index 100%
rename from packages/studio-base/src/components/AppBar/AppBarIconButton.tsx
rename to packages/suite-base/src/components/AppBar/AppBarIconButton.tsx
diff --git a/packages/studio-base/src/components/AppBar/AppMenu.stories.tsx b/packages/suite-base/src/components/AppBar/AppMenu.stories.tsx
similarity index 94%
rename from packages/studio-base/src/components/AppBar/AppMenu.stories.tsx
rename to packages/suite-base/src/components/AppBar/AppMenu.stories.tsx
index 83654cc8db..0c43a729c7 100644
--- a/packages/studio-base/src/components/AppBar/AppMenu.stories.tsx
+++ b/packages/suite-base/src/components/AppBar/AppMenu.stories.tsx
@@ -4,9 +4,9 @@
import PlayerSelectionContext, {
PlayerSelection,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { PopoverPosition, PopoverReference } from "@mui/material";
import { Meta, StoryObj } from "@storybook/react";
import { userEvent, within } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/AppBar/AppMenu.tsx b/packages/suite-base/src/components/AppBar/AppMenu.tsx
similarity index 95%
rename from packages/studio-base/src/components/AppBar/AppMenu.tsx
rename to packages/suite-base/src/components/AppBar/AppMenu.tsx
index ddaf9f8069..3def95862b 100644
--- a/packages/studio-base/src/components/AppBar/AppMenu.tsx
+++ b/packages/suite-base/src/components/AppBar/AppMenu.tsx
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import TextMiddleTruncate from "@lichtblick/studio-base/components/TextMiddleTruncate";
-import { usePlayerSelection } from "@lichtblick/studio-base/context/PlayerSelectionContext";
+import TextMiddleTruncate from "@lichtblick/suite-base/components/TextMiddleTruncate";
+import { usePlayerSelection } from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
WorkspaceContextStore,
useWorkspaceStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
import { Menu, PaperProps, PopoverPosition, PopoverReference } from "@mui/material";
import { useCallback, useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/components/AppBar/CustomWindowControls.tsx b/packages/suite-base/src/components/AppBar/CustomWindowControls.tsx
similarity index 97%
rename from packages/studio-base/src/components/AppBar/CustomWindowControls.tsx
rename to packages/suite-base/src/components/AppBar/CustomWindowControls.tsx
index c58ab6999d..d400464926 100644
--- a/packages/studio-base/src/components/AppBar/CustomWindowControls.tsx
+++ b/packages/suite-base/src/components/AppBar/CustomWindowControls.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import CheckBoxOutlineBlankIcon from "@mui/icons-material/CheckBoxOutlineBlank";
import CloseIcon from "@mui/icons-material/Close";
import FilterNoneIcon from "@mui/icons-material/FilterNone";
diff --git a/packages/studio-base/src/components/AppBar/DataSource.tsx b/packages/suite-base/src/components/AppBar/DataSource.tsx
similarity index 90%
rename from packages/studio-base/src/components/AppBar/DataSource.tsx
rename to packages/suite-base/src/components/AppBar/DataSource.tsx
index 66dfdb2b4b..e8277410fd 100644
--- a/packages/studio-base/src/components/AppBar/DataSource.tsx
+++ b/packages/suite-base/src/components/AppBar/DataSource.tsx
@@ -6,12 +6,12 @@ import { ErrorCircle16Filled } from "@fluentui/react-icons";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import TextMiddleTruncate from "@lichtblick/studio-base/components/TextMiddleTruncate";
-import WssErrorModal from "@lichtblick/studio-base/components/WssErrorModal";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import TextMiddleTruncate from "@lichtblick/suite-base/components/TextMiddleTruncate";
+import WssErrorModal from "@lichtblick/suite-base/components/WssErrorModal";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
import { CircularProgress, IconButton } from "@mui/material";
import { useTranslation } from "react-i18next";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/AppBar/EndTimestamp.stories.tsx b/packages/suite-base/src/components/AppBar/EndTimestamp.stories.tsx
similarity index 79%
rename from packages/studio-base/src/components/AppBar/EndTimestamp.stories.tsx
rename to packages/suite-base/src/components/AppBar/EndTimestamp.stories.tsx
index aff9e379ec..887124a78d 100644
--- a/packages/studio-base/src/components/AppBar/EndTimestamp.stories.tsx
+++ b/packages/suite-base/src/components/AppBar/EndTimestamp.stories.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { Meta, StoryFn, StoryObj } from "@storybook/react";
import { useState } from "react";
diff --git a/packages/studio-base/src/components/AppBar/EndTimestamp.tsx b/packages/suite-base/src/components/AppBar/EndTimestamp.tsx
similarity index 82%
rename from packages/studio-base/src/components/AppBar/EndTimestamp.tsx
rename to packages/suite-base/src/components/AppBar/EndTimestamp.tsx
index 509abdcd73..11c3d3264e 100644
--- a/packages/studio-base/src/components/AppBar/EndTimestamp.tsx
+++ b/packages/suite-base/src/components/AppBar/EndTimestamp.tsx
@@ -2,14 +2,14 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { useAppConfigurationValue, useAppTimeFormat } from "@lichtblick/studio-base/hooks";
-import { format } from "@lichtblick/studio-base/util/formatTime";
-import { formatTimeRaw, isAbsoluteTime } from "@lichtblick/studio-base/util/time";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { useAppConfigurationValue, useAppTimeFormat } from "@lichtblick/suite-base/hooks";
+import { format } from "@lichtblick/suite-base/util/formatTime";
+import { formatTimeRaw, isAbsoluteTime } from "@lichtblick/suite-base/util/time";
import { useTheme } from "@mui/material";
import { useEffect, useRef } from "react";
diff --git a/packages/studio-base/src/components/AppBar/HelpMenu.tsx b/packages/suite-base/src/components/AppBar/HelpMenu.tsx
similarity index 90%
rename from packages/studio-base/src/components/AppBar/HelpMenu.tsx
rename to packages/suite-base/src/components/AppBar/HelpMenu.tsx
index e88906fe1a..a66bed31b9 100644
--- a/packages/studio-base/src/components/AppBar/HelpMenu.tsx
+++ b/packages/suite-base/src/components/AppBar/HelpMenu.tsx
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { Cloud24Regular } from "@fluentui/react-icons";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
-import { useCurrentUserType } from "@lichtblick/studio-base/context/CurrentUserContext";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
+import { useCurrentUserType } from "@lichtblick/suite-base/context/CurrentUserContext";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import {
ListItemText,
Menu,
diff --git a/packages/studio-base/src/components/AppBar/NestedMenuItem.tsx b/packages/suite-base/src/components/AppBar/NestedMenuItem.tsx
similarity index 100%
rename from packages/studio-base/src/components/AppBar/NestedMenuItem.tsx
rename to packages/suite-base/src/components/AppBar/NestedMenuItem.tsx
diff --git a/packages/studio-base/src/components/AppBar/SettingsMenu.tsx b/packages/suite-base/src/components/AppBar/SettingsMenu.tsx
similarity index 90%
rename from packages/studio-base/src/components/AppBar/SettingsMenu.tsx
rename to packages/suite-base/src/components/AppBar/SettingsMenu.tsx
index 4efe5b07e0..dd36b1b04b 100644
--- a/packages/studio-base/src/components/AppBar/SettingsMenu.tsx
+++ b/packages/suite-base/src/components/AppBar/SettingsMenu.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSettingsTab } from "@lichtblick/studio-base/components/AppSettingsDialog/AppSettingsDialog";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
+import { AppSettingsTab } from "@lichtblick/suite-base/components/AppSettingsDialog/AppSettingsDialog";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
import { Menu, MenuItem, PaperProps, PopoverPosition, PopoverReference } from "@mui/material";
import { useCallback } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/components/AppBar/StorybookDecorator.stories.tsx b/packages/suite-base/src/components/AppBar/StorybookDecorator.stories.tsx
similarity index 82%
rename from packages/studio-base/src/components/AppBar/StorybookDecorator.stories.tsx
rename to packages/suite-base/src/components/AppBar/StorybookDecorator.stories.tsx
index 672583e141..102bab97f2 100644
--- a/packages/studio-base/src/components/AppBar/StorybookDecorator.stories.tsx
+++ b/packages/suite-base/src/components/AppBar/StorybookDecorator.stories.tsx
@@ -4,14 +4,14 @@
/* eslint-disable storybook/story-exports */
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import Panel from "@lichtblick/studio-base/components/Panel";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import Panel from "@lichtblick/suite-base/components/Panel";
import PanelCatalogContext, {
PanelCatalog,
PanelInfo,
-} from "@lichtblick/studio-base/context/PanelCatalogContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+} from "@lichtblick/suite-base/context/PanelCatalogContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { StoryFn } from "@storybook/react";
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
diff --git a/packages/studio-base/src/components/AppBar/constants.ts b/packages/suite-base/src/components/AppBar/constants.ts
similarity index 100%
rename from packages/studio-base/src/components/AppBar/constants.ts
rename to packages/suite-base/src/components/AppBar/constants.ts
diff --git a/packages/studio-base/src/components/AppBar/index.stories.tsx b/packages/suite-base/src/components/AppBar/index.stories.tsx
similarity index 96%
rename from packages/studio-base/src/components/AppBar/index.stories.tsx
rename to packages/suite-base/src/components/AppBar/index.stories.tsx
index 7d7c193939..7cedcbc39a 100644
--- a/packages/studio-base/src/components/AppBar/index.stories.tsx
+++ b/packages/suite-base/src/components/AppBar/index.stories.tsx
@@ -4,9 +4,9 @@
import MockMessagePipelineProvider, {
MockMessagePipelineProps,
-} from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
import { action } from "@storybook/addon-actions";
import { Meta, StoryFn, StoryObj } from "@storybook/react";
diff --git a/packages/studio-base/src/components/AppBar/index.test.tsx b/packages/suite-base/src/components/AppBar/index.test.tsx
similarity index 72%
rename from packages/studio-base/src/components/AppBar/index.test.tsx
rename to packages/suite-base/src/components/AppBar/index.test.tsx
index 6406805c8b..a603cba973 100644
--- a/packages/studio-base/src/components/AppBar/index.test.tsx
+++ b/packages/suite-base/src/components/AppBar/index.test.tsx
@@ -3,15 +3,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import MultiProvider from "@lichtblick/studio-base/components/MultiProvider";
-import StudioToastProvider from "@lichtblick/studio-base/components/StudioToastProvider";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import TimelineInteractionStateProvider from "@lichtblick/studio-base/providers/TimelineInteractionStateProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import MultiProvider from "@lichtblick/suite-base/components/MultiProvider";
+import StudioToastProvider from "@lichtblick/suite-base/components/StudioToastProvider";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import TimelineInteractionStateProvider from "@lichtblick/suite-base/providers/TimelineInteractionStateProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { render } from "@testing-library/react";
import { AppBar } from ".";
diff --git a/packages/studio-base/src/components/AppBar/index.tsx b/packages/suite-base/src/components/AppBar/index.tsx
similarity index 96%
rename from packages/studio-base/src/components/AppBar/index.tsx
rename to packages/suite-base/src/components/AppBar/index.tsx
index 86904bfaea..ec187647b3 100644
--- a/packages/studio-base/src/components/AppBar/index.tsx
+++ b/packages/suite-base/src/components/AppBar/index.tsx
@@ -10,18 +10,18 @@ import {
PanelRight24Regular,
SlideAdd24Regular,
} from "@fluentui/react-icons";
-import { LichtblickLogo } from "@lichtblick/studio-base/components/LichtblickLogo";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+import { LichtblickLogo } from "@lichtblick/suite-base/components/LichtblickLogo";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import {
LayoutState,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
import {
WorkspaceContextStore,
useWorkspaceStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
import { Avatar, IconButton, Tooltip } from "@mui/material";
import { useState } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/components/AppBar/types.ts b/packages/suite-base/src/components/AppBar/types.ts
similarity index 100%
rename from packages/studio-base/src/components/AppBar/types.ts
rename to packages/suite-base/src/components/AppBar/types.ts
diff --git a/packages/studio-base/src/components/AppSettingsDialog/AppSettingsDialog.stories.tsx b/packages/suite-base/src/components/AppSettingsDialog/AppSettingsDialog.stories.tsx
similarity index 93%
rename from packages/studio-base/src/components/AppSettingsDialog/AppSettingsDialog.stories.tsx
rename to packages/suite-base/src/components/AppSettingsDialog/AppSettingsDialog.stories.tsx
index ccc802ceb6..bafe10ab1b 100644
--- a/packages/studio-base/src/components/AppSettingsDialog/AppSettingsDialog.stories.tsx
+++ b/packages/suite-base/src/components/AppSettingsDialog/AppSettingsDialog.stories.tsx
@@ -4,14 +4,14 @@
import ExtensionMarketplaceContext, {
ExtensionMarketplace,
-} from "@lichtblick/studio-base/context/ExtensionMarketplaceContext";
-import ExtensionCatalogProvider from "@lichtblick/studio-base/providers/ExtensionCatalogProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+} from "@lichtblick/suite-base/context/ExtensionMarketplaceContext";
+import ExtensionCatalogProvider from "@lichtblick/suite-base/providers/ExtensionCatalogProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { StoryFn, StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
import * as _ from "lodash-es";
-import { ExtensionInfo, ExtensionLoader } from "@lichtblick/studio-base";
+import { ExtensionInfo, ExtensionLoader } from "@lichtblick/suite-base";
import { AppSettingsDialog } from "./AppSettingsDialog";
diff --git a/packages/studio-base/src/components/AppSettingsDialog/AppSettingsDialog.tsx b/packages/suite-base/src/components/AppSettingsDialog/AppSettingsDialog.tsx
similarity index 91%
rename from packages/studio-base/src/components/AppSettingsDialog/AppSettingsDialog.tsx
rename to packages/suite-base/src/components/AppSettingsDialog/AppSettingsDialog.tsx
index c9dab538b2..b3edc615e5 100644
--- a/packages/studio-base/src/components/AppSettingsDialog/AppSettingsDialog.tsx
+++ b/packages/suite-base/src/components/AppSettingsDialog/AppSettingsDialog.tsx
@@ -2,20 +2,20 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import OsContextSingleton from "@lichtblick/studio-base/OsContextSingleton";
-import CopyButton from "@lichtblick/studio-base/components/CopyButton";
-import { ExperimentalFeatureSettings } from "@lichtblick/studio-base/components/ExperimentalFeatureSettings";
-import ExtensionsSettings from "@lichtblick/studio-base/components/ExtensionsSettings";
-import LichtblickLogoText from "@lichtblick/studio-base/components/LichtblickLogoText";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import OsContextSingleton from "@lichtblick/suite-base/OsContextSingleton";
+import CopyButton from "@lichtblick/suite-base/components/CopyButton";
+import { ExperimentalFeatureSettings } from "@lichtblick/suite-base/components/ExperimentalFeatureSettings";
+import ExtensionsSettings from "@lichtblick/suite-base/components/ExtensionsSettings";
+import LichtblickLogoText from "@lichtblick/suite-base/components/LichtblickLogoText";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import {
useWorkspaceStore,
WorkspaceContextStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import CloseIcon from "@mui/icons-material/Close";
import WarningAmberIcon from "@mui/icons-material/WarningAmber";
import {
diff --git a/packages/studio-base/src/components/AppSettingsDialog/index.tsx b/packages/suite-base/src/components/AppSettingsDialog/index.tsx
similarity index 100%
rename from packages/studio-base/src/components/AppSettingsDialog/index.tsx
rename to packages/suite-base/src/components/AppSettingsDialog/index.tsx
diff --git a/packages/studio-base/src/components/AppSettingsDialog/settings.tsx b/packages/suite-base/src/components/AppSettingsDialog/settings.tsx
similarity index 93%
rename from packages/studio-base/src/components/AppSettingsDialog/settings.tsx
rename to packages/suite-base/src/components/AppSettingsDialog/settings.tsx
index f998e777bd..7a10bc0b67 100644
--- a/packages/studio-base/src/components/AppSettingsDialog/settings.tsx
+++ b/packages/suite-base/src/components/AppSettingsDialog/settings.tsx
@@ -3,17 +3,17 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import OsContextSingleton from "@lichtblick/studio-base/OsContextSingleton";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
-import { Language } from "@lichtblick/studio-base/i18n";
-import { reportError } from "@lichtblick/studio-base/reportError";
-import { LaunchPreferenceValue } from "@lichtblick/studio-base/types/LaunchPreferenceValue";
-import { TimeDisplayMethod } from "@lichtblick/studio-base/types/panels";
-import { formatTime } from "@lichtblick/studio-base/util/formatTime";
-import { formatTimeRaw } from "@lichtblick/studio-base/util/time";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import OsContextSingleton from "@lichtblick/suite-base/OsContextSingleton";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
+import { Language } from "@lichtblick/suite-base/i18n";
+import { reportError } from "@lichtblick/suite-base/reportError";
+import { LaunchPreferenceValue } from "@lichtblick/suite-base/types/LaunchPreferenceValue";
+import { TimeDisplayMethod } from "@lichtblick/suite-base/types/panels";
+import { formatTime } from "@lichtblick/suite-base/util/formatTime";
+import { formatTimeRaw } from "@lichtblick/suite-base/util/time";
import Brightness5Icon from "@mui/icons-material/Brightness5";
import ComputerIcon from "@mui/icons-material/Computer";
import DarkModeIcon from "@mui/icons-material/DarkMode";
diff --git a/packages/studio-base/src/components/AutoSizingCanvas/index.stories.tsx b/packages/suite-base/src/components/AutoSizingCanvas/index.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/AutoSizingCanvas/index.stories.tsx
rename to packages/suite-base/src/components/AutoSizingCanvas/index.stories.tsx
diff --git a/packages/studio-base/src/components/AutoSizingCanvas/index.tsx b/packages/suite-base/src/components/AutoSizingCanvas/index.tsx
similarity index 100%
rename from packages/studio-base/src/components/AutoSizingCanvas/index.tsx
rename to packages/suite-base/src/components/AutoSizingCanvas/index.tsx
diff --git a/packages/studio-base/src/components/Autocomplete/Autocomplete.stories.tsx b/packages/suite-base/src/components/Autocomplete/Autocomplete.stories.tsx
similarity index 97%
rename from packages/studio-base/src/components/Autocomplete/Autocomplete.stories.tsx
rename to packages/suite-base/src/components/Autocomplete/Autocomplete.stories.tsx
index d0f5b9e77f..9eed5e8cf6 100644
--- a/packages/studio-base/src/components/Autocomplete/Autocomplete.stories.tsx
+++ b/packages/suite-base/src/components/Autocomplete/Autocomplete.stories.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Meta, StoryFn, StoryObj } from "@storybook/react";
import { fireEvent, within } from "@storybook/testing-library";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/components/Autocomplete/Autocomplete.tsx b/packages/suite-base/src/components/Autocomplete/Autocomplete.tsx
similarity index 100%
rename from packages/studio-base/src/components/Autocomplete/Autocomplete.tsx
rename to packages/suite-base/src/components/Autocomplete/Autocomplete.tsx
diff --git a/packages/studio-base/src/components/Autocomplete/ReactWindowListboxAdapter.tsx b/packages/suite-base/src/components/Autocomplete/ReactWindowListboxAdapter.tsx
similarity index 97%
rename from packages/studio-base/src/components/Autocomplete/ReactWindowListboxAdapter.tsx
rename to packages/suite-base/src/components/Autocomplete/ReactWindowListboxAdapter.tsx
index 04b1cf8710..b07889f9a6 100644
--- a/packages/studio-base/src/components/Autocomplete/ReactWindowListboxAdapter.tsx
+++ b/packages/suite-base/src/components/Autocomplete/ReactWindowListboxAdapter.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { HighlightChars } from "@lichtblick/studio-base/components/HighlightChars";
+import { HighlightChars } from "@lichtblick/suite-base/components/HighlightChars";
import { AutocompleteRenderOptionState } from "@mui/material/Autocomplete";
import MenuItem from "@mui/material/MenuItem";
import { FzfResultItem } from "fzf";
diff --git a/packages/studio-base/src/components/Autocomplete/index.ts b/packages/suite-base/src/components/Autocomplete/index.ts
similarity index 100%
rename from packages/studio-base/src/components/Autocomplete/index.ts
rename to packages/suite-base/src/components/Autocomplete/index.ts
diff --git a/packages/studio-base/src/components/BlockheadFilledIcon.tsx b/packages/suite-base/src/components/BlockheadFilledIcon.tsx
similarity index 100%
rename from packages/studio-base/src/components/BlockheadFilledIcon.tsx
rename to packages/suite-base/src/components/BlockheadFilledIcon.tsx
diff --git a/packages/studio-base/src/components/BlockheadIcon.tsx b/packages/suite-base/src/components/BlockheadIcon.tsx
similarity index 100%
rename from packages/studio-base/src/components/BlockheadIcon.tsx
rename to packages/suite-base/src/components/BlockheadIcon.tsx
diff --git a/packages/studio-base/src/components/BuiltinIcon.tsx b/packages/suite-base/src/components/BuiltinIcon.tsx
similarity index 75%
rename from packages/studio-base/src/components/BuiltinIcon.tsx
rename to packages/suite-base/src/components/BuiltinIcon.tsx
index 13c9df3f8e..307d1c9086 100644
--- a/packages/studio-base/src/components/BuiltinIcon.tsx
+++ b/packages/suite-base/src/components/BuiltinIcon.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import ICONS from "@lichtblick/studio-base/theme/icons";
-import { RegisteredIconNames } from "@lichtblick/studio-base/types/Icons";
+import ICONS from "@lichtblick/suite-base/theme/icons";
+import { RegisteredIconNames } from "@lichtblick/suite-base/types/Icons";
type BuiltinIconProps = {
name?: RegisteredIconNames;
diff --git a/packages/studio-base/src/components/CaptureErrorBoundary.tsx b/packages/suite-base/src/components/CaptureErrorBoundary.tsx
similarity index 100%
rename from packages/studio-base/src/components/CaptureErrorBoundary.tsx
rename to packages/suite-base/src/components/CaptureErrorBoundary.tsx
diff --git a/packages/studio-base/src/components/Chart/datasets.test.ts b/packages/suite-base/src/components/Chart/datasets.test.ts
similarity index 100%
rename from packages/studio-base/src/components/Chart/datasets.test.ts
rename to packages/suite-base/src/components/Chart/datasets.test.ts
diff --git a/packages/studio-base/src/components/Chart/datasets.ts b/packages/suite-base/src/components/Chart/datasets.ts
similarity index 100%
rename from packages/studio-base/src/components/Chart/datasets.ts
rename to packages/suite-base/src/components/Chart/datasets.ts
diff --git a/packages/studio-base/src/components/Chart/index.stories.tsx b/packages/suite-base/src/components/Chart/index.stories.tsx
similarity index 98%
rename from packages/studio-base/src/components/Chart/index.stories.tsx
rename to packages/suite-base/src/components/Chart/index.stories.tsx
index 30da229a45..38a376e507 100644
--- a/packages/studio-base/src/components/Chart/index.stories.tsx
+++ b/packages/suite-base/src/components/Chart/index.stories.tsx
@@ -10,7 +10,7 @@
// This source code is licensed under the Apache License, Version 2.0,
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useReadySignal } from "@lichtblick/studio-base/stories/ReadySignalContext";
+import { useReadySignal } from "@lichtblick/suite-base/stories/ReadySignalContext";
import { StoryObj } from "@storybook/react";
import * as _ from "lodash-es";
import { useState, useCallback, ComponentProps, useEffect } from "react";
diff --git a/packages/studio-base/src/components/Chart/index.tsx b/packages/suite-base/src/components/Chart/index.tsx
similarity index 98%
rename from packages/studio-base/src/components/Chart/index.tsx
rename to packages/suite-base/src/components/Chart/index.tsx
index c398166c1a..c8aecad120 100644
--- a/packages/studio-base/src/components/Chart/index.tsx
+++ b/packages/suite-base/src/components/Chart/index.tsx
@@ -11,10 +11,10 @@
import Logger from "@lichtblick/log";
import ChartJsMux, {
ChartUpdateMessage,
-} from "@lichtblick/studio-base/components/Chart/worker/ChartJsMux";
-import Rpc, { createLinkedChannels } from "@lichtblick/studio-base/util/Rpc";
-import WebWorkerManager from "@lichtblick/studio-base/util/WebWorkerManager";
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+} from "@lichtblick/suite-base/components/Chart/worker/ChartJsMux";
+import Rpc, { createLinkedChannels } from "@lichtblick/suite-base/util/Rpc";
+import WebWorkerManager from "@lichtblick/suite-base/util/WebWorkerManager";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import { ChartOptions } from "chart.js";
import Hammer from "hammerjs";
import * as R from "ramda";
diff --git a/packages/studio-base/src/components/Chart/types.ts b/packages/suite-base/src/components/Chart/types.ts
similarity index 100%
rename from packages/studio-base/src/components/Chart/types.ts
rename to packages/suite-base/src/components/Chart/types.ts
diff --git a/packages/studio-base/src/components/Chart/worker/ChartJSManager.ts b/packages/suite-base/src/components/Chart/worker/ChartJSManager.ts
similarity index 99%
rename from packages/studio-base/src/components/Chart/worker/ChartJSManager.ts
rename to packages/suite-base/src/components/Chart/worker/ChartJSManager.ts
index c22df3d071..88632dd37c 100644
--- a/packages/studio-base/src/components/Chart/worker/ChartJSManager.ts
+++ b/packages/suite-base/src/components/Chart/worker/ChartJSManager.ts
@@ -12,8 +12,8 @@
// You may not use this file except in compliance with the License.
import Logger from "@lichtblick/log";
-import { RpcElement, RpcScales } from "@lichtblick/studio-base/components/Chart/types";
-import { maybeCast } from "@lichtblick/studio-base/util/maybeCast";
+import { RpcElement, RpcScales } from "@lichtblick/suite-base/components/Chart/types";
+import { maybeCast } from "@lichtblick/suite-base/util/maybeCast";
import {
Chart,
ChartData,
diff --git a/packages/studio-base/src/components/Chart/worker/ChartJsMux.ts b/packages/suite-base/src/components/Chart/worker/ChartJsMux.ts
similarity index 96%
rename from packages/studio-base/src/components/Chart/worker/ChartJsMux.ts
rename to packages/suite-base/src/components/Chart/worker/ChartJsMux.ts
index 8844525c41..0b373084bc 100644
--- a/packages/studio-base/src/components/Chart/worker/ChartJsMux.ts
+++ b/packages/suite-base/src/components/Chart/worker/ChartJsMux.ts
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import PlexMono from "@lichtblick/studio-base/styles/assets/PlexMono.woff2";
-import Rpc from "@lichtblick/studio-base/util/Rpc";
-import { setupWorker } from "@lichtblick/studio-base/util/RpcWorkerUtils";
+import PlexMono from "@lichtblick/suite-base/styles/assets/PlexMono.woff2";
+import Rpc from "@lichtblick/suite-base/util/Rpc";
+import { setupWorker } from "@lichtblick/suite-base/util/RpcWorkerUtils";
import {
CategoryScale,
Chart,
diff --git a/packages/studio-base/src/components/Chart/worker/lineSegments.ts b/packages/suite-base/src/components/Chart/worker/lineSegments.ts
similarity index 100%
rename from packages/studio-base/src/components/Chart/worker/lineSegments.ts
rename to packages/suite-base/src/components/Chart/worker/lineSegments.ts
diff --git a/packages/studio-base/src/components/Chart/worker/main.ts b/packages/suite-base/src/components/Chart/worker/main.ts
similarity index 86%
rename from packages/studio-base/src/components/Chart/worker/main.ts
rename to packages/suite-base/src/components/Chart/worker/main.ts
index 1ca3215629..d79adc6602 100644
--- a/packages/studio-base/src/components/Chart/worker/main.ts
+++ b/packages/suite-base/src/components/Chart/worker/main.ts
@@ -13,8 +13,8 @@
// Entrypoint for chartjs worker
-import Rpc, { Channel } from "@lichtblick/studio-base/util/Rpc";
-import { inWebWorker } from "@lichtblick/studio-base/util/workers";
+import Rpc, { Channel } from "@lichtblick/suite-base/util/Rpc";
+import { inWebWorker } from "@lichtblick/suite-base/util/workers";
import ChartJsMux from "./ChartJsMux";
diff --git a/packages/studio-base/src/components/Chart/worker/proxy.ts b/packages/suite-base/src/components/Chart/worker/proxy.ts
similarity index 100%
rename from packages/studio-base/src/components/Chart/worker/proxy.ts
rename to packages/suite-base/src/components/Chart/worker/proxy.ts
diff --git a/packages/studio-base/src/components/ColorSchemeThemeProvider.tsx b/packages/suite-base/src/components/ColorSchemeThemeProvider.tsx
similarity index 75%
rename from packages/studio-base/src/components/ColorSchemeThemeProvider.tsx
rename to packages/suite-base/src/components/ColorSchemeThemeProvider.tsx
index e9ce854142..af6efeb0dd 100644
--- a/packages/studio-base/src/components/ColorSchemeThemeProvider.tsx
+++ b/packages/suite-base/src/components/ColorSchemeThemeProvider.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
import { useMedia } from "react-use";
export function ColorSchemeThemeProvider({ children }: React.PropsWithChildren): JSX.Element {
diff --git a/packages/studio-base/src/components/CopyButton.tsx b/packages/suite-base/src/components/CopyButton.tsx
similarity index 97%
rename from packages/studio-base/src/components/CopyButton.tsx
rename to packages/suite-base/src/components/CopyButton.tsx
index a18a6087b9..52c1a14e8d 100644
--- a/packages/studio-base/src/components/CopyButton.tsx
+++ b/packages/suite-base/src/components/CopyButton.tsx
@@ -10,7 +10,7 @@ import {
Checkmark20Filled,
Checkmark24Filled,
} from "@fluentui/react-icons";
-import clipboard from "@lichtblick/studio-base/util/clipboard";
+import clipboard from "@lichtblick/suite-base/util/clipboard";
import {
Button,
ButtonProps,
diff --git a/packages/studio-base/src/components/CreateEventDialog.stories.tsx b/packages/suite-base/src/components/CreateEventDialog.stories.tsx
similarity index 92%
rename from packages/studio-base/src/components/CreateEventDialog.stories.tsx
rename to packages/suite-base/src/components/CreateEventDialog.stories.tsx
index b531492164..4e23a3183b 100644
--- a/packages/studio-base/src/components/CreateEventDialog.stories.tsx
+++ b/packages/suite-base/src/components/CreateEventDialog.stories.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import EventsProvider from "@lichtblick/studio-base/providers/EventsProvider";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import EventsProvider from "@lichtblick/suite-base/providers/EventsProvider";
import { StoryObj, StoryFn, Meta } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/CreateEventDialog.tsx b/packages/suite-base/src/components/CreateEventDialog.tsx
similarity index 96%
rename from packages/studio-base/src/components/CreateEventDialog.tsx
rename to packages/suite-base/src/components/CreateEventDialog.tsx
index e060cd27be..17db3333c5 100644
--- a/packages/studio-base/src/components/CreateEventDialog.tsx
+++ b/packages/suite-base/src/components/CreateEventDialog.tsx
@@ -6,11 +6,11 @@ import Log from "@lichtblick/log";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
-import { EventsStore, useEvents } from "@lichtblick/studio-base/context/EventsContext";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
+import { EventsStore, useEvents } from "@lichtblick/suite-base/context/EventsContext";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
import AddIcon from "@mui/icons-material/Add";
import RemoveIcon from "@mui/icons-material/Remove";
import {
diff --git a/packages/studio-base/src/components/CssBaseline.stories.tsx b/packages/suite-base/src/components/CssBaseline.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/CssBaseline.stories.tsx
rename to packages/suite-base/src/components/CssBaseline.stories.tsx
diff --git a/packages/studio-base/src/components/CssBaseline.tsx b/packages/suite-base/src/components/CssBaseline.tsx
similarity index 98%
rename from packages/studio-base/src/components/CssBaseline.tsx
rename to packages/suite-base/src/components/CssBaseline.tsx
index fc45590ca4..db6095097e 100644
--- a/packages/studio-base/src/components/CssBaseline.tsx
+++ b/packages/suite-base/src/components/CssBaseline.tsx
@@ -7,8 +7,8 @@ import { PropsWithChildren } from "react";
import tinycolor from "tinycolor2";
import { makeStyles } from "tss-react/mui";
-import "@lichtblick/studio-base/styles/assets/inter.css";
-import "@lichtblick/studio-base/styles/assets/plex-mono.css";
+import "@lichtblick/suite-base/styles/assets/inter.css";
+import "@lichtblick/suite-base/styles/assets/plex-mono.css";
const useStyles = makeStyles()(({ palette, typography }) => ({
root: {
diff --git a/packages/studio-base/src/components/CurrentLayoutLocalStorageSyncAdapter.tsx b/packages/suite-base/src/components/CurrentLayoutLocalStorageSyncAdapter.tsx
similarity index 80%
rename from packages/studio-base/src/components/CurrentLayoutLocalStorageSyncAdapter.tsx
rename to packages/suite-base/src/components/CurrentLayoutLocalStorageSyncAdapter.tsx
index dd18eddcc9..d865d42dd2 100644
--- a/packages/studio-base/src/components/CurrentLayoutLocalStorageSyncAdapter.tsx
+++ b/packages/suite-base/src/components/CurrentLayoutLocalStorageSyncAdapter.tsx
@@ -3,17 +3,17 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { LOCAL_STORAGE_STUDIO_LAYOUT_KEY } from "@lichtblick/studio-base/constants/localStorageKeys";
+import { LOCAL_STORAGE_STUDIO_LAYOUT_KEY } from "@lichtblick/suite-base/constants/localStorageKeys";
import {
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { useLayoutManager } from "@lichtblick/studio-base/context/LayoutManagerContext";
-import { usePlayerSelection } from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import { defaultLayout } from "@lichtblick/studio-base/providers/CurrentLayoutProvider/defaultLayout";
-import { migratePanelsState } from "@lichtblick/studio-base/services/migrateLayout";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { useLayoutManager } from "@lichtblick/suite-base/context/LayoutManagerContext";
+import { usePlayerSelection } from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import { defaultLayout } from "@lichtblick/suite-base/providers/CurrentLayoutProvider/defaultLayout";
+import { migratePanelsState } from "@lichtblick/suite-base/services/migrateLayout";
import assert from "assert";
import { useEffect } from "react";
import { useAsync } from "react-use";
diff --git a/packages/studio-base/src/components/CurrentLayoutSyncAdapter.tsx b/packages/suite-base/src/components/CurrentLayoutSyncAdapter.tsx
similarity index 89%
rename from packages/studio-base/src/components/CurrentLayoutSyncAdapter.tsx
rename to packages/suite-base/src/components/CurrentLayoutSyncAdapter.tsx
index 544bd2bc41..d92994c7b6 100644
--- a/packages/studio-base/src/components/CurrentLayoutSyncAdapter.tsx
+++ b/packages/suite-base/src/components/CurrentLayoutSyncAdapter.tsx
@@ -3,14 +3,14 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
import {
LayoutID,
LayoutState,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { useLayoutManager } from "@lichtblick/studio-base/context/LayoutManagerContext";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { useLayoutManager } from "@lichtblick/suite-base/context/LayoutManagerContext";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import { enqueueSnackbar } from "notistack";
import { useEffect, useState } from "react";
import { useAsync, useMountedState } from "react-use";
diff --git a/packages/studio-base/src/components/DataSourceDialog/Connection.stories.tsx b/packages/suite-base/src/components/DataSourceDialog/Connection.stories.tsx
similarity index 90%
rename from packages/studio-base/src/components/DataSourceDialog/Connection.stories.tsx
rename to packages/suite-base/src/components/DataSourceDialog/Connection.stories.tsx
index d5bc82538b..db1266117f 100644
--- a/packages/studio-base/src/components/DataSourceDialog/Connection.stories.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/Connection.stories.tsx
@@ -4,9 +4,9 @@
import PlayerSelectionContext, {
PlayerSelection,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { StoryFn, StoryObj } from "@storybook/react";
import { DataSourceDialog } from "./DataSourceDialog";
diff --git a/packages/studio-base/src/components/DataSourceDialog/Connection.tsx b/packages/suite-base/src/components/DataSourceDialog/Connection.tsx
similarity index 94%
rename from packages/studio-base/src/components/DataSourceDialog/Connection.tsx
rename to packages/suite-base/src/components/DataSourceDialog/Connection.tsx
index 823c7c5664..09e4d38053 100644
--- a/packages/studio-base/src/components/DataSourceDialog/Connection.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/Connection.tsx
@@ -2,16 +2,16 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { BuiltinIcon } from "@lichtblick/studio-base/components/BuiltinIcon";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
-import { usePlayerSelection } from "@lichtblick/studio-base/context/PlayerSelectionContext";
+import { BuiltinIcon } from "@lichtblick/suite-base/components/BuiltinIcon";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
+import { usePlayerSelection } from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
WorkspaceContextStore,
useWorkspaceStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import { Alert, Link, Tab, Tabs, Typography, useMediaQuery, useTheme } from "@mui/material";
import { useState, useMemo, useCallback, useLayoutEffect, FormEvent } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/DataSourceDialog/DataSourceDialog.tsx b/packages/suite-base/src/components/DataSourceDialog/DataSourceDialog.tsx
similarity index 88%
rename from packages/studio-base/src/components/DataSourceDialog/DataSourceDialog.tsx
rename to packages/suite-base/src/components/DataSourceDialog/DataSourceDialog.tsx
index 0b7f1588e7..fc79216e17 100644
--- a/packages/studio-base/src/components/DataSourceDialog/DataSourceDialog.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/DataSourceDialog.tsx
@@ -2,16 +2,16 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Snow from "@lichtblick/studio-base/components/DataSourceDialog/Snow";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
-import { usePlayerSelection } from "@lichtblick/studio-base/context/PlayerSelectionContext";
+import Snow from "@lichtblick/suite-base/components/DataSourceDialog/Snow";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
+import { usePlayerSelection } from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
WorkspaceContextStore,
useWorkspaceStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import CloseIcon from "@mui/icons-material/Close";
import { Dialog, IconButton } from "@mui/material";
import { useCallback, useLayoutEffect, useMemo, useRef } from "react";
diff --git a/packages/studio-base/src/components/DataSourceDialog/FormField.tsx b/packages/suite-base/src/components/DataSourceDialog/FormField.tsx
similarity index 95%
rename from packages/studio-base/src/components/DataSourceDialog/FormField.tsx
rename to packages/suite-base/src/components/DataSourceDialog/FormField.tsx
index 2e8cc4d993..0ffaecd757 100644
--- a/packages/studio-base/src/components/DataSourceDialog/FormField.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/FormField.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Field } from "@lichtblick/studio-base/context/PlayerSelectionContext";
+import { Field } from "@lichtblick/suite-base/context/PlayerSelectionContext";
import { FormHelperText, TextField } from "@mui/material";
import { ChangeEvent, useState } from "react";
diff --git a/packages/studio-base/src/components/DataSourceDialog/Snow.tsx b/packages/suite-base/src/components/DataSourceDialog/Snow.tsx
similarity index 100%
rename from packages/studio-base/src/components/DataSourceDialog/Snow.tsx
rename to packages/suite-base/src/components/DataSourceDialog/Snow.tsx
diff --git a/packages/studio-base/src/components/DataSourceDialog/Start.stories.tsx b/packages/suite-base/src/components/DataSourceDialog/Start.stories.tsx
similarity index 94%
rename from packages/studio-base/src/components/DataSourceDialog/Start.stories.tsx
rename to packages/suite-base/src/components/DataSourceDialog/Start.stories.tsx
index de15119240..f27e8ad8d9 100644
--- a/packages/studio-base/src/components/DataSourceDialog/Start.stories.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/Start.stories.tsx
@@ -5,12 +5,12 @@
import BaseUserContext, {
CurrentUser,
UserType,
-} from "@lichtblick/studio-base/context/BaseUserContext";
+} from "@lichtblick/suite-base/context/BaseUserContext";
import PlayerSelectionContext, {
PlayerSelection,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { StoryFn, StoryObj } from "@storybook/react";
import { ReactNode } from "react";
diff --git a/packages/studio-base/src/components/DataSourceDialog/Start.tsx b/packages/suite-base/src/components/DataSourceDialog/Start.tsx
similarity index 93%
rename from packages/studio-base/src/components/DataSourceDialog/Start.tsx
rename to packages/suite-base/src/components/DataSourceDialog/Start.tsx
index d85a561a65..8982e47cd2 100644
--- a/packages/studio-base/src/components/DataSourceDialog/Start.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/Start.tsx
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { DataSourceDialogItem } from "@lichtblick/studio-base/components/DataSourceDialog/DataSourceDialog";
-import LichtblickLogoText from "@lichtblick/studio-base/components/LichtblickLogoText";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import TextMiddleTruncate from "@lichtblick/studio-base/components/TextMiddleTruncate";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
-import { useCurrentUser } from "@lichtblick/studio-base/context/BaseUserContext";
-import { usePlayerSelection } from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+import { DataSourceDialogItem } from "@lichtblick/suite-base/components/DataSourceDialog/DataSourceDialog";
+import LichtblickLogoText from "@lichtblick/suite-base/components/LichtblickLogoText";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import TextMiddleTruncate from "@lichtblick/suite-base/components/TextMiddleTruncate";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
+import { useCurrentUser } from "@lichtblick/suite-base/context/BaseUserContext";
+import { usePlayerSelection } from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import { Button, Link, List, ListItem, ListItemButton, SvgIcon, Typography } from "@mui/material";
import { ReactNode, useMemo } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/components/DataSourceDialog/View.tsx b/packages/suite-base/src/components/DataSourceDialog/View.tsx
similarity index 91%
rename from packages/studio-base/src/components/DataSourceDialog/View.tsx
rename to packages/suite-base/src/components/DataSourceDialog/View.tsx
index a1077b980c..f7aa889a84 100644
--- a/packages/studio-base/src/components/DataSourceDialog/View.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/View.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
import { Button } from "@mui/material";
import { PropsWithChildren } from "react";
diff --git a/packages/studio-base/src/components/DataSourceDialog/index.stories.tsx b/packages/suite-base/src/components/DataSourceDialog/index.stories.tsx
similarity index 85%
rename from packages/studio-base/src/components/DataSourceDialog/index.stories.tsx
rename to packages/suite-base/src/components/DataSourceDialog/index.stories.tsx
index 7b98001ee7..d5d7e3cfc3 100644
--- a/packages/studio-base/src/components/DataSourceDialog/index.stories.tsx
+++ b/packages/suite-base/src/components/DataSourceDialog/index.stories.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { StoryFn, StoryObj } from "@storybook/react";
import { DataSourceDialog } from "./DataSourceDialog";
diff --git a/packages/studio-base/src/components/DataSourceDialog/index.ts b/packages/suite-base/src/components/DataSourceDialog/index.ts
similarity index 100%
rename from packages/studio-base/src/components/DataSourceDialog/index.ts
rename to packages/suite-base/src/components/DataSourceDialog/index.ts
diff --git a/packages/studio-base/src/components/DataSourceInfoView.tsx b/packages/suite-base/src/components/DataSourceInfoView.tsx
similarity index 92%
rename from packages/studio-base/src/components/DataSourceInfoView.tsx
rename to packages/suite-base/src/components/DataSourceInfoView.tsx
index f60387359c..d1afb5f0b8 100644
--- a/packages/studio-base/src/components/DataSourceInfoView.tsx
+++ b/packages/suite-base/src/components/DataSourceInfoView.tsx
@@ -5,13 +5,13 @@
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import Timestamp from "@lichtblick/studio-base/components/Timestamp";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
-import { formatDuration } from "@lichtblick/studio-base/util/formatTime";
-import { formatTimeRaw, isAbsoluteTime } from "@lichtblick/studio-base/util/time";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import Timestamp from "@lichtblick/suite-base/components/Timestamp";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
+import { formatDuration } from "@lichtblick/suite-base/util/formatTime";
+import { formatTimeRaw, isAbsoluteTime } from "@lichtblick/suite-base/util/time";
import { Skeleton, Typography } from "@mui/material";
import { MutableRefObject, useEffect, useRef } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/components/DataSourceSidebar/DataSourceSidebar.tsx b/packages/suite-base/src/components/DataSourceSidebar/DataSourceSidebar.tsx
similarity index 86%
rename from packages/studio-base/src/components/DataSourceSidebar/DataSourceSidebar.tsx
rename to packages/suite-base/src/components/DataSourceSidebar/DataSourceSidebar.tsx
index 80a3b1655b..d5f045cf3a 100644
--- a/packages/studio-base/src/components/DataSourceSidebar/DataSourceSidebar.tsx
+++ b/packages/suite-base/src/components/DataSourceSidebar/DataSourceSidebar.tsx
@@ -4,21 +4,21 @@
/* eslint-disable @foxglove/no-restricted-imports */
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { EventsList } from "@lichtblick/studio-base/components/EventsList";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { EventsList } from "@lichtblick/suite-base/components/EventsList";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { SidebarContent } from "@lichtblick/studio-base/components/SidebarContent";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { TopicList } from "@lichtblick/studio-base/components/TopicList";
-import WssErrorModal from "@lichtblick/studio-base/components/WssErrorModal";
-import { useCurrentUser } from "@lichtblick/studio-base/context/CurrentUserContext";
-import { EventsStore, useEvents } from "@lichtblick/studio-base/context/EventsContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { SidebarContent } from "@lichtblick/suite-base/components/SidebarContent";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { TopicList } from "@lichtblick/suite-base/components/TopicList";
+import WssErrorModal from "@lichtblick/suite-base/components/WssErrorModal";
+import { useCurrentUser } from "@lichtblick/suite-base/context/CurrentUserContext";
+import { EventsStore, useEvents } from "@lichtblick/suite-base/context/EventsContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
import AddIcon from "@mui/icons-material/Add";
import {
CircularProgress,
diff --git a/packages/studio-base/src/components/DirectTopicStatsUpdater.tsx b/packages/suite-base/src/components/DirectTopicStatsUpdater.tsx
similarity index 94%
rename from packages/studio-base/src/components/DirectTopicStatsUpdater.tsx
rename to packages/suite-base/src/components/DirectTopicStatsUpdater.tsx
index 776a875cfe..42636e7dc1 100644
--- a/packages/studio-base/src/components/DirectTopicStatsUpdater.tsx
+++ b/packages/suite-base/src/components/DirectTopicStatsUpdater.tsx
@@ -5,9 +5,9 @@
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { useTopicPublishFrequencies } from "@lichtblick/studio-base/hooks/useTopicPublishFrequences";
-import { PlayerCapabilities, TopicStats } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { useTopicPublishFrequencies } from "@lichtblick/suite-base/hooks/useTopicPublishFrequences";
+import { PlayerCapabilities, TopicStats } from "@lichtblick/suite-base/players/types";
import { useCallback, useEffect, useLayoutEffect, useMemo, useRef } from "react";
import { useLatest } from "react-use";
diff --git a/packages/studio-base/src/components/DocumentDropListener.test.tsx b/packages/suite-base/src/components/DocumentDropListener.test.tsx
similarity index 93%
rename from packages/studio-base/src/components/DocumentDropListener.test.tsx
rename to packages/suite-base/src/components/DocumentDropListener.test.tsx
index f62010c8fb..143869bc5f 100644
--- a/packages/studio-base/src/components/DocumentDropListener.test.tsx
+++ b/packages/suite-base/src/components/DocumentDropListener.test.tsx
@@ -12,8 +12,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import DocumentDropListener from "@lichtblick/studio-base/components/DocumentDropListener";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
+import DocumentDropListener from "@lichtblick/suite-base/components/DocumentDropListener";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
import { SnackbarProvider } from "notistack";
import ReactDOM from "react-dom";
import { act } from "react-dom/test-utils";
diff --git a/packages/studio-base/src/components/DocumentDropListener.tsx b/packages/suite-base/src/components/DocumentDropListener.tsx
similarity index 98%
rename from packages/studio-base/src/components/DocumentDropListener.tsx
rename to packages/suite-base/src/components/DocumentDropListener.tsx
index 47758f0bd8..7a5396b82b 100644
--- a/packages/studio-base/src/components/DocumentDropListener.tsx
+++ b/packages/suite-base/src/components/DocumentDropListener.tsx
@@ -12,7 +12,7 @@
// You may not use this file except in compliance with the License.
import Logger from "@lichtblick/log";
-import DropOverlay from "@lichtblick/studio-base/components/DropOverlay";
+import DropOverlay from "@lichtblick/suite-base/components/DropOverlay";
import { useSnackbar } from "notistack";
import { extname } from "path";
import { useCallback, useLayoutEffect, useState } from "react";
diff --git a/packages/studio-base/src/components/DocumentTitleAdapter.tsx b/packages/suite-base/src/components/DocumentTitleAdapter.tsx
similarity index 93%
rename from packages/studio-base/src/components/DocumentTitleAdapter.tsx
rename to packages/suite-base/src/components/DocumentTitleAdapter.tsx
index 110ba1bfc4..a85ab5360e 100644
--- a/packages/studio-base/src/components/DocumentTitleAdapter.tsx
+++ b/packages/suite-base/src/components/DocumentTitleAdapter.tsx
@@ -5,7 +5,7 @@
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
+} from "@lichtblick/suite-base/components/MessagePipeline";
import { useEffect } from "react";
const selectPlayerName = (ctx: MessagePipelineContext) => ctx.playerState.name;
diff --git a/packages/studio-base/src/components/DropOverlay.stories.tsx b/packages/suite-base/src/components/DropOverlay.stories.tsx
similarity index 89%
rename from packages/studio-base/src/components/DropOverlay.stories.tsx
rename to packages/suite-base/src/components/DropOverlay.stories.tsx
index 40e85e8b5f..13dbc2a09f 100644
--- a/packages/studio-base/src/components/DropOverlay.stories.tsx
+++ b/packages/suite-base/src/components/DropOverlay.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import DropOverlay from "@lichtblick/studio-base/components/DropOverlay";
+import DropOverlay from "@lichtblick/suite-base/components/DropOverlay";
import { StoryObj } from "@storybook/react";
export default {
diff --git a/packages/studio-base/src/components/DropOverlay.tsx b/packages/suite-base/src/components/DropOverlay.tsx
similarity index 100%
rename from packages/studio-base/src/components/DropOverlay.tsx
rename to packages/suite-base/src/components/DropOverlay.tsx
diff --git a/packages/studio-base/src/components/EmptyPanelLayout.tsx b/packages/suite-base/src/components/EmptyPanelLayout.tsx
similarity index 78%
rename from packages/studio-base/src/components/EmptyPanelLayout.tsx
rename to packages/suite-base/src/components/EmptyPanelLayout.tsx
index ec9ecbebf1..c15899cbcd 100644
--- a/packages/studio-base/src/components/EmptyPanelLayout.tsx
+++ b/packages/suite-base/src/components/EmptyPanelLayout.tsx
@@ -11,12 +11,12 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { PanelCatalog, PanelSelection } from "@lichtblick/studio-base/components/PanelCatalog";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { MosaicDropResult } from "@lichtblick/studio-base/types/panels";
-import { getPanelIdForType } from "@lichtblick/studio-base/util/layout";
-import { Link, Typography } from "@mui/material";
+import { PanelCatalog, PanelSelection } from "@lichtblick/suite-base/components/PanelCatalog";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { MosaicDropResult } from "@lichtblick/suite-base/types/panels";
+import { getPanelIdForType } from "@lichtblick/suite-base/util/layout";
+import { Typography } from "@mui/material";
import { useCallback } from "react";
import { useDrop } from "react-dnd";
import { useTranslation } from "react-i18next";
@@ -87,13 +87,6 @@ export const EmptyPanelLayout = ({ tabId }: Props): JSX.Element => {
{t("selectPanelToAddToLayout")}{" "}
-
- {t("learnMore", { ns: "general" })}
-
diff --git a/packages/studio-base/src/components/EmptyState.tsx b/packages/suite-base/src/components/EmptyState.tsx
similarity index 94%
rename from packages/studio-base/src/components/EmptyState.tsx
rename to packages/suite-base/src/components/EmptyState.tsx
index 0b4e8b59a1..a1e2fd14bf 100644
--- a/packages/studio-base/src/components/EmptyState.tsx
+++ b/packages/suite-base/src/components/EmptyState.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Typography } from "@mui/material";
import { ReactNode } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/ErrorBoundary.stories.tsx b/packages/suite-base/src/components/ErrorBoundary.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/ErrorBoundary.stories.tsx
rename to packages/suite-base/src/components/ErrorBoundary.stories.tsx
diff --git a/packages/studio-base/src/components/ErrorBoundary.tsx b/packages/suite-base/src/components/ErrorBoundary.tsx
similarity index 92%
rename from packages/studio-base/src/components/ErrorBoundary.tsx
rename to packages/suite-base/src/components/ErrorBoundary.tsx
index 0018e68a1f..760ff37ca9 100644
--- a/packages/studio-base/src/components/ErrorBoundary.tsx
+++ b/packages/suite-base/src/components/ErrorBoundary.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { reportError } from "@lichtblick/studio-base/reportError";
-import { AppError } from "@lichtblick/studio-base/util/errors";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { reportError } from "@lichtblick/suite-base/reportError";
+import { AppError } from "@lichtblick/suite-base/util/errors";
import { Link, Button, Typography } from "@mui/material";
import { Component, ErrorInfo, PropsWithChildren, ReactNode } from "react";
diff --git a/packages/studio-base/src/components/ErrorDisplay.tsx b/packages/suite-base/src/components/ErrorDisplay.tsx
similarity index 98%
rename from packages/studio-base/src/components/ErrorDisplay.tsx
rename to packages/suite-base/src/components/ErrorDisplay.tsx
index fd6db287d2..ba477697f6 100644
--- a/packages/studio-base/src/components/ErrorDisplay.tsx
+++ b/packages/suite-base/src/components/ErrorDisplay.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Typography, Link, Divider } from "@mui/material";
import { ErrorInfo, useMemo, useState } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/EventIcon.tsx b/packages/suite-base/src/components/EventIcon.tsx
similarity index 100%
rename from packages/studio-base/src/components/EventIcon.tsx
rename to packages/suite-base/src/components/EventIcon.tsx
diff --git a/packages/studio-base/src/components/EventOutlinedIcon.tsx b/packages/suite-base/src/components/EventOutlinedIcon.tsx
similarity index 100%
rename from packages/studio-base/src/components/EventOutlinedIcon.tsx
rename to packages/suite-base/src/components/EventOutlinedIcon.tsx
diff --git a/packages/studio-base/src/components/EventView.tsx b/packages/suite-base/src/components/EventView.tsx
similarity index 96%
rename from packages/studio-base/src/components/EventView.tsx
rename to packages/suite-base/src/components/EventView.tsx
index 412aef1339..8813204f49 100644
--- a/packages/studio-base/src/components/EventView.tsx
+++ b/packages/suite-base/src/components/EventView.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { HighlightedText } from "@lichtblick/studio-base/components/HighlightedText";
+import { HighlightedText } from "@lichtblick/suite-base/components/HighlightedText";
import {
TimelinePositionedEvent,
DataSourceEvent,
-} from "@lichtblick/studio-base/context/EventsContext";
+} from "@lichtblick/suite-base/context/EventsContext";
import { alpha } from "@mui/material";
import * as _ from "lodash-es";
import { Fragment } from "react";
diff --git a/packages/studio-base/src/components/EventsList.stories.tsx b/packages/suite-base/src/components/EventsList.stories.tsx
similarity index 85%
rename from packages/studio-base/src/components/EventsList.stories.tsx
rename to packages/suite-base/src/components/EventsList.stories.tsx
index 7a28353efb..c21f016fd2 100644
--- a/packages/studio-base/src/components/EventsList.stories.tsx
+++ b/packages/suite-base/src/components/EventsList.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { useEvents } from "@lichtblick/studio-base/context/EventsContext";
-import EventsProvider from "@lichtblick/studio-base/providers/EventsProvider";
-import { makeMockEvents } from "@lichtblick/studio-base/test/mocks/makeMockEvents";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { useEvents } from "@lichtblick/suite-base/context/EventsContext";
+import EventsProvider from "@lichtblick/suite-base/providers/EventsProvider";
+import { makeMockEvents } from "@lichtblick/suite-base/test/mocks/makeMockEvents";
import { StoryObj, StoryFn } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
import { useEffect } from "react";
diff --git a/packages/studio-base/src/components/EventsList.tsx b/packages/suite-base/src/components/EventsList.tsx
similarity index 94%
rename from packages/studio-base/src/components/EventsList.tsx
rename to packages/suite-base/src/components/EventsList.tsx
index 2db02a4706..3482416283 100644
--- a/packages/studio-base/src/components/EventsList.tsx
+++ b/packages/suite-base/src/components/EventsList.tsx
@@ -5,18 +5,18 @@
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
EventsStore,
TimelinePositionedEvent,
useEvents,
-} from "@lichtblick/studio-base/context/EventsContext";
+} from "@lichtblick/suite-base/context/EventsContext";
import {
TimelineInteractionStateStore,
useTimelineInteractionState,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
import ClearIcon from "@mui/icons-material/Clear";
import SearchIcon from "@mui/icons-material/Search";
import {
diff --git a/packages/studio-base/src/components/ExpandingToolbar.tsx b/packages/suite-base/src/components/ExpandingToolbar.tsx
similarity index 98%
rename from packages/studio-base/src/components/ExpandingToolbar.tsx
rename to packages/suite-base/src/components/ExpandingToolbar.tsx
index fe9c865d14..794ea42f72 100644
--- a/packages/studio-base/src/components/ExpandingToolbar.tsx
+++ b/packages/suite-base/src/components/ExpandingToolbar.tsx
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ArrowMinimize20Filled } from "@fluentui/react-icons";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Paper, IconButton, Tabs, Tab, tabClasses, tabsClasses, Tooltip } from "@mui/material";
import { ReactElement, ReactNode } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/ExperimentalFeatureSettings.stories.tsx b/packages/suite-base/src/components/ExperimentalFeatureSettings.stories.tsx
similarity index 77%
rename from packages/studio-base/src/components/ExperimentalFeatureSettings.stories.tsx
rename to packages/suite-base/src/components/ExperimentalFeatureSettings.stories.tsx
index 366f575c7e..d3caab0e65 100644
--- a/packages/studio-base/src/components/ExperimentalFeatureSettings.stories.tsx
+++ b/packages/suite-base/src/components/ExperimentalFeatureSettings.stories.tsx
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { ExperimentalFeatureSettings } from "@lichtblick/studio-base/components/ExperimentalFeatureSettings";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+import { ExperimentalFeatureSettings } from "@lichtblick/suite-base/components/ExperimentalFeatureSettings";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { StoryObj } from "@storybook/react";
import { useState } from "react";
diff --git a/packages/studio-base/src/components/ExperimentalFeatureSettings.tsx b/packages/suite-base/src/components/ExperimentalFeatureSettings.tsx
similarity index 88%
rename from packages/studio-base/src/components/ExperimentalFeatureSettings.tsx
rename to packages/suite-base/src/components/ExperimentalFeatureSettings.tsx
index 1af3fdd0ca..4fcf07b6ff 100644
--- a/packages/studio-base/src/components/ExperimentalFeatureSettings.tsx
+++ b/packages/suite-base/src/components/ExperimentalFeatureSettings.tsx
@@ -11,11 +11,11 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import { Checkbox, FormControlLabel, Typography } from "@mui/material";
import { useTranslation } from "react-i18next";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/ExtensionDetails.stories.tsx b/packages/suite-base/src/components/ExtensionDetails.stories.tsx
similarity index 83%
rename from packages/studio-base/src/components/ExtensionDetails.stories.tsx
rename to packages/suite-base/src/components/ExtensionDetails.stories.tsx
index d09a46b54a..e37545df1f 100644
--- a/packages/studio-base/src/components/ExtensionDetails.stories.tsx
+++ b/packages/suite-base/src/components/ExtensionDetails.stories.tsx
@@ -11,15 +11,15 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { ExtensionDetails } from "@lichtblick/studio-base/components/ExtensionDetails";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
+import { ExtensionDetails } from "@lichtblick/suite-base/components/ExtensionDetails";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
import ExtensionMarketplaceContext, {
ExtensionMarketplace,
ExtensionMarketplaceDetail,
-} from "@lichtblick/studio-base/context/ExtensionMarketplaceContext";
-import ExtensionCatalogProvider from "@lichtblick/studio-base/providers/ExtensionCatalogProvider";
-import { ExtensionLoader } from "@lichtblick/studio-base/services/ExtensionLoader";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+} from "@lichtblick/suite-base/context/ExtensionMarketplaceContext";
+import ExtensionCatalogProvider from "@lichtblick/suite-base/providers/ExtensionCatalogProvider";
+import { ExtensionLoader } from "@lichtblick/suite-base/services/ExtensionLoader";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { StoryObj } from "@storybook/react";
import { useState } from "react";
diff --git a/packages/studio-base/src/components/ExtensionDetails.tsx b/packages/suite-base/src/components/ExtensionDetails.tsx
similarity index 91%
rename from packages/studio-base/src/components/ExtensionDetails.tsx
rename to packages/suite-base/src/components/ExtensionDetails.tsx
index b44e075ae5..54455e2ef2 100644
--- a/packages/studio-base/src/components/ExtensionDetails.tsx
+++ b/packages/suite-base/src/components/ExtensionDetails.tsx
@@ -2,17 +2,17 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import TextContent from "@lichtblick/studio-base/components/TextContent";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
-import { useExtensionCatalog } from "@lichtblick/studio-base/context/ExtensionCatalogContext";
+import { Immutable } from "@lichtblick/suite";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import TextContent from "@lichtblick/suite-base/components/TextContent";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
+import { useExtensionCatalog } from "@lichtblick/suite-base/context/ExtensionCatalogContext";
import {
ExtensionMarketplaceDetail,
useExtensionMarketplace,
-} from "@lichtblick/studio-base/context/ExtensionMarketplaceContext";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+} from "@lichtblick/suite-base/context/ExtensionMarketplaceContext";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
import { Button, Link, Tab, Tabs, Typography, Divider } from "@mui/material";
import { useSnackbar } from "notistack";
diff --git a/packages/studio-base/src/components/ExtensionsSettings/index.stories.tsx b/packages/suite-base/src/components/ExtensionsSettings/index.stories.tsx
similarity index 87%
rename from packages/studio-base/src/components/ExtensionsSettings/index.stories.tsx
rename to packages/suite-base/src/components/ExtensionsSettings/index.stories.tsx
index c0a400feca..91779198f3 100644
--- a/packages/studio-base/src/components/ExtensionsSettings/index.stories.tsx
+++ b/packages/suite-base/src/components/ExtensionsSettings/index.stories.tsx
@@ -11,17 +11,17 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import ExtensionsSettings from "@lichtblick/studio-base/components/ExtensionsSettings";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
+import ExtensionsSettings from "@lichtblick/suite-base/components/ExtensionsSettings";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
import ExtensionMarketplaceContext, {
ExtensionMarketplace,
-} from "@lichtblick/studio-base/context/ExtensionMarketplaceContext";
-import ExtensionCatalogProvider from "@lichtblick/studio-base/providers/ExtensionCatalogProvider";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+} from "@lichtblick/suite-base/context/ExtensionMarketplaceContext";
+import ExtensionCatalogProvider from "@lichtblick/suite-base/providers/ExtensionCatalogProvider";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { StoryObj } from "@storybook/react";
import { useState } from "react";
-import { ExtensionInfo, ExtensionLoader } from "@lichtblick/studio-base";
+import { ExtensionInfo, ExtensionLoader } from "@lichtblick/suite-base";
export default {
title: "components/ExtensionsSettings",
diff --git a/packages/studio-base/src/components/ExtensionsSettings/index.tsx b/packages/suite-base/src/components/ExtensionsSettings/index.tsx
similarity index 94%
rename from packages/studio-base/src/components/ExtensionsSettings/index.tsx
rename to packages/suite-base/src/components/ExtensionsSettings/index.tsx
index f0d05750cc..f9d095a91f 100644
--- a/packages/studio-base/src/components/ExtensionsSettings/index.tsx
+++ b/packages/suite-base/src/components/ExtensionsSettings/index.tsx
@@ -3,14 +3,14 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { Immutable } from "@lichtblick/studio";
-import { ExtensionDetails } from "@lichtblick/studio-base/components/ExtensionDetails";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useExtensionCatalog } from "@lichtblick/studio-base/context/ExtensionCatalogContext";
+import { Immutable } from "@lichtblick/suite";
+import { ExtensionDetails } from "@lichtblick/suite-base/components/ExtensionDetails";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useExtensionCatalog } from "@lichtblick/suite-base/context/ExtensionCatalogContext";
import {
ExtensionMarketplaceDetail,
useExtensionMarketplace,
-} from "@lichtblick/studio-base/context/ExtensionMarketplaceContext";
+} from "@lichtblick/suite-base/context/ExtensionMarketplaceContext";
import {
Alert,
AlertTitle,
diff --git a/packages/studio-base/src/components/ForwardAnalyticsContextProvider.tsx b/packages/suite-base/src/components/ForwardAnalyticsContextProvider.tsx
similarity index 93%
rename from packages/studio-base/src/components/ForwardAnalyticsContextProvider.tsx
rename to packages/suite-base/src/components/ForwardAnalyticsContextProvider.tsx
index ce5a20e1f1..70157cbab0 100644
--- a/packages/studio-base/src/components/ForwardAnalyticsContextProvider.tsx
+++ b/packages/suite-base/src/components/ForwardAnalyticsContextProvider.tsx
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useMustNotChange } from "@lichtblick/hooks";
-import AnalyticsContext from "@lichtblick/studio-base/context/AnalyticsContext";
-import IAnalytics from "@lichtblick/studio-base/services/IAnalytics";
+import AnalyticsContext from "@lichtblick/suite-base/context/AnalyticsContext";
+import IAnalytics from "@lichtblick/suite-base/services/IAnalytics";
import { useContext, useEffect, useLayoutEffect, useState } from "react";
import { StoreApi, createStore, useStore } from "zustand";
diff --git a/packages/studio-base/src/components/GlobalCss.tsx b/packages/suite-base/src/components/GlobalCss.tsx
similarity index 100%
rename from packages/studio-base/src/components/GlobalCss.tsx
rename to packages/suite-base/src/components/GlobalCss.tsx
diff --git a/packages/studio-base/src/components/HighlightChars.tsx b/packages/suite-base/src/components/HighlightChars.tsx
similarity index 100%
rename from packages/studio-base/src/components/HighlightChars.tsx
rename to packages/suite-base/src/components/HighlightChars.tsx
diff --git a/packages/studio-base/src/components/HighlightedText.tsx b/packages/suite-base/src/components/HighlightedText.tsx
similarity index 100%
rename from packages/studio-base/src/components/HighlightedText.tsx
rename to packages/suite-base/src/components/HighlightedText.tsx
diff --git a/packages/studio-base/src/components/HoverableIconButton.tsx b/packages/suite-base/src/components/HoverableIconButton.tsx
similarity index 100%
rename from packages/studio-base/src/components/HoverableIconButton.tsx
rename to packages/suite-base/src/components/HoverableIconButton.tsx
diff --git a/packages/studio-base/src/components/JsonInput.tsx b/packages/suite-base/src/components/JsonInput.tsx
similarity index 98%
rename from packages/studio-base/src/components/JsonInput.tsx
rename to packages/suite-base/src/components/JsonInput.tsx
index b1d5f9f39e..dd25ab4f55 100644
--- a/packages/studio-base/src/components/JsonInput.tsx
+++ b/packages/suite-base/src/components/JsonInput.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { validationErrorToString, ValidationResult } from "@lichtblick/studio-base/util/validators";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { validationErrorToString, ValidationResult } from "@lichtblick/suite-base/util/validators";
import ErrorIcon from "@mui/icons-material/Error";
import { Typography } from "@mui/material";
import CodeEditor from "@uiw/react-textarea-code-editor";
diff --git a/packages/studio-base/src/components/JsonTree/useGetItemStringWithTimezone.tsx b/packages/suite-base/src/components/JsonTree/useGetItemStringWithTimezone.tsx
similarity index 80%
rename from packages/studio-base/src/components/JsonTree/useGetItemStringWithTimezone.tsx
rename to packages/suite-base/src/components/JsonTree/useGetItemStringWithTimezone.tsx
index 7a95171694..f34f6cd5b3 100644
--- a/packages/studio-base/src/components/JsonTree/useGetItemStringWithTimezone.tsx
+++ b/packages/suite-base/src/components/JsonTree/useGetItemStringWithTimezone.tsx
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
-import { getItemString } from "@lichtblick/studio-base/util/getItemString";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
+import { getItemString } from "@lichtblick/suite-base/util/getItemString";
import { ReactNode, useCallback } from "react";
export default function useGetItemStringWithTimezone(): (
diff --git a/packages/studio-base/src/components/KeyListener.tsx b/packages/suite-base/src/components/KeyListener.tsx
similarity index 100%
rename from packages/studio-base/src/components/KeyListener.tsx
rename to packages/suite-base/src/components/KeyListener.tsx
diff --git a/packages/studio-base/src/components/LayoutBrowser/LayoutRow.tsx b/packages/suite-base/src/components/LayoutBrowser/LayoutRow.tsx
similarity index 98%
rename from packages/studio-base/src/components/LayoutBrowser/LayoutRow.tsx
rename to packages/suite-base/src/components/LayoutBrowser/LayoutRow.tsx
index 93f2046d22..a49c9fb6b0 100644
--- a/packages/studio-base/src/components/LayoutBrowser/LayoutRow.tsx
+++ b/packages/suite-base/src/components/LayoutBrowser/LayoutRow.tsx
@@ -4,9 +4,9 @@
/* eslint-disable @foxglove/no-restricted-imports */
-import { useLayoutManager } from "@lichtblick/studio-base/context/LayoutManagerContext";
-import { useConfirm } from "@lichtblick/studio-base/hooks/useConfirm";
-import { Layout, layoutIsShared } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { useLayoutManager } from "@lichtblick/suite-base/context/LayoutManagerContext";
+import { useConfirm } from "@lichtblick/suite-base/hooks/useConfirm";
+import { Layout, layoutIsShared } from "@lichtblick/suite-base/services/ILayoutStorage";
import ErrorIcon from "@mui/icons-material/Error";
import MoreVertIcon from "@mui/icons-material/MoreVert";
import {
diff --git a/packages/studio-base/src/components/LayoutBrowser/LayoutSection.tsx b/packages/suite-base/src/components/LayoutBrowser/LayoutSection.tsx
similarity index 94%
rename from packages/studio-base/src/components/LayoutBrowser/LayoutSection.tsx
rename to packages/suite-base/src/components/LayoutBrowser/LayoutSection.tsx
index 14a1de673c..346bfa2025 100644
--- a/packages/studio-base/src/components/LayoutBrowser/LayoutSection.tsx
+++ b/packages/suite-base/src/components/LayoutBrowser/LayoutSection.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
import { Typography, List } from "@mui/material";
import { MouseEvent } from "react";
diff --git a/packages/studio-base/src/components/LayoutBrowser/SignInPrompt.tsx b/packages/suite-base/src/components/LayoutBrowser/SignInPrompt.tsx
similarity index 85%
rename from packages/studio-base/src/components/LayoutBrowser/SignInPrompt.tsx
rename to packages/suite-base/src/components/LayoutBrowser/SignInPrompt.tsx
index df0c15d7d9..1ae6162a24 100644
--- a/packages/studio-base/src/components/LayoutBrowser/SignInPrompt.tsx
+++ b/packages/suite-base/src/components/LayoutBrowser/SignInPrompt.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { useCurrentUser } from "@lichtblick/studio-base/context/CurrentUserContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { useCurrentUser } from "@lichtblick/suite-base/context/CurrentUserContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
import CloseIcon from "@mui/icons-material/Close";
import { ButtonBase, IconButton, Link, Typography } from "@mui/material";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/LayoutBrowser/UnsavedChangesPrompt.stories.tsx b/packages/suite-base/src/components/LayoutBrowser/UnsavedChangesPrompt.stories.tsx
similarity index 84%
rename from packages/studio-base/src/components/LayoutBrowser/UnsavedChangesPrompt.stories.tsx
rename to packages/suite-base/src/components/LayoutBrowser/UnsavedChangesPrompt.stories.tsx
index 130b4ef22d..7e422b5eed 100644
--- a/packages/studio-base/src/components/LayoutBrowser/UnsavedChangesPrompt.stories.tsx
+++ b/packages/suite-base/src/components/LayoutBrowser/UnsavedChangesPrompt.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { UnsavedChangesPrompt } from "@lichtblick/studio-base/components/LayoutBrowser/UnsavedChangesPrompt";
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { defaultPlaybackConfig } from "@lichtblick/studio-base/providers/CurrentLayoutProvider/reducers";
-import { Layout, ISO8601Timestamp } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { UnsavedChangesPrompt } from "@lichtblick/suite-base/components/LayoutBrowser/UnsavedChangesPrompt";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { defaultPlaybackConfig } from "@lichtblick/suite-base/providers/CurrentLayoutProvider/reducers";
+import { Layout, ISO8601Timestamp } from "@lichtblick/suite-base/services/ILayoutStorage";
import { action } from "@storybook/addon-actions";
import { StoryObj } from "@storybook/react";
diff --git a/packages/studio-base/src/components/LayoutBrowser/UnsavedChangesPrompt.tsx b/packages/suite-base/src/components/LayoutBrowser/UnsavedChangesPrompt.tsx
similarity index 96%
rename from packages/studio-base/src/components/LayoutBrowser/UnsavedChangesPrompt.tsx
rename to packages/suite-base/src/components/LayoutBrowser/UnsavedChangesPrompt.tsx
index 81905f2d89..0d0f89327e 100644
--- a/packages/studio-base/src/components/LayoutBrowser/UnsavedChangesPrompt.tsx
+++ b/packages/suite-base/src/components/LayoutBrowser/UnsavedChangesPrompt.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useLayoutManager } from "@lichtblick/studio-base/context/LayoutManagerContext";
-import { Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useLayoutManager } from "@lichtblick/suite-base/context/LayoutManagerContext";
+import { Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
import {
Button,
Dialog,
diff --git a/packages/studio-base/src/components/LayoutBrowser/index.stories.tsx b/packages/suite-base/src/components/LayoutBrowser/index.stories.tsx
similarity index 89%
rename from packages/studio-base/src/components/LayoutBrowser/index.stories.tsx
rename to packages/suite-base/src/components/LayoutBrowser/index.stories.tsx
index 0c1304699d..022ae4b159 100644
--- a/packages/studio-base/src/components/LayoutBrowser/index.stories.tsx
+++ b/packages/suite-base/src/components/LayoutBrowser/index.stories.tsx
@@ -2,21 +2,21 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import CurrentUserContext from "@lichtblick/studio-base/context/CurrentUserContext";
-import LayoutStorageContext from "@lichtblick/studio-base/context/LayoutStorageContext";
-import { UserProfileStorageContext } from "@lichtblick/studio-base/context/UserProfileStorageContext";
-import CurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider";
-import { defaultPlaybackConfig } from "@lichtblick/studio-base/providers/CurrentLayoutProvider/reducers";
-import LayoutManagerProvider from "@lichtblick/studio-base/providers/LayoutManagerProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
-import { ISO8601Timestamp, Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
-import LayoutManager from "@lichtblick/studio-base/services/LayoutManager/LayoutManager";
-import MockLayoutStorage from "@lichtblick/studio-base/services/MockLayoutStorage";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import CurrentUserContext from "@lichtblick/suite-base/context/CurrentUserContext";
+import LayoutStorageContext from "@lichtblick/suite-base/context/LayoutStorageContext";
+import { UserProfileStorageContext } from "@lichtblick/suite-base/context/UserProfileStorageContext";
+import CurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider";
+import { defaultPlaybackConfig } from "@lichtblick/suite-base/providers/CurrentLayoutProvider/reducers";
+import LayoutManagerProvider from "@lichtblick/suite-base/providers/LayoutManagerProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
+import { ISO8601Timestamp, Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
+import LayoutManager from "@lichtblick/suite-base/services/LayoutManager/LayoutManager";
+import MockLayoutStorage from "@lichtblick/suite-base/services/MockLayoutStorage";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { StoryObj, StoryContext, StoryFn } from "@storybook/react";
import { fireEvent, screen, userEvent, within } from "@storybook/testing-library";
import { useMemo, useState } from "react";
diff --git a/packages/studio-base/src/components/LayoutBrowser/index.tsx b/packages/suite-base/src/components/LayoutBrowser/index.tsx
similarity index 93%
rename from packages/studio-base/src/components/LayoutBrowser/index.tsx
rename to packages/suite-base/src/components/LayoutBrowser/index.tsx
index 69853be4a1..e3f0064879 100644
--- a/packages/studio-base/src/components/LayoutBrowser/index.tsx
+++ b/packages/suite-base/src/components/LayoutBrowser/index.tsx
@@ -3,30 +3,30 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import SignInPrompt from "@lichtblick/studio-base/components/LayoutBrowser/SignInPrompt";
-import { useUnsavedChangesPrompt } from "@lichtblick/studio-base/components/LayoutBrowser/UnsavedChangesPrompt";
-import { SidebarContent } from "@lichtblick/studio-base/components/SidebarContent";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import SignInPrompt from "@lichtblick/suite-base/components/LayoutBrowser/SignInPrompt";
+import { useUnsavedChangesPrompt } from "@lichtblick/suite-base/components/LayoutBrowser/UnsavedChangesPrompt";
+import { SidebarContent } from "@lichtblick/suite-base/components/SidebarContent";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
import {
LayoutID,
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { useCurrentUser } from "@lichtblick/studio-base/context/CurrentUserContext";
-import { useLayoutManager } from "@lichtblick/studio-base/context/LayoutManagerContext";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
-import useCallbackWithToast from "@lichtblick/studio-base/hooks/useCallbackWithToast";
-import { useConfirm } from "@lichtblick/studio-base/hooks/useConfirm";
-import { usePrompt } from "@lichtblick/studio-base/hooks/usePrompt";
-import { defaultPlaybackConfig } from "@lichtblick/studio-base/providers/CurrentLayoutProvider/reducers";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
-import { Layout, layoutIsShared } from "@lichtblick/studio-base/services/ILayoutStorage";
-import { downloadTextFile } from "@lichtblick/studio-base/util/download";
-import showOpenFilePicker from "@lichtblick/studio-base/util/showOpenFilePicker";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { useCurrentUser } from "@lichtblick/suite-base/context/CurrentUserContext";
+import { useLayoutManager } from "@lichtblick/suite-base/context/LayoutManagerContext";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
+import useCallbackWithToast from "@lichtblick/suite-base/hooks/useCallbackWithToast";
+import { useConfirm } from "@lichtblick/suite-base/hooks/useConfirm";
+import { usePrompt } from "@lichtblick/suite-base/hooks/usePrompt";
+import { defaultPlaybackConfig } from "@lichtblick/suite-base/providers/CurrentLayoutProvider/reducers";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
+import { Layout, layoutIsShared } from "@lichtblick/suite-base/services/ILayoutStorage";
+import { downloadTextFile } from "@lichtblick/suite-base/util/download";
+import showOpenFilePicker from "@lichtblick/suite-base/util/showOpenFilePicker";
import AddIcon from "@mui/icons-material/Add";
import CloudOffIcon from "@mui/icons-material/CloudOff";
import FileOpenOutlinedIcon from "@mui/icons-material/FileOpenOutlined";
diff --git a/packages/studio-base/src/components/LayoutBrowser/reducer.ts b/packages/suite-base/src/components/LayoutBrowser/reducer.ts
similarity index 97%
rename from packages/studio-base/src/components/LayoutBrowser/reducer.ts
rename to packages/suite-base/src/components/LayoutBrowser/reducer.ts
index e5f23b6e94..e79e092dcb 100644
--- a/packages/studio-base/src/components/LayoutBrowser/reducer.ts
+++ b/packages/suite-base/src/components/LayoutBrowser/reducer.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
import * as _ from "lodash-es";
import { Dispatch } from "react";
import { useImmerReducer } from "use-immer";
diff --git a/packages/studio-base/src/components/LichtblickLogo.tsx b/packages/suite-base/src/components/LichtblickLogo.tsx
similarity index 100%
rename from packages/studio-base/src/components/LichtblickLogo.tsx
rename to packages/suite-base/src/components/LichtblickLogo.tsx
diff --git a/packages/studio-base/src/components/LichtblickLogoText.tsx b/packages/suite-base/src/components/LichtblickLogoText.tsx
similarity index 100%
rename from packages/studio-base/src/components/LichtblickLogoText.tsx
rename to packages/suite-base/src/components/LichtblickLogoText.tsx
diff --git a/packages/studio-base/src/components/MemoryUseIndicator.tsx b/packages/suite-base/src/components/MemoryUseIndicator.tsx
similarity index 93%
rename from packages/studio-base/src/components/MemoryUseIndicator.tsx
rename to packages/suite-base/src/components/MemoryUseIndicator.tsx
index 363a153a35..343e24d11b 100644
--- a/packages/studio-base/src/components/MemoryUseIndicator.tsx
+++ b/packages/suite-base/src/components/MemoryUseIndicator.tsx
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useMemoryInfo } from "@lichtblick/hooks";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
import { Tooltip, Typography } from "@mui/material";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.stories.tsx b/packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.stories.tsx
similarity index 97%
rename from packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.stories.tsx
rename to packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.stories.tsx
index 328d92693e..43609900b4 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.stories.tsx
+++ b/packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.stories.tsx
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { basicDatatypes } from "@lichtblick/studio-base/util/basicDatatypes";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { basicDatatypes } from "@lichtblick/suite-base/util/basicDatatypes";
import { Stack } from "@mui/material";
import { StoryObj } from "@storybook/react";
import { fireEvent, screen, userEvent, waitFor, within } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.test.ts b/packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.test.ts
similarity index 100%
rename from packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.test.ts
rename to packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.test.ts
diff --git a/packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.tsx b/packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.tsx
similarity index 98%
rename from packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.tsx
rename to packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.tsx
index f97f6624a1..9dabd307aa 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/MessagePathInput.tsx
+++ b/packages/suite-base/src/components/MessagePathSyntax/MessagePathInput.tsx
@@ -12,11 +12,11 @@
// You may not use this file except in compliance with the License.
import { filterMap } from "@lichtblick/den/collection";
-import * as PanelAPI from "@lichtblick/studio-base/PanelAPI";
-import { Autocomplete, IAutocomplete } from "@lichtblick/studio-base/components/Autocomplete";
+import * as PanelAPI from "@lichtblick/suite-base/PanelAPI";
+import { Autocomplete, IAutocomplete } from "@lichtblick/suite-base/components/Autocomplete";
import useGlobalVariables, {
GlobalVariables,
-} from "@lichtblick/studio-base/hooks/useGlobalVariables";
+} from "@lichtblick/suite-base/hooks/useGlobalVariables";
import { TextFieldProps } from "@mui/material";
import * as _ from "lodash-es";
import { CSSProperties, useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/filterMatches.ts b/packages/suite-base/src/components/MessagePathSyntax/filterMatches.ts
similarity index 95%
rename from packages/studio-base/src/components/MessagePathSyntax/filterMatches.ts
rename to packages/suite-base/src/components/MessagePathSyntax/filterMatches.ts
index 983a411e1a..bb36580c1b 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/filterMatches.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/filterMatches.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
+import { Immutable } from "@lichtblick/suite";
import { MessagePathFilter } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/fixture.ts b/packages/suite-base/src/components/MessagePathSyntax/fixture.ts
similarity index 94%
rename from packages/studio-base/src/components/MessagePathSyntax/fixture.ts
rename to packages/suite-base/src/components/MessagePathSyntax/fixture.ts
index adbeb391d6..f750f825f7 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/fixture.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/fixture.ts
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
-import { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
+import { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
export const datatypes: RosDatatypes = new Map(
Object.entries({
diff --git a/packages/studio-base/src/components/MessagePathSyntax/isTypicalFilterName.test.ts b/packages/suite-base/src/components/MessagePathSyntax/isTypicalFilterName.test.ts
similarity index 100%
rename from packages/studio-base/src/components/MessagePathSyntax/isTypicalFilterName.test.ts
rename to packages/suite-base/src/components/MessagePathSyntax/isTypicalFilterName.test.ts
diff --git a/packages/studio-base/src/components/MessagePathSyntax/isTypicalFilterName.ts b/packages/suite-base/src/components/MessagePathSyntax/isTypicalFilterName.ts
similarity index 100%
rename from packages/studio-base/src/components/MessagePathSyntax/isTypicalFilterName.ts
rename to packages/suite-base/src/components/MessagePathSyntax/isTypicalFilterName.ts
diff --git a/packages/studio-base/src/components/MessagePathSyntax/messagePathsForDatatype.test.ts b/packages/suite-base/src/components/MessagePathSyntax/messagePathsForDatatype.test.ts
similarity index 99%
rename from packages/studio-base/src/components/MessagePathSyntax/messagePathsForDatatype.test.ts
rename to packages/suite-base/src/components/MessagePathSyntax/messagePathsForDatatype.test.ts
index 82c17961d5..ba8a962a6e 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/messagePathsForDatatype.test.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/messagePathsForDatatype.test.ts
@@ -12,7 +12,7 @@
// You may not use this file except in compliance with the License.
import { unwrap } from "@lichtblick/den/monads";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { parseMessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/messagePathsForDatatype.ts b/packages/suite-base/src/components/MessagePathSyntax/messagePathsForDatatype.ts
similarity index 96%
rename from packages/studio-base/src/components/MessagePathSyntax/messagePathsForDatatype.ts
rename to packages/suite-base/src/components/MessagePathSyntax/messagePathsForDatatype.ts
index 75ca2c6105..ab0800acc3 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/messagePathsForDatatype.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/messagePathsForDatatype.ts
@@ -11,11 +11,11 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import { isTypicalFilterName } from "@lichtblick/studio-base/components/MessagePathSyntax/isTypicalFilterName";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { assertNever } from "@lichtblick/studio-base/util/assertNever";
-import naturalSort from "@lichtblick/studio-base/util/naturalSort";
+import { Immutable } from "@lichtblick/suite";
+import { isTypicalFilterName } from "@lichtblick/suite-base/components/MessagePathSyntax/isTypicalFilterName";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { assertNever } from "@lichtblick/suite-base/util/assertNever";
+import naturalSort from "@lichtblick/suite-base/util/naturalSort";
import * as _ from "lodash-es";
import {
diff --git a/packages/studio-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.test.ts b/packages/suite-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.test.ts
similarity index 98%
rename from packages/studio-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.test.ts
rename to packages/suite-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.test.ts
index b86d2fb5c1..6958c752ac 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.test.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
import { parseMessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.ts b/packages/suite-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.ts
similarity index 90%
rename from packages/studio-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.ts
rename to packages/suite-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.ts
index 9d0a1bd95f..050fb855c1 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/simpleGetMessagePathDataItems.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
-import { isTypedArray } from "@lichtblick/studio-base/types/isTypedArray";
+import { Immutable } from "@lichtblick/suite";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
+import { isTypedArray } from "@lichtblick/suite-base/types/isTypedArray";
import { MessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/stringifyRosPath.test.ts b/packages/suite-base/src/components/MessagePathSyntax/stringifyRosPath.test.ts
similarity index 93%
rename from packages/studio-base/src/components/MessagePathSyntax/stringifyRosPath.test.ts
rename to packages/suite-base/src/components/MessagePathSyntax/stringifyRosPath.test.ts
index 666517e522..3a170b3f6f 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/stringifyRosPath.test.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/stringifyRosPath.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { fillInGlobalVariablesInPath } from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import { fillInGlobalVariablesInPath } from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
import { parseMessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/stringifyRosPath.ts b/packages/suite-base/src/components/MessagePathSyntax/stringifyRosPath.ts
similarity index 97%
rename from packages/studio-base/src/components/MessagePathSyntax/stringifyRosPath.ts
rename to packages/suite-base/src/components/MessagePathSyntax/stringifyRosPath.ts
index 2b3cf286cb..024d5f1687 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/stringifyRosPath.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/stringifyRosPath.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
+import { Immutable } from "@lichtblick/suite";
import { MessagePathFilter, MessagePathPart, MessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx b/packages/suite-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx
similarity index 97%
rename from packages/studio-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx
rename to packages/suite-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx
index 413649e758..7b3e08435f 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx
+++ b/packages/suite-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.test.tsx
@@ -12,12 +12,12 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { messagePathStructures } from "@lichtblick/studio-base/components/MessagePathSyntax/messagePathsForDatatype";
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { MessageEvent, Topic } from "@lichtblick/studio-base/players/types";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { enumValuesByDatatypeAndField } from "@lichtblick/studio-base/util/enums";
+import { messagePathStructures } from "@lichtblick/suite-base/components/MessagePathSyntax/messagePathsForDatatype";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { MessageEvent, Topic } from "@lichtblick/suite-base/players/types";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { enumValuesByDatatypeAndField } from "@lichtblick/suite-base/util/enums";
import { renderHook } from "@testing-library/react";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.ts b/packages/suite-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.ts
similarity index 97%
rename from packages/studio-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.ts
rename to packages/suite-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.ts
index 3df8588a82..4fdc5cb6f2 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/useCachedGetMessagePathDataItems.ts
@@ -13,17 +13,17 @@
import { filterMap } from "@lichtblick/den/collection";
import { useDeepMemo, useShallowMemo } from "@lichtblick/hooks";
-import { Immutable } from "@lichtblick/studio";
-import * as PanelAPI from "@lichtblick/studio-base/PanelAPI";
+import { Immutable } from "@lichtblick/suite";
+import * as PanelAPI from "@lichtblick/suite-base/PanelAPI";
import useGlobalVariables, {
GlobalVariables,
-} from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { MessageEvent, Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { MessageEvent, Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import {
enumValuesByDatatypeAndField,
extractTypeFromStudioEnumAnnotation,
-} from "@lichtblick/studio-base/util/enums";
+} from "@lichtblick/suite-base/util/enums";
import * as _ from "lodash-es";
import { useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/useMessageDataItem.test.tsx b/packages/suite-base/src/components/MessagePathSyntax/useMessageDataItem.test.tsx
similarity index 95%
rename from packages/studio-base/src/components/MessagePathSyntax/useMessageDataItem.test.tsx
rename to packages/suite-base/src/components/MessagePathSyntax/useMessageDataItem.test.tsx
index d5745954ed..8e96415ba7 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/useMessageDataItem.test.tsx
+++ b/packages/suite-base/src/components/MessagePathSyntax/useMessageDataItem.test.tsx
@@ -12,10 +12,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { MessageEvent, Topic } from "@lichtblick/studio-base/players/types";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { MessageEvent, Topic } from "@lichtblick/suite-base/players/types";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { renderHook } from "@testing-library/react";
import { useMessageDataItem } from "./useMessageDataItem";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/useMessageDataItem.ts b/packages/suite-base/src/components/MessagePathSyntax/useMessageDataItem.ts
similarity index 93%
rename from packages/studio-base/src/components/MessagePathSyntax/useMessageDataItem.ts
rename to packages/suite-base/src/components/MessagePathSyntax/useMessageDataItem.ts
index 8b0bfe82cd..6e20bc71c3 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/useMessageDataItem.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/useMessageDataItem.ts
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useMessageReducer } from "@lichtblick/studio-base/PanelAPI";
-import { subscribePayloadFromMessagePath } from "@lichtblick/studio-base/players/subscribePayloadFromMessagePath";
-import { MessageEvent, SubscribePayload } from "@lichtblick/studio-base/players/types";
+import { useMessageReducer } from "@lichtblick/suite-base/PanelAPI";
+import { subscribePayloadFromMessagePath } from "@lichtblick/suite-base/players/subscribePayloadFromMessagePath";
+import { MessageEvent, SubscribePayload } from "@lichtblick/suite-base/players/types";
import { useCallback, useMemo } from "react";
import {
diff --git a/packages/studio-base/src/components/MessagePathSyntax/useMessagesByPath.test.tsx b/packages/suite-base/src/components/MessagePathSyntax/useMessagesByPath.test.tsx
similarity index 96%
rename from packages/studio-base/src/components/MessagePathSyntax/useMessagesByPath.test.tsx
rename to packages/suite-base/src/components/MessagePathSyntax/useMessagesByPath.test.tsx
index a450802162..5c2abdea1e 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/useMessagesByPath.test.tsx
+++ b/packages/suite-base/src/components/MessagePathSyntax/useMessagesByPath.test.tsx
@@ -12,14 +12,14 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import useMessagesByPath from "@lichtblick/studio-base/components/MessagePathSyntax/useMessagesByPath";
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
+import useMessagesByPath from "@lichtblick/suite-base/components/MessagePathSyntax/useMessagesByPath";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
import useGlobalVariables, {
GlobalVariables,
-} from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { PlayerStateActiveData, Topic, MessageEvent } from "@lichtblick/studio-base/players/types";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { PlayerStateActiveData, Topic, MessageEvent } from "@lichtblick/suite-base/players/types";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { act, renderHook } from "@testing-library/react";
import React, { PropsWithChildren } from "react";
diff --git a/packages/studio-base/src/components/MessagePathSyntax/useMessagesByPath.ts b/packages/suite-base/src/components/MessagePathSyntax/useMessagesByPath.ts
similarity index 85%
rename from packages/studio-base/src/components/MessagePathSyntax/useMessagesByPath.ts
rename to packages/suite-base/src/components/MessagePathSyntax/useMessagesByPath.ts
index 4b638343ed..27e2b2a9cc 100644
--- a/packages/studio-base/src/components/MessagePathSyntax/useMessagesByPath.ts
+++ b/packages/suite-base/src/components/MessagePathSyntax/useMessagesByPath.ts
@@ -13,12 +13,12 @@
import { filterMap } from "@lichtblick/den/collection";
import { useShallowMemo } from "@lichtblick/hooks";
-import * as PanelAPI from "@lichtblick/studio-base/PanelAPI";
+import * as PanelAPI from "@lichtblick/suite-base/PanelAPI";
import {
MessageDataItemsByPath,
useDecodeMessagePathsForMessagesByTopic,
-} from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
-import { subscribePayloadFromMessagePath } from "@lichtblick/studio-base/players/subscribePayloadFromMessagePath";
+} from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import { subscribePayloadFromMessagePath } from "@lichtblick/suite-base/players/subscribePayloadFromMessagePath";
import { useMemo } from "react";
// Given a set of message paths, subscribe to the appropriate topics and return
diff --git a/packages/studio-base/src/components/MessagePipeline/FakePlayer.ts b/packages/suite-base/src/components/MessagePipeline/FakePlayer.ts
similarity index 93%
rename from packages/studio-base/src/components/MessagePipeline/FakePlayer.ts
rename to packages/suite-base/src/components/MessagePipeline/FakePlayer.ts
index 5410671f4a..b6095df643 100644
--- a/packages/studio-base/src/components/MessagePipeline/FakePlayer.ts
+++ b/packages/suite-base/src/components/MessagePipeline/FakePlayer.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Metadata, ParameterValue } from "@lichtblick/studio";
-import { freezeMetadata } from "@lichtblick/studio-base/players/IterablePlayer/freezeMetadata";
+import { Metadata, ParameterValue } from "@lichtblick/suite";
+import { freezeMetadata } from "@lichtblick/suite-base/players/IterablePlayer/freezeMetadata";
import {
PlayerCapabilities,
PlayerStateActiveData,
@@ -21,7 +21,7 @@ import {
SubscribePayload,
AdvertiseOptions,
PlayerPresence,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
export default class FakePlayer implements Player {
#listener?: (arg0: PlayerState) => Promise;
diff --git a/packages/studio-base/src/components/MessagePipeline/MessageOrderTracker.test.ts b/packages/suite-base/src/components/MessagePipeline/MessageOrderTracker.test.ts
similarity index 98%
rename from packages/studio-base/src/components/MessagePipeline/MessageOrderTracker.test.ts
rename to packages/suite-base/src/components/MessagePipeline/MessageOrderTracker.test.ts
index 90b7cdfaea..5af9262441 100644
--- a/packages/studio-base/src/components/MessagePipeline/MessageOrderTracker.test.ts
+++ b/packages/suite-base/src/components/MessagePipeline/MessageOrderTracker.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MessageEvent, PlayerPresence, PlayerState } from "@lichtblick/studio-base/players/types";
+import { MessageEvent, PlayerPresence, PlayerState } from "@lichtblick/suite-base/players/types";
import MessageOrderTracker from "./MessageOrderTracker";
diff --git a/packages/studio-base/src/components/MessagePipeline/MessageOrderTracker.ts b/packages/suite-base/src/components/MessagePipeline/MessageOrderTracker.ts
similarity index 98%
rename from packages/studio-base/src/components/MessagePipeline/MessageOrderTracker.ts
rename to packages/suite-base/src/components/MessagePipeline/MessageOrderTracker.ts
index 42b4b74359..15a5c4d666 100644
--- a/packages/studio-base/src/components/MessagePipeline/MessageOrderTracker.ts
+++ b/packages/suite-base/src/components/MessagePipeline/MessageOrderTracker.ts
@@ -12,8 +12,8 @@
// You may not use this file except in compliance with the License.
import Logger from "@lichtblick/log";
-import { PlayerState, MessageEvent, PlayerProblem } from "@lichtblick/studio-base/players/types";
-import { formatFrame } from "@lichtblick/studio-base/util/time";
+import { PlayerState, MessageEvent, PlayerProblem } from "@lichtblick/suite-base/players/types";
+import { formatFrame } from "@lichtblick/suite-base/util/time";
import { Time, isLessThan, subtract as subtractTimes, toSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/components/MessagePipeline/MockMessagePipelineProvider.tsx b/packages/suite-base/src/components/MessagePipeline/MockMessagePipelineProvider.tsx
similarity index 96%
rename from packages/studio-base/src/components/MessagePipeline/MockMessagePipelineProvider.tsx
rename to packages/suite-base/src/components/MessagePipeline/MockMessagePipelineProvider.tsx
index 6ee2ad16a9..68cb9819f7 100644
--- a/packages/studio-base/src/components/MessagePipeline/MockMessagePipelineProvider.tsx
+++ b/packages/suite-base/src/components/MessagePipeline/MockMessagePipelineProvider.tsx
@@ -12,13 +12,13 @@
// You may not use this file except in compliance with the License.
import { Condvar } from "@lichtblick/den/async";
-import { Metadata, ParameterValue } from "@lichtblick/studio";
+import { Metadata, ParameterValue } from "@lichtblick/suite";
import {
FramePromise,
pauseFrameForPromises,
-} from "@lichtblick/studio-base/components/MessagePipeline/pauseFrameForPromise";
-import { BuiltinPanelExtensionContext } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { freezeMetadata } from "@lichtblick/studio-base/players/IterablePlayer/freezeMetadata";
+} from "@lichtblick/suite-base/components/MessagePipeline/pauseFrameForPromise";
+import { BuiltinPanelExtensionContext } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { freezeMetadata } from "@lichtblick/suite-base/players/IterablePlayer/freezeMetadata";
import {
AdvertiseOptions,
MessageEvent,
@@ -33,8 +33,8 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { Immutable } from "immer";
import * as _ from "lodash-es";
import { MutableRefObject, useEffect, useMemo, useRef, useState } from "react";
diff --git a/packages/studio-base/src/components/MessagePipeline/index.test.tsx b/packages/suite-base/src/components/MessagePipeline/index.test.tsx
similarity index 96%
rename from packages/studio-base/src/components/MessagePipeline/index.test.tsx
rename to packages/suite-base/src/components/MessagePipeline/index.test.tsx
index 1089174e60..ca94490ec0 100644
--- a/packages/studio-base/src/components/MessagePipeline/index.test.tsx
+++ b/packages/suite-base/src/components/MessagePipeline/index.test.tsx
@@ -14,16 +14,16 @@
/* eslint-disable jest/no-conditional-expect */
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
import {
Player,
PlayerCapabilities,
PlayerPresence,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import delay from "@lichtblick/studio-base/util/delay";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+} from "@lichtblick/suite-base/players/types";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import delay from "@lichtblick/suite-base/util/delay";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { act, renderHook } from "@testing-library/react";
import { PropsWithChildren, useCallback, useState } from "react";
import { DeepPartial } from "ts-essentials";
@@ -302,16 +302,16 @@ describe("MessagePipelineProvider/useMessagePipeline", () => {
});
act(() => {
- result.current.setSubscriptions("test", [{ topic: "/studio/test" }]);
+ result.current.setSubscriptions("test", [{ topic: "/suite/test" }]);
});
- expect(result.current.subscriptions).toEqual([{ topic: "/studio/test" }]);
+ expect(result.current.subscriptions).toEqual([{ topic: "/suite/test" }]);
act(() => {
- result.current.setSubscriptions("bar", [{ topic: "/studio/test2" }]);
+ result.current.setSubscriptions("bar", [{ topic: "/suite/test2" }]);
});
expect(result.current.subscriptions).toEqual([
- { topic: "/studio/test" },
- { topic: "/studio/test2" },
+ { topic: "/suite/test" },
+ { topic: "/suite/test2" },
]);
const lastSubscriptions = result.current.subscriptions;
// cause the player to emit a frame outside the render loop to trigger another render
@@ -629,18 +629,18 @@ describe("MessagePipelineProvider/useMessagePipeline", () => {
const { result } = renderHook(Hook, { wrapper: Wrapper });
act(() => {
- result.current.setPublishers("test", [{ topic: "/studio/test", schemaName: "test" }]);
+ result.current.setPublishers("test", [{ topic: "/suite/test", schemaName: "test" }]);
});
expect(player.publishers).toEqual([
- { topic: "/studio/test", schemaName: "test" },
+ { topic: "/suite/test", schemaName: "test" },
]);
act(() => {
- result.current.setPublishers("bar", [{ topic: "/studio/test2", schemaName: "test2" }]);
+ result.current.setPublishers("bar", [{ topic: "/suite/test2", schemaName: "test2" }]);
});
expect(player.publishers).toEqual([
- { topic: "/studio/test", schemaName: "test" },
- { topic: "/studio/test2", schemaName: "test2" },
+ { topic: "/suite/test", schemaName: "test" },
+ { topic: "/suite/test2", schemaName: "test2" },
]);
const lastPublishers = player.publishers;
diff --git a/packages/studio-base/src/components/MessagePipeline/index.tsx b/packages/suite-base/src/components/MessagePipeline/index.tsx
similarity index 96%
rename from packages/studio-base/src/components/MessagePipeline/index.tsx
rename to packages/suite-base/src/components/MessagePipeline/index.tsx
index 8470b9ce0c..1a656314c1 100644
--- a/packages/studio-base/src/components/MessagePipeline/index.tsx
+++ b/packages/suite-base/src/components/MessagePipeline/index.tsx
@@ -3,19 +3,19 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { Immutable } from "@lichtblick/studio";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
+import { Immutable } from "@lichtblick/suite";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
import CurrentLayoutContext, {
LayoutState,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
Player,
PlayerProblem,
PlayerState,
SubscribePayload,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import {
createContext,
diff --git a/packages/studio-base/src/components/MessagePipeline/pauseFrameForPromise.ts b/packages/suite-base/src/components/MessagePipeline/pauseFrameForPromise.ts
similarity index 94%
rename from packages/studio-base/src/components/MessagePipeline/pauseFrameForPromise.ts
rename to packages/suite-base/src/components/MessagePipeline/pauseFrameForPromise.ts
index 5e2e478c6d..d238a96a3f 100644
--- a/packages/studio-base/src/components/MessagePipeline/pauseFrameForPromise.ts
+++ b/packages/suite-base/src/components/MessagePipeline/pauseFrameForPromise.ts
@@ -12,7 +12,7 @@
// You may not use this file except in compliance with the License.
import { PromiseTimeoutError, promiseTimeout } from "@lichtblick/den/async";
-import sendNotification from "@lichtblick/studio-base/util/sendNotification";
+import sendNotification from "@lichtblick/suite-base/util/sendNotification";
export type FramePromise = { name: string; promise: Promise };
diff --git a/packages/studio-base/src/components/MessagePipeline/store.ts b/packages/suite-base/src/components/MessagePipeline/store.ts
similarity index 98%
rename from packages/studio-base/src/components/MessagePipeline/store.ts
rename to packages/suite-base/src/components/MessagePipeline/store.ts
index d1cdfa592a..4c595a314e 100644
--- a/packages/studio-base/src/components/MessagePipeline/store.ts
+++ b/packages/suite-base/src/components/MessagePipeline/store.ts
@@ -3,11 +3,11 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { Condvar } from "@lichtblick/den/async";
-import { Immutable, MessageEvent } from "@lichtblick/studio";
+import { Immutable, MessageEvent } from "@lichtblick/suite";
import {
makeSubscriptionMemoizer,
mergeSubscriptions,
-} from "@lichtblick/studio-base/components/MessagePipeline/subscriptions";
+} from "@lichtblick/suite-base/components/MessagePipeline/subscriptions";
import {
AdvertiseOptions,
Player,
@@ -15,8 +15,8 @@ import {
PlayerPresence,
PlayerState,
SubscribePayload,
-} from "@lichtblick/studio-base/players/types";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+} from "@lichtblick/suite-base/players/types";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import * as _ from "lodash-es";
import { MutableRefObject } from "react";
import shallowequal from "shallowequal";
diff --git a/packages/studio-base/src/components/MessagePipeline/subscriptions.test.ts b/packages/suite-base/src/components/MessagePipeline/subscriptions.test.ts
similarity index 93%
rename from packages/studio-base/src/components/MessagePipeline/subscriptions.test.ts
rename to packages/suite-base/src/components/MessagePipeline/subscriptions.test.ts
index d3710b285f..32589802d7 100644
--- a/packages/studio-base/src/components/MessagePipeline/subscriptions.test.ts
+++ b/packages/suite-base/src/components/MessagePipeline/subscriptions.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { mergeSubscriptions } from "@lichtblick/studio-base/components/MessagePipeline/subscriptions";
-import { SubscribePayload } from "@lichtblick/studio-base/players/types";
+import { mergeSubscriptions } from "@lichtblick/suite-base/components/MessagePipeline/subscriptions";
+import { SubscribePayload } from "@lichtblick/suite-base/players/types";
describe("mergeSubscriptions", () => {
it("combines full and partial subscriptions", () => {
diff --git a/packages/studio-base/src/components/MessagePipeline/subscriptions.ts b/packages/suite-base/src/components/MessagePipeline/subscriptions.ts
similarity index 96%
rename from packages/studio-base/src/components/MessagePipeline/subscriptions.ts
rename to packages/suite-base/src/components/MessagePipeline/subscriptions.ts
index 97c44856a7..ff9f5ff5b2 100644
--- a/packages/studio-base/src/components/MessagePipeline/subscriptions.ts
+++ b/packages/suite-base/src/components/MessagePipeline/subscriptions.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { SubscribePayload } from "@lichtblick/studio-base/players/types";
+import { Immutable } from "@lichtblick/suite";
+import { SubscribePayload } from "@lichtblick/suite-base/players/types";
import moize from "moize";
import * as R from "ramda";
diff --git a/packages/studio-base/src/components/MessagePipeline/types.ts b/packages/suite-base/src/components/MessagePipeline/types.ts
similarity index 85%
rename from packages/studio-base/src/components/MessagePipeline/types.ts
rename to packages/suite-base/src/components/MessagePipeline/types.ts
index a8caa60fd1..a942ff2ede 100644
--- a/packages/studio-base/src/components/MessagePipeline/types.ts
+++ b/packages/suite-base/src/components/MessagePipeline/types.ts
@@ -2,16 +2,16 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, MessageEvent, Metadata, ParameterValue } from "@lichtblick/studio";
-import { BuiltinPanelExtensionContext } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
+import { Immutable, MessageEvent, Metadata, ParameterValue } from "@lichtblick/suite";
+import { BuiltinPanelExtensionContext } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
import {
AdvertiseOptions,
PlayerState,
PublishPayload,
SubscribePayload,
Topic,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/components/MockPanelContextProvider.tsx b/packages/suite-base/src/components/MockPanelContextProvider.tsx
similarity index 89%
rename from packages/studio-base/src/components/MockPanelContextProvider.tsx
rename to packages/suite-base/src/components/MockPanelContextProvider.tsx
index b4afb24441..97ce70e5b6 100644
--- a/packages/studio-base/src/components/MockPanelContextProvider.tsx
+++ b/packages/suite-base/src/components/MockPanelContextProvider.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import PanelContext, { PanelContextType } from "@lichtblick/studio-base/components/PanelContext";
-import { PanelConfig } from "@lichtblick/studio-base/types/panels";
+import PanelContext, { PanelContextType } from "@lichtblick/suite-base/components/PanelContext";
+import { PanelConfig } from "@lichtblick/suite-base/types/panels";
import { ReactNode } from "react";
type MockProps = Partial>;
diff --git a/packages/studio-base/src/components/MosaicPathContext.ts b/packages/suite-base/src/components/MosaicPathContext.ts
similarity index 100%
rename from packages/studio-base/src/components/MosaicPathContext.ts
rename to packages/suite-base/src/components/MosaicPathContext.ts
diff --git a/packages/studio-base/src/components/MultiProvider.tsx b/packages/suite-base/src/components/MultiProvider.tsx
similarity index 100%
rename from packages/studio-base/src/components/MultiProvider.tsx
rename to packages/suite-base/src/components/MultiProvider.tsx
diff --git a/packages/studio-base/src/components/MultilineMiddleTruncate.tsx b/packages/suite-base/src/components/MultilineMiddleTruncate.tsx
similarity index 85%
rename from packages/studio-base/src/components/MultilineMiddleTruncate.tsx
rename to packages/suite-base/src/components/MultilineMiddleTruncate.tsx
index e1f1961bee..c10da065fb 100644
--- a/packages/studio-base/src/components/MultilineMiddleTruncate.tsx
+++ b/packages/suite-base/src/components/MultilineMiddleTruncate.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import TextMiddleTruncate from "@lichtblick/studio-base/components/TextMiddleTruncate";
+import TextMiddleTruncate from "@lichtblick/suite-base/components/TextMiddleTruncate";
/**
* Render multiline text using TextMiddleTruncate for each line.
diff --git a/packages/studio-base/src/components/NotificationModal.stories.tsx b/packages/suite-base/src/components/NotificationModal.stories.tsx
similarity index 98%
rename from packages/studio-base/src/components/NotificationModal.stories.tsx
rename to packages/suite-base/src/components/NotificationModal.stories.tsx
index 27a946a4b1..f9a617f0dc 100644
--- a/packages/studio-base/src/components/NotificationModal.stories.tsx
+++ b/packages/suite-base/src/components/NotificationModal.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import NotificationModal from "@lichtblick/studio-base/components/NotificationModal";
+import NotificationModal from "@lichtblick/suite-base/components/NotificationModal";
import { StoryObj } from "@storybook/react";
const fakeError = () => {
diff --git a/packages/studio-base/src/components/NotificationModal.tsx b/packages/suite-base/src/components/NotificationModal.tsx
similarity index 96%
rename from packages/studio-base/src/components/NotificationModal.tsx
rename to packages/suite-base/src/components/NotificationModal.tsx
index f8256fb174..fa00a47bd4 100644
--- a/packages/studio-base/src/components/NotificationModal.tsx
+++ b/packages/suite-base/src/components/NotificationModal.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { NotificationMessage } from "@lichtblick/studio-base/util/sendNotification";
+import { NotificationMessage } from "@lichtblick/suite-base/util/sendNotification";
import CloseIcon from "@mui/icons-material/Close";
import { Dialog, DialogTitle, IconButton, Typography } from "@mui/material";
import { useMemo } from "react";
diff --git a/packages/studio-base/src/components/Panel.test.tsx b/packages/suite-base/src/components/Panel.test.tsx
similarity index 95%
rename from packages/studio-base/src/components/Panel.test.tsx
rename to packages/suite-base/src/components/Panel.test.tsx
index 3d9459a92e..0abe5729f4 100644
--- a/packages/studio-base/src/components/Panel.test.tsx
+++ b/packages/suite-base/src/components/Panel.test.tsx
@@ -12,10 +12,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { PanelsActions } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { PanelsActions } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { render, renderHook, act } from "@testing-library/react";
import { useEffect } from "react";
diff --git a/packages/studio-base/src/components/Panel.tsx b/packages/suite-base/src/components/Panel.tsx
similarity index 95%
rename from packages/studio-base/src/components/Panel.tsx
rename to packages/suite-base/src/components/Panel.tsx
index 2a62d47847..6b93664589 100644
--- a/packages/studio-base/src/components/Panel.tsx
+++ b/packages/suite-base/src/components/Panel.tsx
@@ -18,33 +18,33 @@ import {
TableSimple20Regular,
} from "@fluentui/react-icons";
import { useShallowMemo } from "@lichtblick/hooks";
-import { useConfigById } from "@lichtblick/studio-base/PanelAPI";
-import KeyListener from "@lichtblick/studio-base/components/KeyListener";
-import { MosaicPathContext } from "@lichtblick/studio-base/components/MosaicPathContext";
-import PanelContext from "@lichtblick/studio-base/components/PanelContext";
-import PanelErrorBoundary from "@lichtblick/studio-base/components/PanelErrorBoundary";
-import { PanelOverlay, PanelOverlayProps } from "@lichtblick/studio-base/components/PanelOverlay";
-import { PanelRoot } from "@lichtblick/studio-base/components/PanelRoot";
+import { useConfigById } from "@lichtblick/suite-base/PanelAPI";
+import KeyListener from "@lichtblick/suite-base/components/KeyListener";
+import { MosaicPathContext } from "@lichtblick/suite-base/components/MosaicPathContext";
+import PanelContext from "@lichtblick/suite-base/components/PanelContext";
+import PanelErrorBoundary from "@lichtblick/suite-base/components/PanelErrorBoundary";
+import { PanelOverlay, PanelOverlayProps } from "@lichtblick/suite-base/components/PanelOverlay";
+import { PanelRoot } from "@lichtblick/suite-base/components/PanelRoot";
import {
useCurrentLayoutActions,
useSelectedPanels,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { usePanelCatalog } from "@lichtblick/studio-base/context/PanelCatalogContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { usePanelCatalog } from "@lichtblick/suite-base/context/PanelCatalogContext";
import {
useWorkspaceStore,
WorkspaceStoreSelectors,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import usePanelDrag from "@lichtblick/studio-base/hooks/usePanelDrag";
-import { useMessagePathDrop } from "@lichtblick/studio-base/services/messagePathDragging";
-import { TabPanelConfig } from "@lichtblick/studio-base/types/layouts";
-import { OpenSiblingPanel, PanelConfig, SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { TAB_PANEL_TYPE } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import usePanelDrag from "@lichtblick/suite-base/hooks/usePanelDrag";
+import { useMessagePathDrop } from "@lichtblick/suite-base/services/messagePathDragging";
+import { TabPanelConfig } from "@lichtblick/suite-base/types/layouts";
+import { OpenSiblingPanel, PanelConfig, SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { TAB_PANEL_TYPE } from "@lichtblick/suite-base/util/globalConstants";
import {
getPanelIdForType,
getPanelTypeFromId,
getPathFromNode,
updateTabPanelLayout,
-} from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/util/layout";
import * as _ from "lodash-es";
import React, {
ComponentType,
diff --git a/packages/studio-base/src/components/PanelCatalog/PanelCatalog.tsx b/packages/suite-base/src/components/PanelCatalog/PanelCatalog.tsx
similarity index 96%
rename from packages/studio-base/src/components/PanelCatalog/PanelCatalog.tsx
rename to packages/suite-base/src/components/PanelCatalog/PanelCatalog.tsx
index fdb7c4fc34..b95504154b 100644
--- a/packages/studio-base/src/components/PanelCatalog/PanelCatalog.tsx
+++ b/packages/suite-base/src/components/PanelCatalog/PanelCatalog.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { PanelInfo, usePanelCatalog } from "@lichtblick/studio-base/context/PanelCatalogContext";
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { PanelInfo, usePanelCatalog } from "@lichtblick/suite-base/context/PanelCatalogContext";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import CancelIcon from "@mui/icons-material/Cancel";
import SearchIcon from "@mui/icons-material/Search";
import { IconButton, InputAdornment, TextField } from "@mui/material";
diff --git a/packages/studio-base/src/components/PanelCatalog/PanelGrid.tsx b/packages/suite-base/src/components/PanelCatalog/PanelGrid.tsx
similarity index 95%
rename from packages/studio-base/src/components/PanelCatalog/PanelGrid.tsx
rename to packages/suite-base/src/components/PanelCatalog/PanelGrid.tsx
index 84fc9dc66f..727b5091f2 100644
--- a/packages/studio-base/src/components/PanelCatalog/PanelGrid.tsx
+++ b/packages/suite-base/src/components/PanelCatalog/PanelGrid.tsx
@@ -6,7 +6,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// fil
-import { PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
+import { PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
import { Container } from "@mui/material";
import { useCallback } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/PanelCatalog/PanelGridCard.tsx b/packages/suite-base/src/components/PanelCatalog/PanelGridCard.tsx
similarity index 90%
rename from packages/studio-base/src/components/PanelCatalog/PanelGridCard.tsx
rename to packages/suite-base/src/components/PanelCatalog/PanelGridCard.tsx
index b6b03c38be..59c71f8785 100644
--- a/packages/studio-base/src/components/PanelCatalog/PanelGridCard.tsx
+++ b/packages/suite-base/src/components/PanelCatalog/PanelGridCard.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import TextHighlight from "@lichtblick/studio-base/components/TextHighlight";
-import { PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import TextHighlight from "@lichtblick/suite-base/components/TextHighlight";
+import { PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
import { Card, CardActionArea, CardContent, CardMedia, Typography } from "@mui/material";
import { useCallback } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/PanelCatalog/PanelList.tsx b/packages/suite-base/src/components/PanelCatalog/PanelList.tsx
similarity index 94%
rename from packages/studio-base/src/components/PanelCatalog/PanelList.tsx
rename to packages/suite-base/src/components/PanelCatalog/PanelList.tsx
index 5ae7356b4d..f49d223e0a 100644
--- a/packages/studio-base/src/components/PanelCatalog/PanelList.tsx
+++ b/packages/suite-base/src/components/PanelCatalog/PanelList.tsx
@@ -5,8 +5,8 @@
import {
useCurrentLayoutActions,
usePanelMosaicId,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
import { List } from "@mui/material";
import { useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/components/PanelCatalog/PanelListItem.tsx b/packages/suite-base/src/components/PanelCatalog/PanelListItem.tsx
similarity index 94%
rename from packages/studio-base/src/components/PanelCatalog/PanelListItem.tsx
rename to packages/suite-base/src/components/PanelCatalog/PanelListItem.tsx
index a8c1123508..8eb2869b3b 100644
--- a/packages/studio-base/src/components/PanelCatalog/PanelListItem.tsx
+++ b/packages/suite-base/src/components/PanelCatalog/PanelListItem.tsx
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ReOrderDotsVertical16Filled } from "@fluentui/react-icons";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import TextHighlight from "@lichtblick/studio-base/components/TextHighlight";
-import { PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
-import { MosaicDropResult, PanelConfig } from "@lichtblick/studio-base/types/panels";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import TextHighlight from "@lichtblick/suite-base/components/TextHighlight";
+import { PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
+import { MosaicDropResult, PanelConfig } from "@lichtblick/suite-base/types/panels";
import { Fade, ListItem, ListItemButton, ListItemText, Tooltip, Typography } from "@mui/material";
import { useCallback, useEffect, useRef } from "react";
import { useDrag } from "react-dnd";
diff --git a/packages/studio-base/src/components/PanelCatalog/index.stories.tsx b/packages/suite-base/src/components/PanelCatalog/index.stories.tsx
similarity index 94%
rename from packages/studio-base/src/components/PanelCatalog/index.stories.tsx
rename to packages/suite-base/src/components/PanelCatalog/index.stories.tsx
index 90c9f027f9..fd60d4a7df 100644
--- a/packages/studio-base/src/components/PanelCatalog/index.stories.tsx
+++ b/packages/suite-base/src/components/PanelCatalog/index.stories.tsx
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelCatalog as PanelCatalogComponent } from "@lichtblick/studio-base/components/PanelCatalog";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelCatalog as PanelCatalogComponent } from "@lichtblick/suite-base/components/PanelCatalog";
import PanelCatalogContext, {
PanelCatalog,
PanelInfo,
-} from "@lichtblick/studio-base/context/PanelCatalogContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+} from "@lichtblick/suite-base/context/PanelCatalogContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
import { useTheme } from "@mui/material";
import { Meta, StoryFn, StoryObj } from "@storybook/react";
import { userEvent } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/PanelCatalog/index.ts b/packages/suite-base/src/components/PanelCatalog/index.ts
similarity index 100%
rename from packages/studio-base/src/components/PanelCatalog/index.ts
rename to packages/suite-base/src/components/PanelCatalog/index.ts
diff --git a/packages/studio-base/src/components/PanelCatalog/types.ts b/packages/suite-base/src/components/PanelCatalog/types.ts
similarity index 80%
rename from packages/studio-base/src/components/PanelCatalog/types.ts
rename to packages/suite-base/src/components/PanelCatalog/types.ts
index 64cbf40690..ba6d209fb4 100644
--- a/packages/studio-base/src/components/PanelCatalog/types.ts
+++ b/packages/suite-base/src/components/PanelCatalog/types.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PanelConfig } from "@lichtblick/studio-base/types/panels";
+import { PanelConfig } from "@lichtblick/suite-base/types/panels";
export type PanelSelection = {
type: string;
diff --git a/packages/studio-base/src/components/PanelContext.ts b/packages/suite-base/src/components/PanelContext.ts
similarity index 93%
rename from packages/studio-base/src/components/PanelContext.ts
rename to packages/suite-base/src/components/PanelContext.ts
index f4574497dd..cce5b201ac 100644
--- a/packages/studio-base/src/components/PanelContext.ts
+++ b/packages/suite-base/src/components/PanelContext.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MessagePathDropConfig } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { SaveConfig, PanelConfig, OpenSiblingPanel } from "@lichtblick/studio-base/types/panels";
+import { MessagePathDropConfig } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { SaveConfig, PanelConfig, OpenSiblingPanel } from "@lichtblick/suite-base/types/panels";
export type PanelContextType = {
type: string;
diff --git a/packages/studio-base/src/components/PanelContextMenu.stories.tsx b/packages/suite-base/src/components/PanelContextMenu.stories.tsx
similarity index 87%
rename from packages/studio-base/src/components/PanelContextMenu.stories.tsx
rename to packages/suite-base/src/components/PanelContextMenu.stories.tsx
index a9320008fb..415e1e06f2 100644
--- a/packages/studio-base/src/components/PanelContextMenu.stories.tsx
+++ b/packages/suite-base/src/components/PanelContextMenu.stories.tsx
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Panel from "@lichtblick/studio-base/components/Panel";
+import Panel from "@lichtblick/suite-base/components/Panel";
import {
PanelContextMenu,
PanelContextMenuItem,
-} from "@lichtblick/studio-base/components/PanelContextMenu";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+} from "@lichtblick/suite-base/components/PanelContextMenu";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { userEvent } from "@storybook/testing-library";
import { useCallback } from "react";
diff --git a/packages/studio-base/src/components/PanelContextMenu.tsx b/packages/suite-base/src/components/PanelContextMenu.tsx
similarity index 96%
rename from packages/studio-base/src/components/PanelContextMenu.tsx
rename to packages/suite-base/src/components/PanelContextMenu.tsx
index 61bace8275..ce58a531fa 100644
--- a/packages/studio-base/src/components/PanelContextMenu.tsx
+++ b/packages/suite-base/src/components/PanelContextMenu.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { PANEL_ROOT_CLASS_NAME } from "@lichtblick/studio-base/components/PanelRoot";
+import { Immutable } from "@lichtblick/suite";
+import { PANEL_ROOT_CLASS_NAME } from "@lichtblick/suite-base/components/PanelRoot";
import { Divider, Menu, MenuItem } from "@mui/material";
import { useCallback, useEffect, useRef, useState } from "react";
diff --git a/packages/studio-base/src/components/PanelErrorBoundary.stories.tsx b/packages/suite-base/src/components/PanelErrorBoundary.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/PanelErrorBoundary.stories.tsx
rename to packages/suite-base/src/components/PanelErrorBoundary.stories.tsx
diff --git a/packages/studio-base/src/components/PanelErrorBoundary.tsx b/packages/suite-base/src/components/PanelErrorBoundary.tsx
similarity index 93%
rename from packages/studio-base/src/components/PanelErrorBoundary.tsx
rename to packages/suite-base/src/components/PanelErrorBoundary.tsx
index ac4ee6b19d..ca910f93dd 100644
--- a/packages/studio-base/src/components/PanelErrorBoundary.tsx
+++ b/packages/suite-base/src/components/PanelErrorBoundary.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { reportError } from "@lichtblick/studio-base/reportError";
-import { AppError } from "@lichtblick/studio-base/util/errors";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { reportError } from "@lichtblick/suite-base/reportError";
+import { AppError } from "@lichtblick/suite-base/util/errors";
import { Button, Link } from "@mui/material";
import { Component, ErrorInfo, PropsWithChildren, ReactNode } from "react";
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.stories.tsx b/packages/suite-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.stories.tsx
rename to packages/suite-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.stories.tsx
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.tsx b/packages/suite-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.tsx
similarity index 100%
rename from packages/studio-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.tsx
rename to packages/suite-base/src/components/PanelExtensionAdapter/PanelConfigVersionError.tsx
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.stories.tsx b/packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.stories.tsx
similarity index 93%
rename from packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.stories.tsx
rename to packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.stories.tsx
index 1c183de749..63b76053a3 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.stories.tsx
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.stories.tsx
@@ -8,10 +8,10 @@ import {
ParameterValue,
RenderState,
Time,
-} from "@lichtblick/studio";
-import ErrorBoundary from "@lichtblick/studio-base/components/ErrorBoundary";
-import MockPanelContextProvider from "@lichtblick/studio-base/components/MockPanelContextProvider";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+} from "@lichtblick/suite";
+import ErrorBoundary from "@lichtblick/suite-base/components/ErrorBoundary";
+import MockPanelContextProvider from "@lichtblick/suite-base/components/MockPanelContextProvider";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { ReactElement, useLayoutEffect, useState } from "react";
import ReactDOM from "react-dom";
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.test.tsx b/packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.test.tsx
similarity index 98%
rename from packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.test.tsx
rename to packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.test.tsx
index a589047c19..5b3740447c 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.test.tsx
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.test.tsx
@@ -7,11 +7,11 @@
/* eslint-disable jest/no-done-callback */
import { Condvar, signal } from "@lichtblick/den/async";
-import { PanelExtensionContext, RenderState, MessageEvent, Immutable } from "@lichtblick/studio";
-import MockPanelContextProvider from "@lichtblick/studio-base/components/MockPanelContextProvider";
-import { AdvertiseOptions, PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
+import { PanelExtensionContext, RenderState, MessageEvent, Immutable } from "@lichtblick/suite";
+import MockPanelContextProvider from "@lichtblick/suite-base/components/MockPanelContextProvider";
+import { AdvertiseOptions, PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
import { render } from "@testing-library/react";
import { act } from "react-dom/test-utils";
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.tsx b/packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.tsx
similarity index 96%
rename from packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.tsx
rename to packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.tsx
index 8ffd80a4dd..524d334068 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.tsx
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/PanelExtensionAdapter.tsx
@@ -14,37 +14,37 @@ import {
Subscription,
Time,
VariableValue,
-} from "@lichtblick/studio";
+} from "@lichtblick/suite";
import {
MessagePipelineContext,
useMessagePipeline,
useMessagePipelineGetter,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import { useAppConfiguration } from "@lichtblick/studio-base/context/AppConfigurationContext";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import { useAppConfiguration } from "@lichtblick/suite-base/context/AppConfigurationContext";
import {
ExtensionCatalog,
useExtensionCatalog,
-} from "@lichtblick/studio-base/context/ExtensionCatalogContext";
+} from "@lichtblick/suite-base/context/ExtensionCatalogContext";
import {
useClearHoverValue,
useHoverValue,
useSetHoverValue,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import useGlobalVariables from "@lichtblick/studio-base/hooks/useGlobalVariables";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import useGlobalVariables from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
AdvertiseOptions,
PlayerCapabilities,
PlayerPresence,
SubscribePayload,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import {
useDefaultPanelTitle,
usePanelSettingsTreeUpdate,
-} from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { PanelConfig, SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { assertNever } from "@lichtblick/studio-base/util/assertNever";
+} from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { PanelConfig, SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { assertNever } from "@lichtblick/suite-base/util/assertNever";
import { useTheme } from "@mui/material";
import { CSSProperties, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
import { useLatest } from "react-use";
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/index.ts b/packages/suite-base/src/components/PanelExtensionAdapter/index.ts
similarity index 100%
rename from packages/studio-base/src/components/PanelExtensionAdapter/index.ts
rename to packages/suite-base/src/components/PanelExtensionAdapter/index.ts
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/messageProcessing.test.ts b/packages/suite-base/src/components/PanelExtensionAdapter/messageProcessing.test.ts
similarity index 100%
rename from packages/studio-base/src/components/PanelExtensionAdapter/messageProcessing.test.ts
rename to packages/suite-base/src/components/PanelExtensionAdapter/messageProcessing.test.ts
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/messageProcessing.ts b/packages/suite-base/src/components/PanelExtensionAdapter/messageProcessing.ts
similarity index 97%
rename from packages/studio-base/src/components/PanelExtensionAdapter/messageProcessing.ts
rename to packages/suite-base/src/components/PanelExtensionAdapter/messageProcessing.ts
index 2e89e24960..2ec7da9592 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/messageProcessing.ts
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/messageProcessing.ts
@@ -7,9 +7,9 @@ import {
MessageEvent,
RegisterMessageConverterArgs,
Subscription,
-} from "@lichtblick/studio";
-import { Topic as PlayerTopic } from "@lichtblick/studio-base/players/types";
-import { ExtensionNamespace } from "@lichtblick/studio-base/types/Extensions";
+} from "@lichtblick/suite";
+import { Topic as PlayerTopic } from "@lichtblick/suite-base/players/types";
+import { ExtensionNamespace } from "@lichtblick/suite-base/types/Extensions";
import * as _ from "lodash-es";
import { Opaque } from "ts-essentials";
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/renderState.test.ts b/packages/suite-base/src/components/PanelExtensionAdapter/renderState.test.ts
similarity index 99%
rename from packages/studio-base/src/components/PanelExtensionAdapter/renderState.test.ts
rename to packages/suite-base/src/components/PanelExtensionAdapter/renderState.test.ts
index 5db3f486ef..705812007f 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/renderState.test.ts
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/renderState.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
import { produce } from "immer";
import { BuilderRenderStateInput, initRenderStateBuilder } from "./renderState";
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/renderState.ts b/packages/suite-base/src/components/PanelExtensionAdapter/renderState.ts
similarity index 98%
rename from packages/studio-base/src/components/PanelExtensionAdapter/renderState.ts
rename to packages/suite-base/src/components/PanelExtensionAdapter/renderState.ts
index 8453e3a195..53685c1bba 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/renderState.ts
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/renderState.ts
@@ -12,17 +12,17 @@ import {
RenderState,
Subscription,
Topic,
-} from "@lichtblick/studio";
+} from "@lichtblick/suite";
import {
EMPTY_GLOBAL_VARIABLES,
GlobalVariables,
-} from "@lichtblick/studio-base/hooks/useGlobalVariables";
+} from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
MessageBlock,
PlayerState,
Topic as PlayerTopic,
-} from "@lichtblick/studio-base/players/types";
-import { HoverValue } from "@lichtblick/studio-base/types/hoverValue";
+} from "@lichtblick/suite-base/players/types";
+import { HoverValue } from "@lichtblick/suite-base/types/hoverValue";
import memoizeWeak from "memoize-weak";
import { Writable } from "ts-essentials";
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/types.ts b/packages/suite-base/src/components/PanelExtensionAdapter/types.ts
similarity index 97%
rename from packages/studio-base/src/components/PanelExtensionAdapter/types.ts
rename to packages/suite-base/src/components/PanelExtensionAdapter/types.ts
index dcc5c0009d..fb05bbbca9 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/types.ts
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/types.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PanelExtensionContext } from "@lichtblick/studio";
+import { PanelExtensionContext } from "@lichtblick/suite";
/**
* An asset loaded from Studio's asset manager.
diff --git a/packages/studio-base/src/components/PanelExtensionAdapter/useSharedPanelState.ts b/packages/suite-base/src/components/PanelExtensionAdapter/useSharedPanelState.ts
similarity index 83%
rename from packages/studio-base/src/components/PanelExtensionAdapter/useSharedPanelState.ts
rename to packages/suite-base/src/components/PanelExtensionAdapter/useSharedPanelState.ts
index a8d380debc..e30854fa8c 100644
--- a/packages/studio-base/src/components/PanelExtensionAdapter/useSharedPanelState.ts
+++ b/packages/suite-base/src/components/PanelExtensionAdapter/useSharedPanelState.ts
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
+import { Immutable } from "@lichtblick/suite";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
import {
LayoutState,
SharedPanelState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { getPanelTypeFromId } from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { getPanelTypeFromId } from "@lichtblick/suite-base/util/layout";
import { useCallback, useMemo } from "react";
const EmptySharedPanelState: Record = Object.freeze({});
diff --git a/packages/studio-base/src/components/PanelLayout.stories.tsx b/packages/suite-base/src/components/PanelLayout.stories.tsx
similarity index 94%
rename from packages/studio-base/src/components/PanelLayout.stories.tsx
rename to packages/suite-base/src/components/PanelLayout.stories.tsx
index d016271bcd..137b0a485e 100644
--- a/packages/studio-base/src/components/PanelLayout.stories.tsx
+++ b/packages/suite-base/src/components/PanelLayout.stories.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import { PanelCatalog, PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import { PanelCatalog, PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fireEvent, screen } from "@storybook/testing-library";
import { DndProvider } from "react-dnd";
diff --git a/packages/studio-base/src/components/PanelLayout.test.tsx b/packages/suite-base/src/components/PanelLayout.test.tsx
similarity index 87%
rename from packages/studio-base/src/components/PanelLayout.test.tsx
rename to packages/suite-base/src/components/PanelLayout.test.tsx
index e3f155a547..74ac91100c 100644
--- a/packages/studio-base/src/components/PanelLayout.test.tsx
+++ b/packages/suite-base/src/components/PanelLayout.test.tsx
@@ -3,16 +3,16 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Panel from "@lichtblick/studio-base/components/Panel";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
import PanelCatalogContext, {
PanelCatalog,
PanelInfo,
-} from "@lichtblick/studio-base/context/PanelCatalogContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import { PanelStateContextProvider } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+} from "@lichtblick/suite-base/context/PanelCatalogContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import { PanelStateContextProvider } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { render, waitFor } from "@testing-library/react";
import { useState } from "react";
import { DndProvider } from "react-dnd";
diff --git a/packages/studio-base/src/components/PanelLayout.tsx b/packages/suite-base/src/components/PanelLayout.tsx
similarity index 92%
rename from packages/studio-base/src/components/PanelLayout.tsx
rename to packages/suite-base/src/components/PanelLayout.tsx
index eb4fef320b..b67907678c 100644
--- a/packages/studio-base/src/components/PanelLayout.tsx
+++ b/packages/suite-base/src/components/PanelLayout.tsx
@@ -11,20 +11,20 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { EmptyPanelLayout } from "@lichtblick/studio-base/components/EmptyPanelLayout";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+import { EmptyPanelLayout } from "@lichtblick/suite-base/components/EmptyPanelLayout";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import {
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
usePanelMosaicId,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { useExtensionCatalog } from "@lichtblick/studio-base/context/ExtensionCatalogContext";
-import { usePanelCatalog } from "@lichtblick/studio-base/context/PanelCatalogContext";
-import { MosaicDropResult, PanelConfig } from "@lichtblick/studio-base/types/panels";
-import { getPanelIdForType, getPanelTypeFromId } from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { useExtensionCatalog } from "@lichtblick/suite-base/context/ExtensionCatalogContext";
+import { usePanelCatalog } from "@lichtblick/suite-base/context/PanelCatalogContext";
+import { MosaicDropResult, PanelConfig } from "@lichtblick/suite-base/types/panels";
+import { getPanelIdForType, getPanelTypeFromId } from "@lichtblick/suite-base/util/layout";
import { CircularProgress } from "@mui/material";
import React, { PropsWithChildren, Suspense, useCallback, useMemo } from "react";
import { useDrop } from "react-dnd";
diff --git a/packages/studio-base/src/components/PanelOverlay.stories.tsx b/packages/suite-base/src/components/PanelOverlay.stories.tsx
similarity index 97%
rename from packages/studio-base/src/components/PanelOverlay.stories.tsx
rename to packages/suite-base/src/components/PanelOverlay.stories.tsx
index 88e058fdcf..de5f65d4bd 100644
--- a/packages/studio-base/src/components/PanelOverlay.stories.tsx
+++ b/packages/suite-base/src/components/PanelOverlay.stories.tsx
@@ -8,7 +8,7 @@ import {
TabDesktopMultiple20Regular,
TableSimple20Regular,
} from "@fluentui/react-icons";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Meta, StoryFn, StoryObj } from "@storybook/react";
import { PanelOverlay } from "./PanelOverlay";
diff --git a/packages/studio-base/src/components/PanelOverlay.tsx b/packages/suite-base/src/components/PanelOverlay.tsx
similarity index 96%
rename from packages/studio-base/src/components/PanelOverlay.tsx
rename to packages/suite-base/src/components/PanelOverlay.tsx
index eb3582c28a..372ad847fc 100644
--- a/packages/studio-base/src/components/PanelOverlay.tsx
+++ b/packages/suite-base/src/components/PanelOverlay.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PANEL_ROOT_CLASS_NAME } from "@lichtblick/studio-base/components/PanelRoot";
-import { PANEL_TOOLBAR_MIN_HEIGHT } from "@lichtblick/studio-base/components/PanelToolbar";
+import { PANEL_ROOT_CLASS_NAME } from "@lichtblick/suite-base/components/PanelRoot";
+import { PANEL_TOOLBAR_MIN_HEIGHT } from "@lichtblick/suite-base/components/PanelToolbar";
import {
Backdrop,
Button,
diff --git a/packages/studio-base/src/components/PanelRemounter.tsx b/packages/suite-base/src/components/PanelRemounter.tsx
similarity index 93%
rename from packages/studio-base/src/components/PanelRemounter.tsx
rename to packages/suite-base/src/components/PanelRemounter.tsx
index bec72116b9..2331d5ee61 100644
--- a/packages/studio-base/src/components/PanelRemounter.tsx
+++ b/packages/suite-base/src/components/PanelRemounter.tsx
@@ -5,7 +5,7 @@
import {
PanelStateStore,
usePanelStateStore,
-} from "@lichtblick/studio-base/context/PanelStateContext";
+} from "@lichtblick/suite-base/context/PanelStateContext";
import { Fragment, ReactNode, useCallback } from "react";
/**
diff --git a/packages/studio-base/src/components/PanelRoot.tsx b/packages/suite-base/src/components/PanelRoot.tsx
similarity index 97%
rename from packages/studio-base/src/components/PanelRoot.tsx
rename to packages/suite-base/src/components/PanelRoot.tsx
index 01011c9a5c..e653a4a0a5 100644
--- a/packages/studio-base/src/components/PanelRoot.tsx
+++ b/packages/suite-base/src/components/PanelRoot.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { APP_BAR_HEIGHT } from "@lichtblick/studio-base/components/AppBar/constants";
+import { APP_BAR_HEIGHT } from "@lichtblick/suite-base/components/AppBar/constants";
import { alpha } from "@mui/material";
import { forwardRef, HTMLAttributes, PropsWithChildren } from "react";
import { TransitionStatus } from "react-transition-group";
diff --git a/packages/studio-base/src/components/PanelSettings/ActionMenu.tsx b/packages/suite-base/src/components/PanelSettings/ActionMenu.tsx
similarity index 100%
rename from packages/studio-base/src/components/PanelSettings/ActionMenu.tsx
rename to packages/suite-base/src/components/PanelSettings/ActionMenu.tsx
diff --git a/packages/studio-base/src/components/PanelSettings/index.stories.tsx b/packages/suite-base/src/components/PanelSettings/index.stories.tsx
similarity index 90%
rename from packages/studio-base/src/components/PanelSettings/index.stories.tsx
rename to packages/suite-base/src/components/PanelSettings/index.stories.tsx
index 580ea1352e..3f22da7c2b 100644
--- a/packages/studio-base/src/components/PanelSettings/index.stories.tsx
+++ b/packages/suite-base/src/components/PanelSettings/index.stories.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { SettingsTreeNodes } from "@lichtblick/studio";
-import { PanelCatalog, PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { SettingsTreeNodes } from "@lichtblick/suite";
+import { PanelCatalog, PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryFn, StoryObj } from "@storybook/react";
import { DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
diff --git a/packages/studio-base/src/components/PanelSettings/index.tsx b/packages/suite-base/src/components/PanelSettings/index.tsx
similarity index 85%
rename from packages/studio-base/src/components/PanelSettings/index.tsx
rename to packages/suite-base/src/components/PanelSettings/index.tsx
index 7dfa172e3a..28912ea512 100644
--- a/packages/studio-base/src/components/PanelSettings/index.tsx
+++ b/packages/suite-base/src/components/PanelSettings/index.tsx
@@ -2,30 +2,30 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTree } from "@lichtblick/studio";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { useConfigById } from "@lichtblick/studio-base/PanelAPI";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import { ActionMenu } from "@lichtblick/studio-base/components/PanelSettings/ActionMenu";
-import SettingsTreeEditor from "@lichtblick/studio-base/components/SettingsTreeEditor";
-import { ShareJsonModal } from "@lichtblick/studio-base/components/ShareJsonModal";
-import { SidebarContent } from "@lichtblick/studio-base/components/SidebarContent";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import { SettingsTree } from "@lichtblick/suite";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { useConfigById } from "@lichtblick/suite-base/PanelAPI";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import { ActionMenu } from "@lichtblick/suite-base/components/PanelSettings/ActionMenu";
+import SettingsTreeEditor from "@lichtblick/suite-base/components/SettingsTreeEditor";
+import { ShareJsonModal } from "@lichtblick/suite-base/components/ShareJsonModal";
+import { SidebarContent } from "@lichtblick/suite-base/components/SidebarContent";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
useSelectedPanels,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { usePanelCatalog } from "@lichtblick/studio-base/context/PanelCatalogContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { usePanelCatalog } from "@lichtblick/suite-base/context/PanelCatalogContext";
import {
PanelStateStore,
usePanelStateStore,
-} from "@lichtblick/studio-base/context/PanelStateContext";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
-import { PanelConfig } from "@lichtblick/studio-base/types/panels";
-import { TAB_PANEL_TYPE } from "@lichtblick/studio-base/util/globalConstants";
-import { getPanelTypeFromId } from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/context/PanelStateContext";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
+import { PanelConfig } from "@lichtblick/suite-base/types/panels";
+import { TAB_PANEL_TYPE } from "@lichtblick/suite-base/util/globalConstants";
+import { getPanelTypeFromId } from "@lichtblick/suite-base/util/layout";
import { Divider, Typography } from "@mui/material";
import { useCallback, useEffect, useMemo, useState } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/components/PanelToolbar/ChangePanelMenu.tsx b/packages/suite-base/src/components/PanelToolbar/ChangePanelMenu.tsx
similarity index 91%
rename from packages/studio-base/src/components/PanelToolbar/ChangePanelMenu.tsx
rename to packages/suite-base/src/components/PanelToolbar/ChangePanelMenu.tsx
index 1936dc1203..7f362c3323 100644
--- a/packages/studio-base/src/components/PanelToolbar/ChangePanelMenu.tsx
+++ b/packages/suite-base/src/components/PanelToolbar/ChangePanelMenu.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PanelCatalog, PanelSelection } from "@lichtblick/studio-base/components/PanelCatalog";
-import PanelContext from "@lichtblick/studio-base/components/PanelContext";
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
+import { PanelCatalog, PanelSelection } from "@lichtblick/suite-base/components/PanelCatalog";
+import PanelContext from "@lichtblick/suite-base/components/PanelContext";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
import { ClickAwayListener, Grow, Paper, Popper } from "@mui/material";
import { useCallback, useContext } from "react";
import { MosaicContext, MosaicNode, MosaicWindowContext } from "react-mosaic-component";
diff --git a/packages/studio-base/src/components/PanelToolbar/PanelActionsDropdown.tsx b/packages/suite-base/src/components/PanelToolbar/PanelActionsDropdown.tsx
similarity index 94%
rename from packages/studio-base/src/components/PanelToolbar/PanelActionsDropdown.tsx
rename to packages/suite-base/src/components/PanelToolbar/PanelActionsDropdown.tsx
index 7a987635e8..57e77e9c00 100644
--- a/packages/studio-base/src/components/PanelToolbar/PanelActionsDropdown.tsx
+++ b/packages/suite-base/src/components/PanelToolbar/PanelActionsDropdown.tsx
@@ -11,11 +11,11 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import PanelContext from "@lichtblick/studio-base/components/PanelContext";
-import ChangePanelMenu from "@lichtblick/studio-base/components/PanelToolbar/ChangePanelMenu";
-import ToolbarIconButton from "@lichtblick/studio-base/components/PanelToolbar/ToolbarIconButton";
-import { getPanelTypeFromMosaic } from "@lichtblick/studio-base/components/PanelToolbar/utils";
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
+import PanelContext from "@lichtblick/suite-base/components/PanelContext";
+import ChangePanelMenu from "@lichtblick/suite-base/components/PanelToolbar/ChangePanelMenu";
+import ToolbarIconButton from "@lichtblick/suite-base/components/PanelToolbar/ToolbarIconButton";
+import { getPanelTypeFromMosaic } from "@lichtblick/suite-base/components/PanelToolbar/utils";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
import ChevronRightIcon from "@mui/icons-material/ChevronRight";
import MoreVertIcon from "@mui/icons-material/MoreVert";
import { Divider, Menu, MenuItem } from "@mui/material";
diff --git a/packages/studio-base/src/components/PanelToolbar/PanelToolbarControls.tsx b/packages/suite-base/src/components/PanelToolbar/PanelToolbarControls.tsx
similarity index 83%
rename from packages/studio-base/src/components/PanelToolbar/PanelToolbarControls.tsx
rename to packages/suite-base/src/components/PanelToolbar/PanelToolbarControls.tsx
index ec3035634c..a6f80747ce 100644
--- a/packages/studio-base/src/components/PanelToolbar/PanelToolbarControls.tsx
+++ b/packages/suite-base/src/components/PanelToolbar/PanelToolbarControls.tsx
@@ -11,16 +11,16 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import PanelContext from "@lichtblick/studio-base/components/PanelContext";
-import ToolbarIconButton from "@lichtblick/studio-base/components/PanelToolbar/ToolbarIconButton";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useSelectedPanels } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import PanelCatalogContext from "@lichtblick/studio-base/context/PanelCatalogContext";
+import PanelContext from "@lichtblick/suite-base/components/PanelContext";
+import ToolbarIconButton from "@lichtblick/suite-base/components/PanelToolbar/ToolbarIconButton";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useSelectedPanels } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import PanelCatalogContext from "@lichtblick/suite-base/context/PanelCatalogContext";
import {
PanelStateStore,
usePanelStateStore,
-} from "@lichtblick/studio-base/context/PanelStateContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
+} from "@lichtblick/suite-base/context/PanelStateContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
import SettingsIcon from "@mui/icons-material/Settings";
import { forwardRef, useCallback, useContext, useMemo } from "react";
diff --git a/packages/studio-base/src/components/PanelToolbar/ToolbarIconButton.tsx b/packages/suite-base/src/components/PanelToolbar/ToolbarIconButton.tsx
similarity index 100%
rename from packages/studio-base/src/components/PanelToolbar/ToolbarIconButton.tsx
rename to packages/suite-base/src/components/PanelToolbar/ToolbarIconButton.tsx
diff --git a/packages/studio-base/src/components/PanelToolbar/index.stories.tsx b/packages/suite-base/src/components/PanelToolbar/index.stories.tsx
similarity index 92%
rename from packages/studio-base/src/components/PanelToolbar/index.stories.tsx
rename to packages/suite-base/src/components/PanelToolbar/index.stories.tsx
index 32d9825ed0..baf07c7bcf 100644
--- a/packages/studio-base/src/components/PanelToolbar/index.stories.tsx
+++ b/packages/suite-base/src/components/PanelToolbar/index.stories.tsx
@@ -12,11 +12,11 @@
// You may not use this file except in compliance with the License.
import { Database20Filled } from "@fluentui/react-icons";
-import MockPanelContextProvider from "@lichtblick/studio-base/components/MockPanelContextProvider";
-import ToolbarIconButton from "@lichtblick/studio-base/components/PanelToolbar/ToolbarIconButton";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import { PanelStateContextProvider } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+import MockPanelContextProvider from "@lichtblick/suite-base/components/MockPanelContextProvider";
+import ToolbarIconButton from "@lichtblick/suite-base/components/PanelToolbar/ToolbarIconButton";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import { PanelStateContextProvider } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { useTheme } from "@mui/material";
import { StoryObj, StoryFn } from "@storybook/react";
import { fireEvent, screen } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/PanelToolbar/index.tsx b/packages/suite-base/src/components/PanelToolbar/index.tsx
similarity index 91%
rename from packages/studio-base/src/components/PanelToolbar/index.tsx
rename to packages/suite-base/src/components/PanelToolbar/index.tsx
index 5726d30afd..848cfad4f5 100644
--- a/packages/studio-base/src/components/PanelToolbar/index.tsx
+++ b/packages/suite-base/src/components/PanelToolbar/index.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import PanelContext from "@lichtblick/studio-base/components/PanelContext";
-import ToolbarIconButton from "@lichtblick/studio-base/components/PanelToolbar/ToolbarIconButton";
-import { useDefaultPanelTitle } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { PANEL_TITLE_CONFIG_KEY } from "@lichtblick/studio-base/util/layout";
+import PanelContext from "@lichtblick/suite-base/components/PanelContext";
+import ToolbarIconButton from "@lichtblick/suite-base/components/PanelToolbar/ToolbarIconButton";
+import { useDefaultPanelTitle } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { PANEL_TITLE_CONFIG_KEY } from "@lichtblick/suite-base/util/layout";
import FullscreenExitIcon from "@mui/icons-material/FullscreenExit";
import { Typography } from "@mui/material";
import { useContext, useMemo, CSSProperties } from "react";
diff --git a/packages/studio-base/src/components/PanelToolbar/utils.ts b/packages/suite-base/src/components/PanelToolbar/utils.ts
similarity index 94%
rename from packages/studio-base/src/components/PanelToolbar/utils.ts
rename to packages/suite-base/src/components/PanelToolbar/utils.ts
index d60fe495ef..eed5e74870 100644
--- a/packages/studio-base/src/components/PanelToolbar/utils.ts
+++ b/packages/suite-base/src/components/PanelToolbar/utils.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { getPanelTypeFromId } from "@lichtblick/studio-base/util/layout";
+import { getPanelTypeFromId } from "@lichtblick/suite-base/util/layout";
import { getNodeAtPath, MosaicRootActions, MosaicWindowActions } from "react-mosaic-component";
import { MosaicKey } from "react-mosaic-component/lib/types";
diff --git a/packages/studio-base/src/components/PlaybackControls/EventsOverlay.tsx b/packages/suite-base/src/components/PlaybackControls/EventsOverlay.tsx
similarity index 95%
rename from packages/studio-base/src/components/PlaybackControls/EventsOverlay.tsx
rename to packages/suite-base/src/components/PlaybackControls/EventsOverlay.tsx
index b227eb58e5..6060e40e34 100644
--- a/packages/studio-base/src/components/PlaybackControls/EventsOverlay.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/EventsOverlay.tsx
@@ -6,11 +6,11 @@ import {
EventsStore,
TimelinePositionedEvent,
useEvents,
-} from "@lichtblick/studio-base/context/EventsContext";
+} from "@lichtblick/suite-base/context/EventsContext";
import {
TimelineInteractionStateStore,
useTimelineInteractionState,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
import { alpha } from "@mui/material";
import * as _ from "lodash-es";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/PlaybackControls/PlaybackBarHoverTicks.tsx b/packages/suite-base/src/components/PlaybackControls/PlaybackBarHoverTicks.tsx
similarity index 89%
rename from packages/studio-base/src/components/PlaybackControls/PlaybackBarHoverTicks.tsx
rename to packages/suite-base/src/components/PlaybackControls/PlaybackBarHoverTicks.tsx
index 16427220b8..9112f37fd9 100644
--- a/packages/studio-base/src/components/PlaybackControls/PlaybackBarHoverTicks.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/PlaybackBarHoverTicks.tsx
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { RpcScales } from "@lichtblick/studio-base/components/Chart/types";
+import { RpcScales } from "@lichtblick/suite-base/components/Chart/types";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import HoverBar from "@lichtblick/studio-base/components/TimeBasedChart/HoverBar";
-import { useHoverValue } from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import HoverBar from "@lichtblick/suite-base/components/TimeBasedChart/HoverBar";
+import { useHoverValue } from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
import { Tooltip } from "@mui/material";
import { useMemo } from "react";
import { useResizeDetector } from "react-resize-detector";
diff --git a/packages/studio-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.stories.tsx b/packages/suite-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.stories.tsx
similarity index 81%
rename from packages/studio-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.stories.tsx
rename to packages/suite-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.stories.tsx
index c096d43ab2..46d8dd80fe 100644
--- a/packages/studio-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.stories.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { PlaybackControlsTooltipContent } from "@lichtblick/studio-base/components/PlaybackControls/PlaybackControlsTooltipContent";
-import { useTimelineInteractionState } from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import TimelineInteractionStateProvider from "@lichtblick/studio-base/providers/TimelineInteractionStateProvider";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { PlaybackControlsTooltipContent } from "@lichtblick/suite-base/components/PlaybackControls/PlaybackControlsTooltipContent";
+import { useTimelineInteractionState } from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import TimelineInteractionStateProvider from "@lichtblick/suite-base/providers/TimelineInteractionStateProvider";
import { useTheme } from "@mui/material";
import { StoryObj, StoryFn } from "@storybook/react";
import { useEffect } from "react";
diff --git a/packages/studio-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.tsx b/packages/suite-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.tsx
similarity index 94%
rename from packages/studio-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.tsx
rename to packages/suite-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.tsx
index a89dcd92e6..136fb98d96 100644
--- a/packages/studio-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/PlaybackControlsTooltipContent.tsx
@@ -5,12 +5,12 @@
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
+} from "@lichtblick/suite-base/components/MessagePipeline";
import {
TimelineInteractionStateStore,
useTimelineInteractionState,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
import { Divider, Typography } from "@mui/material";
import * as _ from "lodash-es";
import { Fragment } from "react";
diff --git a/packages/studio-base/src/components/PlaybackControls/PlaybackTimeDisplay.tsx b/packages/suite-base/src/components/PlaybackControls/PlaybackTimeDisplay.tsx
similarity index 86%
rename from packages/studio-base/src/components/PlaybackControls/PlaybackTimeDisplay.tsx
rename to packages/suite-base/src/components/PlaybackControls/PlaybackTimeDisplay.tsx
index ff2f4e03f6..fef439e6d0 100644
--- a/packages/studio-base/src/components/PlaybackControls/PlaybackTimeDisplay.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/PlaybackTimeDisplay.tsx
@@ -11,13 +11,13 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/components/PlaybackControls/ProgressPlot.stories.tsx b/packages/suite-base/src/components/PlaybackControls/ProgressPlot.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/PlaybackControls/ProgressPlot.stories.tsx
rename to packages/suite-base/src/components/PlaybackControls/ProgressPlot.stories.tsx
diff --git a/packages/studio-base/src/components/PlaybackControls/ProgressPlot.tsx b/packages/suite-base/src/components/PlaybackControls/ProgressPlot.tsx
similarity index 94%
rename from packages/studio-base/src/components/PlaybackControls/ProgressPlot.tsx
rename to packages/suite-base/src/components/PlaybackControls/ProgressPlot.tsx
index 01d20e1a68..34ccc7465c 100644
--- a/packages/studio-base/src/components/PlaybackControls/ProgressPlot.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/ProgressPlot.tsx
@@ -4,9 +4,9 @@
import { keyframes } from "@emotion/react";
import { filterMap } from "@lichtblick/den/collection";
-import { Immutable } from "@lichtblick/studio";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { Range } from "@lichtblick/studio-base/util/ranges";
+import { Immutable } from "@lichtblick/suite";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { Range } from "@lichtblick/suite-base/util/ranges";
import { simplify } from "intervals-fn";
import * as _ from "lodash-es";
import { useMemo } from "react";
diff --git a/packages/studio-base/src/components/PlaybackControls/RepeatAdapter.tsx b/packages/suite-base/src/components/PlaybackControls/RepeatAdapter.tsx
similarity index 96%
rename from packages/studio-base/src/components/PlaybackControls/RepeatAdapter.tsx
rename to packages/suite-base/src/components/PlaybackControls/RepeatAdapter.tsx
index 7f7ff575e6..321c5ac392 100644
--- a/packages/studio-base/src/components/PlaybackControls/RepeatAdapter.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/RepeatAdapter.tsx
@@ -5,7 +5,7 @@
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
+} from "@lichtblick/suite-base/components/MessagePipeline";
import { useLayoutEffect } from "react";
import { compare, Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/components/PlaybackControls/Scrubber.tsx b/packages/suite-base/src/components/PlaybackControls/Scrubber.tsx
similarity index 96%
rename from packages/studio-base/src/components/PlaybackControls/Scrubber.tsx
rename to packages/suite-base/src/components/PlaybackControls/Scrubber.tsx
index 9030f37bed..5995a0c116 100644
--- a/packages/studio-base/src/components/PlaybackControls/Scrubber.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/Scrubber.tsx
@@ -5,13 +5,13 @@
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
useClearHoverValue,
useSetHoverValue,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
import { Fade, PopperProps, Tooltip } from "@mui/material";
import type { Instance } from "@popperjs/core";
import { useCallback, useEffect, useMemo, useState } from "react";
diff --git a/packages/studio-base/src/components/PlaybackControls/Slider.stories.tsx b/packages/suite-base/src/components/PlaybackControls/Slider.stories.tsx
similarity index 98%
rename from packages/studio-base/src/components/PlaybackControls/Slider.stories.tsx
rename to packages/suite-base/src/components/PlaybackControls/Slider.stories.tsx
index 45c941779e..a233512369 100644
--- a/packages/studio-base/src/components/PlaybackControls/Slider.stories.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/Slider.stories.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { StoryObj } from "@storybook/react";
import { useState } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/PlaybackControls/Slider.tsx b/packages/suite-base/src/components/PlaybackControls/Slider.tsx
similarity index 100%
rename from packages/studio-base/src/components/PlaybackControls/Slider.tsx
rename to packages/suite-base/src/components/PlaybackControls/Slider.tsx
diff --git a/packages/studio-base/src/components/PlaybackControls/UnconnectedPlaybackTimeDisplay.tsx b/packages/suite-base/src/components/PlaybackControls/UnconnectedPlaybackTimeDisplay.tsx
similarity index 96%
rename from packages/studio-base/src/components/PlaybackControls/UnconnectedPlaybackTimeDisplay.tsx
rename to packages/suite-base/src/components/PlaybackControls/UnconnectedPlaybackTimeDisplay.tsx
index ed245c81c7..2b7d4d8f6d 100644
--- a/packages/studio-base/src/components/PlaybackControls/UnconnectedPlaybackTimeDisplay.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/UnconnectedPlaybackTimeDisplay.tsx
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { IAppTimeFormat } from "@lichtblick/studio-base/hooks/useAppTimeFormat";
-import { TimeDisplayMethod } from "@lichtblick/studio-base/types/panels";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { IAppTimeFormat } from "@lichtblick/suite-base/hooks/useAppTimeFormat";
+import { TimeDisplayMethod } from "@lichtblick/suite-base/types/panels";
import {
formatDate,
formatTime,
getValidatedTimeAndMethodFromString,
-} from "@lichtblick/studio-base/util/formatTime";
-import { formatTimeRaw } from "@lichtblick/studio-base/util/time";
+} from "@lichtblick/suite-base/util/formatTime";
+import { formatTimeRaw } from "@lichtblick/suite-base/util/time";
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
import CheckIcon from "@mui/icons-material/Check";
import WarningIcon from "@mui/icons-material/Warning";
diff --git a/packages/studio-base/src/components/PlaybackControls/index.stories.tsx b/packages/suite-base/src/components/PlaybackControls/index.stories.tsx
similarity index 88%
rename from packages/studio-base/src/components/PlaybackControls/index.stories.tsx
rename to packages/suite-base/src/components/PlaybackControls/index.stories.tsx
index 23a600b0cc..49d557c4a2 100644
--- a/packages/studio-base/src/components/PlaybackControls/index.stories.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/index.stories.tsx
@@ -11,22 +11,22 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
import AppConfigurationContext, {
IAppConfiguration,
-} from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { useEvents } from "@lichtblick/studio-base/context/EventsContext";
-import { useSetHoverValue } from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
+} from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { useEvents } from "@lichtblick/suite-base/context/EventsContext";
+import { useSetHoverValue } from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
import {
PlayerCapabilities,
PlayerPresence,
PlayerState,
PlayerStateActiveData,
-} from "@lichtblick/studio-base/players/types";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import EventsProvider from "@lichtblick/studio-base/providers/EventsProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
-import { makeMockEvents } from "@lichtblick/studio-base/test/mocks/makeMockEvents";
+} from "@lichtblick/suite-base/players/types";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import EventsProvider from "@lichtblick/suite-base/providers/EventsProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
+import { makeMockEvents } from "@lichtblick/suite-base/test/mocks/makeMockEvents";
import { action } from "@storybook/addon-actions";
import { StoryObj, StoryFn } from "@storybook/react";
import { useEffect, useLayoutEffect } from "react";
diff --git a/packages/studio-base/src/components/PlaybackControls/index.tsx b/packages/suite-base/src/components/PlaybackControls/index.tsx
similarity index 88%
rename from packages/studio-base/src/components/PlaybackControls/index.tsx
rename to packages/suite-base/src/components/PlaybackControls/index.tsx
index bd2555f57b..5ed9d9edf0 100644
--- a/packages/studio-base/src/components/PlaybackControls/index.tsx
+++ b/packages/suite-base/src/components/PlaybackControls/index.tsx
@@ -24,26 +24,26 @@ import {
Previous20Filled,
Previous20Regular,
} from "@fluentui/react-icons";
-import { CreateEventDialog } from "@lichtblick/studio-base/components/CreateEventDialog";
-import { DataSourceInfoView } from "@lichtblick/studio-base/components/DataSourceInfoView";
-import EventIcon from "@lichtblick/studio-base/components/EventIcon";
-import EventOutlinedIcon from "@lichtblick/studio-base/components/EventOutlinedIcon";
-import HoverableIconButton from "@lichtblick/studio-base/components/HoverableIconButton";
-import KeyListener from "@lichtblick/studio-base/components/KeyListener";
+import { CreateEventDialog } from "@lichtblick/suite-base/components/CreateEventDialog";
+import { DataSourceInfoView } from "@lichtblick/suite-base/components/DataSourceInfoView";
+import EventIcon from "@lichtblick/suite-base/components/EventIcon";
+import EventOutlinedIcon from "@lichtblick/suite-base/components/EventOutlinedIcon";
+import HoverableIconButton from "@lichtblick/suite-base/components/HoverableIconButton";
+import KeyListener from "@lichtblick/suite-base/components/KeyListener";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import PlaybackSpeedControls from "@lichtblick/studio-base/components/PlaybackSpeedControls";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useCurrentUser } from "@lichtblick/studio-base/context/BaseUserContext";
-import { EventsStore, useEvents } from "@lichtblick/studio-base/context/EventsContext";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import PlaybackSpeedControls from "@lichtblick/suite-base/components/PlaybackSpeedControls";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useCurrentUser } from "@lichtblick/suite-base/context/BaseUserContext";
+import { EventsStore, useEvents } from "@lichtblick/suite-base/context/EventsContext";
import {
WorkspaceContextStore,
useWorkspaceStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { Player, PlayerPresence } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { Player, PlayerPresence } from "@lichtblick/suite-base/players/types";
import { Tooltip } from "@mui/material";
import { useCallback, useMemo, useState } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/PlaybackControls/sharedHelpers.ts b/packages/suite-base/src/components/PlaybackControls/sharedHelpers.ts
similarity index 100%
rename from packages/studio-base/src/components/PlaybackControls/sharedHelpers.ts
rename to packages/suite-base/src/components/PlaybackControls/sharedHelpers.ts
diff --git a/packages/studio-base/src/components/PlaybackSpeedControls.stories.tsx b/packages/suite-base/src/components/PlaybackSpeedControls.stories.tsx
similarity index 85%
rename from packages/studio-base/src/components/PlaybackSpeedControls.stories.tsx
rename to packages/suite-base/src/components/PlaybackSpeedControls.stories.tsx
index 3b2f83cd8a..d6bf8b1f98 100644
--- a/packages/studio-base/src/components/PlaybackSpeedControls.stories.tsx
+++ b/packages/suite-base/src/components/PlaybackSpeedControls.stories.tsx
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import PlaybackSpeedControls from "@lichtblick/studio-base/components/PlaybackSpeedControls";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import PlaybackSpeedControls from "@lichtblick/suite-base/components/PlaybackSpeedControls";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
import { Meta, StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/PlaybackSpeedControls.tsx b/packages/suite-base/src/components/PlaybackSpeedControls.tsx
similarity index 96%
rename from packages/studio-base/src/components/PlaybackSpeedControls.tsx
rename to packages/suite-base/src/components/PlaybackSpeedControls.tsx
index 95536b160e..159ec6bd3e 100644
--- a/packages/studio-base/src/components/PlaybackSpeedControls.tsx
+++ b/packages/suite-base/src/components/PlaybackSpeedControls.tsx
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { useMessagePipeline } from "@lichtblick/studio-base/components/MessagePipeline";
+import { useMessagePipeline } from "@lichtblick/suite-base/components/MessagePipeline";
import {
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
import CheckIcon from "@mui/icons-material/Check";
import { Button, ListItemIcon, ListItemText, Menu, MenuItem } from "@mui/material";
diff --git a/packages/studio-base/src/components/PlayerManager.tsx b/packages/suite-base/src/components/PlayerManager.tsx
similarity index 90%
rename from packages/studio-base/src/components/PlayerManager.tsx
rename to packages/suite-base/src/components/PlayerManager.tsx
index 5eba4df7a8..47da0a016b 100644
--- a/packages/studio-base/src/components/PlayerManager.tsx
+++ b/packages/suite-base/src/components/PlayerManager.tsx
@@ -13,36 +13,36 @@
import { useWarnImmediateReRender } from "@lichtblick/hooks";
import Logger from "@lichtblick/log";
-import { Immutable } from "@lichtblick/studio";
-import { MessagePipelineProvider } from "@lichtblick/studio-base/components/MessagePipeline";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
+import { Immutable } from "@lichtblick/suite";
+import { MessagePipelineProvider } from "@lichtblick/suite-base/components/MessagePipeline";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
import {
LayoutState,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { ExtensionCatalogContext } from "@lichtblick/studio-base/context/ExtensionCatalogContext";
-import { usePerformance } from "@lichtblick/studio-base/context/PerformanceContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { ExtensionCatalogContext } from "@lichtblick/suite-base/context/ExtensionCatalogContext";
+import { usePerformance } from "@lichtblick/suite-base/context/PerformanceContext";
import PlayerSelectionContext, {
DataSourceArgs,
IDataSourceFactory,
PlayerSelection,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
UserScriptStore,
useUserScriptState,
-} from "@lichtblick/studio-base/context/UserScriptStateContext";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+} from "@lichtblick/suite-base/context/UserScriptStateContext";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import useIndexedDbRecents, {
RecentRecord,
-} from "@lichtblick/studio-base/hooks/useIndexedDbRecents";
-import AnalyticsMetricsCollector from "@lichtblick/studio-base/players/AnalyticsMetricsCollector";
+} from "@lichtblick/suite-base/hooks/useIndexedDbRecents";
+import AnalyticsMetricsCollector from "@lichtblick/suite-base/players/AnalyticsMetricsCollector";
import {
TopicAliasFunctions,
TopicAliasingPlayer,
-} from "@lichtblick/studio-base/players/TopicAliasingPlayer/TopicAliasingPlayer";
-import UserScriptPlayer from "@lichtblick/studio-base/players/UserScriptPlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
-import { UserScripts } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/players/TopicAliasingPlayer/TopicAliasingPlayer";
+import UserScriptPlayer from "@lichtblick/suite-base/players/UserScriptPlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
+import { UserScripts } from "@lichtblick/suite-base/types/panels";
import { useSnackbar } from "notistack";
import {
PropsWithChildren,
diff --git a/packages/studio-base/src/components/ProblemsList.stories.tsx b/packages/suite-base/src/components/ProblemsList.stories.tsx
similarity index 88%
rename from packages/studio-base/src/components/ProblemsList.stories.tsx
rename to packages/suite-base/src/components/ProblemsList.stories.tsx
index 8b4b839218..b7f070acb7 100644
--- a/packages/studio-base/src/components/ProblemsList.stories.tsx
+++ b/packages/suite-base/src/components/ProblemsList.stories.tsx
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { ProblemsList } from "@lichtblick/studio-base/components/ProblemsList";
-import { useProblemsActions } from "@lichtblick/studio-base/context/ProblemsContext";
-import { PlayerPresence, PlayerProblem, Topic } from "@lichtblick/studio-base/players/types";
-import ProblemsContextProvider from "@lichtblick/studio-base/providers/ProblemsContextProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { ProblemsList } from "@lichtblick/suite-base/components/ProblemsList";
+import { useProblemsActions } from "@lichtblick/suite-base/context/ProblemsContext";
+import { PlayerPresence, PlayerProblem, Topic } from "@lichtblick/suite-base/players/types";
+import ProblemsContextProvider from "@lichtblick/suite-base/providers/ProblemsContextProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
import { useTheme } from "@mui/material";
import { StoryFn, StoryObj } from "@storybook/react";
import { useEffect } from "react";
@@ -22,7 +22,7 @@ function makeProblems(): PlayerProblem[] {
tip: "A tip that we might want to show the user",
error: Object.assign(new Error("Fake Error"), {
stack: `Error: Original Error
-at Story (https://603ec8bf7908b500231841e2-nozcuvybhv.capture.chromatic.com/studio-base-src-components-ProblemsList-stories.039002bb.iframe.bundle.js:58:28)
+at Story (https://603ec8bf7908b500231841e2-nozcuvybhv.capture.chromatic.com/suite-base-src-components-ProblemsList-stories.039002bb.iframe.bundle.js:58:28)
at undecoratedStoryFn (https://603ec8bf7908b500231841e2-nozcuvybhv.capture.chromatic.com/sb-preview/runtime.mjs:34:2794)
at hookified (https://603ec8bf7908b500231841e2-nozcuvybhv.capture.chromatic.com/sb-preview/runtime.mjs:7:17032)
at https://603ec8bf7908b500231841e2-nozcuvybhv.capture.chromatic.com/sb-preview/runtime.mjs:34:1915
diff --git a/packages/studio-base/src/components/ProblemsList.tsx b/packages/suite-base/src/components/ProblemsList.tsx
similarity index 93%
rename from packages/studio-base/src/components/ProblemsList.tsx
rename to packages/suite-base/src/components/ProblemsList.tsx
index 2ae94a7df0..7480f9a2a5 100644
--- a/packages/studio-base/src/components/ProblemsList.tsx
+++ b/packages/suite-base/src/components/ProblemsList.tsx
@@ -3,18 +3,18 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ErrorCircle16Regular, Info16Regular, Warning16Regular } from "@fluentui/react-icons";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
ProblemsContextStore,
useProblemsStore,
-} from "@lichtblick/studio-base/context/ProblemsContext";
-import { PlayerProblem } from "@lichtblick/studio-base/players/types";
-import { DetailsType, NotificationSeverity } from "@lichtblick/studio-base/util/sendNotification";
+} from "@lichtblick/suite-base/context/ProblemsContext";
+import { PlayerProblem } from "@lichtblick/suite-base/players/types";
+import { DetailsType, NotificationSeverity } from "@lichtblick/suite-base/util/sendNotification";
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
import {
Accordion,
diff --git a/packages/studio-base/src/components/PublishGoalIcon.tsx b/packages/suite-base/src/components/PublishGoalIcon.tsx
similarity index 100%
rename from packages/studio-base/src/components/PublishGoalIcon.tsx
rename to packages/suite-base/src/components/PublishGoalIcon.tsx
diff --git a/packages/studio-base/src/components/PublishPointIcon.tsx b/packages/suite-base/src/components/PublishPointIcon.tsx
similarity index 100%
rename from packages/studio-base/src/components/PublishPointIcon.tsx
rename to packages/suite-base/src/components/PublishPointIcon.tsx
diff --git a/packages/studio-base/src/components/PublishPoseEstimateIcon.tsx b/packages/suite-base/src/components/PublishPoseEstimateIcon.tsx
similarity index 100%
rename from packages/studio-base/src/components/PublishPoseEstimateIcon.tsx
rename to packages/suite-base/src/components/PublishPoseEstimateIcon.tsx
diff --git a/packages/studio-base/src/components/RemountOnValueChange.test.tsx b/packages/suite-base/src/components/RemountOnValueChange.test.tsx
similarity index 94%
rename from packages/studio-base/src/components/RemountOnValueChange.test.tsx
rename to packages/suite-base/src/components/RemountOnValueChange.test.tsx
index 29e4e45df6..cf8320bb4c 100644
--- a/packages/studio-base/src/components/RemountOnValueChange.test.tsx
+++ b/packages/suite-base/src/components/RemountOnValueChange.test.tsx
@@ -3,7 +3,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import RemountOnValueChange from "@lichtblick/studio-base/components/RemountOnValueChange";
+import RemountOnValueChange from "@lichtblick/suite-base/components/RemountOnValueChange";
import { render } from "@testing-library/react";
import { useLayoutEffect } from "react";
diff --git a/packages/studio-base/src/components/RemountOnValueChange.tsx b/packages/suite-base/src/components/RemountOnValueChange.tsx
similarity index 100%
rename from packages/studio-base/src/components/RemountOnValueChange.tsx
rename to packages/suite-base/src/components/RemountOnValueChange.tsx
diff --git a/packages/studio-base/src/components/SendNotificationToastAdapter.stories.tsx b/packages/suite-base/src/components/SendNotificationToastAdapter.stories.tsx
similarity index 93%
rename from packages/studio-base/src/components/SendNotificationToastAdapter.stories.tsx
rename to packages/suite-base/src/components/SendNotificationToastAdapter.stories.tsx
index 65db1a1687..e789544cbb 100644
--- a/packages/studio-base/src/components/SendNotificationToastAdapter.stories.tsx
+++ b/packages/suite-base/src/components/SendNotificationToastAdapter.stories.tsx
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import SendNotificationToastAdapter from "@lichtblick/studio-base/components/SendNotificationToastAdapter";
-import StudioToastProvider from "@lichtblick/studio-base/components/StudioToastProvider";
-import sendNotification from "@lichtblick/studio-base/util/sendNotification";
+import SendNotificationToastAdapter from "@lichtblick/suite-base/components/SendNotificationToastAdapter";
+import StudioToastProvider from "@lichtblick/suite-base/components/StudioToastProvider";
+import sendNotification from "@lichtblick/suite-base/util/sendNotification";
import { StoryFn, StoryObj } from "@storybook/react";
import { useEffect } from "react";
diff --git a/packages/studio-base/src/components/SendNotificationToastAdapter.tsx b/packages/suite-base/src/components/SendNotificationToastAdapter.tsx
similarity index 93%
rename from packages/studio-base/src/components/SendNotificationToastAdapter.tsx
rename to packages/suite-base/src/components/SendNotificationToastAdapter.tsx
index 7db11ea889..86692dff8e 100644
--- a/packages/studio-base/src/components/SendNotificationToastAdapter.tsx
+++ b/packages/suite-base/src/components/SendNotificationToastAdapter.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import NotificationModal from "@lichtblick/studio-base/components/NotificationModal";
+import NotificationModal from "@lichtblick/suite-base/components/NotificationModal";
import {
DetailsType,
NotificationType,
@@ -10,7 +10,7 @@ import {
unsetNotificationHandler,
NotificationSeverity,
NotificationMessage,
-} from "@lichtblick/studio-base/util/sendNotification";
+} from "@lichtblick/suite-base/util/sendNotification";
import { Link } from "@mui/material";
import { useSnackbar, VariantType } from "notistack";
import { useLayoutEffect, useState } from "react";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/FieldEditor.tsx b/packages/suite-base/src/components/SettingsTreeEditor/FieldEditor.tsx
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/FieldEditor.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/FieldEditor.tsx
index 0bda59b444..bebea314c7 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/FieldEditor.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/FieldEditor.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, SettingsTreeAction, SettingsTreeField } from "@lichtblick/studio";
-import MessagePathInput from "@lichtblick/studio-base/components/MessagePathSyntax/MessagePathInput";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+import { Immutable, SettingsTreeAction, SettingsTreeField } from "@lichtblick/suite";
+import MessagePathInput from "@lichtblick/suite-base/components/MessagePathSyntax/MessagePathInput";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import CancelIcon from "@mui/icons-material/Cancel";
import ErrorIcon from "@mui/icons-material/Error";
import {
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/NodeActionsMenu.tsx b/packages/suite-base/src/components/SettingsTreeEditor/NodeActionsMenu.tsx
similarity index 97%
rename from packages/studio-base/src/components/SettingsTreeEditor/NodeActionsMenu.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/NodeActionsMenu.tsx
index 10a61404c8..4b4966f744 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/NodeActionsMenu.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/NodeActionsMenu.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeNodeAction } from "@lichtblick/studio";
+import { SettingsTreeNodeAction } from "@lichtblick/suite";
import MoreVertIcon from "@mui/icons-material/MoreVert";
import { Menu, MenuItem, IconButton, ListItemIcon, ListItemText, Divider } from "@mui/material";
import { useState } from "react";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/NodeEditor.tsx b/packages/suite-base/src/components/SettingsTreeEditor/NodeEditor.tsx
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/NodeEditor.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/NodeEditor.tsx
index a37b945ee5..70ac5feb57 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/NodeEditor.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/NodeEditor.tsx
@@ -8,10 +8,10 @@ import {
SettingsTreeAction,
SettingsTreeNode,
SettingsTreeNodeActionItem,
-} from "@lichtblick/studio";
-import { HighlightedText } from "@lichtblick/studio-base/components/HighlightedText";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+} from "@lichtblick/suite";
+import { HighlightedText } from "@lichtblick/suite-base/components/HighlightedText";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import ArrowDownIcon from "@mui/icons-material/ArrowDropDown";
import ArrowRightIcon from "@mui/icons-material/ArrowRight";
import CheckIcon from "@mui/icons-material/Check";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/VisibilityToggle.tsx b/packages/suite-base/src/components/SettingsTreeEditor/VisibilityToggle.tsx
similarity index 100%
rename from packages/studio-base/src/components/SettingsTreeEditor/VisibilityToggle.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/VisibilityToggle.tsx
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/icons.ts b/packages/suite-base/src/components/SettingsTreeEditor/icons.ts
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/icons.ts
rename to packages/suite-base/src/components/SettingsTreeEditor/icons.ts
index 8a2f7729dd..efcb0244a1 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/icons.ts
+++ b/packages/suite-base/src/components/SettingsTreeEditor/icons.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsIcon } from "@lichtblick/studio";
+import { SettingsIcon } from "@lichtblick/suite";
import Clock from "@mui/icons-material/AccessTime";
import Add from "@mui/icons-material/Add";
import Addchart from "@mui/icons-material/Addchart";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/index.stories.tsx b/packages/suite-base/src/components/SettingsTreeEditor/index.stories.tsx
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/index.stories.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/index.stories.tsx
index f7c0e5e333..6c5c099237 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/index.stories.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/index.stories.tsx
@@ -8,11 +8,11 @@ import {
SettingsTreeNodes,
SettingsTreeFieldValue,
SettingsTreeAction,
-} from "@lichtblick/studio";
-import { MessagePathInputStoryFixture } from "@lichtblick/studio-base/components/MessagePathSyntax/fixture";
-import SettingsTreeEditor from "@lichtblick/studio-base/components/SettingsTreeEditor";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+} from "@lichtblick/suite";
+import { MessagePathInputStoryFixture } from "@lichtblick/suite-base/components/MessagePathSyntax/fixture";
+import SettingsTreeEditor from "@lichtblick/suite-base/components/SettingsTreeEditor";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { useTheme } from "@mui/material";
import { StoryObj } from "@storybook/react";
import { userEvent, within } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/index.tsx b/packages/suite-base/src/components/SettingsTreeEditor/index.tsx
similarity index 90%
rename from packages/studio-base/src/components/SettingsTreeEditor/index.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/index.tsx
index e372551411..b9c7457db0 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/index.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/index.tsx
@@ -2,14 +2,14 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, SettingsTree, SettingsTreeAction, SettingsTreeField } from "@lichtblick/studio";
-import { useConfigById } from "@lichtblick/studio-base/PanelAPI";
-import { FieldEditor } from "@lichtblick/studio-base/components/SettingsTreeEditor/FieldEditor";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useSelectedPanels } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { usePanelCatalog } from "@lichtblick/studio-base/context/PanelCatalogContext";
-import { usePanelStateStore } from "@lichtblick/studio-base/context/PanelStateContext";
-import { PANEL_TITLE_CONFIG_KEY, getPanelTypeFromId } from "@lichtblick/studio-base/util/layout";
+import { Immutable, SettingsTree, SettingsTreeAction, SettingsTreeField } from "@lichtblick/suite";
+import { useConfigById } from "@lichtblick/suite-base/PanelAPI";
+import { FieldEditor } from "@lichtblick/suite-base/components/SettingsTreeEditor/FieldEditor";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useSelectedPanels } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { usePanelCatalog } from "@lichtblick/suite-base/context/PanelCatalogContext";
+import { usePanelStateStore } from "@lichtblick/suite-base/context/PanelStateContext";
+import { PANEL_TITLE_CONFIG_KEY, getPanelTypeFromId } from "@lichtblick/suite-base/util/layout";
import CancelIcon from "@mui/icons-material/Cancel";
import SearchIcon from "@mui/icons-material/Search";
import { IconButton, TextField } from "@mui/material";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.stories.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.stories.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.stories.tsx
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.tsx
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.tsx
index 0b386ad5a3..fb7a795940 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorGradientInput.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Popover, TextField, useTheme } from "@mui/material";
import { useCallback, useState } from "react";
import tinycolor from "tinycolor2";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.stories.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.stories.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.stories.tsx
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.test.ts b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.test.ts
similarity index 100%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.test.ts
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.test.ts
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.tsx
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.tsx
index 2ddd406062..8d650663c7 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerControl.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import TagIcon from "@mui/icons-material/Tag";
import { TextField } from "@mui/material";
import { useCallback, useState, useMemo } from "react";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerInput.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerInput.tsx
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerInput.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerInput.tsx
index 3704855cb6..08167564f3 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorPickerInput.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorPickerInput.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import CancelIcon from "@mui/icons-material/Cancel";
import { TextField, Popover, IconButton, inputBaseClasses, Tooltip } from "@mui/material";
import { useCallback, MouseEvent, useState } from "react";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorSwatch.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorSwatch.tsx
similarity index 100%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/ColorSwatch.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/ColorSwatch.tsx
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/NumberInput.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/NumberInput.tsx
similarity index 100%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/NumberInput.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/NumberInput.tsx
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/Vec2Input.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/Vec2Input.tsx
similarity index 96%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/Vec2Input.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/Vec2Input.tsx
index 76124b37d1..1afb7543ef 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/inputs/Vec2Input.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/inputs/Vec2Input.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { useCallback } from "react";
import { NumberInput } from "./NumberInput";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/Vec3Input.tsx b/packages/suite-base/src/components/SettingsTreeEditor/inputs/Vec3Input.tsx
similarity index 97%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/Vec3Input.tsx
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/Vec3Input.tsx
index 3e3ae9e276..6863a51d37 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/inputs/Vec3Input.tsx
+++ b/packages/suite-base/src/components/SettingsTreeEditor/inputs/Vec3Input.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { useCallback } from "react";
import { NumberInput } from "./NumberInput";
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/inputs/index.ts b/packages/suite-base/src/components/SettingsTreeEditor/inputs/index.ts
similarity index 100%
rename from packages/studio-base/src/components/SettingsTreeEditor/inputs/index.ts
rename to packages/suite-base/src/components/SettingsTreeEditor/inputs/index.ts
diff --git a/packages/studio-base/src/components/SettingsTreeEditor/utils.ts b/packages/suite-base/src/components/SettingsTreeEditor/utils.ts
similarity index 98%
rename from packages/studio-base/src/components/SettingsTreeEditor/utils.ts
rename to packages/suite-base/src/components/SettingsTreeEditor/utils.ts
index 7dc10716f8..6d9f71b590 100644
--- a/packages/studio-base/src/components/SettingsTreeEditor/utils.ts
+++ b/packages/suite-base/src/components/SettingsTreeEditor/utils.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/studio";
+import { Immutable, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/suite";
import * as _ from "lodash-es";
/**
diff --git a/packages/studio-base/src/components/ShareJsonModal.stories.tsx b/packages/suite-base/src/components/ShareJsonModal.stories.tsx
similarity index 95%
rename from packages/studio-base/src/components/ShareJsonModal.stories.tsx
rename to packages/suite-base/src/components/ShareJsonModal.stories.tsx
index a862cde5b6..49d99516b9 100644
--- a/packages/studio-base/src/components/ShareJsonModal.stories.tsx
+++ b/packages/suite-base/src/components/ShareJsonModal.stories.tsx
@@ -5,7 +5,7 @@
import {
ShareJsonModal,
ShareJsonModalProps,
-} from "@lichtblick/studio-base/components/ShareJsonModal";
+} from "@lichtblick/suite-base/components/ShareJsonModal";
import { StoryObj } from "@storybook/react";
import { fireEvent, screen } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/components/ShareJsonModal.tsx b/packages/suite-base/src/components/ShareJsonModal.tsx
similarity index 92%
rename from packages/studio-base/src/components/ShareJsonModal.tsx
rename to packages/suite-base/src/components/ShareJsonModal.tsx
index c178347785..70991f2fce 100644
--- a/packages/studio-base/src/components/ShareJsonModal.tsx
+++ b/packages/suite-base/src/components/ShareJsonModal.tsx
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ArrowDownload20Filled, Delete20Regular } from "@fluentui/react-icons";
-import CopyButton from "@lichtblick/studio-base/components/CopyButton";
-import HoverableIconButton from "@lichtblick/studio-base/components/HoverableIconButton";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { downloadTextFile } from "@lichtblick/studio-base/util/download";
+import CopyButton from "@lichtblick/suite-base/components/CopyButton";
+import HoverableIconButton from "@lichtblick/suite-base/components/HoverableIconButton";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { downloadTextFile } from "@lichtblick/suite-base/util/download";
import CloseIcon from "@mui/icons-material/Close";
import {
Button,
diff --git a/packages/studio-base/src/components/SidebarContent.tsx b/packages/suite-base/src/components/SidebarContent.tsx
similarity index 97%
rename from packages/studio-base/src/components/SidebarContent.tsx
rename to packages/suite-base/src/components/SidebarContent.tsx
index 477b98a14a..755ef51678 100644
--- a/packages/studio-base/src/components/SidebarContent.tsx
+++ b/packages/suite-base/src/components/SidebarContent.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Typography } from "@mui/material";
import { CSSProperties, Fragment, PropsWithChildren } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/Sidebars/NewSidebar.stories.tsx b/packages/suite-base/src/components/Sidebars/NewSidebar.stories.tsx
similarity index 98%
rename from packages/studio-base/src/components/Sidebars/NewSidebar.stories.tsx
rename to packages/suite-base/src/components/Sidebars/NewSidebar.stories.tsx
index 906c0c4d9a..3a1b261167 100644
--- a/packages/studio-base/src/components/Sidebars/NewSidebar.stories.tsx
+++ b/packages/suite-base/src/components/Sidebars/NewSidebar.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
import { StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
import { PropsWithChildren, useEffect, useState } from "react";
diff --git a/packages/studio-base/src/components/Sidebars/NewSidebar.tsx b/packages/suite-base/src/components/Sidebars/NewSidebar.tsx
similarity index 98%
rename from packages/studio-base/src/components/Sidebars/NewSidebar.tsx
rename to packages/suite-base/src/components/Sidebars/NewSidebar.tsx
index 5b914e97d1..d760018625 100644
--- a/packages/studio-base/src/components/Sidebars/NewSidebar.tsx
+++ b/packages/suite-base/src/components/Sidebars/NewSidebar.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import CloseIcon from "@mui/icons-material/Close";
import { Badge, BadgeProps, Divider, IconButton, Tab, Tabs } from "@mui/material";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/Sidebars/TabSpacer.tsx b/packages/suite-base/src/components/Sidebars/TabSpacer.tsx
similarity index 100%
rename from packages/studio-base/src/components/Sidebars/TabSpacer.tsx
rename to packages/suite-base/src/components/Sidebars/TabSpacer.tsx
diff --git a/packages/studio-base/src/components/Sidebars/index.stories.tsx b/packages/suite-base/src/components/Sidebars/index.stories.tsx
similarity index 96%
rename from packages/studio-base/src/components/Sidebars/index.stories.tsx
rename to packages/suite-base/src/components/Sidebars/index.stories.tsx
index d147993f05..8bba9354a7 100644
--- a/packages/studio-base/src/components/Sidebars/index.stories.tsx
+++ b/packages/suite-base/src/components/Sidebars/index.stories.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
import { StoryObj } from "@storybook/react";
import { useEffect, useState } from "react";
import { DndProvider } from "react-dnd";
diff --git a/packages/studio-base/src/components/Sidebars/index.tsx b/packages/suite-base/src/components/Sidebars/index.tsx
similarity index 95%
rename from packages/studio-base/src/components/Sidebars/index.tsx
rename to packages/suite-base/src/components/Sidebars/index.tsx
index 1897b2c249..22b1b85021 100644
--- a/packages/studio-base/src/components/Sidebars/index.tsx
+++ b/packages/suite-base/src/components/Sidebars/index.tsx
@@ -2,14 +2,14 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { HelpMenu } from "@lichtblick/studio-base/components/AppBar/HelpMenu";
-import { BuiltinIcon } from "@lichtblick/studio-base/components/BuiltinIcon";
-import ErrorBoundary from "@lichtblick/studio-base/components/ErrorBoundary";
-import { MemoryUseIndicator } from "@lichtblick/studio-base/components/MemoryUseIndicator";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { HelpMenu } from "@lichtblick/suite-base/components/AppBar/HelpMenu";
+import { BuiltinIcon } from "@lichtblick/suite-base/components/BuiltinIcon";
+import ErrorBoundary from "@lichtblick/suite-base/components/ErrorBoundary";
+import { MemoryUseIndicator } from "@lichtblick/suite-base/components/MemoryUseIndicator";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import HelpOutlineIcon from "@mui/icons-material/HelpOutline";
import { Badge, Paper, Tab, Tabs } from "@mui/material";
import {
diff --git a/packages/studio-base/src/components/Sparkline.stories.tsx b/packages/suite-base/src/components/Sparkline.stories.tsx
similarity index 93%
rename from packages/studio-base/src/components/Sparkline.stories.tsx
rename to packages/suite-base/src/components/Sparkline.stories.tsx
index ac055bfbdd..c60dd137c9 100644
--- a/packages/studio-base/src/components/Sparkline.stories.tsx
+++ b/packages/suite-base/src/components/Sparkline.stories.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Sparkline, SparklinePoint } from "@lichtblick/studio-base/components/Sparkline";
+import { Sparkline, SparklinePoint } from "@lichtblick/suite-base/components/Sparkline";
import { StoryObj } from "@storybook/react";
const points: SparklinePoint[] = [
diff --git a/packages/studio-base/src/components/Sparkline.tsx b/packages/suite-base/src/components/Sparkline.tsx
similarity index 94%
rename from packages/studio-base/src/components/Sparkline.tsx
rename to packages/suite-base/src/components/Sparkline.tsx
index 16839a3f35..8fe34b2881 100644
--- a/packages/studio-base/src/components/Sparkline.tsx
+++ b/packages/suite-base/src/components/Sparkline.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import AutoSizingCanvas from "@lichtblick/studio-base/components/AutoSizingCanvas";
+import { Immutable } from "@lichtblick/suite";
+import AutoSizingCanvas from "@lichtblick/suite-base/components/AutoSizingCanvas";
import { useCallback } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/Stack.stories.tsx b/packages/suite-base/src/components/Stack.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/Stack.stories.tsx
rename to packages/suite-base/src/components/Stack.stories.tsx
diff --git a/packages/studio-base/src/components/Stack.tsx b/packages/suite-base/src/components/Stack.tsx
similarity index 100%
rename from packages/studio-base/src/components/Stack.tsx
rename to packages/suite-base/src/components/Stack.tsx
diff --git a/packages/studio-base/src/components/StudioLogsSettings/StudioLogsSettings.tsx b/packages/suite-base/src/components/StudioLogsSettings/StudioLogsSettings.tsx
similarity index 79%
rename from packages/studio-base/src/components/StudioLogsSettings/StudioLogsSettings.tsx
rename to packages/suite-base/src/components/StudioLogsSettings/StudioLogsSettings.tsx
index 42a085a5ee..a30739c07c 100644
--- a/packages/studio-base/src/components/StudioLogsSettings/StudioLogsSettings.tsx
+++ b/packages/suite-base/src/components/StudioLogsSettings/StudioLogsSettings.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import SettingsTreeEditor from "@lichtblick/studio-base/components/SettingsTreeEditor";
-import { SidebarContent } from "@lichtblick/studio-base/components/SidebarContent";
+import SettingsTreeEditor from "@lichtblick/suite-base/components/SettingsTreeEditor";
+import { SidebarContent } from "@lichtblick/suite-base/components/SidebarContent";
import { useStudioLogsSettingsTree } from "./useStudioLogsSettingsTree";
diff --git a/packages/studio-base/src/components/StudioLogsSettings/index.ts b/packages/suite-base/src/components/StudioLogsSettings/index.ts
similarity index 100%
rename from packages/studio-base/src/components/StudioLogsSettings/index.ts
rename to packages/suite-base/src/components/StudioLogsSettings/index.ts
diff --git a/packages/studio-base/src/components/StudioLogsSettings/useStudioLogsSettingsTree.ts b/packages/suite-base/src/components/StudioLogsSettings/useStudioLogsSettingsTree.ts
similarity index 98%
rename from packages/studio-base/src/components/StudioLogsSettings/useStudioLogsSettingsTree.ts
rename to packages/suite-base/src/components/StudioLogsSettings/useStudioLogsSettingsTree.ts
index c3a3c3d4af..98a532ddf5 100644
--- a/packages/studio-base/src/components/StudioLogsSettings/useStudioLogsSettingsTree.ts
+++ b/packages/suite-base/src/components/StudioLogsSettings/useStudioLogsSettingsTree.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log, { toLogLevel } from "@lichtblick/log";
-import { SettingsTree, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/studio";
-import { useStudioLogsSettings } from "@lichtblick/studio-base/context/StudioLogsSettingsContext";
+import { SettingsTree, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/suite";
+import { useStudioLogsSettings } from "@lichtblick/suite-base/context/StudioLogsSettingsContext";
import { extname } from "path";
import { useMemo } from "react";
diff --git a/packages/studio-base/src/components/StudioToastProvider.stories.tsx b/packages/suite-base/src/components/StudioToastProvider.stories.tsx
similarity index 96%
rename from packages/studio-base/src/components/StudioToastProvider.stories.tsx
rename to packages/suite-base/src/components/StudioToastProvider.stories.tsx
index cb6651f49c..40aa539cfd 100644
--- a/packages/studio-base/src/components/StudioToastProvider.stories.tsx
+++ b/packages/suite-base/src/components/StudioToastProvider.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import StudioToastProvider from "@lichtblick/studio-base/components/StudioToastProvider";
+import StudioToastProvider from "@lichtblick/suite-base/components/StudioToastProvider";
import { StoryFn, StoryObj } from "@storybook/react";
import { useSnackbar } from "notistack";
import { useEffect } from "react";
diff --git a/packages/studio-base/src/components/StudioToastProvider.tsx b/packages/suite-base/src/components/StudioToastProvider.tsx
similarity index 97%
rename from packages/studio-base/src/components/StudioToastProvider.tsx
rename to packages/suite-base/src/components/StudioToastProvider.tsx
index f6c79d919a..d509ddfa56 100644
--- a/packages/studio-base/src/components/StudioToastProvider.tsx
+++ b/packages/suite-base/src/components/StudioToastProvider.tsx
@@ -9,7 +9,7 @@ import {
Info20Regular,
Warning20Regular,
} from "@fluentui/react-icons";
-import { APP_BAR_HEIGHT } from "@lichtblick/studio-base/components/AppBar/constants";
+import { APP_BAR_HEIGHT } from "@lichtblick/suite-base/components/AppBar/constants";
import { Grow, IconButton } from "@mui/material";
import {
SnackbarProvider,
diff --git a/packages/studio-base/src/components/SyncAdapters.tsx b/packages/suite-base/src/components/SyncAdapters.tsx
similarity index 74%
rename from packages/studio-base/src/components/SyncAdapters.tsx
rename to packages/suite-base/src/components/SyncAdapters.tsx
index 4c2187076b..f23c0601fe 100644
--- a/packages/studio-base/src/components/SyncAdapters.tsx
+++ b/packages/suite-base/src/components/SyncAdapters.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { CurrentLayoutLocalStorageSyncAdapter } from "@lichtblick/studio-base/components/CurrentLayoutLocalStorageSyncAdapter";
-import { URLStateSyncAdapter } from "@lichtblick/studio-base/components/URLStateSyncAdapter";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+import { CurrentLayoutLocalStorageSyncAdapter } from "@lichtblick/suite-base/components/CurrentLayoutLocalStorageSyncAdapter";
+import { URLStateSyncAdapter } from "@lichtblick/suite-base/components/URLStateSyncAdapter";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import { useMemo } from "react";
export function SyncAdapters(): JSX.Element {
diff --git a/packages/studio-base/src/components/TextContent.tsx b/packages/suite-base/src/components/TextContent.tsx
similarity index 98%
rename from packages/studio-base/src/components/TextContent.tsx
rename to packages/suite-base/src/components/TextContent.tsx
index e338a1aa61..36f7a39fbe 100644
--- a/packages/studio-base/src/components/TextContent.tsx
+++ b/packages/suite-base/src/components/TextContent.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import LinkHandlerContext from "@lichtblick/studio-base/context/LinkHandlerContext";
+import LinkHandlerContext from "@lichtblick/suite-base/context/LinkHandlerContext";
import { Link } from "@mui/material";
import { CSSProperties, PropsWithChildren, useCallback, useContext } from "react";
import Markdown from "react-markdown";
diff --git a/packages/studio-base/src/components/TextHighlight.tsx b/packages/suite-base/src/components/TextHighlight.tsx
similarity index 100%
rename from packages/studio-base/src/components/TextHighlight.tsx
rename to packages/suite-base/src/components/TextHighlight.tsx
diff --git a/packages/studio-base/src/components/TextMiddleTruncate.stories.tsx b/packages/suite-base/src/components/TextMiddleTruncate.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/TextMiddleTruncate.stories.tsx
rename to packages/suite-base/src/components/TextMiddleTruncate.stories.tsx
diff --git a/packages/studio-base/src/components/TextMiddleTruncate.tsx b/packages/suite-base/src/components/TextMiddleTruncate.tsx
similarity index 100%
rename from packages/studio-base/src/components/TextMiddleTruncate.tsx
rename to packages/suite-base/src/components/TextMiddleTruncate.tsx
diff --git a/packages/studio-base/src/components/TimeBasedChart/Downsampler.ts b/packages/suite-base/src/components/TimeBasedChart/Downsampler.ts
similarity index 92%
rename from packages/studio-base/src/components/TimeBasedChart/Downsampler.ts
rename to packages/suite-base/src/components/TimeBasedChart/Downsampler.ts
index 00df45bfa3..d335fa3f42 100644
--- a/packages/studio-base/src/components/TimeBasedChart/Downsampler.ts
+++ b/packages/suite-base/src/components/TimeBasedChart/Downsampler.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { iterateObjects } from "@lichtblick/studio-base/components/Chart/datasets";
-import { RpcScales } from "@lichtblick/studio-base/components/Chart/types";
-import { grey } from "@lichtblick/studio-base/util/toolsColorScheme";
+import { iterateObjects } from "@lichtblick/suite-base/components/Chart/datasets";
+import { RpcScales } from "@lichtblick/suite-base/components/Chart/types";
+import { grey } from "@lichtblick/suite-base/util/toolsColorScheme";
import { MAX_POINTS } from "./downsample";
import { downsampleStates } from "./downsampleStates";
diff --git a/packages/studio-base/src/components/TimeBasedChart/HoverBar.tsx b/packages/suite-base/src/components/TimeBasedChart/HoverBar.tsx
similarity index 85%
rename from packages/studio-base/src/components/TimeBasedChart/HoverBar.tsx
rename to packages/suite-base/src/components/TimeBasedChart/HoverBar.tsx
index 49a09c532f..877ebb0e13 100644
--- a/packages/studio-base/src/components/TimeBasedChart/HoverBar.tsx
+++ b/packages/suite-base/src/components/TimeBasedChart/HoverBar.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { RpcScales } from "@lichtblick/studio-base/components/Chart/types";
-import { useHoverValue } from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
+import { RpcScales } from "@lichtblick/suite-base/components/Chart/types";
+import { useHoverValue } from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
import { VerticalBarWrapper } from "./VerticalBarWrapper";
diff --git a/packages/studio-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.stories.tsx b/packages/suite-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.stories.tsx
rename to packages/suite-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.stories.tsx
diff --git a/packages/studio-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.tsx b/packages/suite-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.tsx
similarity index 98%
rename from packages/studio-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.tsx
rename to packages/suite-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.tsx
index 312f55ee32..cbd65b621a 100644
--- a/packages/studio-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.tsx
+++ b/packages/suite-base/src/components/TimeBasedChart/TimeBasedChartTooltipContent.tsx
@@ -12,8 +12,8 @@
// You may not use this file except in compliance with the License.
import { Square12Filled } from "@fluentui/react-icons";
-import { Immutable } from "@lichtblick/studio";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import { Immutable } from "@lichtblick/suite";
+import Stack from "@lichtblick/suite-base/components/Stack";
import * as _ from "lodash-es";
import { Fragment, PropsWithChildren, useMemo } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/TimeBasedChart/VerticalBarWrapper.tsx b/packages/suite-base/src/components/TimeBasedChart/VerticalBarWrapper.tsx
similarity index 95%
rename from packages/studio-base/src/components/TimeBasedChart/VerticalBarWrapper.tsx
rename to packages/suite-base/src/components/TimeBasedChart/VerticalBarWrapper.tsx
index 3c9d8a8cb5..3a13e82ec9 100644
--- a/packages/studio-base/src/components/TimeBasedChart/VerticalBarWrapper.tsx
+++ b/packages/suite-base/src/components/TimeBasedChart/VerticalBarWrapper.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { RpcScales } from "@lichtblick/studio-base/components/Chart/types";
+import { RpcScales } from "@lichtblick/suite-base/components/Chart/types";
import { CSSProperties, useMemo } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/TimeBasedChart/downsample.test.ts b/packages/suite-base/src/components/TimeBasedChart/downsample.test.ts
similarity index 98%
rename from packages/studio-base/src/components/TimeBasedChart/downsample.test.ts
rename to packages/suite-base/src/components/TimeBasedChart/downsample.test.ts
index 38bfc1962f..510a2ccf47 100644
--- a/packages/studio-base/src/components/TimeBasedChart/downsample.test.ts
+++ b/packages/suite-base/src/components/TimeBasedChart/downsample.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { iterateObjects } from "@lichtblick/studio-base/components/Chart/datasets";
+import { iterateObjects } from "@lichtblick/suite-base/components/Chart/datasets";
import * as R from "ramda";
import {
diff --git a/packages/studio-base/src/components/TimeBasedChart/downsample.ts b/packages/suite-base/src/components/TimeBasedChart/downsample.ts
similarity index 99%
rename from packages/studio-base/src/components/TimeBasedChart/downsample.ts
rename to packages/suite-base/src/components/TimeBasedChart/downsample.ts
index 3b21a82965..0eff1da135 100644
--- a/packages/studio-base/src/components/TimeBasedChart/downsample.ts
+++ b/packages/suite-base/src/components/TimeBasedChart/downsample.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Point } from "@lichtblick/studio-base/components/Chart/datasets";
+import { Point } from "@lichtblick/suite-base/components/Chart/datasets";
import type { PlotViewport } from "./types";
diff --git a/packages/studio-base/src/components/TimeBasedChart/downsampleStates.test.ts b/packages/suite-base/src/components/TimeBasedChart/downsampleStates.test.ts
similarity index 96%
rename from packages/studio-base/src/components/TimeBasedChart/downsampleStates.test.ts
rename to packages/suite-base/src/components/TimeBasedChart/downsampleStates.test.ts
index 917854d134..c9a74fe98c 100644
--- a/packages/studio-base/src/components/TimeBasedChart/downsampleStates.test.ts
+++ b/packages/suite-base/src/components/TimeBasedChart/downsampleStates.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { iterateObjects } from "@lichtblick/studio-base/components/Chart/datasets";
+import { iterateObjects } from "@lichtblick/suite-base/components/Chart/datasets";
import { downsampleStates } from "./downsampleStates";
import { ChartDatum as Datum } from "./types";
diff --git a/packages/studio-base/src/components/TimeBasedChart/downsampleStates.ts b/packages/suite-base/src/components/TimeBasedChart/downsampleStates.ts
similarity index 98%
rename from packages/studio-base/src/components/TimeBasedChart/downsampleStates.ts
rename to packages/suite-base/src/components/TimeBasedChart/downsampleStates.ts
index 81a453dd16..e34bf54d2d 100644
--- a/packages/studio-base/src/components/TimeBasedChart/downsampleStates.ts
+++ b/packages/suite-base/src/components/TimeBasedChart/downsampleStates.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { Point } from "@lichtblick/studio-base/components/Chart/datasets";
+import { Immutable } from "@lichtblick/suite";
+import { Point } from "@lichtblick/suite-base/components/Chart/datasets";
import * as R from "ramda";
import { calculateIntervals } from "./downsample";
diff --git a/packages/studio-base/src/components/TimeBasedChart/getBounds.test.ts b/packages/suite-base/src/components/TimeBasedChart/getBounds.test.ts
similarity index 100%
rename from packages/studio-base/src/components/TimeBasedChart/getBounds.test.ts
rename to packages/suite-base/src/components/TimeBasedChart/getBounds.test.ts
diff --git a/packages/studio-base/src/components/TimeBasedChart/index.stories.tsx b/packages/suite-base/src/components/TimeBasedChart/index.stories.tsx
similarity index 95%
rename from packages/studio-base/src/components/TimeBasedChart/index.stories.tsx
rename to packages/suite-base/src/components/TimeBasedChart/index.stories.tsx
index 1450ee963f..c103de8ad4 100644
--- a/packages/studio-base/src/components/TimeBasedChart/index.stories.tsx
+++ b/packages/suite-base/src/components/TimeBasedChart/index.stories.tsx
@@ -10,10 +10,10 @@
// This source code is licensed under the Apache License, Version 2.0,
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { triggerWheel } from "@lichtblick/studio-base/stories/PanelSetup";
-import { useReadySignal } from "@lichtblick/studio-base/stories/ReadySignalContext";
-import delay from "@lichtblick/studio-base/util/delay";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { triggerWheel } from "@lichtblick/suite-base/stories/PanelSetup";
+import { useReadySignal } from "@lichtblick/suite-base/stories/ReadySignalContext";
+import delay from "@lichtblick/suite-base/util/delay";
import { StoryObj } from "@storybook/react";
import { useCallback, useEffect, useRef, useState } from "react";
import TestUtils from "react-dom/test-utils";
diff --git a/packages/studio-base/src/components/TimeBasedChart/index.tsx b/packages/suite-base/src/components/TimeBasedChart/index.tsx
similarity index 97%
rename from packages/studio-base/src/components/TimeBasedChart/index.tsx
rename to packages/suite-base/src/components/TimeBasedChart/index.tsx
index 30f61ede75..12849b8d3c 100644
--- a/packages/studio-base/src/components/TimeBasedChart/index.tsx
+++ b/packages/suite-base/src/components/TimeBasedChart/index.tsx
@@ -13,18 +13,18 @@
import { filterMap } from "@lichtblick/den/collection";
import Logger from "@lichtblick/log";
-import ChartComponent from "@lichtblick/studio-base/components/Chart/index";
-import { RpcElement, RpcScales } from "@lichtblick/studio-base/components/Chart/types";
-import KeyListener from "@lichtblick/studio-base/components/KeyListener";
-import { useMessagePipeline } from "@lichtblick/studio-base/components/MessagePipeline";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import ChartComponent from "@lichtblick/suite-base/components/Chart/index";
+import { RpcElement, RpcScales } from "@lichtblick/suite-base/components/Chart/types";
+import KeyListener from "@lichtblick/suite-base/components/KeyListener";
+import { useMessagePipeline } from "@lichtblick/suite-base/components/MessagePipeline";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
TimelineInteractionStateStore,
useClearHoverValue,
useSetHoverValue,
useTimelineInteractionState,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import { Bounds } from "@lichtblick/studio-base/types/Bounds";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import { Bounds } from "@lichtblick/suite-base/types/Bounds";
import { Button, Fade, Tooltip, buttonClasses } from "@mui/material";
import { ChartOptions, InteractionMode, ScaleOptions } from "chart.js";
import { AnnotationOptions } from "chartjs-plugin-annotation";
diff --git a/packages/studio-base/src/components/TimeBasedChart/types.ts b/packages/suite-base/src/components/TimeBasedChart/types.ts
similarity index 97%
rename from packages/studio-base/src/components/TimeBasedChart/types.ts
rename to packages/suite-base/src/components/TimeBasedChart/types.ts
index 4d4c349b77..615c1c40cd 100644
--- a/packages/studio-base/src/components/TimeBasedChart/types.ts
+++ b/packages/suite-base/src/components/TimeBasedChart/types.ts
@@ -7,7 +7,7 @@ import type {
ChartData,
TypedChartData,
TypedData,
-} from "@lichtblick/studio-base/components/Chart/types";
+} from "@lichtblick/suite-base/components/Chart/types";
import type { ChartData as AbstractChartData } from "chart.js";
// alias types for convenience
diff --git a/packages/studio-base/src/components/TimeBasedChart/useDownsampler.tsx b/packages/suite-base/src/components/TimeBasedChart/useDownsampler.tsx
similarity index 96%
rename from packages/studio-base/src/components/TimeBasedChart/useDownsampler.tsx
rename to packages/suite-base/src/components/TimeBasedChart/useDownsampler.tsx
index 9e6f1fd0c6..68f1b67c87 100644
--- a/packages/studio-base/src/components/TimeBasedChart/useDownsampler.tsx
+++ b/packages/suite-base/src/components/TimeBasedChart/useDownsampler.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { ObjectData, RpcScales } from "@lichtblick/studio-base/components/Chart/types";
+import type { ObjectData, RpcScales } from "@lichtblick/suite-base/components/Chart/types";
import React, { useMemo, useCallback, useEffect } from "react";
import { useDebouncedCallback } from "use-debounce";
diff --git a/packages/studio-base/src/components/TimeBasedChart/useProvider.tsx b/packages/suite-base/src/components/TimeBasedChart/useProvider.tsx
similarity index 96%
rename from packages/studio-base/src/components/TimeBasedChart/useProvider.tsx
rename to packages/suite-base/src/components/TimeBasedChart/useProvider.tsx
index dfa82b6bbe..62f638f09e 100644
--- a/packages/studio-base/src/components/TimeBasedChart/useProvider.tsx
+++ b/packages/suite-base/src/components/TimeBasedChart/useProvider.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { iterateObjects, iterateTyped } from "@lichtblick/studio-base/components/Chart/datasets";
-import type { ObjectData, TypedData } from "@lichtblick/studio-base/components/Chart/types";
+import { iterateObjects, iterateTyped } from "@lichtblick/suite-base/components/Chart/datasets";
+import type { ObjectData, TypedData } from "@lichtblick/suite-base/components/Chart/types";
import { ChartDataset, ChartData } from "chart.js";
import * as R from "ramda";
import { useEffect, useMemo, useCallback } from "react";
diff --git a/packages/studio-base/src/components/Timestamp.stories.tsx b/packages/suite-base/src/components/Timestamp.stories.tsx
similarity index 86%
rename from packages/studio-base/src/components/Timestamp.stories.tsx
rename to packages/suite-base/src/components/Timestamp.stories.tsx
index 4d39811dda..7a8edbb835 100644
--- a/packages/studio-base/src/components/Timestamp.stories.tsx
+++ b/packages/suite-base/src/components/Timestamp.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import Timestamp from "@lichtblick/studio-base/components/Timestamp";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { makeMockAppConfiguration } from "@lichtblick/studio-base/util/makeMockAppConfiguration";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import Timestamp from "@lichtblick/suite-base/components/Timestamp";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { makeMockAppConfiguration } from "@lichtblick/suite-base/util/makeMockAppConfiguration";
import { Stack } from "@mui/material";
import { StoryObj } from "@storybook/react";
import { PropsWithChildren, useState } from "react";
diff --git a/packages/studio-base/src/components/Timestamp.tsx b/packages/suite-base/src/components/Timestamp.tsx
similarity index 91%
rename from packages/studio-base/src/components/Timestamp.tsx
rename to packages/suite-base/src/components/Timestamp.tsx
index 0cad2b520a..3f910bcb65 100644
--- a/packages/studio-base/src/components/Timestamp.tsx
+++ b/packages/suite-base/src/components/Timestamp.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
-import { isAbsoluteTime, formatTimeRaw } from "@lichtblick/studio-base/util/time";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
+import { isAbsoluteTime, formatTimeRaw } from "@lichtblick/suite-base/util/time";
import { Typography } from "@mui/material";
import { useMemo } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/components/TopicList/ContextMenu.tsx b/packages/suite-base/src/components/TopicList/ContextMenu.tsx
similarity index 95%
rename from packages/studio-base/src/components/TopicList/ContextMenu.tsx
rename to packages/suite-base/src/components/TopicList/ContextMenu.tsx
index 8dee877d4f..9f2fa7ab68 100644
--- a/packages/studio-base/src/components/TopicList/ContextMenu.tsx
+++ b/packages/suite-base/src/components/TopicList/ContextMenu.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
import { Menu, MenuItem, MenuItemProps, MenuProps } from "@mui/material";
import { useMemo } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/components/TopicList/MessagePathRow.tsx b/packages/suite-base/src/components/TopicList/MessagePathRow.tsx
similarity index 88%
rename from packages/studio-base/src/components/TopicList/MessagePathRow.tsx
rename to packages/suite-base/src/components/TopicList/MessagePathRow.tsx
index 597809d28c..7bff5a7b9b 100644
--- a/packages/studio-base/src/components/TopicList/MessagePathRow.tsx
+++ b/packages/suite-base/src/components/TopicList/MessagePathRow.tsx
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ReOrderDotsVertical16Regular } from "@fluentui/react-icons";
-import { HighlightChars } from "@lichtblick/studio-base/components/HighlightChars";
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useMessagePathDrag } from "@lichtblick/studio-base/services/messagePathDragging";
+import { HighlightChars } from "@lichtblick/suite-base/components/HighlightChars";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useMessagePathDrag } from "@lichtblick/suite-base/services/messagePathDragging";
import { Badge, Typography } from "@mui/material";
import { FzfResultItem } from "fzf";
import { useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/components/TopicList/TopicList.stories.tsx b/packages/suite-base/src/components/TopicList/TopicList.stories.tsx
similarity index 97%
rename from packages/studio-base/src/components/TopicList/TopicList.stories.tsx
rename to packages/suite-base/src/components/TopicList/TopicList.stories.tsx
index ce0def5c7c..99361b7f4e 100644
--- a/packages/studio-base/src/components/TopicList/TopicList.stories.tsx
+++ b/packages/suite-base/src/components/TopicList/TopicList.stories.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { PlayerCapabilities, TopicStats } from "@lichtblick/studio-base/players/types";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { PlayerCapabilities, TopicStats } from "@lichtblick/suite-base/players/types";
import { Meta, StoryObj } from "@storybook/react";
import { fireEvent, userEvent, waitFor, within } from "@storybook/testing-library";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/components/TopicList/TopicList.tsx b/packages/suite-base/src/components/TopicList/TopicList.tsx
similarity index 93%
rename from packages/studio-base/src/components/TopicList/TopicList.tsx
rename to packages/suite-base/src/components/TopicList/TopicList.tsx
index 8def34436f..e051f16123 100644
--- a/packages/studio-base/src/components/TopicList/TopicList.tsx
+++ b/packages/suite-base/src/components/TopicList/TopicList.tsx
@@ -3,17 +3,17 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { useDataSourceInfo } from "@lichtblick/studio-base/PanelAPI";
-import { DirectTopicStatsUpdater } from "@lichtblick/studio-base/components/DirectTopicStatsUpdater";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
+import { useDataSourceInfo } from "@lichtblick/suite-base/PanelAPI";
+import { DirectTopicStatsUpdater } from "@lichtblick/suite-base/components/DirectTopicStatsUpdater";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { ContextMenu } from "@lichtblick/studio-base/components/TopicList/ContextMenu";
-import { PlayerPresence } from "@lichtblick/studio-base/players/types";
-import { MessagePathSelectionProvider } from "@lichtblick/studio-base/services/messagePathDragging/MessagePathSelectionProvider";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { ContextMenu } from "@lichtblick/suite-base/components/TopicList/ContextMenu";
+import { PlayerPresence } from "@lichtblick/suite-base/players/types";
+import { MessagePathSelectionProvider } from "@lichtblick/suite-base/services/messagePathDragging/MessagePathSelectionProvider";
import ClearIcon from "@mui/icons-material/Clear";
import SearchIcon from "@mui/icons-material/Search";
import {
diff --git a/packages/studio-base/src/components/TopicList/TopicRow.tsx b/packages/suite-base/src/components/TopicList/TopicRow.tsx
similarity index 88%
rename from packages/studio-base/src/components/TopicList/TopicRow.tsx
rename to packages/suite-base/src/components/TopicList/TopicRow.tsx
index db8b59329d..7c22235db4 100644
--- a/packages/studio-base/src/components/TopicList/TopicRow.tsx
+++ b/packages/suite-base/src/components/TopicList/TopicRow.tsx
@@ -3,11 +3,11 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ReOrderDotsVertical16Regular } from "@fluentui/react-icons";
-import { HighlightChars } from "@lichtblick/studio-base/components/HighlightChars";
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { useMessagePathDrag } from "@lichtblick/studio-base/services/messagePathDragging";
+import { HighlightChars } from "@lichtblick/suite-base/components/HighlightChars";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { useMessagePathDrag } from "@lichtblick/suite-base/services/messagePathDragging";
import { Badge, Typography } from "@mui/material";
import { FzfResultItem } from "fzf";
import { useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/components/TopicList/TopicStatsChip.tsx b/packages/suite-base/src/components/TopicList/TopicStatsChip.tsx
similarity index 100%
rename from packages/studio-base/src/components/TopicList/TopicStatsChip.tsx
rename to packages/suite-base/src/components/TopicList/TopicStatsChip.tsx
diff --git a/packages/studio-base/src/components/TopicList/getMessagePathSearchItems.test.ts b/packages/suite-base/src/components/TopicList/getMessagePathSearchItems.test.ts
similarity index 99%
rename from packages/studio-base/src/components/TopicList/getMessagePathSearchItems.test.ts
rename to packages/suite-base/src/components/TopicList/getMessagePathSearchItems.test.ts
index 7306994b1d..166f55de7c 100644
--- a/packages/studio-base/src/components/TopicList/getMessagePathSearchItems.test.ts
+++ b/packages/suite-base/src/components/TopicList/getMessagePathSearchItems.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { getMessagePathSearchItems } from "@lichtblick/studio-base/components/TopicList/getMessagePathSearchItems";
-import { Topic } from "@lichtblick/studio-base/players/types";
+import { getMessagePathSearchItems } from "@lichtblick/suite-base/components/TopicList/getMessagePathSearchItems";
+import { Topic } from "@lichtblick/suite-base/players/types";
import { parseChannel } from "@foxglove/mcap-support";
import { MessageDefinition } from "@foxglove/message-definition";
diff --git a/packages/studio-base/src/components/TopicList/getMessagePathSearchItems.ts b/packages/suite-base/src/components/TopicList/getMessagePathSearchItems.ts
similarity index 97%
rename from packages/studio-base/src/components/TopicList/getMessagePathSearchItems.ts
rename to packages/suite-base/src/components/TopicList/getMessagePathSearchItems.ts
index 08314571e5..f07a676404 100644
--- a/packages/studio-base/src/components/TopicList/getMessagePathSearchItems.ts
+++ b/packages/suite-base/src/components/TopicList/getMessagePathSearchItems.ts
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
+import { Immutable } from "@lichtblick/suite";
import * as _ from "lodash-es";
import { MessageDefinition } from "@foxglove/message-definition";
import { quoteFieldNameIfNeeded, quoteTopicNameIfNeeded } from "@foxglove/message-path";
-import { Topic } from "@lichtblick/studio-base/src/players/types";
+import { Topic } from "@lichtblick/suite-base/src/players/types";
/**
* Represents a message path inside a specific schema
diff --git a/packages/studio-base/src/components/TopicList/index.ts b/packages/suite-base/src/components/TopicList/index.ts
similarity index 100%
rename from packages/studio-base/src/components/TopicList/index.ts
rename to packages/suite-base/src/components/TopicList/index.ts
diff --git a/packages/studio-base/src/components/TopicList/useMultiSelection.ts b/packages/suite-base/src/components/TopicList/useMultiSelection.ts
similarity index 100%
rename from packages/studio-base/src/components/TopicList/useMultiSelection.ts
rename to packages/suite-base/src/components/TopicList/useMultiSelection.ts
diff --git a/packages/studio-base/src/components/TopicList/useTopicListSearch.test.ts b/packages/suite-base/src/components/TopicList/useTopicListSearch.test.ts
similarity index 100%
rename from packages/studio-base/src/components/TopicList/useTopicListSearch.test.ts
rename to packages/suite-base/src/components/TopicList/useTopicListSearch.test.ts
diff --git a/packages/studio-base/src/components/TopicList/useTopicListSearch.ts b/packages/suite-base/src/components/TopicList/useTopicListSearch.ts
similarity index 97%
rename from packages/studio-base/src/components/TopicList/useTopicListSearch.ts
rename to packages/suite-base/src/components/TopicList/useTopicListSearch.ts
index 6d44d5407a..bef3fddbe8 100644
--- a/packages/studio-base/src/components/TopicList/useTopicListSearch.ts
+++ b/packages/suite-base/src/components/TopicList/useTopicListSearch.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
+import { Immutable } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
import { Fzf, FzfResultItem, basicMatch } from "fzf";
import * as _ from "lodash-es";
import { useMemo } from "react";
diff --git a/packages/studio-base/src/components/TopicList/useTopicListStyles.ts b/packages/suite-base/src/components/TopicList/useTopicListStyles.ts
similarity index 100%
rename from packages/studio-base/src/components/TopicList/useTopicListStyles.ts
rename to packages/suite-base/src/components/TopicList/useTopicListStyles.ts
diff --git a/packages/studio-base/src/components/URLStateSyncAdapter.tsx b/packages/suite-base/src/components/URLStateSyncAdapter.tsx
similarity index 81%
rename from packages/studio-base/src/components/URLStateSyncAdapter.tsx
rename to packages/suite-base/src/components/URLStateSyncAdapter.tsx
index 2f3cefbbc1..db47ba7055 100644
--- a/packages/studio-base/src/components/URLStateSyncAdapter.tsx
+++ b/packages/suite-base/src/components/URLStateSyncAdapter.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { useStateToURLSynchronization } from "@lichtblick/studio-base/hooks/useStateToURLSynchronization";
+import { useStateToURLSynchronization } from "@lichtblick/suite-base/hooks/useStateToURLSynchronization";
// This is in a simple subcomponent so it doesn't trigger rerenders of an entire expensive
// component like Workspace while it's listening for time values.
diff --git a/packages/studio-base/src/components/UnknownPanel.tsx b/packages/suite-base/src/components/UnknownPanel.tsx
similarity index 77%
rename from packages/studio-base/src/components/UnknownPanel.tsx
rename to packages/suite-base/src/components/UnknownPanel.tsx
index 8c7f856425..e10bc76477 100644
--- a/packages/studio-base/src/components/UnknownPanel.tsx
+++ b/packages/suite-base/src/components/UnknownPanel.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import withPanel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import withPanel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
// Since the unknown panel never saves its config, the config fields here are used with `overrideConfig`
// to the connected Panel component (returned from withPanel).
diff --git a/packages/studio-base/src/components/VariablesList/Variable.tsx b/packages/suite-base/src/components/VariablesList/Variable.tsx
similarity index 94%
rename from packages/studio-base/src/components/VariablesList/Variable.tsx
rename to packages/suite-base/src/components/VariablesList/Variable.tsx
index 31a1babe16..cf506105e5 100644
--- a/packages/studio-base/src/components/VariablesList/Variable.tsx
+++ b/packages/suite-base/src/components/VariablesList/Variable.tsx
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { VariableValue } from "@lichtblick/studio";
-import CopyButton from "@lichtblick/studio-base/components/CopyButton";
-import JsonInput from "@lichtblick/studio-base/components/JsonInput";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
+import { VariableValue } from "@lichtblick/suite";
+import CopyButton from "@lichtblick/suite-base/components/CopyButton";
+import JsonInput from "@lichtblick/suite-base/components/JsonInput";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
import useGlobalVariables, {
GlobalVariables,
-} from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+} from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import ArrowDropDownIcon from "@mui/icons-material/ArrowDropDown";
import ErrorIcon from "@mui/icons-material/Error";
import MoreVertIcon from "@mui/icons-material/MoreVert";
diff --git a/packages/studio-base/src/components/VariablesList/index.stories.tsx b/packages/suite-base/src/components/VariablesList/index.stories.tsx
similarity index 96%
rename from packages/studio-base/src/components/VariablesList/index.stories.tsx
rename to packages/suite-base/src/components/VariablesList/index.stories.tsx
index 731e450750..725a8120a6 100644
--- a/packages/studio-base/src/components/VariablesList/index.stories.tsx
+++ b/packages/suite-base/src/components/VariablesList/index.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
import { StoryObj } from "@storybook/react";
import { fireEvent, screen } from "@storybook/testing-library";
import { DndProvider } from "react-dnd";
diff --git a/packages/studio-base/src/components/VariablesList/index.tsx b/packages/suite-base/src/components/VariablesList/index.tsx
similarity index 90%
rename from packages/studio-base/src/components/VariablesList/index.tsx
rename to packages/suite-base/src/components/VariablesList/index.tsx
index 994f097a38..2e0fa1a223 100644
--- a/packages/studio-base/src/components/VariablesList/index.tsx
+++ b/packages/suite-base/src/components/VariablesList/index.tsx
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
import useGlobalVariables, {
GlobalVariables,
-} from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+} from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
import { Button } from "@mui/material";
import * as _ from "lodash-es";
import { useMemo, useRef, useState, ReactElement, useEffect } from "react";
diff --git a/packages/studio-base/src/components/WorkspaceDialogs.tsx b/packages/suite-base/src/components/WorkspaceDialogs.tsx
similarity index 85%
rename from packages/studio-base/src/components/WorkspaceDialogs.tsx
rename to packages/suite-base/src/components/WorkspaceDialogs.tsx
index 58efd9d8c0..cef5ca08a0 100644
--- a/packages/studio-base/src/components/WorkspaceDialogs.tsx
+++ b/packages/suite-base/src/components/WorkspaceDialogs.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSettingsDialog } from "@lichtblick/studio-base/components/AppSettingsDialog";
+import { AppSettingsDialog } from "@lichtblick/suite-base/components/AppSettingsDialog";
import {
useWorkspaceStore,
WorkspaceContextStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
import { useWorkspaceActions } from "../context/Workspace/useWorkspaceActions";
diff --git a/packages/studio-base/src/components/WssErrorModal.png b/packages/suite-base/src/components/WssErrorModal.png
similarity index 100%
rename from packages/studio-base/src/components/WssErrorModal.png
rename to packages/suite-base/src/components/WssErrorModal.png
diff --git a/packages/studio-base/src/components/WssErrorModal.stories.tsx b/packages/suite-base/src/components/WssErrorModal.stories.tsx
similarity index 100%
rename from packages/studio-base/src/components/WssErrorModal.stories.tsx
rename to packages/suite-base/src/components/WssErrorModal.stories.tsx
diff --git a/packages/studio-base/src/components/WssErrorModal.tsx b/packages/suite-base/src/components/WssErrorModal.tsx
similarity index 95%
rename from packages/studio-base/src/components/WssErrorModal.tsx
rename to packages/suite-base/src/components/WssErrorModal.tsx
index 7bfa4e5fa2..c9f588e6be 100644
--- a/packages/studio-base/src/components/WssErrorModal.tsx
+++ b/packages/suite-base/src/components/WssErrorModal.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { PlayerProblem } from "@lichtblick/studio-base/players/types";
+import { Immutable } from "@lichtblick/suite";
+import { PlayerProblem } from "@lichtblick/suite-base/players/types";
import CloseIcon from "@mui/icons-material/Close";
import { Dialog, DialogContent, DialogTitle, IconButton, Stack, Typography } from "@mui/material";
import { useState } from "react";
diff --git a/packages/studio-base/src/constants/localStorageKeys.ts b/packages/suite-base/src/constants/localStorageKeys.ts
similarity index 100%
rename from packages/studio-base/src/constants/localStorageKeys.ts
rename to packages/suite-base/src/constants/localStorageKeys.ts
diff --git a/packages/studio-base/src/context/AnalyticsContext.ts b/packages/suite-base/src/context/AnalyticsContext.ts
similarity index 77%
rename from packages/studio-base/src/context/AnalyticsContext.ts
rename to packages/suite-base/src/context/AnalyticsContext.ts
index 43145d7434..63a22bf165 100644
--- a/packages/studio-base/src/context/AnalyticsContext.ts
+++ b/packages/suite-base/src/context/AnalyticsContext.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import IAnalytics from "@lichtblick/studio-base/services/IAnalytics";
-import NullAnalytics from "@lichtblick/studio-base/services/NullAnalytics";
+import IAnalytics from "@lichtblick/suite-base/services/IAnalytics";
+import NullAnalytics from "@lichtblick/suite-base/services/NullAnalytics";
import { createContext, useContext } from "react";
const AnalyticsContext = createContext(new NullAnalytics());
diff --git a/packages/studio-base/src/context/AppConfigurationContext.ts b/packages/suite-base/src/context/AppConfigurationContext.ts
similarity index 100%
rename from packages/studio-base/src/context/AppConfigurationContext.ts
rename to packages/suite-base/src/context/AppConfigurationContext.ts
diff --git a/packages/studio-base/src/context/AppContext.ts b/packages/suite-base/src/context/AppContext.ts
similarity index 81%
rename from packages/studio-base/src/context/AppContext.ts
rename to packages/suite-base/src/context/AppContext.ts
index 39d48a2634..51151d374a 100644
--- a/packages/studio-base/src/context/AppContext.ts
+++ b/packages/suite-base/src/context/AppContext.ts
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, SettingsTreeField, SettingsTreeNode } from "@lichtblick/studio";
-import { AppBarMenuItem } from "@lichtblick/studio-base/components/AppBar/types";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { WorkspaceContextStore } from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import type { SceneExtensionConfig } from "@lichtblick/studio-base/panels/ThreeDeeRender/SceneExtensionConfig";
-import type { Player } from "@lichtblick/studio-base/players/types";
+import { Immutable, SettingsTreeField, SettingsTreeNode } from "@lichtblick/suite";
+import { AppBarMenuItem } from "@lichtblick/suite-base/components/AppBar/types";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { WorkspaceContextStore } from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import type { SceneExtensionConfig } from "@lichtblick/suite-base/panels/ThreeDeeRender/SceneExtensionConfig";
+import type { Player } from "@lichtblick/suite-base/players/types";
import { createContext, useContext } from "react";
import { DeepPartial } from "ts-essentials";
import { StoreApi } from "zustand";
diff --git a/packages/studio-base/src/context/BaseUserContext.ts b/packages/suite-base/src/context/BaseUserContext.ts
similarity index 100%
rename from packages/studio-base/src/context/BaseUserContext.ts
rename to packages/suite-base/src/context/BaseUserContext.ts
diff --git a/packages/studio-base/src/context/CurrentLayoutContext/actions.ts b/packages/suite-base/src/context/CurrentLayoutContext/actions.ts
similarity index 95%
rename from packages/studio-base/src/context/CurrentLayoutContext/actions.ts
rename to packages/suite-base/src/context/CurrentLayoutContext/actions.ts
index 7d91d3c451..bbcd7b6e5e 100644
--- a/packages/studio-base/src/context/CurrentLayoutContext/actions.ts
+++ b/packages/suite-base/src/context/CurrentLayoutContext/actions.ts
@@ -11,16 +11,16 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { VariableValue } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { TabLocation } from "@lichtblick/studio-base/types/layouts";
+import { VariableValue } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { TabLocation } from "@lichtblick/suite-base/types/layouts";
import {
MosaicDropTargetPosition,
PanelConfig,
PlaybackConfig,
SavedProps,
UserScripts,
-} from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/types/panels";
import { MosaicNode, MosaicPath } from "react-mosaic-component";
export type LayoutData = {
diff --git a/packages/studio-base/src/context/CurrentLayoutContext/index.ts b/packages/suite-base/src/context/CurrentLayoutContext/index.ts
similarity index 96%
rename from packages/studio-base/src/context/CurrentLayoutContext/index.ts
rename to packages/suite-base/src/context/CurrentLayoutContext/index.ts
index a753f09aa4..12145773d0 100644
--- a/packages/studio-base/src/context/CurrentLayoutContext/index.ts
+++ b/packages/suite-base/src/context/CurrentLayoutContext/index.ts
@@ -8,10 +8,10 @@ import {
useShallowMemo,
} from "@lichtblick/hooks";
import Logger from "@lichtblick/log";
-import { RenderState, VariableValue } from "@lichtblick/studio";
-import useShouldNotChangeOften from "@lichtblick/studio-base/hooks/useShouldNotChangeOften";
-import toggleSelectedPanel from "@lichtblick/studio-base/providers/CurrentLayoutProvider/toggleSelectedPanel";
-import { PanelConfig, PlaybackConfig, UserScripts } from "@lichtblick/studio-base/types/panels";
+import { RenderState, VariableValue } from "@lichtblick/suite";
+import useShouldNotChangeOften from "@lichtblick/suite-base/hooks/useShouldNotChangeOften";
+import toggleSelectedPanel from "@lichtblick/suite-base/providers/CurrentLayoutProvider/toggleSelectedPanel";
+import { PanelConfig, PlaybackConfig, UserScripts } from "@lichtblick/suite-base/types/panels";
import { createContext, useCallback, useLayoutEffect, useReducer, useRef, useState } from "react";
import { getLeaves } from "react-mosaic-component";
diff --git a/packages/studio-base/src/context/CurrentLayoutContext/useCurrentLayoutSelector.test.tsx b/packages/suite-base/src/context/CurrentLayoutContext/useCurrentLayoutSelector.test.tsx
similarity index 96%
rename from packages/studio-base/src/context/CurrentLayoutContext/useCurrentLayoutSelector.test.tsx
rename to packages/suite-base/src/context/CurrentLayoutContext/useCurrentLayoutSelector.test.tsx
index 8932f1fc76..583b0c491b 100644
--- a/packages/studio-base/src/context/CurrentLayoutContext/useCurrentLayoutSelector.test.tsx
+++ b/packages/suite-base/src/context/CurrentLayoutContext/useCurrentLayoutSelector.test.tsx
@@ -2,7 +2,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
import { act, renderHook } from "@testing-library/react";
import { useLayoutEffect, useRef } from "react";
diff --git a/packages/studio-base/src/context/CurrentUserContext.ts b/packages/suite-base/src/context/CurrentUserContext.ts
similarity index 100%
rename from packages/studio-base/src/context/CurrentUserContext.ts
rename to packages/suite-base/src/context/CurrentUserContext.ts
diff --git a/packages/studio-base/src/context/EventsContext.ts b/packages/suite-base/src/context/EventsContext.ts
similarity index 98%
rename from packages/studio-base/src/context/EventsContext.ts
rename to packages/suite-base/src/context/EventsContext.ts
index 9bc93193b7..754292a68a 100644
--- a/packages/studio-base/src/context/EventsContext.ts
+++ b/packages/suite-base/src/context/EventsContext.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { Immutable } from "@lichtblick/studio";
+import { Immutable } from "@lichtblick/suite";
import { createContext } from "react";
import { AsyncState } from "react-use/lib/useAsyncFn";
import { StoreApi, useStore } from "zustand";
diff --git a/packages/studio-base/src/context/ExtensionCatalogContext.ts b/packages/suite-base/src/context/ExtensionCatalogContext.ts
similarity index 90%
rename from packages/studio-base/src/context/ExtensionCatalogContext.ts
rename to packages/suite-base/src/context/ExtensionCatalogContext.ts
index d9bc979c9c..64e52264a5 100644
--- a/packages/studio-base/src/context/ExtensionCatalogContext.ts
+++ b/packages/suite-base/src/context/ExtensionCatalogContext.ts
@@ -7,9 +7,9 @@ import {
ExtensionPanelRegistration,
Immutable,
RegisterMessageConverterArgs,
-} from "@lichtblick/studio";
-import { TopicAliasFunctions } from "@lichtblick/studio-base/players/TopicAliasingPlayer/TopicAliasingPlayer";
-import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/studio-base/types/Extensions";
+} from "@lichtblick/suite";
+import { TopicAliasFunctions } from "@lichtblick/suite-base/players/TopicAliasingPlayer/TopicAliasingPlayer";
+import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/suite-base/types/Extensions";
import { createContext } from "react";
import { StoreApi, useStore } from "zustand";
diff --git a/packages/studio-base/src/context/ExtensionMarketplaceContext.ts b/packages/suite-base/src/context/ExtensionMarketplaceContext.ts
similarity index 94%
rename from packages/studio-base/src/context/ExtensionMarketplaceContext.ts
rename to packages/suite-base/src/context/ExtensionMarketplaceContext.ts
index c20905be5e..8b2b1671f7 100644
--- a/packages/studio-base/src/context/ExtensionMarketplaceContext.ts
+++ b/packages/suite-base/src/context/ExtensionMarketplaceContext.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ExtensionNamespace } from "@lichtblick/studio-base/types/Extensions";
+import { ExtensionNamespace } from "@lichtblick/suite-base/types/Extensions";
import { createContext, useContext } from "react";
export type ExtensionMarketplaceDetail = {
diff --git a/packages/studio-base/src/context/LayoutManagerContext.ts b/packages/suite-base/src/context/LayoutManagerContext.ts
similarity index 88%
rename from packages/studio-base/src/context/LayoutManagerContext.ts
rename to packages/suite-base/src/context/LayoutManagerContext.ts
index 85a3d277bf..3ae0f62270 100644
--- a/packages/studio-base/src/context/LayoutManagerContext.ts
+++ b/packages/suite-base/src/context/LayoutManagerContext.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ILayoutManager } from "@lichtblick/studio-base/services/ILayoutManager";
+import { ILayoutManager } from "@lichtblick/suite-base/services/ILayoutManager";
import { createContext, useContext } from "react";
const LayoutManagerContext = createContext(undefined);
diff --git a/packages/studio-base/src/context/LayoutStorageContext.ts b/packages/suite-base/src/context/LayoutStorageContext.ts
similarity index 88%
rename from packages/studio-base/src/context/LayoutStorageContext.ts
rename to packages/suite-base/src/context/LayoutStorageContext.ts
index 2794020fe2..95fa4bd78a 100644
--- a/packages/studio-base/src/context/LayoutStorageContext.ts
+++ b/packages/suite-base/src/context/LayoutStorageContext.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ILayoutStorage } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { ILayoutStorage } from "@lichtblick/suite-base/services/ILayoutStorage";
import { createContext, useContext } from "react";
const LayoutStorageContext = createContext(undefined);
diff --git a/packages/studio-base/src/context/LinkHandlerContext.ts b/packages/suite-base/src/context/LinkHandlerContext.ts
similarity index 100%
rename from packages/studio-base/src/context/LinkHandlerContext.ts
rename to packages/suite-base/src/context/LinkHandlerContext.ts
diff --git a/packages/studio-base/src/context/NativeAppMenuContext.ts b/packages/suite-base/src/context/NativeAppMenuContext.ts
similarity index 100%
rename from packages/studio-base/src/context/NativeAppMenuContext.ts
rename to packages/suite-base/src/context/NativeAppMenuContext.ts
diff --git a/packages/studio-base/src/context/NativeWindowContext.ts b/packages/suite-base/src/context/NativeWindowContext.ts
similarity index 100%
rename from packages/studio-base/src/context/NativeWindowContext.ts
rename to packages/suite-base/src/context/NativeWindowContext.ts
diff --git a/packages/studio-base/src/context/PanelCatalogContext.ts b/packages/suite-base/src/context/PanelCatalogContext.ts
similarity index 88%
rename from packages/studio-base/src/context/PanelCatalogContext.ts
rename to packages/suite-base/src/context/PanelCatalogContext.ts
index 318059a026..99c62ae9b1 100644
--- a/packages/studio-base/src/context/PanelCatalogContext.ts
+++ b/packages/suite-base/src/context/PanelCatalogContext.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PanelStatics } from "@lichtblick/studio-base/components/Panel";
-import { ExtensionNamespace } from "@lichtblick/studio-base/types/Extensions";
-import { PanelConfig } from "@lichtblick/studio-base/types/panels";
+import { PanelStatics } from "@lichtblick/suite-base/components/Panel";
+import { ExtensionNamespace } from "@lichtblick/suite-base/types/Extensions";
+import { PanelConfig } from "@lichtblick/suite-base/types/panels";
import { ComponentType, createContext, useContext } from "react";
export type PanelComponent = ComponentType<{ childId?: string; tabId?: string }> &
diff --git a/packages/studio-base/src/context/PanelStateContext.ts b/packages/suite-base/src/context/PanelStateContext.ts
similarity index 96%
rename from packages/studio-base/src/context/PanelStateContext.ts
rename to packages/suite-base/src/context/PanelStateContext.ts
index e7e0822b5a..92fe17aadd 100644
--- a/packages/studio-base/src/context/PanelStateContext.ts
+++ b/packages/suite-base/src/context/PanelStateContext.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { Immutable, SettingsTree } from "@lichtblick/studio";
+import { Immutable, SettingsTree } from "@lichtblick/suite";
import { createContext } from "react";
import { StoreApi, useStore } from "zustand";
diff --git a/packages/studio-base/src/context/PerformanceContext.ts b/packages/suite-base/src/context/PerformanceContext.ts
similarity index 100%
rename from packages/studio-base/src/context/PerformanceContext.ts
rename to packages/suite-base/src/context/PerformanceContext.ts
diff --git a/packages/studio-base/src/context/PlayerSelectionContext.ts b/packages/suite-base/src/context/PlayerSelectionContext.ts
similarity index 94%
rename from packages/studio-base/src/context/PlayerSelectionContext.ts
rename to packages/suite-base/src/context/PlayerSelectionContext.ts
index 2626866a95..00ce760b11 100644
--- a/packages/studio-base/src/context/PlayerSelectionContext.ts
+++ b/packages/suite-base/src/context/PlayerSelectionContext.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { Player, PlayerMetricsCollectorInterface } from "@lichtblick/studio-base/players/types";
-import { RegisteredIconNames } from "@lichtblick/studio-base/types/Icons";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { Player, PlayerMetricsCollectorInterface } from "@lichtblick/suite-base/players/types";
+import { RegisteredIconNames } from "@lichtblick/suite-base/types/Icons";
import { createContext, useContext } from "react";
export type DataSourceFactoryInitializeArgs = {
diff --git a/packages/studio-base/src/context/ProblemsContext.ts b/packages/suite-base/src/context/ProblemsContext.ts
similarity index 91%
rename from packages/studio-base/src/context/ProblemsContext.ts
rename to packages/suite-base/src/context/ProblemsContext.ts
index f4701a9997..93f377078e 100644
--- a/packages/studio-base/src/context/ProblemsContext.ts
+++ b/packages/suite-base/src/context/ProblemsContext.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { Immutable } from "@lichtblick/studio";
-import { PlayerProblem } from "@lichtblick/studio-base/players/types";
+import { Immutable } from "@lichtblick/suite";
+import { PlayerProblem } from "@lichtblick/suite-base/players/types";
import { createContext } from "react";
import { StoreApi, useStore } from "zustand";
diff --git a/packages/studio-base/src/context/RemoteLayoutStorageContext.ts b/packages/suite-base/src/context/RemoteLayoutStorageContext.ts
similarity index 85%
rename from packages/studio-base/src/context/RemoteLayoutStorageContext.ts
rename to packages/suite-base/src/context/RemoteLayoutStorageContext.ts
index 2f68db8c58..ac8a287374 100644
--- a/packages/studio-base/src/context/RemoteLayoutStorageContext.ts
+++ b/packages/suite-base/src/context/RemoteLayoutStorageContext.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IRemoteLayoutStorage } from "@lichtblick/studio-base/services/IRemoteLayoutStorage";
+import { IRemoteLayoutStorage } from "@lichtblick/suite-base/services/IRemoteLayoutStorage";
import { createContext, useContext } from "react";
const RemoteLayoutStorageContext = createContext(undefined);
diff --git a/packages/studio-base/src/context/SharedRootContext.ts b/packages/suite-base/src/context/SharedRootContext.ts
similarity index 64%
rename from packages/studio-base/src/context/SharedRootContext.ts
rename to packages/suite-base/src/context/SharedRootContext.ts
index 2ecc8e085b..4d246dfb34 100644
--- a/packages/studio-base/src/context/SharedRootContext.ts
+++ b/packages/suite-base/src/context/SharedRootContext.ts
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppBarProps } from "@lichtblick/studio-base/components/AppBar";
-import { CustomWindowControlsProps } from "@lichtblick/studio-base/components/AppBar/CustomWindowControls";
-import { IAppConfiguration } from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { INativeAppMenu } from "@lichtblick/studio-base/context/NativeAppMenuContext";
-import { INativeWindow } from "@lichtblick/studio-base/context/NativeWindowContext";
-import { IDataSourceFactory } from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import { ExtensionLoader } from "@lichtblick/studio-base/services/ExtensionLoader";
+import { AppBarProps } from "@lichtblick/suite-base/components/AppBar";
+import { CustomWindowControlsProps } from "@lichtblick/suite-base/components/AppBar/CustomWindowControls";
+import { IAppConfiguration } from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { INativeAppMenu } from "@lichtblick/suite-base/context/NativeAppMenuContext";
+import { INativeWindow } from "@lichtblick/suite-base/context/NativeWindowContext";
+import { IDataSourceFactory } from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import { ExtensionLoader } from "@lichtblick/suite-base/services/ExtensionLoader";
import { createContext, useContext } from "react";
interface ISharedRootContext {
diff --git a/packages/studio-base/src/context/StudioLogsSettingsContext.ts b/packages/suite-base/src/context/StudioLogsSettingsContext.ts
similarity index 100%
rename from packages/studio-base/src/context/StudioLogsSettingsContext.ts
rename to packages/suite-base/src/context/StudioLogsSettingsContext.ts
diff --git a/packages/studio-base/src/context/TimelineInteractionStateContext.tsx b/packages/suite-base/src/context/TimelineInteractionStateContext.tsx
similarity index 95%
rename from packages/studio-base/src/context/TimelineInteractionStateContext.tsx
rename to packages/suite-base/src/context/TimelineInteractionStateContext.tsx
index 64a1f61b9b..3452f52d54 100644
--- a/packages/studio-base/src/context/TimelineInteractionStateContext.tsx
+++ b/packages/suite-base/src/context/TimelineInteractionStateContext.tsx
@@ -12,9 +12,9 @@
// You may not use this file except in compliance with the License.
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { Immutable } from "@lichtblick/studio";
-import { TimelinePositionedEvent } from "@lichtblick/studio-base/context/EventsContext";
-import type { HoverValue } from "@lichtblick/studio-base/types/hoverValue";
+import { Immutable } from "@lichtblick/suite";
+import { TimelinePositionedEvent } from "@lichtblick/suite-base/context/EventsContext";
+import type { HoverValue } from "@lichtblick/suite-base/types/hoverValue";
import { createContext, useCallback } from "react";
import { StoreApi, useStore } from "zustand";
diff --git a/packages/studio-base/src/context/UserProfileStorageContext.ts b/packages/suite-base/src/context/UserProfileStorageContext.ts
similarity index 94%
rename from packages/studio-base/src/context/UserProfileStorageContext.ts
rename to packages/suite-base/src/context/UserProfileStorageContext.ts
index 8d5c5c99b2..f40755f78e 100644
--- a/packages/studio-base/src/context/UserProfileStorageContext.ts
+++ b/packages/suite-base/src/context/UserProfileStorageContext.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
import { createContext, useContext } from "react";
export type UserProfile = {
diff --git a/packages/studio-base/src/context/UserScriptStateContext.tsx b/packages/suite-base/src/context/UserScriptStateContext.tsx
similarity index 91%
rename from packages/studio-base/src/context/UserScriptStateContext.tsx
rename to packages/suite-base/src/context/UserScriptStateContext.tsx
index e257f31888..2dbd5df90d 100644
--- a/packages/studio-base/src/context/UserScriptStateContext.tsx
+++ b/packages/suite-base/src/context/UserScriptStateContext.tsx
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { generateEmptyTypesLib } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/generateTypesLib";
-import { ros_lib_dts } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/ros";
-import { Diagnostic, UserScriptLog } from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+import { generateEmptyTypesLib } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/generateTypesLib";
+import { ros_lib_dts } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/ros";
+import { Diagnostic, UserScriptLog } from "@lichtblick/suite-base/players/UserScriptPlayer/types";
import { createContext, useState } from "react";
import { StoreApi, createStore, useStore } from "zustand";
diff --git a/packages/studio-base/src/context/Workspace/WorkspaceContext.ts b/packages/suite-base/src/context/Workspace/WorkspaceContext.ts
similarity index 88%
rename from packages/studio-base/src/context/Workspace/WorkspaceContext.ts
rename to packages/suite-base/src/context/Workspace/WorkspaceContext.ts
index bc28068146..37675e33a9 100644
--- a/packages/studio-base/src/context/Workspace/WorkspaceContext.ts
+++ b/packages/suite-base/src/context/Workspace/WorkspaceContext.ts
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { AppSettingsTab } from "@lichtblick/studio-base/components/AppSettingsDialog/AppSettingsDialog";
-import { DataSourceDialogItem } from "@lichtblick/studio-base/components/DataSourceDialog";
-import { IDataSourceFactory } from "@lichtblick/studio-base/context/PlayerSelectionContext";
+import { AppSettingsTab } from "@lichtblick/suite-base/components/AppSettingsDialog/AppSettingsDialog";
+import { DataSourceDialogItem } from "@lichtblick/suite-base/components/DataSourceDialog";
+import { IDataSourceFactory } from "@lichtblick/suite-base/context/PlayerSelectionContext";
import { createContext } from "react";
import { StoreApi, useStore } from "zustand";
diff --git a/packages/studio-base/src/context/Workspace/migrations.ts b/packages/suite-base/src/context/Workspace/migrations.ts
similarity index 84%
rename from packages/studio-base/src/context/Workspace/migrations.ts
rename to packages/suite-base/src/context/Workspace/migrations.ts
index e066e9d273..bcfb5158a8 100644
--- a/packages/studio-base/src/context/Workspace/migrations.ts
+++ b/packages/suite-base/src/context/Workspace/migrations.ts
@@ -2,14 +2,14 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSettingsTab } from "@lichtblick/studio-base/components/AppSettingsDialog/AppSettingsDialog";
-import { DataSourceDialogItem } from "@lichtblick/studio-base/components/DataSourceDialog";
-import { IDataSourceFactory } from "@lichtblick/studio-base/context/PlayerSelectionContext";
+import { AppSettingsTab } from "@lichtblick/suite-base/components/AppSettingsDialog/AppSettingsDialog";
+import { DataSourceDialogItem } from "@lichtblick/suite-base/components/DataSourceDialog";
+import { IDataSourceFactory } from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
LeftSidebarItemKey,
RightSidebarItemKey,
WorkspaceContextStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
// Type of version 0 store, used for migration.
type WorkspaceContextStoreV0 = {
diff --git a/packages/studio-base/src/context/Workspace/useOpenFile.tsx b/packages/suite-base/src/context/Workspace/useOpenFile.tsx
similarity index 92%
rename from packages/studio-base/src/context/Workspace/useOpenFile.tsx
rename to packages/suite-base/src/context/Workspace/useOpenFile.tsx
index 3ba52042e0..5d49b0e0c9 100644
--- a/packages/studio-base/src/context/Workspace/useOpenFile.tsx
+++ b/packages/suite-base/src/context/Workspace/useOpenFile.tsx
@@ -5,8 +5,8 @@
import {
IDataSourceFactory,
usePlayerSelection,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import showOpenFilePicker from "@lichtblick/studio-base/util/showOpenFilePicker";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import showOpenFilePicker from "@lichtblick/suite-base/util/showOpenFilePicker";
import path from "path";
import { useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/context/Workspace/useWorkspaceActions.ts b/packages/suite-base/src/context/Workspace/useWorkspaceActions.ts
similarity index 93%
rename from packages/studio-base/src/context/Workspace/useWorkspaceActions.ts
rename to packages/suite-base/src/context/Workspace/useWorkspaceActions.ts
index 95c72619f0..f44212f229 100644
--- a/packages/studio-base/src/context/Workspace/useWorkspaceActions.ts
+++ b/packages/suite-base/src/context/Workspace/useWorkspaceActions.ts
@@ -3,21 +3,21 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useGuaranteedContext } from "@lichtblick/hooks";
-import { AppSettingsTab } from "@lichtblick/studio-base/components/AppSettingsDialog/AppSettingsDialog";
-import { DataSourceDialogItem } from "@lichtblick/studio-base/components/DataSourceDialog";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
-import { useAppContext } from "@lichtblick/studio-base/context/AppContext";
+import { AppSettingsTab } from "@lichtblick/suite-base/components/AppSettingsDialog/AppSettingsDialog";
+import { DataSourceDialogItem } from "@lichtblick/suite-base/components/DataSourceDialog";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
+import { useAppContext } from "@lichtblick/suite-base/context/AppContext";
import {
LayoutData,
useCurrentLayoutActions,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
import {
IDataSourceFactory,
usePlayerSelection,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import useCallbackWithToast from "@lichtblick/studio-base/hooks/useCallbackWithToast";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
-import { downloadTextFile } from "@lichtblick/studio-base/util/download";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import useCallbackWithToast from "@lichtblick/suite-base/hooks/useCallbackWithToast";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
+import { downloadTextFile } from "@lichtblick/suite-base/util/download";
import { Draft, produce } from "immer";
import * as _ from "lodash-es";
import { Dispatch, SetStateAction, useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/dataSources/FoxgloveWebSocketDataSourceFactory.ts b/packages/suite-base/src/dataSources/FoxgloveWebSocketDataSourceFactory.ts
similarity index 90%
rename from packages/studio-base/src/dataSources/FoxgloveWebSocketDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/FoxgloveWebSocketDataSourceFactory.ts
index a8b929591a..c621d4b03f 100644
--- a/packages/studio-base/src/dataSources/FoxgloveWebSocketDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/FoxgloveWebSocketDataSourceFactory.ts
@@ -5,9 +5,9 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import FoxgloveWebSocketPlayer from "@lichtblick/studio-base/players/FoxgloveWebSocketPlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import FoxgloveWebSocketPlayer from "@lichtblick/suite-base/players/FoxgloveWebSocketPlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
export default class FoxgloveWebSocketDataSourceFactory implements IDataSourceFactory {
public id = "foxglove-websocket";
diff --git a/packages/studio-base/src/dataSources/McapLocalDataSourceFactory.ts b/packages/suite-base/src/dataSources/McapLocalDataSourceFactory.ts
similarity index 81%
rename from packages/studio-base/src/dataSources/McapLocalDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/McapLocalDataSourceFactory.ts
index 79e5b3be94..d42521210b 100644
--- a/packages/studio-base/src/dataSources/McapLocalDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/McapLocalDataSourceFactory.ts
@@ -5,12 +5,12 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
IterablePlayer,
WorkerIterableSource,
-} from "@lichtblick/studio-base/players/IterablePlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/IterablePlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
class McapLocalDataSourceFactory implements IDataSourceFactory {
public id = "mcap-local-file";
@@ -30,7 +30,7 @@ class McapLocalDataSourceFactory implements IDataSourceFactory {
return new Worker(
// foxglove-depcheck-used: babel-plugin-transform-import-meta
new URL(
- "@lichtblick/studio-base/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker",
+ "@lichtblick/suite-base/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker",
import.meta.url,
),
);
diff --git a/packages/studio-base/src/dataSources/RemoteDataSourceFactory.tsx b/packages/suite-base/src/dataSources/RemoteDataSourceFactory.tsx
similarity index 91%
rename from packages/studio-base/src/dataSources/RemoteDataSourceFactory.tsx
rename to packages/suite-base/src/dataSources/RemoteDataSourceFactory.tsx
index ae613fd16d..004b29b920 100644
--- a/packages/studio-base/src/dataSources/RemoteDataSourceFactory.tsx
+++ b/packages/suite-base/src/dataSources/RemoteDataSourceFactory.tsx
@@ -5,12 +5,12 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
IterablePlayer,
WorkerIterableSource,
-} from "@lichtblick/studio-base/players/IterablePlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/IterablePlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
import { Link } from "@mui/material";
import path from "path";
@@ -19,7 +19,7 @@ const initWorkers: Record Worker> = {
return new Worker(
// foxglove-depcheck-used: babel-plugin-transform-import-meta
new URL(
- "@lichtblick/studio-base/players/IterablePlayer/BagIterableSourceWorker.worker",
+ "@lichtblick/suite-base/players/IterablePlayer/BagIterableSourceWorker.worker",
import.meta.url,
),
);
@@ -28,7 +28,7 @@ const initWorkers: Record Worker> = {
return new Worker(
// foxglove-depcheck-used: babel-plugin-transform-import-meta
new URL(
- "@lichtblick/studio-base/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker",
+ "@lichtblick/suite-base/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker",
import.meta.url,
),
);
diff --git a/packages/studio-base/src/dataSources/Ros1LocalBagDataSourceFactory.ts b/packages/suite-base/src/dataSources/Ros1LocalBagDataSourceFactory.ts
similarity index 81%
rename from packages/studio-base/src/dataSources/Ros1LocalBagDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/Ros1LocalBagDataSourceFactory.ts
index 62107599ab..07bc422cc1 100644
--- a/packages/studio-base/src/dataSources/Ros1LocalBagDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/Ros1LocalBagDataSourceFactory.ts
@@ -5,12 +5,12 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
IterablePlayer,
WorkerIterableSource,
-} from "@lichtblick/studio-base/players/IterablePlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/IterablePlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
class Ros1LocalBagDataSourceFactory implements IDataSourceFactory {
public id = "ros1-local-bagfile";
@@ -30,7 +30,7 @@ class Ros1LocalBagDataSourceFactory implements IDataSourceFactory {
return new Worker(
// foxglove-depcheck-used: babel-plugin-transform-import-meta
new URL(
- "@lichtblick/studio-base/players/IterablePlayer/BagIterableSourceWorker.worker",
+ "@lichtblick/suite-base/players/IterablePlayer/BagIterableSourceWorker.worker",
import.meta.url,
),
);
diff --git a/packages/studio-base/src/dataSources/Ros1SocketDataSourceFactory.ts b/packages/suite-base/src/dataSources/Ros1SocketDataSourceFactory.ts
similarity index 88%
rename from packages/studio-base/src/dataSources/Ros1SocketDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/Ros1SocketDataSourceFactory.ts
index 8d3cd60e6c..27cc5edd74 100644
--- a/packages/studio-base/src/dataSources/Ros1SocketDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/Ros1SocketDataSourceFactory.ts
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import OsContextSingleton from "@lichtblick/studio-base/OsContextSingleton";
+import OsContextSingleton from "@lichtblick/suite-base/OsContextSingleton";
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import Ros1Player from "@lichtblick/studio-base/players/Ros1Player";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import Ros1Player from "@lichtblick/suite-base/players/Ros1Player";
+import { Player } from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import { RosNode } from "@foxglove/ros1";
diff --git a/packages/studio-base/src/dataSources/Ros2LocalBagDataSourceFactory.ts b/packages/suite-base/src/dataSources/Ros2LocalBagDataSourceFactory.ts
similarity index 82%
rename from packages/studio-base/src/dataSources/Ros2LocalBagDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/Ros2LocalBagDataSourceFactory.ts
index cd5dc5bde8..20e163513c 100644
--- a/packages/studio-base/src/dataSources/Ros2LocalBagDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/Ros2LocalBagDataSourceFactory.ts
@@ -5,12 +5,12 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
IterablePlayer,
WorkerIterableSource,
-} from "@lichtblick/studio-base/players/IterablePlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/IterablePlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
class Ros2LocalBagDataSourceFactory implements IDataSourceFactory {
public id = "ros2-local-bagfile";
@@ -33,7 +33,7 @@ class Ros2LocalBagDataSourceFactory implements IDataSourceFactory {
return new Worker(
// foxglove-depcheck-used: babel-plugin-transform-import-meta
new URL(
- "@lichtblick/studio-base/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker",
+ "@lichtblick/suite-base/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker",
import.meta.url,
),
);
diff --git a/packages/studio-base/src/dataSources/RosbridgeDataSourceFactory.ts b/packages/suite-base/src/dataSources/RosbridgeDataSourceFactory.ts
similarity index 88%
rename from packages/studio-base/src/dataSources/RosbridgeDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/RosbridgeDataSourceFactory.ts
index 9deaf19ed1..1b14b2e081 100644
--- a/packages/studio-base/src/dataSources/RosbridgeDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/RosbridgeDataSourceFactory.ts
@@ -5,9 +5,9 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import RosbridgePlayer from "@lichtblick/studio-base/players/RosbridgePlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import RosbridgePlayer from "@lichtblick/suite-base/players/RosbridgePlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
class RosbridgeDataSourceFactory implements IDataSourceFactory {
public id = "rosbridge-websocket";
diff --git a/packages/studio-base/src/dataSources/SampleNuscenesDataSourceFactory.ts b/packages/suite-base/src/dataSources/SampleNuscenesDataSourceFactory.ts
similarity index 88%
rename from packages/studio-base/src/dataSources/SampleNuscenesDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/SampleNuscenesDataSourceFactory.ts
index 69d9574a03..41ac4e0cd7 100644
--- a/packages/studio-base/src/dataSources/SampleNuscenesDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/SampleNuscenesDataSourceFactory.ts
@@ -5,11 +5,11 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
IterablePlayer,
WorkerIterableSource,
-} from "@lichtblick/studio-base/players/IterablePlayer";
+} from "@lichtblick/suite-base/players/IterablePlayer";
import SampleNuscenesLayout from "./SampleNuscenesLayout.json";
@@ -31,7 +31,7 @@ class SampleNuscenesDataSourceFactory implements IDataSourceFactory {
return new Worker(
// foxglove-depcheck-used: babel-plugin-transform-import-meta
new URL(
- "@lichtblick/studio-base/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker",
+ "@lichtblick/suite-base/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker",
import.meta.url,
),
);
diff --git a/packages/studio-base/src/dataSources/SampleNuscenesLayout.json b/packages/suite-base/src/dataSources/SampleNuscenesLayout.json
similarity index 100%
rename from packages/studio-base/src/dataSources/SampleNuscenesLayout.json
rename to packages/suite-base/src/dataSources/SampleNuscenesLayout.json
diff --git a/packages/studio-base/src/dataSources/UlogLocalDataSourceFactory.ts b/packages/suite-base/src/dataSources/UlogLocalDataSourceFactory.ts
similarity index 81%
rename from packages/studio-base/src/dataSources/UlogLocalDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/UlogLocalDataSourceFactory.ts
index 67b582aa14..7556c78d95 100644
--- a/packages/studio-base/src/dataSources/UlogLocalDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/UlogLocalDataSourceFactory.ts
@@ -5,12 +5,12 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
import {
IterablePlayer,
WorkerIterableSource,
-} from "@lichtblick/studio-base/players/IterablePlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/IterablePlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
class UlogLocalDataSourceFactory implements IDataSourceFactory {
public id = "ulog-local-file";
@@ -30,7 +30,7 @@ class UlogLocalDataSourceFactory implements IDataSourceFactory {
return new Worker(
// foxglove-depcheck-used: babel-plugin-transform-import-meta
new URL(
- "@lichtblick/studio-base/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker",
+ "@lichtblick/suite-base/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker",
import.meta.url,
),
);
diff --git a/packages/studio-base/src/dataSources/VelodyneDataSourceFactory.ts b/packages/suite-base/src/dataSources/VelodyneDataSourceFactory.ts
similarity index 85%
rename from packages/studio-base/src/dataSources/VelodyneDataSourceFactory.ts
rename to packages/suite-base/src/dataSources/VelodyneDataSourceFactory.ts
index 186e3aec0b..453a9cfac1 100644
--- a/packages/studio-base/src/dataSources/VelodyneDataSourceFactory.ts
+++ b/packages/suite-base/src/dataSources/VelodyneDataSourceFactory.ts
@@ -5,9 +5,9 @@
import {
IDataSourceFactory,
DataSourceFactoryInitializeArgs,
-} from "@lichtblick/studio-base/context/PlayerSelectionContext";
-import VelodynePlayer from "@lichtblick/studio-base/players/VelodynePlayer";
-import { Player } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/context/PlayerSelectionContext";
+import VelodynePlayer from "@lichtblick/suite-base/players/VelodynePlayer";
+import { Player } from "@lichtblick/suite-base/players/types";
class VelodyneDataSourceFactory implements IDataSourceFactory {
public id = "velodyne-device";
diff --git a/packages/studio-base/src/hooks/index.ts b/packages/suite-base/src/hooks/index.ts
similarity index 80%
rename from packages/studio-base/src/hooks/index.ts
rename to packages/suite-base/src/hooks/index.ts
index 3aa48fa3f7..5aa4c1414f 100644
--- a/packages/studio-base/src/hooks/index.ts
+++ b/packages/suite-base/src/hooks/index.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-// These are exported from here to avoid circular imports via studio-base/index.
+// These are exported from here to avoid circular imports via suite-base/index.
export { useAppConfigurationValue } from "./useAppConfigurationValue";
export { useAppTimeFormat } from "./useAppTimeFormat";
diff --git a/packages/studio-base/src/hooks/useAddPanel.ts b/packages/suite-base/src/hooks/useAddPanel.ts
similarity index 68%
rename from packages/studio-base/src/hooks/useAddPanel.ts
rename to packages/suite-base/src/hooks/useAddPanel.ts
index 84ebc06817..9337d261e7 100644
--- a/packages/studio-base/src/hooks/useAddPanel.ts
+++ b/packages/suite-base/src/hooks/useAddPanel.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PanelSelection } from "@lichtblick/studio-base/components/PanelCatalog";
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { getPanelIdForType } from "@lichtblick/studio-base/util/layout";
+import { PanelSelection } from "@lichtblick/suite-base/components/PanelCatalog";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { getPanelIdForType } from "@lichtblick/suite-base/util/layout";
import { useCallback } from "react";
export default function useAddPanel(): (selection: PanelSelection) => void {
diff --git a/packages/studio-base/src/hooks/useAppConfigurationValue.test.tsx b/packages/suite-base/src/hooks/useAppConfigurationValue.test.tsx
similarity index 91%
rename from packages/studio-base/src/hooks/useAppConfigurationValue.test.tsx
rename to packages/suite-base/src/hooks/useAppConfigurationValue.test.tsx
index d8a0c1c8a0..4c70778f36 100644
--- a/packages/studio-base/src/hooks/useAppConfigurationValue.test.tsx
+++ b/packages/suite-base/src/hooks/useAppConfigurationValue.test.tsx
@@ -6,8 +6,8 @@
import AppConfigurationContext, {
IAppConfiguration,
AppConfigurationValue,
-} from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks/useAppConfigurationValue";
+} from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks/useAppConfigurationValue";
import { renderHook } from "@testing-library/react";
import { PropsWithChildren } from "react";
diff --git a/packages/studio-base/src/hooks/useAppConfigurationValue.ts b/packages/suite-base/src/hooks/useAppConfigurationValue.ts
similarity index 95%
rename from packages/studio-base/src/hooks/useAppConfigurationValue.ts
rename to packages/suite-base/src/hooks/useAppConfigurationValue.ts
index e598568741..85fcd67f2f 100644
--- a/packages/studio-base/src/hooks/useAppConfigurationValue.ts
+++ b/packages/suite-base/src/hooks/useAppConfigurationValue.ts
@@ -4,7 +4,7 @@
import {
AppConfigurationValue,
useAppConfiguration,
-} from "@lichtblick/studio-base/context/AppConfigurationContext";
+} from "@lichtblick/suite-base/context/AppConfigurationContext";
import { useCallback, useEffect, useState } from "react";
/**
diff --git a/packages/studio-base/src/hooks/useAppTimeFormat.ts b/packages/suite-base/src/hooks/useAppTimeFormat.ts
similarity index 85%
rename from packages/studio-base/src/hooks/useAppTimeFormat.ts
rename to packages/suite-base/src/hooks/useAppTimeFormat.ts
index c62e6c2b98..18f0117d7e 100644
--- a/packages/studio-base/src/hooks/useAppTimeFormat.ts
+++ b/packages/suite-base/src/hooks/useAppTimeFormat.ts
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Time } from "@lichtblick/studio";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { TimeDisplayMethod } from "@lichtblick/studio-base/types/panels";
-import { formatDate, formatTime } from "@lichtblick/studio-base/util/formatTime";
-import { formatTimeRaw } from "@lichtblick/studio-base/util/time";
+import { Time } from "@lichtblick/suite";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { TimeDisplayMethod } from "@lichtblick/suite-base/types/panels";
+import { formatDate, formatTime } from "@lichtblick/suite-base/util/formatTime";
+import { formatTimeRaw } from "@lichtblick/suite-base/util/time";
import moment from "moment-timezone";
import { useCallback, useMemo } from "react";
diff --git a/packages/studio-base/src/hooks/useCallbackWithToast.ts b/packages/suite-base/src/hooks/useCallbackWithToast.ts
similarity index 100%
rename from packages/studio-base/src/hooks/useCallbackWithToast.ts
rename to packages/suite-base/src/hooks/useCallbackWithToast.ts
diff --git a/packages/studio-base/src/hooks/useConfirm.stories.tsx b/packages/suite-base/src/hooks/useConfirm.stories.tsx
similarity index 100%
rename from packages/studio-base/src/hooks/useConfirm.stories.tsx
rename to packages/suite-base/src/hooks/useConfirm.stories.tsx
diff --git a/packages/studio-base/src/hooks/useConfirm.tsx b/packages/suite-base/src/hooks/useConfirm.tsx
similarity index 100%
rename from packages/studio-base/src/hooks/useConfirm.tsx
rename to packages/suite-base/src/hooks/useConfirm.tsx
diff --git a/packages/studio-base/src/hooks/useDefaultWebLaunchPreference.ts b/packages/suite-base/src/hooks/useDefaultWebLaunchPreference.ts
similarity index 79%
rename from packages/studio-base/src/hooks/useDefaultWebLaunchPreference.ts
rename to packages/suite-base/src/hooks/useDefaultWebLaunchPreference.ts
index 14c45f691c..8f21aea10e 100644
--- a/packages/studio-base/src/hooks/useDefaultWebLaunchPreference.ts
+++ b/packages/suite-base/src/hooks/useDefaultWebLaunchPreference.ts
@@ -3,13 +3,13 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useSessionStorageValue } from "@lichtblick/hooks";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { LaunchPreferenceValue } from "@lichtblick/studio-base/types/LaunchPreferenceValue";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { LaunchPreferenceValue } from "@lichtblick/suite-base/types/LaunchPreferenceValue";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import { useEffect } from "react";
const selectHasUrlState = (ctx: MessagePipelineContext) => ctx.playerState.urlState != undefined;
diff --git a/packages/studio-base/src/hooks/useElectronFilesToOpen.ts b/packages/suite-base/src/hooks/useElectronFilesToOpen.ts
similarity index 100%
rename from packages/studio-base/src/hooks/useElectronFilesToOpen.ts
rename to packages/suite-base/src/hooks/useElectronFilesToOpen.ts
diff --git a/packages/studio-base/src/hooks/useGlobalVariables.ts b/packages/suite-base/src/hooks/useGlobalVariables.ts
similarity index 91%
rename from packages/studio-base/src/hooks/useGlobalVariables.ts
rename to packages/suite-base/src/hooks/useGlobalVariables.ts
index d01b521dea..4779b7d104 100644
--- a/packages/studio-base/src/hooks/useGlobalVariables.ts
+++ b/packages/suite-base/src/hooks/useGlobalVariables.ts
@@ -11,12 +11,12 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import type { VariableValue } from "@lichtblick/studio";
+import type { VariableValue } from "@lichtblick/suite";
import {
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
export type GlobalVariables = { [key: string]: VariableValue };
diff --git a/packages/studio-base/src/hooks/useIndexedDbRecents.test.ts b/packages/suite-base/src/hooks/useIndexedDbRecents.test.ts
similarity index 95%
rename from packages/studio-base/src/hooks/useIndexedDbRecents.test.ts
rename to packages/suite-base/src/hooks/useIndexedDbRecents.test.ts
index efc7f65c3f..5ba9d320f9 100644
--- a/packages/studio-base/src/hooks/useIndexedDbRecents.test.ts
+++ b/packages/suite-base/src/hooks/useIndexedDbRecents.test.ts
@@ -3,7 +3,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import useIndexedDbRecents from "@lichtblick/studio-base/hooks/useIndexedDbRecents";
+import useIndexedDbRecents from "@lichtblick/suite-base/hooks/useIndexedDbRecents";
import { act, renderHook } from "@testing-library/react";
describe("useIndexedDbRecents", () => {
diff --git a/packages/studio-base/src/hooks/useIndexedDbRecents.ts b/packages/suite-base/src/hooks/useIndexedDbRecents.ts
similarity index 100%
rename from packages/studio-base/src/hooks/useIndexedDbRecents.ts
rename to packages/suite-base/src/hooks/useIndexedDbRecents.ts
diff --git a/packages/studio-base/src/hooks/usePanelDrag.tsx b/packages/suite-base/src/hooks/usePanelDrag.tsx
similarity index 95%
rename from packages/studio-base/src/hooks/usePanelDrag.tsx
rename to packages/suite-base/src/hooks/usePanelDrag.tsx
index a8d938d744..af5063e800 100644
--- a/packages/studio-base/src/hooks/usePanelDrag.tsx
+++ b/packages/suite-base/src/hooks/usePanelDrag.tsx
@@ -14,8 +14,8 @@
import {
useCurrentLayoutActions,
usePanelMosaicId,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { MosaicDropResult, SavedProps } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { MosaicDropResult, SavedProps } from "@lichtblick/suite-base/types/panels";
import * as _ from "lodash-es";
import { useContext } from "react";
import { useDrag, ConnectDragSource, ConnectDragPreview } from "react-dnd";
diff --git a/packages/studio-base/src/hooks/usePanelMousePresence.tsx b/packages/suite-base/src/hooks/usePanelMousePresence.tsx
similarity index 93%
rename from packages/studio-base/src/hooks/usePanelMousePresence.tsx
rename to packages/suite-base/src/hooks/usePanelMousePresence.tsx
index e91f4cbd37..2612701ee0 100644
--- a/packages/studio-base/src/hooks/usePanelMousePresence.tsx
+++ b/packages/suite-base/src/hooks/usePanelMousePresence.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PANEL_ROOT_CLASS_NAME } from "@lichtblick/studio-base/components/PanelRoot";
+import { PANEL_ROOT_CLASS_NAME } from "@lichtblick/suite-base/components/PanelRoot";
import { MutableRefObject, useCallback, useEffect, useState } from "react";
/**
diff --git a/packages/studio-base/src/hooks/usePrompt.test.tsx b/packages/suite-base/src/hooks/usePrompt.test.tsx
similarity index 100%
rename from packages/studio-base/src/hooks/usePrompt.test.tsx
rename to packages/suite-base/src/hooks/usePrompt.test.tsx
diff --git a/packages/studio-base/src/hooks/usePrompt.tsx b/packages/suite-base/src/hooks/usePrompt.tsx
similarity index 98%
rename from packages/studio-base/src/hooks/usePrompt.tsx
rename to packages/suite-base/src/hooks/usePrompt.tsx
index 227fc1e7ae..5d55df966d 100644
--- a/packages/studio-base/src/hooks/usePrompt.tsx
+++ b/packages/suite-base/src/hooks/usePrompt.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Button, Dialog, DialogActions, DialogContent, TextField, Typography } from "@mui/material";
import { FormEvent, useCallback, useEffect, useMemo, useRef, useState } from "react";
import { useKeyPressEvent } from "react-use";
diff --git a/packages/studio-base/src/hooks/usePublisher.tsx b/packages/suite-base/src/hooks/usePublisher.tsx
similarity index 86%
rename from packages/studio-base/src/hooks/usePublisher.tsx
rename to packages/suite-base/src/hooks/usePublisher.tsx
index 6d9c4a9968..3004babf1e 100644
--- a/packages/studio-base/src/hooks/usePublisher.tsx
+++ b/packages/suite-base/src/hooks/usePublisher.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import { useMessagePipeline } from "@lichtblick/studio-base/components/MessagePipeline";
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { Immutable } from "@lichtblick/suite";
+import { useMessagePipeline } from "@lichtblick/suite-base/components/MessagePipeline";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { useCallback, useEffect, useState } from "react";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/hooks/useShouldNotChangeOften.test.ts b/packages/suite-base/src/hooks/useShouldNotChangeOften.test.ts
similarity index 92%
rename from packages/studio-base/src/hooks/useShouldNotChangeOften.test.ts
rename to packages/suite-base/src/hooks/useShouldNotChangeOften.test.ts
index 282f175fe1..d65dc1ecb0 100644
--- a/packages/studio-base/src/hooks/useShouldNotChangeOften.test.ts
+++ b/packages/suite-base/src/hooks/useShouldNotChangeOften.test.ts
@@ -12,7 +12,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import useShouldNotChangeOften from "@lichtblick/studio-base/hooks/useShouldNotChangeOften";
+import useShouldNotChangeOften from "@lichtblick/suite-base/hooks/useShouldNotChangeOften";
import { renderHook } from "@testing-library/react";
describe("useShouldNotChangeOften", () => {
diff --git a/packages/studio-base/src/hooks/useShouldNotChangeOften.ts b/packages/suite-base/src/hooks/useShouldNotChangeOften.ts
similarity index 100%
rename from packages/studio-base/src/hooks/useShouldNotChangeOften.ts
rename to packages/suite-base/src/hooks/useShouldNotChangeOften.ts
diff --git a/packages/studio-base/src/hooks/useStateToURLSynchronization.test.tsx b/packages/suite-base/src/hooks/useStateToURLSynchronization.test.tsx
similarity index 85%
rename from packages/studio-base/src/hooks/useStateToURLSynchronization.test.tsx
rename to packages/suite-base/src/hooks/useStateToURLSynchronization.test.tsx
index 8f8b4ce81d..ebf83bdfeb 100644
--- a/packages/studio-base/src/hooks/useStateToURLSynchronization.test.tsx
+++ b/packages/suite-base/src/hooks/useStateToURLSynchronization.test.tsx
@@ -12,14 +12,14 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useMessagePipeline } from "@lichtblick/studio-base/components/MessagePipeline";
-import { useStateToURLSynchronization } from "@lichtblick/studio-base/hooks/useStateToURLSynchronization";
-import EventsProvider from "@lichtblick/studio-base/providers/EventsProvider";
+import { useMessagePipeline } from "@lichtblick/suite-base/components/MessagePipeline";
+import { useStateToURLSynchronization } from "@lichtblick/suite-base/hooks/useStateToURLSynchronization";
+import EventsProvider from "@lichtblick/suite-base/providers/EventsProvider";
import { renderHook } from "@testing-library/react";
import { ReactNode } from "react";
-jest.mock("@lichtblick/studio-base/context/CurrentLayoutContext");
-jest.mock("@lichtblick/studio-base/components/MessagePipeline");
+jest.mock("@lichtblick/suite-base/context/CurrentLayoutContext");
+jest.mock("@lichtblick/suite-base/components/MessagePipeline");
describe("useStateToURLSynchronization", () => {
it("updates the url with a stable source & player state", () => {
diff --git a/packages/studio-base/src/hooks/useStateToURLSynchronization.ts b/packages/suite-base/src/hooks/useStateToURLSynchronization.ts
similarity index 86%
rename from packages/studio-base/src/hooks/useStateToURLSynchronization.ts
rename to packages/suite-base/src/hooks/useStateToURLSynchronization.ts
index e1408640c8..5b91480d7c 100644
--- a/packages/studio-base/src/hooks/useStateToURLSynchronization.ts
+++ b/packages/suite-base/src/hooks/useStateToURLSynchronization.ts
@@ -6,10 +6,10 @@ import { useDeepMemo } from "@lichtblick/hooks";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { EventsStore, useEvents } from "@lichtblick/studio-base/context/EventsContext";
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import { AppURLState, updateAppURLState } from "@lichtblick/studio-base/util/appURLState";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { EventsStore, useEvents } from "@lichtblick/suite-base/context/EventsContext";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import { AppURLState, updateAppURLState } from "@lichtblick/suite-base/util/appURLState";
import * as _ from "lodash-es";
import { useEffect } from "react";
import { useDebounce } from "use-debounce";
diff --git a/packages/studio-base/src/hooks/useTopicPublishFrequences.test.tsx b/packages/suite-base/src/hooks/useTopicPublishFrequences.test.tsx
similarity index 88%
rename from packages/studio-base/src/hooks/useTopicPublishFrequences.test.tsx
rename to packages/suite-base/src/hooks/useTopicPublishFrequences.test.tsx
index b6dcf6ae2e..b4576fc1d0 100644
--- a/packages/studio-base/src/hooks/useTopicPublishFrequences.test.tsx
+++ b/packages/suite-base/src/hooks/useTopicPublishFrequences.test.tsx
@@ -3,9 +3,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import { useTopicPublishFrequencies } from "@lichtblick/studio-base/hooks/useTopicPublishFrequences";
-import { PlayerCapabilities, PlayerState } from "@lichtblick/studio-base/players/types";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import { useTopicPublishFrequencies } from "@lichtblick/suite-base/hooks/useTopicPublishFrequences";
+import { PlayerCapabilities, PlayerState } from "@lichtblick/suite-base/players/types";
import { renderHook } from "@testing-library/react";
describe("useTopicPublishFrequencies", () => {
diff --git a/packages/studio-base/src/hooks/useTopicPublishFrequences.ts b/packages/suite-base/src/hooks/useTopicPublishFrequences.ts
similarity index 96%
rename from packages/studio-base/src/hooks/useTopicPublishFrequences.ts
rename to packages/suite-base/src/hooks/useTopicPublishFrequences.ts
index c8685ab92b..99094c7d33 100644
--- a/packages/studio-base/src/hooks/useTopicPublishFrequences.ts
+++ b/packages/suite-base/src/hooks/useTopicPublishFrequences.ts
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
+import { Immutable } from "@lichtblick/suite";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { PlayerCapabilities, TopicStats } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { PlayerCapabilities, TopicStats } from "@lichtblick/suite-base/players/types";
import { useMemo, useRef } from "react";
import { subtract as subtractTimes, areEqual, fromMillis, Time, toSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/i18n/README.md b/packages/suite-base/src/i18n/README.md
similarity index 100%
rename from packages/studio-base/src/i18n/README.md
rename to packages/suite-base/src/i18n/README.md
diff --git a/packages/studio-base/src/i18n/en/addPanel.ts b/packages/suite-base/src/i18n/en/addPanel.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/addPanel.ts
rename to packages/suite-base/src/i18n/en/addPanel.ts
diff --git a/packages/studio-base/src/i18n/en/appBar.ts b/packages/suite-base/src/i18n/en/appBar.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/appBar.ts
rename to packages/suite-base/src/i18n/en/appBar.ts
diff --git a/packages/studio-base/src/i18n/en/appSettings.ts b/packages/suite-base/src/i18n/en/appSettings.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/appSettings.ts
rename to packages/suite-base/src/i18n/en/appSettings.ts
diff --git a/packages/studio-base/src/i18n/en/dataSourceInfo.ts b/packages/suite-base/src/i18n/en/dataSourceInfo.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/dataSourceInfo.ts
rename to packages/suite-base/src/i18n/en/dataSourceInfo.ts
diff --git a/packages/studio-base/src/i18n/en/desktopWindow.ts b/packages/suite-base/src/i18n/en/desktopWindow.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/desktopWindow.ts
rename to packages/suite-base/src/i18n/en/desktopWindow.ts
diff --git a/packages/studio-base/src/i18n/en/general.ts b/packages/suite-base/src/i18n/en/general.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/general.ts
rename to packages/suite-base/src/i18n/en/general.ts
diff --git a/packages/studio-base/src/i18n/en/incompatibleLayoutVersion.ts b/packages/suite-base/src/i18n/en/incompatibleLayoutVersion.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/incompatibleLayoutVersion.ts
rename to packages/suite-base/src/i18n/en/incompatibleLayoutVersion.ts
diff --git a/packages/studio-base/src/i18n/en/index.ts b/packages/suite-base/src/i18n/en/index.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/index.ts
rename to packages/suite-base/src/i18n/en/index.ts
diff --git a/packages/studio-base/src/i18n/en/log.ts b/packages/suite-base/src/i18n/en/log.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/log.ts
rename to packages/suite-base/src/i18n/en/log.ts
diff --git a/packages/studio-base/src/i18n/en/openDialog.ts b/packages/suite-base/src/i18n/en/openDialog.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/openDialog.ts
rename to packages/suite-base/src/i18n/en/openDialog.ts
diff --git a/packages/studio-base/src/i18n/en/panelConfigVersionGuard.ts b/packages/suite-base/src/i18n/en/panelConfigVersionGuard.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/panelConfigVersionGuard.ts
rename to packages/suite-base/src/i18n/en/panelConfigVersionGuard.ts
diff --git a/packages/studio-base/src/i18n/en/panelSettings.ts b/packages/suite-base/src/i18n/en/panelSettings.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/panelSettings.ts
rename to packages/suite-base/src/i18n/en/panelSettings.ts
diff --git a/packages/studio-base/src/i18n/en/panelToolbar.ts b/packages/suite-base/src/i18n/en/panelToolbar.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/panelToolbar.ts
rename to packages/suite-base/src/i18n/en/panelToolbar.ts
diff --git a/packages/studio-base/src/i18n/en/panels.ts b/packages/suite-base/src/i18n/en/panels.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/panels.ts
rename to packages/suite-base/src/i18n/en/panels.ts
diff --git a/packages/studio-base/src/i18n/en/plot.ts b/packages/suite-base/src/i18n/en/plot.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/plot.ts
rename to packages/suite-base/src/i18n/en/plot.ts
diff --git a/packages/studio-base/src/i18n/en/problemsList.ts b/packages/suite-base/src/i18n/en/problemsList.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/problemsList.ts
rename to packages/suite-base/src/i18n/en/problemsList.ts
diff --git a/packages/studio-base/src/i18n/en/settingsEditor.ts b/packages/suite-base/src/i18n/en/settingsEditor.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/settingsEditor.ts
rename to packages/suite-base/src/i18n/en/settingsEditor.ts
diff --git a/packages/studio-base/src/i18n/en/stateTransitions.ts b/packages/suite-base/src/i18n/en/stateTransitions.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/stateTransitions.ts
rename to packages/suite-base/src/i18n/en/stateTransitions.ts
diff --git a/packages/studio-base/src/i18n/en/threeDee.ts b/packages/suite-base/src/i18n/en/threeDee.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/threeDee.ts
rename to packages/suite-base/src/i18n/en/threeDee.ts
diff --git a/packages/studio-base/src/i18n/en/topicList.ts b/packages/suite-base/src/i18n/en/topicList.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/topicList.ts
rename to packages/suite-base/src/i18n/en/topicList.ts
diff --git a/packages/studio-base/src/i18n/en/workspace.ts b/packages/suite-base/src/i18n/en/workspace.ts
similarity index 100%
rename from packages/studio-base/src/i18n/en/workspace.ts
rename to packages/suite-base/src/i18n/en/workspace.ts
diff --git a/packages/studio-base/src/i18n/index.ts b/packages/suite-base/src/i18n/index.ts
similarity index 100%
rename from packages/studio-base/src/i18n/index.ts
rename to packages/suite-base/src/i18n/index.ts
diff --git a/packages/studio-base/src/index.ts b/packages/suite-base/src/index.ts
similarity index 97%
rename from packages/studio-base/src/index.ts
rename to packages/suite-base/src/index.ts
index 7515fc38d8..6291334a7a 100644
--- a/packages/studio-base/src/index.ts
+++ b/packages/suite-base/src/index.ts
@@ -44,7 +44,7 @@ export { default as RemoteDataSourceFactory } from "./dataSources/RemoteDataSour
export { default as VelodyneDataSourceFactory } from "./dataSources/VelodyneDataSourceFactory";
export { default as McapLocalDataSourceFactory } from "./dataSources/McapLocalDataSourceFactory";
export { default as SampleNuscenesDataSourceFactory } from "./dataSources/SampleNuscenesDataSourceFactory";
-export { LaunchPreferenceValue } from "@lichtblick/studio-base/types/LaunchPreferenceValue";
+export { LaunchPreferenceValue } from "@lichtblick/suite-base/types/LaunchPreferenceValue";
export { reportError, setReportErrorHandler } from "./reportError";
export { makeWorkspaceContextInitialState } from "./providers/WorkspaceContextProvider";
export type { AppBarProps } from "./components/AppBar";
diff --git a/packages/studio-base/src/panels/CallService/CallService.tsx b/packages/suite-base/src/panels/CallService/CallService.tsx
similarity index 97%
rename from packages/studio-base/src/panels/CallService/CallService.tsx
rename to packages/suite-base/src/panels/CallService/CallService.tsx
index e14588cfe2..a256ad9ad0 100644
--- a/packages/studio-base/src/panels/CallService/CallService.tsx
+++ b/packages/suite-base/src/panels/CallService/CallService.tsx
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { PanelExtensionContext, SettingsTreeAction } from "@lichtblick/studio";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { Config } from "@lichtblick/studio-base/panels/CallService/types";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
+import { PanelExtensionContext, SettingsTreeAction } from "@lichtblick/suite";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { Config } from "@lichtblick/suite-base/panels/CallService/types";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
import { Button, Palette, TextField, Tooltip, Typography, inputBaseClasses } from "@mui/material";
import { Dispatch, SetStateAction, useCallback, useEffect, useMemo, useState } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/CallService/index.stories.tsx b/packages/suite-base/src/panels/CallService/index.stories.tsx
similarity index 95%
rename from packages/studio-base/src/panels/CallService/index.stories.tsx
rename to packages/suite-base/src/panels/CallService/index.stories.tsx
index 1b44163a23..87404f9683 100644
--- a/packages/studio-base/src/panels/CallService/index.stories.tsx
+++ b/packages/suite-base/src/panels/CallService/index.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import delay from "@lichtblick/studio-base/util/delay";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import delay from "@lichtblick/suite-base/util/delay";
import { expect } from "@storybook/jest";
import { StoryContext, StoryFn, StoryObj } from "@storybook/react";
import { userEvent, within } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/panels/CallService/index.tsx b/packages/suite-base/src/panels/CallService/index.tsx
similarity index 72%
rename from packages/studio-base/src/panels/CallService/index.tsx
rename to packages/suite-base/src/panels/CallService/index.tsx
index 92f1f86e55..754b758494 100644
--- a/packages/studio-base/src/panels/CallService/index.tsx
+++ b/packages/suite-base/src/panels/CallService/index.tsx
@@ -3,12 +3,12 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useCrash } from "@lichtblick/hooks";
-import { PanelExtensionContext } from "@lichtblick/studio";
-import { CaptureErrorBoundary } from "@lichtblick/studio-base/components/CaptureErrorBoundary";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelExtensionAdapter } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { createSyncRoot } from "@lichtblick/studio-base/panels/createSyncRoot";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { PanelExtensionContext } from "@lichtblick/suite";
+import { CaptureErrorBoundary } from "@lichtblick/suite-base/components/CaptureErrorBoundary";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelExtensionAdapter } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { createSyncRoot } from "@lichtblick/suite-base/panels/createSyncRoot";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { StrictMode, useMemo } from "react";
import { CallService } from "./CallService";
diff --git a/packages/studio-base/src/panels/CallService/settings.ts b/packages/suite-base/src/panels/CallService/settings.ts
similarity index 99%
rename from packages/studio-base/src/panels/CallService/settings.ts
rename to packages/suite-base/src/panels/CallService/settings.ts
index 6b5bd0a8f0..da5fd59156 100644
--- a/packages/studio-base/src/panels/CallService/settings.ts
+++ b/packages/suite-base/src/panels/CallService/settings.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useShallowMemo } from "@lichtblick/hooks";
-import { SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/studio";
+import { SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/suite";
import { produce } from "immer";
import * as _ from "lodash-es";
import { useMemo } from "react";
diff --git a/packages/studio-base/src/panels/CallService/types.ts b/packages/suite-base/src/panels/CallService/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/CallService/types.ts
rename to packages/suite-base/src/panels/CallService/types.ts
diff --git a/packages/studio-base/src/panels/DataSourceInfo/index.stories.tsx b/packages/suite-base/src/panels/DataSourceInfo/index.stories.tsx
similarity index 86%
rename from packages/studio-base/src/panels/DataSourceInfo/index.stories.tsx
rename to packages/suite-base/src/panels/DataSourceInfo/index.stories.tsx
index c1f63f16f9..0bb0dff114 100644
--- a/packages/studio-base/src/panels/DataSourceInfo/index.stories.tsx
+++ b/packages/suite-base/src/panels/DataSourceInfo/index.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import DataSourceInfoPanel from "@lichtblick/studio-base/panels/DataSourceInfo";
-import { PlayerPresence, Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import DataSourceInfoPanel from "@lichtblick/suite-base/panels/DataSourceInfo";
+import { PlayerPresence, Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fromDate } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/DataSourceInfo/index.tsx b/packages/suite-base/src/panels/DataSourceInfo/index.tsx
similarity index 86%
rename from packages/studio-base/src/panels/DataSourceInfo/index.tsx
rename to packages/suite-base/src/panels/DataSourceInfo/index.tsx
index b79a999ef5..187937a25d 100644
--- a/packages/studio-base/src/panels/DataSourceInfo/index.tsx
+++ b/packages/suite-base/src/panels/DataSourceInfo/index.tsx
@@ -2,20 +2,20 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import CopyButton from "@lichtblick/studio-base/components/CopyButton";
-import { DirectTopicStatsUpdater } from "@lichtblick/studio-base/components/DirectTopicStatsUpdater";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
+import CopyButton from "@lichtblick/suite-base/components/CopyButton";
+import { DirectTopicStatsUpdater } from "@lichtblick/suite-base/components/DirectTopicStatsUpdater";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Divider, Typography } from "@mui/material";
import { makeStyles } from "tss-react/mui";
-import { Topic } from "@lichtblick/studio-base/src/players/types";
+import { Topic } from "@lichtblick/suite-base/src/players/types";
const useStyles = makeStyles()((theme, _params, classes) => ({
copyIcon: {
diff --git a/packages/studio-base/src/panels/DataSourceInfo/thumbnail.png b/packages/suite-base/src/panels/DataSourceInfo/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/DataSourceInfo/thumbnail.png
rename to packages/suite-base/src/panels/DataSourceInfo/thumbnail.png
diff --git a/packages/studio-base/src/panels/Gauge/Gauge.tsx b/packages/suite-base/src/panels/Gauge/Gauge.tsx
similarity index 97%
rename from packages/studio-base/src/panels/Gauge/Gauge.tsx
rename to packages/suite-base/src/panels/Gauge/Gauge.tsx
index 36b577c731..45725381dc 100644
--- a/packages/studio-base/src/panels/Gauge/Gauge.tsx
+++ b/packages/suite-base/src/panels/Gauge/Gauge.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent, PanelExtensionContext, SettingsTreeAction } from "@lichtblick/studio";
-import { simpleGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
-import { turboColorString } from "@lichtblick/studio-base/util/colorUtils";
+import { MessageEvent, PanelExtensionContext, SettingsTreeAction } from "@lichtblick/suite";
+import { simpleGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
+import { turboColorString } from "@lichtblick/suite-base/util/colorUtils";
import * as _ from "lodash-es";
import { useCallback, useEffect, useLayoutEffect, useReducer, useState } from "react";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/panels/Gauge/index.stories.tsx b/packages/suite-base/src/panels/Gauge/index.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Gauge/index.stories.tsx
rename to packages/suite-base/src/panels/Gauge/index.stories.tsx
index de6903ad40..6266fbca4b 100644
--- a/packages/studio-base/src/panels/Gauge/index.stories.tsx
+++ b/packages/suite-base/src/panels/Gauge/index.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryFn, StoryContext, StoryObj } from "@storybook/react";
import GaugePanel from "./index";
diff --git a/packages/studio-base/src/panels/Gauge/index.tsx b/packages/suite-base/src/panels/Gauge/index.tsx
similarity index 69%
rename from packages/studio-base/src/panels/Gauge/index.tsx
rename to packages/suite-base/src/panels/Gauge/index.tsx
index 966c6e027b..046ec5e1af 100644
--- a/packages/studio-base/src/panels/Gauge/index.tsx
+++ b/packages/suite-base/src/panels/Gauge/index.tsx
@@ -3,13 +3,13 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useCrash } from "@lichtblick/hooks";
-import { PanelExtensionContext } from "@lichtblick/studio";
-import { CaptureErrorBoundary } from "@lichtblick/studio-base/components/CaptureErrorBoundary";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelExtensionAdapter } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { createSyncRoot } from "@lichtblick/studio-base/panels/createSyncRoot";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { PanelExtensionContext } from "@lichtblick/suite";
+import { CaptureErrorBoundary } from "@lichtblick/suite-base/components/CaptureErrorBoundary";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelExtensionAdapter } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { createSyncRoot } from "@lichtblick/suite-base/panels/createSyncRoot";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { StrictMode, useMemo } from "react";
import { Gauge } from "./Gauge";
diff --git a/packages/studio-base/src/panels/Gauge/settings.ts b/packages/suite-base/src/panels/Gauge/settings.ts
similarity index 98%
rename from packages/studio-base/src/panels/Gauge/settings.ts
rename to packages/suite-base/src/panels/Gauge/settings.ts
index 49779de116..797f5bb973 100644
--- a/packages/studio-base/src/panels/Gauge/settings.ts
+++ b/packages/suite-base/src/panels/Gauge/settings.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useShallowMemo } from "@lichtblick/hooks";
-import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/studio";
+import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/suite";
import { produce } from "immer";
import * as _ from "lodash-es";
import { useMemo } from "react";
diff --git a/packages/studio-base/src/panels/Gauge/thumbnail.png b/packages/suite-base/src/panels/Gauge/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Gauge/thumbnail.png
rename to packages/suite-base/src/panels/Gauge/thumbnail.png
diff --git a/packages/studio-base/src/panels/Gauge/types.ts b/packages/suite-base/src/panels/Gauge/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/Gauge/types.ts
rename to packages/suite-base/src/panels/Gauge/types.ts
diff --git a/packages/studio-base/src/panels/Image/index.tsx b/packages/suite-base/src/panels/Image/index.tsx
similarity index 100%
rename from packages/studio-base/src/panels/Image/index.tsx
rename to packages/suite-base/src/panels/Image/index.tsx
diff --git a/packages/studio-base/src/panels/Image/thumbnail.png b/packages/suite-base/src/panels/Image/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Image/thumbnail.png
rename to packages/suite-base/src/panels/Image/thumbnail.png
diff --git a/packages/studio-base/src/panels/Indicator/Indicator.tsx b/packages/suite-base/src/panels/Indicator/Indicator.tsx
similarity index 97%
rename from packages/studio-base/src/panels/Indicator/Indicator.tsx
rename to packages/suite-base/src/panels/Indicator/Indicator.tsx
index a6fff37bf1..f0bf46b674 100644
--- a/packages/studio-base/src/panels/Indicator/Indicator.tsx
+++ b/packages/suite-base/src/panels/Indicator/Indicator.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent, PanelExtensionContext, SettingsTreeAction } from "@lichtblick/studio";
-import { simpleGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import { MessageEvent, PanelExtensionContext, SettingsTreeAction } from "@lichtblick/suite";
+import { simpleGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { Typography } from "@mui/material";
import * as _ from "lodash-es";
import { useCallback, useEffect, useLayoutEffect, useMemo, useReducer, useState } from "react";
diff --git a/packages/studio-base/src/panels/Indicator/getMatchingRule.test.ts b/packages/suite-base/src/panels/Indicator/getMatchingRule.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/Indicator/getMatchingRule.test.ts
rename to packages/suite-base/src/panels/Indicator/getMatchingRule.test.ts
diff --git a/packages/studio-base/src/panels/Indicator/getMatchingRule.ts b/packages/suite-base/src/panels/Indicator/getMatchingRule.ts
similarity index 95%
rename from packages/studio-base/src/panels/Indicator/getMatchingRule.ts
rename to packages/suite-base/src/panels/Indicator/getMatchingRule.ts
index 7565f0c305..2407d817e9 100644
--- a/packages/studio-base/src/panels/Indicator/getMatchingRule.ts
+++ b/packages/suite-base/src/panels/Indicator/getMatchingRule.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { assertNever } from "@lichtblick/studio-base/util/assertNever";
+import { assertNever } from "@lichtblick/suite-base/util/assertNever";
import { Rule } from "./types";
diff --git a/packages/studio-base/src/panels/Indicator/index.stories.tsx b/packages/suite-base/src/panels/Indicator/index.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Indicator/index.stories.tsx
rename to packages/suite-base/src/panels/Indicator/index.stories.tsx
index 640d9ad53e..c36d68f8da 100644
--- a/packages/studio-base/src/panels/Indicator/index.stories.tsx
+++ b/packages/suite-base/src/panels/Indicator/index.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryFn, StoryContext, StoryObj } from "@storybook/react";
import Indicator from "./index";
diff --git a/packages/studio-base/src/panels/Indicator/index.tsx b/packages/suite-base/src/panels/Indicator/index.tsx
similarity index 70%
rename from packages/studio-base/src/panels/Indicator/index.tsx
rename to packages/suite-base/src/panels/Indicator/index.tsx
index 35f3756e89..85144fde36 100644
--- a/packages/studio-base/src/panels/Indicator/index.tsx
+++ b/packages/suite-base/src/panels/Indicator/index.tsx
@@ -3,13 +3,13 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useCrash } from "@lichtblick/hooks";
-import { PanelExtensionContext } from "@lichtblick/studio";
-import { CaptureErrorBoundary } from "@lichtblick/studio-base/components/CaptureErrorBoundary";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelExtensionAdapter } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { createSyncRoot } from "@lichtblick/studio-base/panels/createSyncRoot";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { PanelExtensionContext } from "@lichtblick/suite";
+import { CaptureErrorBoundary } from "@lichtblick/suite-base/components/CaptureErrorBoundary";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelExtensionAdapter } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { createSyncRoot } from "@lichtblick/suite-base/panels/createSyncRoot";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { StrictMode, useMemo } from "react";
import { Indicator } from "./Indicator";
diff --git a/packages/studio-base/src/panels/Indicator/settings.ts b/packages/suite-base/src/panels/Indicator/settings.ts
similarity index 99%
rename from packages/studio-base/src/panels/Indicator/settings.ts
rename to packages/suite-base/src/panels/Indicator/settings.ts
index 68f32ba57e..9f2c5d946a 100644
--- a/packages/studio-base/src/panels/Indicator/settings.ts
+++ b/packages/suite-base/src/panels/Indicator/settings.ts
@@ -8,7 +8,7 @@ import {
SettingsTreeNode,
SettingsTreeNodeAction,
SettingsTreeNodes,
-} from "@lichtblick/studio";
+} from "@lichtblick/suite";
import { produce } from "immer";
import * as _ from "lodash-es";
import memoizeWeak from "memoize-weak";
diff --git a/packages/studio-base/src/panels/Indicator/thumbnail.png b/packages/suite-base/src/panels/Indicator/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Indicator/thumbnail.png
rename to packages/suite-base/src/panels/Indicator/thumbnail.png
diff --git a/packages/studio-base/src/panels/Indicator/types.ts b/packages/suite-base/src/panels/Indicator/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/Indicator/types.ts
rename to packages/suite-base/src/panels/Indicator/types.ts
diff --git a/packages/studio-base/src/panels/Log/FilterTagInput.tsx b/packages/suite-base/src/panels/Log/FilterTagInput.tsx
similarity index 100%
rename from packages/studio-base/src/panels/Log/FilterTagInput.tsx
rename to packages/suite-base/src/panels/Log/FilterTagInput.tsx
diff --git a/packages/studio-base/src/panels/Log/LevelToString.ts b/packages/suite-base/src/panels/Log/LevelToString.ts
similarity index 100%
rename from packages/studio-base/src/panels/Log/LevelToString.ts
rename to packages/suite-base/src/panels/Log/LevelToString.ts
diff --git a/packages/studio-base/src/panels/Log/LogList.tsx b/packages/suite-base/src/panels/Log/LogList.tsx
similarity index 97%
rename from packages/studio-base/src/panels/Log/LogList.tsx
rename to packages/suite-base/src/panels/Log/LogList.tsx
index 3a6dd94948..33dd0aea2c 100644
--- a/packages/studio-base/src/panels/Log/LogList.tsx
+++ b/packages/suite-base/src/panels/Log/LogList.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useAppTimeFormat } from "@lichtblick/studio-base/hooks";
-import { NormalizedLogMessage } from "@lichtblick/studio-base/panels/Log/types";
+import { useAppTimeFormat } from "@lichtblick/suite-base/hooks";
+import { NormalizedLogMessage } from "@lichtblick/suite-base/panels/Log/types";
import DoubleArrowDownIcon from "@mui/icons-material/KeyboardDoubleArrowDown";
import { Fab } from "@mui/material";
import { CSSProperties, useCallback, useEffect, useMemo, useRef, useState } from "react";
diff --git a/packages/studio-base/src/panels/Log/LogMessage.tsx b/packages/suite-base/src/panels/Log/LogMessage.tsx
similarity index 94%
rename from packages/studio-base/src/panels/Log/LogMessage.tsx
rename to packages/suite-base/src/panels/Log/LogMessage.tsx
index 2ccc210cb1..97281dce04 100644
--- a/packages/studio-base/src/panels/Log/LogMessage.tsx
+++ b/packages/suite-base/src/panels/Log/LogMessage.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import useLogStyles from "@lichtblick/studio-base/panels/Log/useLogStyles";
-import { TimeDisplayMethod } from "@lichtblick/studio-base/types/panels";
+import useLogStyles from "@lichtblick/suite-base/panels/Log/useLogStyles";
+import { TimeDisplayMethod } from "@lichtblick/suite-base/types/panels";
import * as _ from "lodash-es";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/Log/Stamp.tsx b/packages/suite-base/src/panels/Log/Stamp.tsx
similarity index 86%
rename from packages/studio-base/src/panels/Log/Stamp.tsx
rename to packages/suite-base/src/panels/Log/Stamp.tsx
index 9a4b310b52..fe75ad94fc 100644
--- a/packages/studio-base/src/panels/Log/Stamp.tsx
+++ b/packages/suite-base/src/panels/Log/Stamp.tsx
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Time } from "@lichtblick/studio";
-import { TimeDisplayMethod } from "@lichtblick/studio-base/types/panels";
-import { formatTime } from "@lichtblick/studio-base/util/formatTime";
+import { Time } from "@lichtblick/suite";
+import { TimeDisplayMethod } from "@lichtblick/suite-base/types/panels";
+import { formatTime } from "@lichtblick/suite-base/util/formatTime";
import * as _ from "lodash-es";
// pad the start of `val` with 0's to make the total string length `count` size
diff --git a/packages/studio-base/src/panels/Log/conversion.tsx b/packages/suite-base/src/panels/Log/conversion.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Log/conversion.tsx
rename to packages/suite-base/src/panels/Log/conversion.tsx
index 902442c41d..53bc52625f 100644
--- a/packages/studio-base/src/panels/Log/conversion.tsx
+++ b/packages/suite-base/src/panels/Log/conversion.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Time } from "@lichtblick/studio";
+import { Time } from "@lichtblick/suite";
import { fromNanoSec } from "@foxglove/rostime";
import { Log as FoxgloveLog } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/Log/filterMessages.test.ts b/packages/suite-base/src/panels/Log/filterMessages.test.ts
similarity index 98%
rename from packages/studio-base/src/panels/Log/filterMessages.test.ts
rename to packages/suite-base/src/panels/Log/filterMessages.test.ts
index f392cf8d59..8d6a009685 100644
--- a/packages/studio-base/src/panels/Log/filterMessages.test.ts
+++ b/packages/suite-base/src/panels/Log/filterMessages.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
import filterMessages from "./filterMessages";
import { LogLevel, Ros1RosgraphMsgs$Log, Ros2RosgraphMsgs$Log } from "./types";
diff --git a/packages/studio-base/src/panels/Log/filterMessages.ts b/packages/suite-base/src/panels/Log/filterMessages.ts
similarity index 95%
rename from packages/studio-base/src/panels/Log/filterMessages.ts
rename to packages/suite-base/src/panels/Log/filterMessages.ts
index b8ecae3b1d..faf8dcc365 100644
--- a/packages/studio-base/src/panels/Log/filterMessages.ts
+++ b/packages/suite-base/src/panels/Log/filterMessages.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import { getNormalizedMessage, getNormalizedLevel } from "./conversion";
import { LogMessageEvent } from "./types";
diff --git a/packages/studio-base/src/panels/Log/index.stories.tsx b/packages/suite-base/src/panels/Log/index.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Log/index.stories.tsx
rename to packages/suite-base/src/panels/Log/index.stories.tsx
index e5adc3a679..a91fd608f0 100644
--- a/packages/studio-base/src/panels/Log/index.stories.tsx
+++ b/packages/suite-base/src/panels/Log/index.stories.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Log from "@lichtblick/studio-base/panels/Log";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import Log from "@lichtblick/suite-base/panels/Log";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/Log/index.tsx b/packages/suite-base/src/panels/Log/index.tsx
similarity index 90%
rename from packages/studio-base/src/panels/Log/index.tsx
rename to packages/suite-base/src/panels/Log/index.tsx
index 4276542763..7c2a04a1f6 100644
--- a/packages/studio-base/src/panels/Log/index.tsx
+++ b/packages/suite-base/src/panels/Log/index.tsx
@@ -11,15 +11,15 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { SettingsTreeAction } from "@lichtblick/studio";
-import { useDataSourceInfo, useMessagesByTopic } from "@lichtblick/studio-base/PanelAPI";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { FilterTagInput } from "@lichtblick/studio-base/panels/Log/FilterTagInput";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+import { SettingsTreeAction } from "@lichtblick/suite";
+import { useDataSourceInfo, useMessagesByTopic } from "@lichtblick/suite-base/PanelAPI";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { FilterTagInput } from "@lichtblick/suite-base/panels/Log/FilterTagInput";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import { Divider } from "@mui/material";
import { produce } from "immer";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/Log/settings.ts b/packages/suite-base/src/panels/Log/settings.ts
similarity index 96%
rename from packages/studio-base/src/panels/Log/settings.ts
rename to packages/suite-base/src/panels/Log/settings.ts
index 2cba3412d2..3f17e7d4da 100644
--- a/packages/studio-base/src/panels/Log/settings.ts
+++ b/packages/suite-base/src/panels/Log/settings.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeChildren, SettingsTreeNodes } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
+import { SettingsTreeChildren, SettingsTreeNodes } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
import { TFunction } from "i18next";
import { LogLevel } from "./types";
diff --git a/packages/studio-base/src/panels/Log/thumbnail.png b/packages/suite-base/src/panels/Log/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Log/thumbnail.png
rename to packages/suite-base/src/panels/Log/thumbnail.png
diff --git a/packages/studio-base/src/panels/Log/types.ts b/packages/suite-base/src/panels/Log/types.ts
similarity index 90%
rename from packages/studio-base/src/panels/Log/types.ts
rename to packages/suite-base/src/panels/Log/types.ts
index 0cc41bc217..c59ae66708 100644
--- a/packages/studio-base/src/panels/Log/types.ts
+++ b/packages/suite-base/src/panels/Log/types.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Time, MessageEvent } from "@lichtblick/studio";
-import { Header } from "@lichtblick/studio-base/types/Messages";
+import { Time, MessageEvent } from "@lichtblick/suite";
+import { Header } from "@lichtblick/suite-base/types/Messages";
import { Log as FoxgloveLog } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/Log/useLogStyles.ts b/packages/suite-base/src/panels/Log/useLogStyles.ts
similarity index 100%
rename from packages/studio-base/src/panels/Log/useLogStyles.ts
rename to packages/suite-base/src/panels/Log/useLogStyles.ts
diff --git a/packages/studio-base/src/panels/Map/FilteredPointLayer.ts b/packages/suite-base/src/panels/Map/FilteredPointLayer.ts
similarity index 97%
rename from packages/studio-base/src/panels/Map/FilteredPointLayer.ts
rename to packages/suite-base/src/panels/Map/FilteredPointLayer.ts
index 4f455edeba..9885b3508e 100644
--- a/packages/studio-base/src/panels/Map/FilteredPointLayer.ts
+++ b/packages/suite-base/src/panels/Map/FilteredPointLayer.ts
@@ -1,7 +1,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
import { Map, LatLngBounds, FeatureGroup, CircleMarker, PathOptions, Ellipse } from "leaflet";
import "leaflet-ellipse";
diff --git a/packages/studio-base/src/panels/Map/MapPanel.tsx b/packages/suite-base/src/panels/Map/MapPanel.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Map/MapPanel.tsx
rename to packages/suite-base/src/panels/Map/MapPanel.tsx
index 87d6d8299f..2db22c05ab 100644
--- a/packages/studio-base/src/panels/Map/MapPanel.tsx
+++ b/packages/suite-base/src/panels/Map/MapPanel.tsx
@@ -9,14 +9,14 @@ import {
SettingsTreeAction,
Subscription,
Topic,
-} from "@lichtblick/studio";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Stack from "@lichtblick/studio-base/components/Stack";
+} from "@lichtblick/suite";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Stack from "@lichtblick/suite-base/components/Stack";
import FilteredPointLayer, {
POINT_MARKER_RADIUS,
-} from "@lichtblick/studio-base/panels/Map/FilteredPointLayer";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
-import { darkColor, lightColor, lineColors } from "@lichtblick/studio-base/util/plotColors";
+} from "@lichtblick/suite-base/panels/Map/FilteredPointLayer";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
+import { darkColor, lightColor, lineColors } from "@lichtblick/suite-base/util/plotColors";
import { Feature } from "geojson";
import { produce } from "immer";
import {
diff --git a/packages/studio-base/src/panels/Map/config.ts b/packages/suite-base/src/panels/Map/config.ts
similarity index 99%
rename from packages/studio-base/src/panels/Map/config.ts
rename to packages/suite-base/src/panels/Map/config.ts
index 8a9451b9d6..7b0ba14316 100644
--- a/packages/studio-base/src/panels/Map/config.ts
+++ b/packages/suite-base/src/panels/Map/config.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { SettingsTreeFields, SettingsTreeNodes, Topic } from "@lichtblick/studio";
+import { SettingsTreeFields, SettingsTreeNodes, Topic } from "@lichtblick/suite";
import * as _ from "lodash-es";
// Persisted panel state
diff --git a/packages/studio-base/src/panels/Map/getAccuracy.test.ts b/packages/suite-base/src/panels/Map/getAccuracy.test.ts
similarity index 96%
rename from packages/studio-base/src/panels/Map/getAccuracy.test.ts
rename to packages/suite-base/src/panels/Map/getAccuracy.test.ts
index 2617034eca..352960897c 100644
--- a/packages/studio-base/src/panels/Map/getAccuracy.test.ts
+++ b/packages/suite-base/src/panels/Map/getAccuracy.test.ts
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { getAccuracy } from "@lichtblick/studio-base/panels/Map/getAccuracy";
+import { getAccuracy } from "@lichtblick/suite-base/panels/Map/getAccuracy";
import {
NavSatFixMsg,
NavSatFixPositionCovarianceType,
-} from "@lichtblick/studio-base/panels/Map/types";
+} from "@lichtblick/suite-base/panels/Map/types";
describe("getAccuracy", () => {
const position = {
diff --git a/packages/studio-base/src/panels/Map/getAccuracy.ts b/packages/suite-base/src/panels/Map/getAccuracy.ts
similarity index 98%
rename from packages/studio-base/src/panels/Map/getAccuracy.ts
rename to packages/suite-base/src/panels/Map/getAccuracy.ts
index e30da84498..f438a62837 100644
--- a/packages/studio-base/src/panels/Map/getAccuracy.ts
+++ b/packages/suite-base/src/panels/Map/getAccuracy.ts
@@ -5,7 +5,7 @@
import {
NavSatFixMsg,
NavSatFixPositionCovarianceType,
-} from "@lichtblick/studio-base/panels/Map/types";
+} from "@lichtblick/suite-base/panels/Map/types";
import { MathNumericType, atan2, eigs, isNumber } from "mathjs";
type NumericPair = [MathNumericType, MathNumericType];
diff --git a/packages/studio-base/src/panels/Map/index.stories.tsx b/packages/suite-base/src/panels/Map/index.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Map/index.stories.tsx
rename to packages/suite-base/src/panels/Map/index.stories.tsx
index 6e210ef82b..61edef9352 100644
--- a/packages/studio-base/src/panels/Map/index.stories.tsx
+++ b/packages/suite-base/src/panels/Map/index.stories.tsx
@@ -7,9 +7,9 @@ import {
NavSatFixPositionCovarianceType,
NavSatFixService,
NavSatFixStatus,
-} from "@lichtblick/studio-base/panels/Map/types";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+} from "@lichtblick/suite-base/panels/Map/types";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryFn, StoryContext, StoryObj } from "@storybook/react";
import { userEvent } from "@storybook/testing-library";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/Map/index.tsx b/packages/suite-base/src/panels/Map/index.tsx
similarity index 78%
rename from packages/studio-base/src/panels/Map/index.tsx
rename to packages/suite-base/src/panels/Map/index.tsx
index 73fc12db1f..82a934fdd4 100644
--- a/packages/studio-base/src/panels/Map/index.tsx
+++ b/packages/suite-base/src/panels/Map/index.tsx
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useCrash } from "@lichtblick/hooks";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelExtensionAdapter } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelExtensionAdapter } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { useMemo } from "react";
import { initPanel } from "./initPanel";
diff --git a/packages/studio-base/src/panels/Map/initPanel.tsx b/packages/suite-base/src/panels/Map/initPanel.tsx
similarity index 83%
rename from packages/studio-base/src/panels/Map/initPanel.tsx
rename to packages/suite-base/src/panels/Map/initPanel.tsx
index 78a26d2ed9..2cac333bd7 100644
--- a/packages/studio-base/src/panels/Map/initPanel.tsx
+++ b/packages/suite-base/src/panels/Map/initPanel.tsx
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useCrash } from "@lichtblick/hooks";
-import { PanelExtensionContext } from "@lichtblick/studio";
-import { CaptureErrorBoundary } from "@lichtblick/studio-base/components/CaptureErrorBoundary";
-import { createSyncRoot } from "@lichtblick/studio-base/panels/createSyncRoot";
+import { PanelExtensionContext } from "@lichtblick/suite";
+import { CaptureErrorBoundary } from "@lichtblick/suite-base/components/CaptureErrorBoundary";
+import { createSyncRoot } from "@lichtblick/suite-base/panels/createSyncRoot";
import L from "leaflet";
import LeafletRetinaIconUrl from "leaflet/dist/images/marker-icon-2x.png";
import LeafletIconUrl from "leaflet/dist/images/marker-icon.png";
diff --git a/packages/studio-base/src/panels/Map/support.ts b/packages/suite-base/src/panels/Map/support.ts
similarity index 96%
rename from packages/studio-base/src/panels/Map/support.ts
rename to packages/suite-base/src/panels/Map/support.ts
index 0a4a3139bb..65bdac7ac2 100644
--- a/packages/studio-base/src/panels/Map/support.ts
+++ b/packages/suite-base/src/panels/Map/support.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { FoxgloveMessages } from "@lichtblick/studio-base/types/FoxgloveMessages";
+import { MessageEvent } from "@lichtblick/suite";
+import { FoxgloveMessages } from "@lichtblick/suite-base/types/FoxgloveMessages";
import { Feature, FeatureCollection, GeoJsonObject } from "geojson";
import { PathOptions, geoJSON } from "leaflet";
diff --git a/packages/studio-base/src/panels/Map/thumbnail.png b/packages/suite-base/src/panels/Map/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Map/thumbnail.png
rename to packages/suite-base/src/panels/Map/thumbnail.png
diff --git a/packages/studio-base/src/panels/Map/types.ts b/packages/suite-base/src/panels/Map/types.ts
similarity index 91%
rename from packages/studio-base/src/panels/Map/types.ts
rename to packages/suite-base/src/panels/Map/types.ts
index ae729d2931..b25351b343 100644
--- a/packages/studio-base/src/panels/Map/types.ts
+++ b/packages/suite-base/src/panels/Map/types.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { FoxgloveMessages } from "@lichtblick/studio-base/types/FoxgloveMessages";
+import { MessageEvent } from "@lichtblick/suite";
+import { FoxgloveMessages } from "@lichtblick/suite-base/types/FoxgloveMessages";
export type Point = {
lat: number;
diff --git a/packages/studio-base/src/panels/Parameters/index.stories.tsx b/packages/suite-base/src/panels/Parameters/index.stories.tsx
similarity index 92%
rename from packages/studio-base/src/panels/Parameters/index.stories.tsx
rename to packages/suite-base/src/panels/Parameters/index.stories.tsx
index cc0ee46e17..b86852c086 100644
--- a/packages/studio-base/src/panels/Parameters/index.stories.tsx
+++ b/packages/suite-base/src/panels/Parameters/index.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ParameterValue } from "@lichtblick/studio";
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { ParameterValue } from "@lichtblick/suite";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { useState } from "react";
diff --git a/packages/studio-base/src/panels/Parameters/index.tsx b/packages/suite-base/src/panels/Parameters/index.tsx
similarity index 93%
rename from packages/studio-base/src/panels/Parameters/index.tsx
rename to packages/suite-base/src/panels/Parameters/index.tsx
index 8d88f27409..e8d80cd502 100644
--- a/packages/studio-base/src/panels/Parameters/index.tsx
+++ b/packages/suite-base/src/panels/Parameters/index.tsx
@@ -11,18 +11,18 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { ParameterValue } from "@lichtblick/studio";
-import CopyButton from "@lichtblick/studio-base/components/CopyButton";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import JsonInput from "@lichtblick/studio-base/components/JsonInput";
+import { ParameterValue } from "@lichtblick/suite";
+import CopyButton from "@lichtblick/suite-base/components/CopyButton";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import JsonInput from "@lichtblick/suite-base/components/JsonInput";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
import CheckIcon from "@mui/icons-material/Check";
import ClearIcon from "@mui/icons-material/Clear";
import {
diff --git a/packages/studio-base/src/panels/Parameters/thumbnail.png b/packages/suite-base/src/panels/Parameters/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Parameters/thumbnail.png
rename to packages/suite-base/src/panels/Parameters/thumbnail.png
diff --git a/packages/studio-base/src/panels/PlaybackPerformance/index.stories.tsx b/packages/suite-base/src/panels/PlaybackPerformance/index.stories.tsx
similarity index 92%
rename from packages/studio-base/src/panels/PlaybackPerformance/index.stories.tsx
rename to packages/suite-base/src/panels/PlaybackPerformance/index.stories.tsx
index 1bbc8000c4..f4817ecec1 100644
--- a/packages/studio-base/src/panels/PlaybackPerformance/index.stories.tsx
+++ b/packages/suite-base/src/panels/PlaybackPerformance/index.stories.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import PlaybackPerformance from "./index";
diff --git a/packages/studio-base/src/panels/PlaybackPerformance/index.tsx b/packages/suite-base/src/panels/PlaybackPerformance/index.tsx
similarity index 90%
rename from packages/studio-base/src/panels/PlaybackPerformance/index.tsx
rename to packages/suite-base/src/panels/PlaybackPerformance/index.tsx
index 5a49fbae54..de311f4c60 100644
--- a/packages/studio-base/src/panels/PlaybackPerformance/index.tsx
+++ b/packages/suite-base/src/panels/PlaybackPerformance/index.tsx
@@ -11,13 +11,13 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import { useMessagePipeline } from "@lichtblick/studio-base/components/MessagePipeline";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import { Sparkline, SparklinePoint } from "@lichtblick/studio-base/components/Sparkline";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { PlayerStateActiveData } from "@lichtblick/studio-base/players/types";
+import { Immutable } from "@lichtblick/suite";
+import { useMessagePipeline } from "@lichtblick/suite-base/components/MessagePipeline";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import { Sparkline, SparklinePoint } from "@lichtblick/suite-base/components/Sparkline";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { PlayerStateActiveData } from "@lichtblick/suite-base/players/types";
import { Typography } from "@mui/material";
import * as _ from "lodash-es";
import { ReactElement } from "react";
diff --git a/packages/studio-base/src/panels/Plot/ChartRenderer.ts b/packages/suite-base/src/panels/Plot/ChartRenderer.ts
similarity index 98%
rename from packages/studio-base/src/panels/Plot/ChartRenderer.ts
rename to packages/suite-base/src/panels/Plot/ChartRenderer.ts
index f5d828d25f..5eea922dc7 100644
--- a/packages/studio-base/src/panels/Plot/ChartRenderer.ts
+++ b/packages/suite-base/src/panels/Plot/ChartRenderer.ts
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { unwrap } from "@lichtblick/den/monads";
-import { Immutable } from "@lichtblick/studio";
-import { Bounds, Bounds1D } from "@lichtblick/studio-base/types/Bounds";
-import { maybeCast } from "@lichtblick/studio-base/util/maybeCast";
+import { Immutable } from "@lichtblick/suite";
+import { Bounds, Bounds1D } from "@lichtblick/suite-base/types/Bounds";
+import { maybeCast } from "@lichtblick/suite-base/util/maybeCast";
import { Chart, ChartDataset, ChartOptions, ScatterDataPoint } from "chart.js";
import { AnnotationOptions } from "chartjs-plugin-annotation";
import EventEmitter from "eventemitter3";
diff --git a/packages/studio-base/src/panels/Plot/ChartRenderer.worker.ts b/packages/suite-base/src/panels/Plot/ChartRenderer.worker.ts
similarity index 97%
rename from packages/studio-base/src/panels/Plot/ChartRenderer.worker.ts
rename to packages/suite-base/src/panels/Plot/ChartRenderer.worker.ts
index 686b6d5c25..f9edd5c873 100644
--- a/packages/studio-base/src/panels/Plot/ChartRenderer.worker.ts
+++ b/packages/suite-base/src/panels/Plot/ChartRenderer.worker.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import PlexMono from "@lichtblick/studio-base/styles/assets/PlexMono.woff2";
+import PlexMono from "@lichtblick/suite-base/styles/assets/PlexMono.woff2";
import {
CategoryScale,
Chart,
diff --git a/packages/studio-base/src/panels/Plot/OffscreenCanvasRenderer.ts b/packages/suite-base/src/panels/Plot/OffscreenCanvasRenderer.ts
similarity index 95%
rename from packages/studio-base/src/panels/Plot/OffscreenCanvasRenderer.ts
rename to packages/suite-base/src/panels/Plot/OffscreenCanvasRenderer.ts
index 2b28625054..a1665cd239 100644
--- a/packages/studio-base/src/panels/Plot/OffscreenCanvasRenderer.ts
+++ b/packages/suite-base/src/panels/Plot/OffscreenCanvasRenderer.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ComlinkWrap } from "@lichtblick/den/worker";
-import { Immutable } from "@lichtblick/studio";
-import { Bounds } from "@lichtblick/studio-base/types/Bounds";
+import { Immutable } from "@lichtblick/suite";
+import { Bounds } from "@lichtblick/suite-base/types/Bounds";
import type { Theme } from "@mui/material";
import * as Comlink from "comlink";
diff --git a/packages/studio-base/src/panels/Plot/Plot.tsx b/packages/suite-base/src/panels/Plot/Plot.tsx
similarity index 94%
rename from packages/studio-base/src/panels/Plot/Plot.tsx
rename to packages/suite-base/src/panels/Plot/Plot.tsx
index 66c5a79e38..811a554d13 100644
--- a/packages/studio-base/src/panels/Plot/Plot.tsx
+++ b/packages/suite-base/src/panels/Plot/Plot.tsx
@@ -4,40 +4,40 @@
import { debouncePromise } from "@lichtblick/den/async";
import { filterMap } from "@lichtblick/den/collection";
-import { Immutable } from "@lichtblick/studio";
-import KeyListener from "@lichtblick/studio-base/components/KeyListener";
-import { fillInGlobalVariablesInPath } from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import { Immutable } from "@lichtblick/suite";
+import KeyListener from "@lichtblick/suite-base/components/KeyListener";
+import { fillInGlobalVariablesInPath } from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
import {
MessagePipelineContext,
useMessagePipeline,
useMessagePipelineGetter,
useMessagePipelineSubscribe,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
import {
PanelContextMenu,
PanelContextMenuItem,
-} from "@lichtblick/studio-base/components/PanelContextMenu";
+} from "@lichtblick/suite-base/components/PanelContextMenu";
import PanelToolbar, {
PANEL_TOOLBAR_MIN_HEIGHT,
-} from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
+} from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
import TimeBasedChartTooltipContent, {
TimeBasedChartTooltipData,
-} from "@lichtblick/studio-base/components/TimeBasedChart/TimeBasedChartTooltipContent";
-import { Bounds1D } from "@lichtblick/studio-base/components/TimeBasedChart/types";
+} from "@lichtblick/suite-base/components/TimeBasedChart/TimeBasedChartTooltipContent";
+import { Bounds1D } from "@lichtblick/suite-base/components/TimeBasedChart/types";
import {
TimelineInteractionStateStore,
useClearHoverValue,
useSetHoverValue,
useTimelineInteractionState,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import useGlobalVariables from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { VerticalBars } from "@lichtblick/studio-base/panels/Plot/VerticalBars";
-import { SubscribePayload } from "@lichtblick/studio-base/players/types";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { PANEL_TITLE_CONFIG_KEY } from "@lichtblick/studio-base/util/layout";
-import { getLineColor } from "@lichtblick/studio-base/util/plotColors";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import useGlobalVariables from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { VerticalBars } from "@lichtblick/suite-base/panels/Plot/VerticalBars";
+import { SubscribePayload } from "@lichtblick/suite-base/players/types";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { PANEL_TITLE_CONFIG_KEY } from "@lichtblick/suite-base/util/layout";
+import { getLineColor } from "@lichtblick/suite-base/util/plotColors";
import { Button, Tooltip, Fade, buttonClasses, useTheme } from "@mui/material";
import Hammer from "hammerjs";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/Plot/PlotCoordinator.ts b/packages/suite-base/src/panels/Plot/PlotCoordinator.ts
similarity index 95%
rename from packages/studio-base/src/panels/Plot/PlotCoordinator.ts
rename to packages/suite-base/src/panels/Plot/PlotCoordinator.ts
index 5cd567228d..e7d602126c 100644
--- a/packages/studio-base/src/panels/Plot/PlotCoordinator.ts
+++ b/packages/suite-base/src/panels/Plot/PlotCoordinator.ts
@@ -4,16 +4,16 @@
import { debouncePromise } from "@lichtblick/den/async";
import { filterMap } from "@lichtblick/den/collection";
-import { Immutable, Time } from "@lichtblick/studio";
-import { simpleGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
-import { stringifyMessagePath } from "@lichtblick/studio-base/components/MessagePathSyntax/stringifyRosPath";
-import { fillInGlobalVariablesInPath } from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
-import { Bounds1D } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { MessageBlock, PlayerState } from "@lichtblick/studio-base/players/types";
-import { Bounds } from "@lichtblick/studio-base/types/Bounds";
-import delay from "@lichtblick/studio-base/util/delay";
-import { getContrastColor, getLineColor } from "@lichtblick/studio-base/util/plotColors";
+import { Immutable, Time } from "@lichtblick/suite";
+import { simpleGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
+import { stringifyMessagePath } from "@lichtblick/suite-base/components/MessagePathSyntax/stringifyRosPath";
+import { fillInGlobalVariablesInPath } from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import { Bounds1D } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { MessageBlock, PlayerState } from "@lichtblick/suite-base/players/types";
+import { Bounds } from "@lichtblick/suite-base/types/Bounds";
+import delay from "@lichtblick/suite-base/util/delay";
+import { getContrastColor, getLineColor } from "@lichtblick/suite-base/util/plotColors";
import EventEmitter from "eventemitter3";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/Plot/PlotLegend.tsx b/packages/suite-base/src/panels/Plot/PlotLegend.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Plot/PlotLegend.tsx
rename to packages/suite-base/src/panels/Plot/PlotLegend.tsx
index 413fa2f933..adf2258ccd 100644
--- a/packages/studio-base/src/panels/Plot/PlotLegend.tsx
+++ b/packages/suite-base/src/panels/Plot/PlotLegend.tsx
@@ -10,8 +10,8 @@ import {
TextBulletListLtr20Filled,
ArrowMinimize20Filled,
} from "@fluentui/react-icons";
-import { Immutable } from "@lichtblick/studio";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { Immutable } from "@lichtblick/suite";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { IconButton } from "@mui/material";
import * as _ from "lodash-es";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
diff --git a/packages/studio-base/src/panels/Plot/PlotLegendRow.tsx b/packages/suite-base/src/panels/Plot/PlotLegendRow.tsx
similarity index 94%
rename from packages/studio-base/src/panels/Plot/PlotLegendRow.tsx
rename to packages/suite-base/src/panels/Plot/PlotLegendRow.tsx
index abc86caf32..08fc77bfbe 100644
--- a/packages/studio-base/src/panels/Plot/PlotLegendRow.tsx
+++ b/packages/suite-base/src/panels/Plot/PlotLegendRow.tsx
@@ -9,11 +9,11 @@ import {
Square12Filled,
Square12Regular,
} from "@fluentui/react-icons";
-import { Immutable } from "@lichtblick/studio";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import { useSelectedPanels } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { getLineColor } from "@lichtblick/studio-base/util/plotColors";
+import { Immutable } from "@lichtblick/suite";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import { useSelectedPanels } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { getLineColor } from "@lichtblick/suite-base/util/plotColors";
import { ButtonBase, Checkbox, Tooltip, Typography, buttonBaseClasses } from "@mui/material";
import { MouseEventHandler } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/panels/Plot/VerticalBars.tsx b/packages/suite-base/src/panels/Plot/VerticalBars.tsx
similarity index 96%
rename from packages/studio-base/src/panels/Plot/VerticalBars.tsx
rename to packages/suite-base/src/panels/Plot/VerticalBars.tsx
index fc5e22e04b..21b3a33781 100644
--- a/packages/studio-base/src/panels/Plot/VerticalBars.tsx
+++ b/packages/suite-base/src/panels/Plot/VerticalBars.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { useMessagePipelineSubscribe } from "@lichtblick/studio-base/components/MessagePipeline";
-import { useHoverValue } from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
+import { useMessagePipelineSubscribe } from "@lichtblick/suite-base/components/MessagePipeline";
+import { useHoverValue } from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
import { useCallback, useEffect, useLayoutEffect, useRef } from "react";
import { useLatest } from "react-use";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/Plot/builders/BlockTopicCursor.test.ts b/packages/suite-base/src/panels/Plot/builders/BlockTopicCursor.test.ts
similarity index 99%
rename from packages/studio-base/src/panels/Plot/builders/BlockTopicCursor.test.ts
rename to packages/suite-base/src/panels/Plot/builders/BlockTopicCursor.test.ts
index 083b2dcff5..6348331673 100644
--- a/packages/studio-base/src/panels/Plot/builders/BlockTopicCursor.test.ts
+++ b/packages/suite-base/src/panels/Plot/builders/BlockTopicCursor.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
import * as _ from "lodash-es";
import { BlockTopicCursor } from "./BlockTopicCursor";
diff --git a/packages/studio-base/src/panels/Plot/builders/BlockTopicCursor.ts b/packages/suite-base/src/panels/Plot/builders/BlockTopicCursor.ts
similarity index 93%
rename from packages/studio-base/src/panels/Plot/builders/BlockTopicCursor.ts
rename to packages/suite-base/src/panels/Plot/builders/BlockTopicCursor.ts
index 0a9c3862e3..b35cde2126 100644
--- a/packages/studio-base/src/panels/Plot/builders/BlockTopicCursor.ts
+++ b/packages/suite-base/src/panels/Plot/builders/BlockTopicCursor.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, MessageEvent } from "@lichtblick/studio";
-import { MessageBlock } from "@lichtblick/studio-base/players/types";
+import { Immutable, MessageEvent } from "@lichtblick/suite";
+import { MessageBlock } from "@lichtblick/suite-base/players/types";
/**
* BlockTopicCursor tracks the last seen block messages for a given topic and can produce the next
diff --git a/packages/studio-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.test.ts b/packages/suite-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.test.ts
similarity index 99%
rename from packages/studio-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.test.ts
rename to packages/suite-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.test.ts
index 7ab50a4356..edb1690f19 100644
--- a/packages/studio-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.test.ts
+++ b/packages/suite-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.test.ts
@@ -8,7 +8,7 @@ import {
PlayerPresence,
PlayerState,
PlayerStateActiveData,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import { parseMessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.ts b/packages/suite-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.ts
similarity index 96%
rename from packages/studio-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.ts
rename to packages/suite-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.ts
index c76e705418..4ad60a729c 100644
--- a/packages/studio-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.ts
+++ b/packages/suite-base/src/panels/Plot/builders/CurrentCustomDatasetsBuilder.ts
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { Immutable, Time, MessageEvent } from "@lichtblick/studio";
-import { simpleGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
-import { PlayerState } from "@lichtblick/studio-base/players/types";
+import { Immutable, Time, MessageEvent } from "@lichtblick/suite";
+import { simpleGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
+import { PlayerState } from "@lichtblick/suite-base/players/types";
import { ChartDataset } from "chart.js";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilder.test.ts b/packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilder.test.ts
similarity index 99%
rename from packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilder.test.ts
rename to packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilder.test.ts
index e22cff7e9e..b6fe376353 100644
--- a/packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilder.test.ts
+++ b/packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilder.test.ts
@@ -4,13 +4,13 @@
import { unwrap } from "@lichtblick/den/monads";
import { makeComlinkWorkerMock } from "@lichtblick/den/testing";
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
import {
MessageBlock,
PlayerPresence,
PlayerState,
PlayerStateActiveData,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import { parseMessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilder.ts b/packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilder.ts
similarity index 95%
rename from packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilder.ts
rename to packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilder.ts
index f6c2640325..1f96d3b2ac 100644
--- a/packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilder.ts
+++ b/packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilder.ts
@@ -3,11 +3,11 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ComlinkWrap } from "@lichtblick/den/worker";
-import { Immutable, MessageEvent } from "@lichtblick/studio";
-import { simpleGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
-import { Bounds1D } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import { PlayerState } from "@lichtblick/studio-base/players/types";
-import { extendBounds1D, unionBounds1D } from "@lichtblick/studio-base/types/Bounds";
+import { Immutable, MessageEvent } from "@lichtblick/suite";
+import { simpleGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
+import { Bounds1D } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import { PlayerState } from "@lichtblick/suite-base/players/types";
+import { extendBounds1D, unionBounds1D } from "@lichtblick/suite-base/types/Bounds";
import * as Comlink from "comlink";
import { MessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.ts b/packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.ts
similarity index 97%
rename from packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.ts
rename to packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.ts
index b2d1fc5358..40c3e331bc 100644
--- a/packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.ts
+++ b/packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.ts
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, Time } from "@lichtblick/studio";
-import { downsampleScatter } from "@lichtblick/studio-base/components/TimeBasedChart/downsample";
-import { Bounds1D } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import { extendBounds1D } from "@lichtblick/studio-base/types/Bounds";
+import { Immutable, Time } from "@lichtblick/suite";
+import { downsampleScatter } from "@lichtblick/suite-base/components/TimeBasedChart/downsample";
+import { Bounds1D } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import { extendBounds1D } from "@lichtblick/suite-base/types/Bounds";
import { compare } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.worker.ts b/packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.worker.ts
similarity index 100%
rename from packages/studio-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.worker.ts
rename to packages/suite-base/src/panels/Plot/builders/CustomDatasetsBuilderImpl.worker.ts
diff --git a/packages/studio-base/src/panels/Plot/builders/IDatasetsBuilder.ts b/packages/suite-base/src/panels/Plot/builders/IDatasetsBuilder.ts
similarity index 92%
rename from packages/studio-base/src/panels/Plot/builders/IDatasetsBuilder.ts
rename to packages/suite-base/src/panels/Plot/builders/IDatasetsBuilder.ts
index 68bae4ff45..461a320ae7 100644
--- a/packages/studio-base/src/panels/Plot/builders/IDatasetsBuilder.ts
+++ b/packages/suite-base/src/panels/Plot/builders/IDatasetsBuilder.ts
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { Immutable, Time } from "@lichtblick/studio";
-import type { Bounds1D } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import type { MessageBlock, PlayerState } from "@lichtblick/studio-base/players/types";
-import { TimestampMethod } from "@lichtblick/studio-base/util/time";
+import type { Immutable, Time } from "@lichtblick/suite";
+import type { Bounds1D } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import type { MessageBlock, PlayerState } from "@lichtblick/suite-base/players/types";
+import { TimestampMethod } from "@lichtblick/suite-base/util/time";
import { Opaque } from "ts-essentials";
import { MessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/IndexDatasetsBuilder.test.ts b/packages/suite-base/src/panels/Plot/builders/IndexDatasetsBuilder.test.ts
similarity index 99%
rename from packages/studio-base/src/panels/Plot/builders/IndexDatasetsBuilder.test.ts
rename to packages/suite-base/src/panels/Plot/builders/IndexDatasetsBuilder.test.ts
index 6cd887fc5b..1969f94f98 100644
--- a/packages/studio-base/src/panels/Plot/builders/IndexDatasetsBuilder.test.ts
+++ b/packages/suite-base/src/panels/Plot/builders/IndexDatasetsBuilder.test.ts
@@ -8,7 +8,7 @@ import {
PlayerPresence,
PlayerState,
PlayerStateActiveData,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import { parseMessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/IndexDatasetsBuilder.ts b/packages/suite-base/src/panels/Plot/builders/IndexDatasetsBuilder.ts
similarity index 93%
rename from packages/studio-base/src/panels/Plot/builders/IndexDatasetsBuilder.ts
rename to packages/suite-base/src/panels/Plot/builders/IndexDatasetsBuilder.ts
index 0d0fb7bcf1..ac6743ec61 100644
--- a/packages/studio-base/src/panels/Plot/builders/IndexDatasetsBuilder.ts
+++ b/packages/suite-base/src/panels/Plot/builders/IndexDatasetsBuilder.ts
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { Immutable, Time, MessageEvent } from "@lichtblick/studio";
-import { simpleGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
-import { Bounds1D } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import { PlayerState } from "@lichtblick/studio-base/players/types";
+import { Immutable, Time, MessageEvent } from "@lichtblick/suite";
+import { simpleGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
+import { Bounds1D } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import { PlayerState } from "@lichtblick/suite-base/players/types";
import { ChartDataset } from "chart.js";
import { MessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilder.test.ts b/packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilder.test.ts
similarity index 99%
rename from packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilder.test.ts
rename to packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilder.test.ts
index 07c8b5748a..6f2a07d334 100644
--- a/packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilder.test.ts
+++ b/packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilder.test.ts
@@ -4,13 +4,13 @@
import { unwrap } from "@lichtblick/den/monads";
import { makeComlinkWorkerMock } from "@lichtblick/den/testing";
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
import {
MessageBlock,
PlayerPresence,
PlayerState,
PlayerStateActiveData,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import { parseMessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilder.ts b/packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilder.ts
similarity index 95%
rename from packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilder.ts
rename to packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilder.ts
index b27688227c..89818d5109 100644
--- a/packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilder.ts
+++ b/packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilder.ts
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ComlinkWrap } from "@lichtblick/den/worker";
-import { Immutable, MessageEvent, Time } from "@lichtblick/studio";
-import { simpleGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
-import { MessageBlock, PlayerState } from "@lichtblick/studio-base/players/types";
-import { TimestampMethod, getTimestampForMessage } from "@lichtblick/studio-base/util/time";
+import { Immutable, MessageEvent, Time } from "@lichtblick/suite";
+import { simpleGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/simpleGetMessagePathDataItems";
+import { MessageBlock, PlayerState } from "@lichtblick/suite-base/players/types";
+import { TimestampMethod, getTimestampForMessage } from "@lichtblick/suite-base/util/time";
import * as Comlink from "comlink";
import { MessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.ts b/packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.ts
similarity index 97%
rename from packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.ts
rename to packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.ts
index 8a1ea6b775..500d72f88e 100644
--- a/packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.ts
+++ b/packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.ts
@@ -2,14 +2,14 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, Time } from "@lichtblick/studio";
+import { Immutable, Time } from "@lichtblick/suite";
import {
MAX_POINTS,
downsampleScatter,
downsampleTimeseries,
-} from "@lichtblick/studio-base/components/TimeBasedChart/downsample";
-import { Bounds1D } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import { extendBounds1D } from "@lichtblick/studio-base/types/Bounds";
+} from "@lichtblick/suite-base/components/TimeBasedChart/downsample";
+import { Bounds1D } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import { extendBounds1D } from "@lichtblick/suite-base/types/Bounds";
import { CsvDataset, SeriesConfigKey, SeriesItem, Viewport } from "./IDatasetsBuilder";
import type { Dataset } from "../ChartRenderer";
diff --git a/packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.worker.ts b/packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.worker.ts
similarity index 100%
rename from packages/studio-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.worker.ts
rename to packages/suite-base/src/panels/Plot/builders/TimestampDatasetsBuilderImpl.worker.ts
diff --git a/packages/studio-base/src/panels/Plot/config.test.ts b/packages/suite-base/src/panels/Plot/config.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/Plot/config.test.ts
rename to packages/suite-base/src/panels/Plot/config.test.ts
diff --git a/packages/studio-base/src/panels/Plot/config.ts b/packages/suite-base/src/panels/Plot/config.ts
similarity index 87%
rename from packages/studio-base/src/panels/Plot/config.ts
rename to packages/suite-base/src/panels/Plot/config.ts
index 7e17810a8e..6c61694f96 100644
--- a/packages/studio-base/src/panels/Plot/config.ts
+++ b/packages/suite-base/src/panels/Plot/config.ts
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { MessagePathDataItem } from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
-import { PANEL_TITLE_CONFIG_KEY } from "@lichtblick/studio-base/util/layout";
-import { TimestampMethod } from "@lichtblick/studio-base/util/time";
+import { Immutable } from "@lichtblick/suite";
+import { MessagePathDataItem } from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
+import { PANEL_TITLE_CONFIG_KEY } from "@lichtblick/suite-base/util/layout";
+import { TimestampMethod } from "@lichtblick/suite-base/util/time";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/Plot/csv.test.ts b/packages/suite-base/src/panels/Plot/csv.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/Plot/csv.test.ts
rename to packages/suite-base/src/panels/Plot/csv.test.ts
diff --git a/packages/studio-base/src/panels/Plot/csv.ts b/packages/suite-base/src/panels/Plot/csv.ts
similarity index 89%
rename from packages/studio-base/src/panels/Plot/csv.ts
rename to packages/suite-base/src/panels/Plot/csv.ts
index ee2662013d..dff260564d 100644
--- a/packages/studio-base/src/panels/Plot/csv.ts
+++ b/packages/suite-base/src/panels/Plot/csv.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { downloadFiles } from "@lichtblick/studio-base/util/download";
-import { formatTimeRaw } from "@lichtblick/studio-base/util/time";
+import { Immutable } from "@lichtblick/suite";
+import { downloadFiles } from "@lichtblick/suite-base/util/download";
+import { formatTimeRaw } from "@lichtblick/suite-base/util/time";
import { CsvDataset } from "./builders/IDatasetsBuilder";
import { PlotXAxisVal } from "./config";
diff --git a/packages/studio-base/src/panels/Plot/datum.ts b/packages/suite-base/src/panels/Plot/datum.ts
similarity index 96%
rename from packages/studio-base/src/panels/Plot/datum.ts
rename to packages/suite-base/src/panels/Plot/datum.ts
index 454d7b9379..2b451124d5 100644
--- a/packages/studio-base/src/panels/Plot/datum.ts
+++ b/packages/suite-base/src/panels/Plot/datum.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Time } from "@lichtblick/studio";
+import { Time } from "@lichtblick/suite";
import { ScatterDataPoint } from "chart.js";
import { isTime, toSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/Plot/index.stories.tsx b/packages/suite-base/src/panels/Plot/index.stories.tsx
similarity index 99%
rename from packages/studio-base/src/panels/Plot/index.stories.tsx
rename to packages/suite-base/src/panels/Plot/index.stories.tsx
index e549b2a43c..d8830bce0a 100644
--- a/packages/studio-base/src/panels/Plot/index.stories.tsx
+++ b/packages/suite-base/src/panels/Plot/index.stories.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import PanelSetup, { Fixture, triggerWheel } from "@lichtblick/studio-base/stories/PanelSetup";
-import delay from "@lichtblick/studio-base/util/delay";
+import PanelSetup, { Fixture, triggerWheel } from "@lichtblick/suite-base/stories/PanelSetup";
+import delay from "@lichtblick/suite-base/util/delay";
import { StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
import { produce } from "immer";
diff --git a/packages/studio-base/src/panels/Plot/index.tsx b/packages/suite-base/src/panels/Plot/index.tsx
similarity index 94%
rename from packages/studio-base/src/panels/Plot/index.tsx
rename to packages/suite-base/src/panels/Plot/index.tsx
index e59b258cce..e045005532 100644
--- a/packages/studio-base/src/panels/Plot/index.tsx
+++ b/packages/suite-base/src/panels/Plot/index.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Panel from "@lichtblick/studio-base/components/Panel";
+import Panel from "@lichtblick/suite-base/components/Panel";
import { Plot, defaultSidebarDimension } from "./Plot";
import { PlotConfig } from "./config";
diff --git a/packages/studio-base/src/panels/Plot/mathFunctions.ts b/packages/suite-base/src/panels/Plot/mathFunctions.ts
similarity index 100%
rename from packages/studio-base/src/panels/Plot/mathFunctions.ts
rename to packages/suite-base/src/panels/Plot/mathFunctions.ts
diff --git a/packages/studio-base/src/panels/Plot/openSiblingPlotPanel.ts b/packages/suite-base/src/panels/Plot/openSiblingPlotPanel.ts
similarity index 96%
rename from packages/studio-base/src/panels/Plot/openSiblingPlotPanel.ts
rename to packages/suite-base/src/panels/Plot/openSiblingPlotPanel.ts
index cae1f0d956..e24a025d17 100644
--- a/packages/studio-base/src/panels/Plot/openSiblingPlotPanel.ts
+++ b/packages/suite-base/src/panels/Plot/openSiblingPlotPanel.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { OpenSiblingPanel, PanelConfig } from "@lichtblick/studio-base/types/panels";
+import type { OpenSiblingPanel, PanelConfig } from "@lichtblick/suite-base/types/panels";
import * as _ from "lodash-es";
import type { PlotConfig } from "./config";
diff --git a/packages/studio-base/src/panels/Plot/plotableRosTypes.ts b/packages/suite-base/src/panels/Plot/plotableRosTypes.ts
similarity index 100%
rename from packages/studio-base/src/panels/Plot/plotableRosTypes.ts
rename to packages/suite-base/src/panels/Plot/plotableRosTypes.ts
diff --git a/packages/studio-base/src/panels/Plot/settings.ts b/packages/suite-base/src/panels/Plot/settings.ts
similarity index 97%
rename from packages/studio-base/src/panels/Plot/settings.ts
rename to packages/suite-base/src/panels/Plot/settings.ts
index deddcb79d4..f7100404c0 100644
--- a/packages/studio-base/src/panels/Plot/settings.ts
+++ b/packages/suite-base/src/panels/Plot/settings.ts
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/studio";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { lineColors } from "@lichtblick/studio-base/util/plotColors";
+import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/suite";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { lineColors } from "@lichtblick/suite-base/util/plotColors";
import { TFunction } from "i18next";
import { produce } from "immer";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/Plot/storyFixtures.ts b/packages/suite-base/src/panels/Plot/storyFixtures.ts
similarity index 98%
rename from packages/studio-base/src/panels/Plot/storyFixtures.ts
rename to packages/suite-base/src/panels/Plot/storyFixtures.ts
index ca2c71c738..29d340d3fc 100644
--- a/packages/studio-base/src/panels/Plot/storyFixtures.ts
+++ b/packages/suite-base/src/panels/Plot/storyFixtures.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { BlockCache, MessageBlock, MessageEvent } from "@lichtblick/studio-base/players/types";
-import { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { BlockCache, MessageBlock, MessageEvent } from "@lichtblick/suite-base/players/types";
+import { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import * as _ from "lodash-es";
import { fromSec, toSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/Plot/subscription.test.ts b/packages/suite-base/src/panels/Plot/subscription.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/Plot/subscription.test.ts
rename to packages/suite-base/src/panels/Plot/subscription.test.ts
diff --git a/packages/studio-base/src/panels/Plot/subscription.ts b/packages/suite-base/src/panels/Plot/subscription.ts
similarity index 92%
rename from packages/studio-base/src/panels/Plot/subscription.ts
rename to packages/suite-base/src/panels/Plot/subscription.ts
index 12714391f7..4f72d2c415 100644
--- a/packages/studio-base/src/panels/Plot/subscription.ts
+++ b/packages/suite-base/src/panels/Plot/subscription.ts
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { Immutable } from "@lichtblick/studio";
+import type { Immutable } from "@lichtblick/suite";
import type {
SubscribePayload,
SubscriptionPreloadType,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import type { MessagePathPart, MessagePath } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/Plot/thumbnail.png b/packages/suite-base/src/panels/Plot/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Plot/thumbnail.png
rename to packages/suite-base/src/panels/Plot/thumbnail.png
diff --git a/packages/studio-base/src/panels/Publish/buildSampleMessage.test.ts b/packages/suite-base/src/panels/Publish/buildSampleMessage.test.ts
similarity index 96%
rename from packages/studio-base/src/panels/Publish/buildSampleMessage.test.ts
rename to packages/suite-base/src/panels/Publish/buildSampleMessage.test.ts
index eeb6ceb669..af6b609a0c 100644
--- a/packages/studio-base/src/panels/Publish/buildSampleMessage.test.ts
+++ b/packages/suite-base/src/panels/Publish/buildSampleMessage.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import buildSampleMessage, { builtinSampleValues } from "./buildSampleMessage";
diff --git a/packages/studio-base/src/panels/Publish/buildSampleMessage.ts b/packages/suite-base/src/panels/Publish/buildSampleMessage.ts
similarity index 92%
rename from packages/studio-base/src/panels/Publish/buildSampleMessage.ts
rename to packages/suite-base/src/panels/Publish/buildSampleMessage.ts
index d7f70e9abd..74a7be2a7b 100644
--- a/packages/studio-base/src/panels/Publish/buildSampleMessage.ts
+++ b/packages/suite-base/src/panels/Publish/buildSampleMessage.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { Immutable } from "@lichtblick/suite";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
export const builtinSampleValues: Record = {
bool: false,
diff --git a/packages/studio-base/src/panels/Publish/index.stories.tsx b/packages/suite-base/src/panels/Publish/index.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/Publish/index.stories.tsx
rename to packages/suite-base/src/panels/Publish/index.stories.tsx
index b7c1904186..ab631676b2 100644
--- a/packages/studio-base/src/panels/Publish/index.stories.tsx
+++ b/packages/suite-base/src/panels/Publish/index.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Publish from "@lichtblick/studio-base/panels/Publish";
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import Publish from "@lichtblick/suite-base/panels/Publish";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { action } from "@storybook/addon-actions";
import { expect } from "@storybook/jest";
import { Meta, StoryObj } from "@storybook/react";
diff --git a/packages/studio-base/src/panels/Publish/index.tsx b/packages/suite-base/src/panels/Publish/index.tsx
similarity index 90%
rename from packages/studio-base/src/panels/Publish/index.tsx
rename to packages/suite-base/src/panels/Publish/index.tsx
index 46b8080a29..7702db915b 100644
--- a/packages/studio-base/src/panels/Publish/index.tsx
+++ b/packages/suite-base/src/panels/Publish/index.tsx
@@ -11,20 +11,20 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import { useDataSourceInfo } from "@lichtblick/studio-base/PanelAPI";
+import { Immutable } from "@lichtblick/suite";
+import { useDataSourceInfo } from "@lichtblick/suite-base/PanelAPI";
import {
MessagePipelineContext,
useMessagePipeline,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import useCallbackWithToast from "@lichtblick/studio-base/hooks/useCallbackWithToast";
-import usePublisher from "@lichtblick/studio-base/hooks/usePublisher";
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import { useDefaultPanelTitle } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import useCallbackWithToast from "@lichtblick/suite-base/hooks/useCallbackWithToast";
+import usePublisher from "@lichtblick/suite-base/hooks/usePublisher";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import { useDefaultPanelTitle } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { Button, inputBaseClasses, TextField, Tooltip, Typography } from "@mui/material";
import { useEffect, useMemo } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/Publish/settings.ts b/packages/suite-base/src/panels/Publish/settings.ts
similarity index 90%
rename from packages/studio-base/src/panels/Publish/settings.ts
rename to packages/suite-base/src/panels/Publish/settings.ts
index 65f02aba03..56c438e16d 100644
--- a/packages/studio-base/src/panels/Publish/settings.ts
+++ b/packages/suite-base/src/panels/Publish/settings.ts
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/studio";
-import buildSampleMessage from "@lichtblick/studio-base/panels/Publish/buildSampleMessage";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { Immutable, SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/suite";
+import buildSampleMessage from "@lichtblick/suite-base/panels/Publish/buildSampleMessage";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { produce } from "immer";
import * as _ from "lodash-es";
import { useCallback, useEffect, useMemo } from "react";
diff --git a/packages/studio-base/src/panels/Publish/thumbnail.png b/packages/suite-base/src/panels/Publish/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Publish/thumbnail.png
rename to packages/suite-base/src/panels/Publish/thumbnail.png
diff --git a/packages/studio-base/src/panels/Publish/types.ts b/packages/suite-base/src/panels/Publish/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/Publish/types.ts
rename to packages/suite-base/src/panels/Publish/types.ts
diff --git a/packages/studio-base/src/panels/RawMessages/DiffSpan.tsx b/packages/suite-base/src/panels/RawMessages/DiffSpan.tsx
similarity index 100%
rename from packages/studio-base/src/panels/RawMessages/DiffSpan.tsx
rename to packages/suite-base/src/panels/RawMessages/DiffSpan.tsx
diff --git a/packages/studio-base/src/panels/RawMessages/DiffStats.tsx b/packages/suite-base/src/panels/RawMessages/DiffStats.tsx
similarity index 92%
rename from packages/studio-base/src/panels/RawMessages/DiffStats.tsx
rename to packages/suite-base/src/panels/RawMessages/DiffStats.tsx
index c4843f9a61..ccab480d53 100644
--- a/packages/studio-base/src/panels/RawMessages/DiffStats.tsx
+++ b/packages/suite-base/src/panels/RawMessages/DiffStats.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { diffLabels, DiffObject } from "@lichtblick/studio-base/panels/RawMessages/getDiff";
-import { getChangeCounts } from "@lichtblick/studio-base/panels/RawMessages/utils";
+import { diffLabels, DiffObject } from "@lichtblick/suite-base/panels/RawMessages/getDiff";
+import { getChangeCounts } from "@lichtblick/suite-base/panels/RawMessages/utils";
import { Typography } from "@mui/material";
import { ReactNode } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/RawMessages/HighlightedValue.tsx b/packages/suite-base/src/panels/RawMessages/HighlightedValue.tsx
similarity index 94%
rename from packages/studio-base/src/panels/RawMessages/HighlightedValue.tsx
rename to packages/suite-base/src/panels/RawMessages/HighlightedValue.tsx
index 50a8f8db42..f7fb8b7772 100644
--- a/packages/studio-base/src/panels/RawMessages/HighlightedValue.tsx
+++ b/packages/suite-base/src/panels/RawMessages/HighlightedValue.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { diffLabels, diffArrow } from "@lichtblick/studio-base/panels/RawMessages/getDiff";
+import { diffLabels, diffArrow } from "@lichtblick/suite-base/panels/RawMessages/getDiff";
import { DiffSpan } from "./DiffSpan";
import MaybeCollapsedValue from "./MaybeCollapsedValue";
diff --git a/packages/studio-base/src/panels/RawMessages/MaybeCollapsedValue.tsx b/packages/suite-base/src/panels/RawMessages/MaybeCollapsedValue.tsx
similarity index 100%
rename from packages/studio-base/src/panels/RawMessages/MaybeCollapsedValue.tsx
rename to packages/suite-base/src/panels/RawMessages/MaybeCollapsedValue.tsx
diff --git a/packages/studio-base/src/panels/RawMessages/Metadata.tsx b/packages/suite-base/src/panels/RawMessages/Metadata.tsx
similarity index 93%
rename from packages/studio-base/src/panels/RawMessages/Metadata.tsx
rename to packages/suite-base/src/panels/RawMessages/Metadata.tsx
index c384cb1062..0bf5255453 100644
--- a/packages/studio-base/src/panels/RawMessages/Metadata.tsx
+++ b/packages/suite-base/src/panels/RawMessages/Metadata.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import CopyButton from "@lichtblick/studio-base/components/CopyButton";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
-import { formatTimeRaw } from "@lichtblick/studio-base/util/time";
+import CopyButton from "@lichtblick/suite-base/components/CopyButton";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
+import { formatTimeRaw } from "@lichtblick/suite-base/util/time";
import { Link, Typography } from "@mui/material";
import { useCallback } from "react";
import { useLatest } from "react-use";
diff --git a/packages/studio-base/src/panels/RawMessages/Toolbar.tsx b/packages/suite-base/src/panels/RawMessages/Toolbar.tsx
similarity index 91%
rename from packages/studio-base/src/panels/RawMessages/Toolbar.tsx
rename to packages/suite-base/src/panels/RawMessages/Toolbar.tsx
index 425273dbb8..f9fc982793 100644
--- a/packages/studio-base/src/panels/RawMessages/Toolbar.tsx
+++ b/packages/suite-base/src/panels/RawMessages/Toolbar.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio";
-import MessagePathInput from "@lichtblick/studio-base/components/MessagePathSyntax/MessagePathInput";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { Topic } from "@lichtblick/suite";
+import MessagePathInput from "@lichtblick/suite-base/components/MessagePathSyntax/MessagePathInput";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import DiffIcon from "@mui/icons-material/Difference";
import DiffOutlinedIcon from "@mui/icons-material/DifferenceOutlined";
import UnfoldLessIcon from "@mui/icons-material/UnfoldLess";
diff --git a/packages/studio-base/src/panels/RawMessages/Value.tsx b/packages/suite-base/src/panels/RawMessages/Value.tsx
similarity index 92%
rename from packages/studio-base/src/panels/RawMessages/Value.tsx
rename to packages/suite-base/src/panels/RawMessages/Value.tsx
index 296dc57de8..06d766dba8 100644
--- a/packages/studio-base/src/panels/RawMessages/Value.tsx
+++ b/packages/suite-base/src/panels/RawMessages/Value.tsx
@@ -2,16 +2,16 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import HoverableIconButton from "@lichtblick/studio-base/components/HoverableIconButton";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { openSiblingPlotPanel } from "@lichtblick/studio-base/panels/Plot/openSiblingPlotPanel";
-import { plotableRosTypes } from "@lichtblick/studio-base/panels/Plot/plotableRosTypes";
+import HoverableIconButton from "@lichtblick/suite-base/components/HoverableIconButton";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { openSiblingPlotPanel } from "@lichtblick/suite-base/panels/Plot/openSiblingPlotPanel";
+import { plotableRosTypes } from "@lichtblick/suite-base/panels/Plot/plotableRosTypes";
import {
openSiblingStateTransitionsPanel,
transitionableRosTypes,
-} from "@lichtblick/studio-base/panels/StateTransitions/openSiblingStateTransitionsPanel";
-import { OpenSiblingPanel } from "@lichtblick/studio-base/types/panels";
-import clipboard from "@lichtblick/studio-base/util/clipboard";
+} from "@lichtblick/suite-base/panels/StateTransitions/openSiblingStateTransitionsPanel";
+import { OpenSiblingPanel } from "@lichtblick/suite-base/types/panels";
+import clipboard from "@lichtblick/suite-base/util/clipboard";
import CheckIcon from "@mui/icons-material/Check";
import CopyAllIcon from "@mui/icons-material/CopyAll";
import ErrorIcon from "@mui/icons-material/Error";
diff --git a/packages/studio-base/src/panels/RawMessages/copyMessageReplacer.test.ts b/packages/suite-base/src/panels/RawMessages/copyMessageReplacer.test.ts
similarity index 88%
rename from packages/studio-base/src/panels/RawMessages/copyMessageReplacer.test.ts
rename to packages/suite-base/src/panels/RawMessages/copyMessageReplacer.test.ts
index c4c68e92e2..9412172219 100644
--- a/packages/studio-base/src/panels/RawMessages/copyMessageReplacer.test.ts
+++ b/packages/suite-base/src/panels/RawMessages/copyMessageReplacer.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { copyMessageReplacer } from "@lichtblick/studio-base/panels/RawMessages/copyMessageReplacer";
+import { copyMessageReplacer } from "@lichtblick/suite-base/panels/RawMessages/copyMessageReplacer";
describe("copyMessageReplaceer", () => {
it.each([
diff --git a/packages/studio-base/src/panels/RawMessages/copyMessageReplacer.ts b/packages/suite-base/src/panels/RawMessages/copyMessageReplacer.ts
similarity index 88%
rename from packages/studio-base/src/panels/RawMessages/copyMessageReplacer.ts
rename to packages/suite-base/src/panels/RawMessages/copyMessageReplacer.ts
index 3b5f854fce..b4ef3e3ed0 100644
--- a/packages/studio-base/src/panels/RawMessages/copyMessageReplacer.ts
+++ b/packages/suite-base/src/panels/RawMessages/copyMessageReplacer.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { isTypedArray } from "@lichtblick/studio-base/types/isTypedArray";
+import { isTypedArray } from "@lichtblick/suite-base/types/isTypedArray";
/** A JSON.stringify replacer to support bigints and typed arrays */
export function copyMessageReplacer(_key: unknown, value: unknown): unknown {
diff --git a/packages/studio-base/src/panels/RawMessages/fixture.ts b/packages/suite-base/src/panels/RawMessages/fixture.ts
similarity index 99%
rename from packages/studio-base/src/panels/RawMessages/fixture.ts
rename to packages/suite-base/src/panels/RawMessages/fixture.ts
index ecdbca78f1..feb5c4ad74 100644
--- a/packages/studio-base/src/panels/RawMessages/fixture.ts
+++ b/packages/suite-base/src/panels/RawMessages/fixture.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
export const fixture: Fixture = {
topics: [
diff --git a/packages/studio-base/src/panels/RawMessages/getDiff.test.ts b/packages/suite-base/src/panels/RawMessages/getDiff.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/RawMessages/getDiff.test.ts
rename to packages/suite-base/src/panels/RawMessages/getDiff.test.ts
diff --git a/packages/studio-base/src/panels/RawMessages/getDiff.ts b/packages/suite-base/src/panels/RawMessages/getDiff.ts
similarity index 98%
rename from packages/studio-base/src/panels/RawMessages/getDiff.ts
rename to packages/suite-base/src/panels/RawMessages/getDiff.ts
index d51b385647..a47f4cf9cf 100644
--- a/packages/studio-base/src/panels/RawMessages/getDiff.ts
+++ b/packages/suite-base/src/panels/RawMessages/getDiff.ts
@@ -10,7 +10,7 @@
// This source code is licensed under the Apache License, Version 2.0,
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { isTypicalFilterName } from "@lichtblick/studio-base/components/MessagePathSyntax/isTypicalFilterName";
+import { isTypicalFilterName } from "@lichtblick/suite-base/components/MessagePathSyntax/isTypicalFilterName";
import * as _ from "lodash-es";
export const diffArrow = "->";
diff --git a/packages/studio-base/src/panels/RawMessages/getValueActionForValue.test.ts b/packages/suite-base/src/panels/RawMessages/getValueActionForValue.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/RawMessages/getValueActionForValue.test.ts
rename to packages/suite-base/src/panels/RawMessages/getValueActionForValue.test.ts
diff --git a/packages/studio-base/src/panels/RawMessages/getValueActionForValue.ts b/packages/suite-base/src/panels/RawMessages/getValueActionForValue.ts
similarity index 98%
rename from packages/studio-base/src/panels/RawMessages/getValueActionForValue.ts
rename to packages/suite-base/src/panels/RawMessages/getValueActionForValue.ts
index 4ee63cd1ee..c4138fd949 100644
--- a/packages/studio-base/src/panels/RawMessages/getValueActionForValue.ts
+++ b/packages/suite-base/src/panels/RawMessages/getValueActionForValue.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { isTypicalFilterName } from "@lichtblick/studio-base/components/MessagePathSyntax/isTypicalFilterName";
+import { isTypicalFilterName } from "@lichtblick/suite-base/components/MessagePathSyntax/isTypicalFilterName";
import { MessagePathStructureItem, PrimitiveType } from "@foxglove/message-path";
diff --git a/packages/studio-base/src/panels/RawMessages/index.stories.tsx b/packages/suite-base/src/panels/RawMessages/index.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/RawMessages/index.stories.tsx
rename to packages/suite-base/src/panels/RawMessages/index.stories.tsx
index 918a59a70d..de5fc100e1 100644
--- a/packages/studio-base/src/panels/RawMessages/index.stories.tsx
+++ b/packages/suite-base/src/panels/RawMessages/index.stories.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import RawMessages from "@lichtblick/studio-base/panels/RawMessages";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import RawMessages from "@lichtblick/suite-base/panels/RawMessages";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import {
diff --git a/packages/studio-base/src/panels/RawMessages/index.tsx b/packages/suite-base/src/panels/RawMessages/index.tsx
similarity index 94%
rename from packages/studio-base/src/panels/RawMessages/index.tsx
rename to packages/suite-base/src/panels/RawMessages/index.tsx
index c0b0689439..16366d8877 100644
--- a/packages/studio-base/src/panels/RawMessages/index.tsx
+++ b/packages/suite-base/src/panels/RawMessages/index.tsx
@@ -11,30 +11,30 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable, SettingsTreeAction } from "@lichtblick/studio";
-import { useDataSourceInfo } from "@lichtblick/studio-base/PanelAPI";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import useGetItemStringWithTimezone from "@lichtblick/studio-base/components/JsonTree/useGetItemStringWithTimezone";
+import { Immutable, SettingsTreeAction } from "@lichtblick/suite";
+import { useDataSourceInfo } from "@lichtblick/suite-base/PanelAPI";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import useGetItemStringWithTimezone from "@lichtblick/suite-base/components/JsonTree/useGetItemStringWithTimezone";
import {
messagePathStructures,
traverseStructure,
-} from "@lichtblick/studio-base/components/MessagePathSyntax/messagePathsForDatatype";
-import { MessagePathDataItem } from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
-import { useMessageDataItem } from "@lichtblick/studio-base/components/MessagePathSyntax/useMessageDataItem";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { Toolbar } from "@lichtblick/studio-base/panels/RawMessages/Toolbar";
+} from "@lichtblick/suite-base/components/MessagePathSyntax/messagePathsForDatatype";
+import { MessagePathDataItem } from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import { useMessageDataItem } from "@lichtblick/suite-base/components/MessagePathSyntax/useMessageDataItem";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { Toolbar } from "@lichtblick/suite-base/panels/RawMessages/Toolbar";
import getDiff, {
DiffObject,
diffLabels,
diffLabelsByLabelText,
-} from "@lichtblick/studio-base/panels/RawMessages/getDiff";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { enumValuesByDatatypeAndField } from "@lichtblick/studio-base/util/enums";
-import { useJsonTreeTheme } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/panels/RawMessages/getDiff";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { enumValuesByDatatypeAndField } from "@lichtblick/suite-base/util/enums";
+import { useJsonTreeTheme } from "@lichtblick/suite-base/util/globalConstants";
import { Checkbox, FormControlLabel, Typography, useTheme } from "@mui/material";
import * as _ from "lodash-es";
import { useCallback, useEffect, useMemo, useState } from "react";
diff --git a/packages/studio-base/src/panels/RawMessages/thumbnail.png b/packages/suite-base/src/panels/RawMessages/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/RawMessages/thumbnail.png
rename to packages/suite-base/src/panels/RawMessages/thumbnail.png
diff --git a/packages/studio-base/src/panels/RawMessages/types.ts b/packages/suite-base/src/panels/RawMessages/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/RawMessages/types.ts
rename to packages/suite-base/src/panels/RawMessages/types.ts
diff --git a/packages/studio-base/src/panels/RawMessages/utils.test.ts b/packages/suite-base/src/panels/RawMessages/utils.test.ts
similarity index 91%
rename from packages/studio-base/src/panels/RawMessages/utils.test.ts
rename to packages/suite-base/src/panels/RawMessages/utils.test.ts
index 004fafe3a0..4436745d9a 100644
--- a/packages/studio-base/src/panels/RawMessages/utils.test.ts
+++ b/packages/suite-base/src/panels/RawMessages/utils.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { getMessageDocumentationLink } from "@lichtblick/studio-base/panels/RawMessages/utils";
+import { getMessageDocumentationLink } from "@lichtblick/suite-base/panels/RawMessages/utils";
describe("getMessageDocumentationLink", () => {
it("links to ROS and Foxglove docs", () => {
diff --git a/packages/studio-base/src/panels/RawMessages/utils.ts b/packages/suite-base/src/panels/RawMessages/utils.ts
similarity index 98%
rename from packages/studio-base/src/panels/RawMessages/utils.ts
rename to packages/suite-base/src/panels/RawMessages/utils.ts
index b5fcf18afa..14ea28059b 100644
--- a/packages/studio-base/src/panels/RawMessages/utils.ts
+++ b/packages/suite-base/src/panels/RawMessages/utils.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { diffLabels, DiffObject } from "@lichtblick/studio-base/panels/RawMessages/getDiff";
+import { diffLabels, DiffObject } from "@lichtblick/suite-base/panels/RawMessages/getDiff";
import * as _ from "lodash-es";
import { ros1 } from "@foxglove/rosmsg-msgs-common";
diff --git a/packages/studio-base/src/panels/StateTransitions/PathLegend.tsx b/packages/suite-base/src/panels/StateTransitions/PathLegend.tsx
similarity index 86%
rename from packages/studio-base/src/panels/StateTransitions/PathLegend.tsx
rename to packages/suite-base/src/panels/StateTransitions/PathLegend.tsx
index f2094da7be..d28aee5a57 100644
--- a/packages/studio-base/src/panels/StateTransitions/PathLegend.tsx
+++ b/packages/suite-base/src/panels/StateTransitions/PathLegend.tsx
@@ -3,16 +3,16 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { Add16Regular, Dismiss12Regular } from "@fluentui/react-icons";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import { useSelectedPanels } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { useWorkspaceActions } from "@lichtblick/studio-base/context/Workspace/useWorkspaceActions";
-import { DEFAULT_PATH } from "@lichtblick/studio-base/panels/Plot/settings";
-import { stateTransitionPathDisplayName } from "@lichtblick/studio-base/panels/StateTransitions/shared";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import { useSelectedPanels } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { useWorkspaceActions } from "@lichtblick/suite-base/context/Workspace/useWorkspaceActions";
+import { DEFAULT_PATH } from "@lichtblick/suite-base/panels/Plot/settings";
+import { stateTransitionPathDisplayName } from "@lichtblick/suite-base/panels/StateTransitions/shared";
import {
StateTransitionConfig,
StateTransitionPath,
-} from "@lichtblick/studio-base/panels/StateTransitions/types";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/panels/StateTransitions/types";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { Button, ButtonGroup, Stack, buttonClasses } from "@mui/material";
import { MouseEvent, useCallback } from "react";
import tinycolor from "tinycolor2";
diff --git a/packages/studio-base/src/panels/StateTransitions/index.stories.tsx b/packages/suite-base/src/panels/StateTransitions/index.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/StateTransitions/index.stories.tsx
rename to packages/suite-base/src/panels/StateTransitions/index.stories.tsx
index 422862e0fa..08b8b8d625 100644
--- a/packages/studio-base/src/panels/StateTransitions/index.stories.tsx
+++ b/packages/suite-base/src/panels/StateTransitions/index.stories.tsx
@@ -11,11 +11,11 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { BlockCache } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { useReadySignal } from "@lichtblick/studio-base/stories/ReadySignalContext";
-import { expandedLineColors } from "@lichtblick/studio-base/util/plotColors";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { BlockCache } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { useReadySignal } from "@lichtblick/suite-base/stories/ReadySignalContext";
+import { expandedLineColors } from "@lichtblick/suite-base/util/plotColors";
import { StoryObj } from "@storybook/react";
import { produce } from "immer";
import { useCallback } from "react";
diff --git a/packages/studio-base/src/panels/StateTransitions/index.tsx b/packages/suite-base/src/panels/StateTransitions/index.tsx
similarity index 91%
rename from packages/studio-base/src/panels/StateTransitions/index.tsx
rename to packages/suite-base/src/panels/StateTransitions/index.tsx
index cbd315120b..74f3a5064e 100644
--- a/packages/studio-base/src/panels/StateTransitions/index.tsx
+++ b/packages/suite-base/src/panels/StateTransitions/index.tsx
@@ -12,30 +12,30 @@
// You may not use this file except in compliance with the License.
import { filterMap } from "@lichtblick/den/collection";
-import { Immutable } from "@lichtblick/studio";
-import { useBlocksSubscriptions } from "@lichtblick/studio-base/PanelAPI";
+import { Immutable } from "@lichtblick/suite";
+import { useBlocksSubscriptions } from "@lichtblick/suite-base/PanelAPI";
import {
MessageAndData,
MessageDataItemsByPath,
useDecodeMessagePathsForMessagesByTopic,
-} from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
-import useMessagesByPath from "@lichtblick/studio-base/components/MessagePathSyntax/useMessagesByPath";
+} from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import useMessagesByPath from "@lichtblick/suite-base/components/MessagePathSyntax/useMessagesByPath";
import {
MessagePipelineContext,
useMessagePipeline,
useMessagePipelineGetter,
-} from "@lichtblick/studio-base/components/MessagePipeline";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import TimeBasedChart from "@lichtblick/studio-base/components/TimeBasedChart";
-import { ChartDatasets } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import { PathLegend } from "@lichtblick/studio-base/panels/StateTransitions/PathLegend";
-import { subscribePayloadFromMessagePath } from "@lichtblick/studio-base/players/subscribePayloadFromMessagePath";
-import { SubscribePayload } from "@lichtblick/studio-base/players/types";
-import { Bounds } from "@lichtblick/studio-base/types/Bounds";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/components/MessagePipeline";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import TimeBasedChart from "@lichtblick/suite-base/components/TimeBasedChart";
+import { ChartDatasets } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import { PathLegend } from "@lichtblick/suite-base/panels/StateTransitions/PathLegend";
+import { subscribePayloadFromMessagePath } from "@lichtblick/suite-base/players/subscribePayloadFromMessagePath";
+import { SubscribePayload } from "@lichtblick/suite-base/players/types";
+import { Bounds } from "@lichtblick/suite-base/types/Bounds";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { ChartOptions, ScaleOptions } from "chart.js";
import * as _ from "lodash-es";
import * as R from "ramda";
@@ -45,7 +45,7 @@ import { makeStyles } from "tss-react/mui";
import { add as addTimes, fromSec, subtract as subtractTimes, toSec } from "@foxglove/rostime";
import { fontMonospace } from "@foxglove/theme";
-import { OnClickArg as OnChartClickArgs } from "@lichtblick/studio-base/src/components/Chart";
+import { OnClickArg as OnChartClickArgs } from "@lichtblick/suite-base/src/components/Chart";
import { messagesToDataset } from "./messagesToDataset";
import { PathState, useStateTransitionsPanelSettings } from "./settings";
diff --git a/packages/studio-base/src/panels/StateTransitions/messagesToDataset.ts b/packages/suite-base/src/panels/StateTransitions/messagesToDataset.ts
similarity index 88%
rename from packages/studio-base/src/panels/StateTransitions/messagesToDataset.ts
rename to packages/suite-base/src/panels/StateTransitions/messagesToDataset.ts
index f19c4628d9..f86f4deb37 100644
--- a/packages/studio-base/src/panels/StateTransitions/messagesToDataset.ts
+++ b/packages/suite-base/src/panels/StateTransitions/messagesToDataset.ts
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageAndData } from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
-import { ChartDataset } from "@lichtblick/studio-base/components/TimeBasedChart/types";
-import { expandedLineColors } from "@lichtblick/studio-base/util/plotColors";
-import { getTimestampForMessageEvent } from "@lichtblick/studio-base/util/time";
-import { grey } from "@lichtblick/studio-base/util/toolsColorScheme";
+import { MessageAndData } from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import { ChartDataset } from "@lichtblick/suite-base/components/TimeBasedChart/types";
+import { expandedLineColors } from "@lichtblick/suite-base/util/plotColors";
+import { getTimestampForMessageEvent } from "@lichtblick/suite-base/util/time";
+import { grey } from "@lichtblick/suite-base/util/toolsColorScheme";
import stringHash from "string-hash";
import { Time, subtract as subtractTimes, toSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/StateTransitions/openSiblingStateTransitionsPanel.ts b/packages/suite-base/src/panels/StateTransitions/openSiblingStateTransitionsPanel.ts
similarity index 82%
rename from packages/studio-base/src/panels/StateTransitions/openSiblingStateTransitionsPanel.ts
rename to packages/suite-base/src/panels/StateTransitions/openSiblingStateTransitionsPanel.ts
index fc809eb1d9..c81c3cc695 100644
--- a/packages/studio-base/src/panels/StateTransitions/openSiblingStateTransitionsPanel.ts
+++ b/packages/suite-base/src/panels/StateTransitions/openSiblingStateTransitionsPanel.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { StateTransitionConfig } from "@lichtblick/studio-base/panels/StateTransitions/types";
-import { OpenSiblingPanel, PanelConfig } from "@lichtblick/studio-base/types/panels";
+import { StateTransitionConfig } from "@lichtblick/suite-base/panels/StateTransitions/types";
+import { OpenSiblingPanel, PanelConfig } from "@lichtblick/suite-base/types/panels";
import * as _ from "lodash-es";
export const transitionableRosTypes = [
diff --git a/packages/studio-base/src/panels/StateTransitions/positiveModulo.test.ts b/packages/suite-base/src/panels/StateTransitions/positiveModulo.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/StateTransitions/positiveModulo.test.ts
rename to packages/suite-base/src/panels/StateTransitions/positiveModulo.test.ts
diff --git a/packages/studio-base/src/panels/StateTransitions/positiveModulo.ts b/packages/suite-base/src/panels/StateTransitions/positiveModulo.ts
similarity index 100%
rename from packages/studio-base/src/panels/StateTransitions/positiveModulo.ts
rename to packages/suite-base/src/panels/StateTransitions/positiveModulo.ts
diff --git a/packages/studio-base/src/panels/StateTransitions/settings.ts b/packages/suite-base/src/panels/StateTransitions/settings.ts
similarity index 95%
rename from packages/studio-base/src/panels/StateTransitions/settings.ts
rename to packages/suite-base/src/panels/StateTransitions/settings.ts
index e840b121b8..3d08c296ad 100644
--- a/packages/studio-base/src/panels/StateTransitions/settings.ts
+++ b/packages/suite-base/src/panels/StateTransitions/settings.ts
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/studio";
-import { plotableRosTypes } from "@lichtblick/studio-base/panels/Plot/plotableRosTypes";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/suite";
+import { plotableRosTypes } from "@lichtblick/suite-base/panels/Plot/plotableRosTypes";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { TFunction } from "i18next";
import { produce } from "immer";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/StateTransitions/shared.ts b/packages/suite-base/src/panels/StateTransitions/shared.ts
similarity index 100%
rename from packages/studio-base/src/panels/StateTransitions/shared.ts
rename to packages/suite-base/src/panels/StateTransitions/shared.ts
diff --git a/packages/studio-base/src/panels/StateTransitions/thumbnail.png b/packages/suite-base/src/panels/StateTransitions/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/StateTransitions/thumbnail.png
rename to packages/suite-base/src/panels/StateTransitions/thumbnail.png
diff --git a/packages/studio-base/src/panels/StateTransitions/types.ts b/packages/suite-base/src/panels/StateTransitions/types.ts
similarity index 88%
rename from packages/studio-base/src/panels/StateTransitions/types.ts
rename to packages/suite-base/src/panels/StateTransitions/types.ts
index a973e3ec5a..86852bbbd5 100644
--- a/packages/studio-base/src/panels/StateTransitions/types.ts
+++ b/packages/suite-base/src/panels/StateTransitions/types.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { TimestampMethod } from "@lichtblick/studio-base/util/time";
+import { TimestampMethod } from "@lichtblick/suite-base/util/time";
export type StateTransitionPath = {
color?: string;
diff --git a/packages/studio-base/src/panels/Tab/DraggableToolbarTab.tsx b/packages/suite-base/src/panels/Tab/DraggableToolbarTab.tsx
similarity index 86%
rename from packages/studio-base/src/panels/Tab/DraggableToolbarTab.tsx
rename to packages/suite-base/src/panels/Tab/DraggableToolbarTab.tsx
index 45bc275895..793d5e08c4 100644
--- a/packages/studio-base/src/panels/Tab/DraggableToolbarTab.tsx
+++ b/packages/suite-base/src/panels/Tab/DraggableToolbarTab.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { TAB_DRAG_TYPE, TabActions } from "@lichtblick/studio-base/panels/Tab/TabDndContext";
-import { ToolbarTab } from "@lichtblick/studio-base/panels/Tab/ToolbarTab";
-import { TabLocation } from "@lichtblick/studio-base/types/layouts";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { TAB_DRAG_TYPE, TabActions } from "@lichtblick/suite-base/panels/Tab/TabDndContext";
+import { ToolbarTab } from "@lichtblick/suite-base/panels/Tab/ToolbarTab";
+import { TabLocation } from "@lichtblick/suite-base/types/layouts";
import { useDrag, useDrop, DropTargetMonitor, ConnectableElement } from "react-dnd";
type Props = {
diff --git a/packages/studio-base/src/panels/Tab/TabDndContext.ts b/packages/suite-base/src/panels/Tab/TabDndContext.ts
similarity index 100%
rename from packages/studio-base/src/panels/Tab/TabDndContext.ts
rename to packages/suite-base/src/panels/Tab/TabDndContext.ts
diff --git a/packages/studio-base/src/panels/Tab/TabbedToolbar.tsx b/packages/suite-base/src/panels/Tab/TabbedToolbar.tsx
similarity index 86%
rename from packages/studio-base/src/panels/Tab/TabbedToolbar.tsx
rename to packages/suite-base/src/panels/Tab/TabbedToolbar.tsx
index 3d8d3218d3..2383e36e9c 100644
--- a/packages/studio-base/src/panels/Tab/TabbedToolbar.tsx
+++ b/packages/suite-base/src/panels/Tab/TabbedToolbar.tsx
@@ -13,16 +13,16 @@
import PanelToolbar, {
PANEL_TOOLBAR_MIN_HEIGHT,
-} from "@lichtblick/studio-base/components/PanelToolbar";
-import ToolbarIconButton from "@lichtblick/studio-base/components/PanelToolbar/ToolbarIconButton";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { DraggableToolbarTab } from "@lichtblick/studio-base/panels/Tab/DraggableToolbarTab";
+} from "@lichtblick/suite-base/components/PanelToolbar";
+import ToolbarIconButton from "@lichtblick/suite-base/components/PanelToolbar/ToolbarIconButton";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { DraggableToolbarTab } from "@lichtblick/suite-base/panels/Tab/DraggableToolbarTab";
import {
DraggingTabItem,
TAB_DRAG_TYPE,
TabActions,
-} from "@lichtblick/studio-base/panels/Tab/TabDndContext";
-import { TabConfig } from "@lichtblick/studio-base/types/layouts";
+} from "@lichtblick/suite-base/panels/Tab/TabDndContext";
+import { TabConfig } from "@lichtblick/suite-base/types/layouts";
import AddIcon from "@mui/icons-material/Add";
import { ButtonBase } from "@mui/material";
import { useEffect } from "react";
diff --git a/packages/studio-base/src/panels/Tab/ToolbarTab.stories.tsx b/packages/suite-base/src/panels/Tab/ToolbarTab.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/Tab/ToolbarTab.stories.tsx
rename to packages/suite-base/src/panels/Tab/ToolbarTab.stories.tsx
index aac7e88006..8363011877 100644
--- a/packages/studio-base/src/panels/Tab/ToolbarTab.stories.tsx
+++ b/packages/suite-base/src/panels/Tab/ToolbarTab.stories.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { ToolbarTab } from "@lichtblick/studio-base/panels/Tab/ToolbarTab";
+import { ToolbarTab } from "@lichtblick/suite-base/panels/Tab/ToolbarTab";
import { StoryObj } from "@storybook/react";
import * as _ from "lodash-es";
import React, { ReactNode } from "react";
diff --git a/packages/studio-base/src/panels/Tab/ToolbarTab.tsx b/packages/suite-base/src/panels/Tab/ToolbarTab.tsx
similarity index 97%
rename from packages/studio-base/src/panels/Tab/ToolbarTab.tsx
rename to packages/suite-base/src/panels/Tab/ToolbarTab.tsx
index 62b8c3b642..e726db84e9 100644
--- a/packages/studio-base/src/panels/Tab/ToolbarTab.tsx
+++ b/packages/suite-base/src/panels/Tab/ToolbarTab.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { PANEL_TOOLBAR_MIN_HEIGHT } from "@lichtblick/studio-base/components/PanelToolbar";
-import { TabActions } from "@lichtblick/studio-base/panels/Tab/TabDndContext";
+import { PANEL_TOOLBAR_MIN_HEIGHT } from "@lichtblick/suite-base/components/PanelToolbar";
+import { TabActions } from "@lichtblick/suite-base/panels/Tab/TabDndContext";
import CloseIcon from "@mui/icons-material/Close";
import { IconButton, InputBase } from "@mui/material";
import React, { Ref as ReactRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
diff --git a/packages/studio-base/src/panels/Tab/index.stories.tsx b/packages/suite-base/src/panels/Tab/index.stories.tsx
similarity index 95%
rename from packages/studio-base/src/panels/Tab/index.stories.tsx
rename to packages/suite-base/src/panels/Tab/index.stories.tsx
index 7f22c85d04..de7819a8c3 100644
--- a/packages/studio-base/src/panels/Tab/index.stories.tsx
+++ b/packages/suite-base/src/panels/Tab/index.stories.tsx
@@ -11,23 +11,23 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelCatalog as PanelCatalogComponent } from "@lichtblick/studio-base/components/PanelCatalog";
-import PanelLayout from "@lichtblick/studio-base/components/PanelLayout";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import { PanelCatalog, PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelCatalog as PanelCatalogComponent } from "@lichtblick/suite-base/components/PanelCatalog";
+import PanelLayout from "@lichtblick/suite-base/components/PanelLayout";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import { PanelCatalog, PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
import {
nestedTabLayoutFixture,
nestedTabLayoutFixture2,
-} from "@lichtblick/studio-base/panels/Tab/nestedTabLayoutFixture";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { ExpectedResult } from "@lichtblick/studio-base/stories/storyHelpers";
+} from "@lichtblick/suite-base/panels/Tab/nestedTabLayoutFixture";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { ExpectedResult } from "@lichtblick/suite-base/stories/storyHelpers";
import { useTheme } from "@mui/material";
import { expect } from "@storybook/jest";
import { StoryObj, Meta } from "@storybook/react";
import { fireEvent, within } from "@storybook/testing-library";
-import { TabPanelConfig } from "@lichtblick/studio-base/src/types/layouts";
+import { TabPanelConfig } from "@lichtblick/suite-base/src/types/layouts";
import Tab from "./index";
diff --git a/packages/studio-base/src/panels/Tab/index.tsx b/packages/suite-base/src/panels/Tab/index.tsx
similarity index 82%
rename from packages/studio-base/src/panels/Tab/index.tsx
rename to packages/suite-base/src/panels/Tab/index.tsx
index 2033b286f6..25d7565608 100644
--- a/packages/studio-base/src/panels/Tab/index.tsx
+++ b/packages/suite-base/src/panels/Tab/index.tsx
@@ -11,23 +11,20 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { EmptyPanelLayout } from "@lichtblick/studio-base/components/EmptyPanelLayout";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import { UnconnectedPanelLayout } from "@lichtblick/studio-base/components/PanelLayout";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import { EmptyPanelLayout } from "@lichtblick/suite-base/components/EmptyPanelLayout";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import { UnconnectedPanelLayout } from "@lichtblick/suite-base/components/PanelLayout";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
DraggingTabPanelState,
TabDndContext,
-} from "@lichtblick/studio-base/panels/Tab/TabDndContext";
-import { TabbedToolbar } from "@lichtblick/studio-base/panels/Tab/TabbedToolbar";
-import { TabPanelConfig as Config } from "@lichtblick/studio-base/types/layouts";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
-import { TAB_PANEL_TYPE } from "@lichtblick/studio-base/util/globalConstants";
-import {
- DEFAULT_TAB_PANEL_CONFIG,
- updateTabPanelLayout,
-} from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/panels/Tab/TabDndContext";
+import { TabbedToolbar } from "@lichtblick/suite-base/panels/Tab/TabbedToolbar";
+import { TabPanelConfig as Config } from "@lichtblick/suite-base/types/layouts";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
+import { TAB_PANEL_TYPE } from "@lichtblick/suite-base/util/globalConstants";
+import { DEFAULT_TAB_PANEL_CONFIG, updateTabPanelLayout } from "@lichtblick/suite-base/util/layout";
import { useCallback, useMemo, useState } from "react";
import { MosaicNode } from "react-mosaic-component";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/Tab/nestedTabLayoutFixture.ts b/packages/suite-base/src/panels/Tab/nestedTabLayoutFixture.ts
similarity index 98%
rename from packages/studio-base/src/panels/Tab/nestedTabLayoutFixture.ts
rename to packages/suite-base/src/panels/Tab/nestedTabLayoutFixture.ts
index ae2d51f5af..0fa2caf73a 100644
--- a/packages/studio-base/src/panels/Tab/nestedTabLayoutFixture.ts
+++ b/packages/suite-base/src/panels/Tab/nestedTabLayoutFixture.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
const nestedTabLayoutFixture: Fixture = {
topics: [],
diff --git a/packages/studio-base/src/panels/Tab/thumbnail.png b/packages/suite-base/src/panels/Tab/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Tab/thumbnail.png
rename to packages/suite-base/src/panels/Tab/thumbnail.png
diff --git a/packages/studio-base/src/panels/Table/Table.tsx b/packages/suite-base/src/panels/Table/Table.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Table/Table.tsx
rename to packages/suite-base/src/panels/Table/Table.tsx
index 046fa22b0a..3027156ff4 100644
--- a/packages/studio-base/src/panels/Table/Table.tsx
+++ b/packages/suite-base/src/panels/Table/Table.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Stack from "@lichtblick/suite-base/components/Stack";
import PlusIcon from "@mui/icons-material/AddBoxOutlined";
import MinusIcon from "@mui/icons-material/IndeterminateCheckBoxOutlined";
import KeyboardArrowLeftIcon from "@mui/icons-material/KeyboardArrowLeft";
diff --git a/packages/studio-base/src/panels/Table/TableCell.tsx b/packages/suite-base/src/panels/Table/TableCell.tsx
similarity index 96%
rename from packages/studio-base/src/panels/Table/TableCell.tsx
rename to packages/suite-base/src/panels/Table/TableCell.tsx
index bf919f57c7..611d38cdb2 100644
--- a/packages/studio-base/src/panels/Table/TableCell.tsx
+++ b/packages/suite-base/src/panels/Table/TableCell.tsx
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { CellValue } from "@lichtblick/studio-base/panels/Table/types";
+import { CellValue } from "@lichtblick/suite-base/panels/Table/types";
import MinusIcon from "@mui/icons-material/IndeterminateCheckBoxOutlined";
import { IconButton } from "@mui/material";
import { Row } from "@tanstack/react-table";
diff --git a/packages/studio-base/src/panels/Table/index.stories.tsx b/packages/suite-base/src/panels/Table/index.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/Table/index.stories.tsx
rename to packages/suite-base/src/panels/Table/index.stories.tsx
index f2c5f453a7..abdf5d52d1 100644
--- a/packages/studio-base/src/panels/Table/index.stories.tsx
+++ b/packages/suite-base/src/panels/Table/index.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Table from "@lichtblick/studio-base/panels/Table";
-import { mockMessage } from "@lichtblick/studio-base/players/TopicAliasingPlayer/mocks";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import Table from "@lichtblick/suite-base/panels/Table";
+import { mockMessage } from "@lichtblick/suite-base/players/TopicAliasingPlayer/mocks";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fireEvent, userEvent, within } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/panels/Table/index.tsx b/packages/suite-base/src/panels/Table/index.tsx
similarity index 80%
rename from packages/studio-base/src/panels/Table/index.tsx
rename to packages/suite-base/src/panels/Table/index.tsx
index 8a56be7b2e..ee46102fb9 100644
--- a/packages/studio-base/src/panels/Table/index.tsx
+++ b/packages/suite-base/src/panels/Table/index.tsx
@@ -11,15 +11,15 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useMessagesByTopic } from "@lichtblick/studio-base/PanelAPI";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import MessagePathInput from "@lichtblick/studio-base/components/MessagePathSyntax/MessagePathInput";
-import { useCachedGetMessagePathDataItems } from "@lichtblick/studio-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { useMessagesByTopic } from "@lichtblick/suite-base/PanelAPI";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import MessagePathInput from "@lichtblick/suite-base/components/MessagePathSyntax/MessagePathInput";
+import { useCachedGetMessagePathDataItems } from "@lichtblick/suite-base/components/MessagePathSyntax/useCachedGetMessagePathDataItems";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { useEffect } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/Table/sanitizeAccessorPath.ts b/packages/suite-base/src/panels/Table/sanitizeAccessorPath.ts
similarity index 100%
rename from packages/studio-base/src/panels/Table/sanitizeAccessorPath.ts
rename to packages/suite-base/src/panels/Table/sanitizeAccessorPath.ts
diff --git a/packages/studio-base/src/panels/Table/thumbnail.png b/packages/suite-base/src/panels/Table/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Table/thumbnail.png
rename to packages/suite-base/src/panels/Table/thumbnail.png
diff --git a/packages/studio-base/src/panels/Table/types.ts b/packages/suite-base/src/panels/Table/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/Table/types.ts
rename to packages/suite-base/src/panels/Table/types.ts
diff --git a/packages/studio-base/src/panels/Teleop/DirectionalPad.stories.tsx b/packages/suite-base/src/panels/Teleop/DirectionalPad.stories.tsx
similarity index 100%
rename from packages/studio-base/src/panels/Teleop/DirectionalPad.stories.tsx
rename to packages/suite-base/src/panels/Teleop/DirectionalPad.stories.tsx
diff --git a/packages/studio-base/src/panels/Teleop/DirectionalPad.tsx b/packages/suite-base/src/panels/Teleop/DirectionalPad.tsx
similarity index 98%
rename from packages/studio-base/src/panels/Teleop/DirectionalPad.tsx
rename to packages/suite-base/src/panels/Teleop/DirectionalPad.tsx
index 736114c650..d6f47cce69 100644
--- a/packages/studio-base/src/panels/Teleop/DirectionalPad.tsx
+++ b/packages/suite-base/src/panels/Teleop/DirectionalPad.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import { alpha } from "@mui/material";
import { useCallback, useState } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/Teleop/TeleopPanel.tsx b/packages/suite-base/src/panels/Teleop/TeleopPanel.tsx
similarity index 97%
rename from packages/studio-base/src/panels/Teleop/TeleopPanel.tsx
rename to packages/suite-base/src/panels/Teleop/TeleopPanel.tsx
index 96aa6ea08a..5f22d43941 100644
--- a/packages/studio-base/src/panels/Teleop/TeleopPanel.tsx
+++ b/packages/suite-base/src/panels/Teleop/TeleopPanel.tsx
@@ -8,10 +8,10 @@ import {
SettingsTreeNode,
SettingsTreeNodes,
Topic,
-} from "@lichtblick/studio";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
+} from "@lichtblick/suite";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
import * as _ from "lodash-es";
import { useCallback, useEffect, useLayoutEffect, useState } from "react";
import { DeepPartial } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/Teleop/index.stories.tsx b/packages/suite-base/src/panels/Teleop/index.stories.tsx
similarity index 89%
rename from packages/studio-base/src/panels/Teleop/index.stories.tsx
rename to packages/suite-base/src/panels/Teleop/index.stories.tsx
index 1df6f55a5e..423ea40c2a 100644
--- a/packages/studio-base/src/panels/Teleop/index.stories.tsx
+++ b/packages/suite-base/src/panels/Teleop/index.stories.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PlayerCapabilities } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { PlayerCapabilities } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { action } from "@storybook/addon-actions";
import { StoryFn, StoryContext, StoryObj } from "@storybook/react";
diff --git a/packages/studio-base/src/panels/Teleop/index.tsx b/packages/suite-base/src/panels/Teleop/index.tsx
similarity index 71%
rename from packages/studio-base/src/panels/Teleop/index.tsx
rename to packages/suite-base/src/panels/Teleop/index.tsx
index d4b0b1a6c5..005190165d 100644
--- a/packages/studio-base/src/panels/Teleop/index.tsx
+++ b/packages/suite-base/src/panels/Teleop/index.tsx
@@ -3,12 +3,12 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useCrash } from "@lichtblick/hooks";
-import { PanelExtensionContext } from "@lichtblick/studio";
-import { CaptureErrorBoundary } from "@lichtblick/studio-base/components/CaptureErrorBoundary";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelExtensionAdapter } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { createSyncRoot } from "@lichtblick/studio-base/panels/createSyncRoot";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { PanelExtensionContext } from "@lichtblick/suite";
+import { CaptureErrorBoundary } from "@lichtblick/suite-base/components/CaptureErrorBoundary";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelExtensionAdapter } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { createSyncRoot } from "@lichtblick/suite-base/panels/createSyncRoot";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { StrictMode, useMemo } from "react";
import TeleopPanel from "./TeleopPanel";
diff --git a/packages/studio-base/src/panels/Teleop/thumbnail.png b/packages/suite-base/src/panels/Teleop/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/Teleop/thumbnail.png
rename to packages/suite-base/src/panels/Teleop/thumbnail.png
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/DynamicBufferGeometry.ts b/packages/suite-base/src/panels/ThreeDeeRender/DynamicBufferGeometry.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/DynamicBufferGeometry.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/DynamicBufferGeometry.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/DynamicInstancedMesh.ts b/packages/suite-base/src/panels/ThreeDeeRender/DynamicInstancedMesh.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/DynamicInstancedMesh.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/DynamicInstancedMesh.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/HUD.tsx b/packages/suite-base/src/panels/ThreeDeeRender/HUD.tsx
similarity index 92%
rename from packages/studio-base/src/panels/ThreeDeeRender/HUD.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/HUD.tsx
index 0ca6174578..06fc4d24d5 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/HUD.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/HUD.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import { IRenderer } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import { IRenderer } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
import { Chip } from "@mui/material";
import * as _ from "lodash-es";
import * as React from "react";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/HUDItemManager.test.ts b/packages/suite-base/src/panels/ThreeDeeRender/HUDItemManager.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/HUDItemManager.test.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/HUDItemManager.test.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/HUDItemManager.ts b/packages/suite-base/src/panels/ThreeDeeRender/HUDItemManager.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/HUDItemManager.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/HUDItemManager.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/IRenderer.ts b/packages/suite-base/src/panels/ThreeDeeRender/IRenderer.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/IRenderer.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/IRenderer.ts
index f02cb39776..3b6ccc12eb 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/IRenderer.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/IRenderer.ts
@@ -9,16 +9,16 @@ import {
SettingsIcon,
Topic,
VariableValue,
-} from "@lichtblick/studio";
-import { PanelContextMenuItem } from "@lichtblick/studio-base/components/PanelContextMenu";
+} from "@lichtblick/suite";
+import { PanelContextMenuItem } from "@lichtblick/suite-base/components/PanelContextMenu";
import {
BuiltinPanelExtensionContext,
DraggedMessagePath,
MessagePathDropStatus,
-} from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { HUDItemManager } from "@lichtblick/studio-base/panels/ThreeDeeRender/HUDItemManager";
-import { ICameraHandler } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/ICameraHandler";
-import IAnalytics from "@lichtblick/studio-base/services/IAnalytics";
+} from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { HUDItemManager } from "@lichtblick/suite-base/panels/ThreeDeeRender/HUDItemManager";
+import { ICameraHandler } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/ICameraHandler";
+import IAnalytics from "@lichtblick/suite-base/services/IAnalytics";
import EventEmitter from "eventemitter3";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Input.ts b/packages/suite-base/src/panels/ThreeDeeRender/Input.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/Input.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/Input.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/Interaction.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/Interaction.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/Interaction.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/Interaction.stories.tsx
index ccb0117678..49d44e7b92 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/Interaction.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/Interaction.stories.tsx
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Stack from "@lichtblick/studio-base/components/Stack";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import { PointCloud2 } from "@lichtblick/studio-base/types/Messages";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import { PointCloud2 } from "@lichtblick/suite-base/types/Messages";
import { useTheme } from "@mui/material";
import { StoryFn, StoryObj } from "@storybook/react";
import { PropsWithChildren } from "react";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.stories.tsx
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.stories.tsx
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.tsx b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.tsx
index 64d9836c1d..361faeb346 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/InteractionContextMenu.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { BaseMarker, InstancedLineListMarker } from "@lichtblick/studio-base/types/Messages";
+import { BaseMarker, InstancedLineListMarker } from "@lichtblick/suite-base/types/Messages";
import { Menu, MenuItem, MenuProps } from "@mui/material";
import { useCallback } from "react";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/Interactions.tsx b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/Interactions.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/Interactions.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/Interactions.tsx
index 943fbd364c..419b58f313 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/Interactions.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/Interactions.tsx
@@ -12,11 +12,11 @@
// You may not use this file except in compliance with the License.
import { Cursor20Regular } from "@fluentui/react-icons";
-import type { LayoutActions } from "@lichtblick/studio";
+import type { LayoutActions } from "@lichtblick/suite";
import ExpandingToolbar, {
ToolGroup,
ToolGroupFixedSizePane,
-} from "@lichtblick/studio-base/components/ExpandingToolbar";
+} from "@lichtblick/suite-base/components/ExpandingToolbar";
import { Typography } from "@mui/material";
import ObjectDetails from "./ObjectDetails";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/ObjectDetails.tsx b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/ObjectDetails.tsx
similarity index 88%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/ObjectDetails.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/ObjectDetails.tsx
index 82e7594b69..ce814186d0 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/ObjectDetails.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/ObjectDetails.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { RosValue } from "@lichtblick/studio-base/players/types";
-import { getItemString } from "@lichtblick/studio-base/util/getItemString";
-import { useJsonTreeTheme } from "@lichtblick/studio-base/util/globalConstants";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { RosValue } from "@lichtblick/suite-base/players/types";
+import { getItemString } from "@lichtblick/suite-base/util/getItemString";
+import { useJsonTreeTheme } from "@lichtblick/suite-base/util/globalConstants";
import * as _ from "lodash-es";
import Tree from "react-json-tree";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/TopicLink.tsx b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/TopicLink.tsx
similarity index 94%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/TopicLink.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/TopicLink.tsx
index e64de9de82..d07c79f2b1 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/TopicLink.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/TopicLink.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import type { LayoutActions } from "@lichtblick/studio";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import type { LayoutActions } from "@lichtblick/suite";
+import Stack from "@lichtblick/suite-base/components/Stack";
import OpenInNewIcon from "@mui/icons-material/OpenInNew";
import SettingsIcon from "@mui/icons-material/Settings";
import { IconButton, Typography } from "@mui/material";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/index.ts b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/index.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/index.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/index.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/types.ts b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/types.ts
similarity index 86%
rename from packages/studio-base/src/panels/ThreeDeeRender/Interactions/types.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/Interactions/types.ts
index 2388279965..44cfcf5150 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Interactions/types.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Interactions/types.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { RosObject } from "@lichtblick/studio-base/players/types";
-import { Marker } from "@lichtblick/studio-base/types/Messages";
+import { RosObject } from "@lichtblick/suite-base/players/types";
+import { Marker } from "@lichtblick/suite-base/types/Messages";
export type InteractionData = {
readonly topic: string | undefined;
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/LayerErrors.ts b/packages/suite-base/src/panels/ThreeDeeRender/LayerErrors.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/LayerErrors.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/LayerErrors.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/LineMaterialWithAlphaVertex.ts b/packages/suite-base/src/panels/ThreeDeeRender/LineMaterialWithAlphaVertex.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/LineMaterialWithAlphaVertex.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/LineMaterialWithAlphaVertex.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/ModelCache.ts b/packages/suite-base/src/panels/ThreeDeeRender/ModelCache.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/ModelCache.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/ModelCache.ts
index c698ea1d01..abf2c9db8b 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/ModelCache.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/ModelCache.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { BuiltinPanelExtensionContext } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
+import { BuiltinPanelExtensionContext } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
import { MeshoptDecoder } from "meshoptimizer";
import * as THREE from "three";
import dracoDecoderWasmUrl from "three/examples/jsm/libs/draco/draco_decoder.wasm";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Picker.ts b/packages/suite-base/src/panels/ThreeDeeRender/Picker.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/Picker.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/Picker.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Renderable.ts b/packages/suite-base/src/panels/ThreeDeeRender/Renderable.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/Renderable.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/Renderable.ts
index 3d504ffe97..bd1ed7b36d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Renderable.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Renderable.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import * as THREE from "three";
import type { IRenderer } from "./IRenderer";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Renderer.test.ts b/packages/suite-base/src/panels/ThreeDeeRender/Renderer.test.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/Renderer.test.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/Renderer.test.ts
index ca141f3b22..cdb03fc266 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Renderer.test.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Renderer.test.ts
@@ -3,14 +3,14 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Asset } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { Renderer } from "@lichtblick/studio-base/panels/ThreeDeeRender/Renderer";
-import { DEFAULT_SCENE_EXTENSION_CONFIG } from "@lichtblick/studio-base/panels/ThreeDeeRender/SceneExtensionConfig";
-import { DEFAULT_CAMERA_STATE } from "@lichtblick/studio-base/panels/ThreeDeeRender/camera";
-import { CameraStateSettings } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/CameraStateSettings";
-import { DEFAULT_PUBLISH_SETTINGS } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/PublishSettings";
-import { TFMessage } from "@lichtblick/studio-base/panels/ThreeDeeRender/ros";
+import { MessageEvent } from "@lichtblick/suite";
+import { Asset } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { Renderer } from "@lichtblick/suite-base/panels/ThreeDeeRender/Renderer";
+import { DEFAULT_SCENE_EXTENSION_CONFIG } from "@lichtblick/suite-base/panels/ThreeDeeRender/SceneExtensionConfig";
+import { DEFAULT_CAMERA_STATE } from "@lichtblick/suite-base/panels/ThreeDeeRender/camera";
+import { CameraStateSettings } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/CameraStateSettings";
+import { DEFAULT_PUBLISH_SETTINGS } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/PublishSettings";
+import { TFMessage } from "@lichtblick/suite-base/panels/ThreeDeeRender/ros";
import { setupJestCanvasMock } from "jest-canvas-mock";
import { fromNanoSec, toNanoSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Renderer.ts b/packages/suite-base/src/panels/ThreeDeeRender/Renderer.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/Renderer.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/Renderer.ts
index 29fa79c35f..a5c1069337 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/Renderer.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/Renderer.ts
@@ -14,18 +14,18 @@ import {
SettingsTreeNodes,
Topic,
VariableValue,
-} from "@lichtblick/studio";
-import { PanelContextMenuItem } from "@lichtblick/studio-base/components/PanelContextMenu";
+} from "@lichtblick/suite";
+import { PanelContextMenuItem } from "@lichtblick/suite-base/components/PanelContextMenu";
import {
Asset,
BuiltinPanelExtensionContext,
DraggedMessagePath,
MessagePathDropStatus,
-} from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { HUDItemManager } from "@lichtblick/studio-base/panels/ThreeDeeRender/HUDItemManager";
-import { LayerErrors } from "@lichtblick/studio-base/panels/ThreeDeeRender/LayerErrors";
-import { ICameraHandler } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/ICameraHandler";
-import IAnalytics from "@lichtblick/studio-base/services/IAnalytics";
+} from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { HUDItemManager } from "@lichtblick/suite-base/panels/ThreeDeeRender/HUDItemManager";
+import { LayerErrors } from "@lichtblick/suite-base/panels/ThreeDeeRender/LayerErrors";
+import { ICameraHandler } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/ICameraHandler";
+import IAnalytics from "@lichtblick/suite-base/services/IAnalytics";
import EventEmitter from "eventemitter3";
import { quat, vec3 } from "gl-matrix";
import i18next from "i18next";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/RendererContext.ts b/packages/suite-base/src/panels/ThreeDeeRender/RendererContext.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/RendererContext.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/RendererContext.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.tsx b/packages/suite-base/src/panels/ThreeDeeRender/RendererOverlay.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/RendererOverlay.tsx
index da35ef67ea..c1c981e6a5 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/RendererOverlay.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/RendererOverlay.tsx
@@ -3,16 +3,16 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { Ruler20Filled, Ruler20Regular } from "@fluentui/react-icons";
-import { LayoutActions } from "@lichtblick/studio";
+import { LayoutActions } from "@lichtblick/suite";
import {
PanelContextMenu,
PanelContextMenuItem,
-} from "@lichtblick/studio-base/components/PanelContextMenu";
-import PublishGoalIcon from "@lichtblick/studio-base/components/PublishGoalIcon";
-import PublishPointIcon from "@lichtblick/studio-base/components/PublishPointIcon";
-import PublishPoseEstimateIcon from "@lichtblick/studio-base/components/PublishPoseEstimateIcon";
-import { usePanelMousePresence } from "@lichtblick/studio-base/hooks/usePanelMousePresence";
-import { HUD } from "@lichtblick/studio-base/panels/ThreeDeeRender/HUD";
+} from "@lichtblick/suite-base/components/PanelContextMenu";
+import PublishGoalIcon from "@lichtblick/suite-base/components/PublishGoalIcon";
+import PublishPointIcon from "@lichtblick/suite-base/components/PublishPointIcon";
+import PublishPoseEstimateIcon from "@lichtblick/suite-base/components/PublishPoseEstimateIcon";
+import { usePanelMousePresence } from "@lichtblick/suite-base/hooks/usePanelMousePresence";
+import { HUD } from "@lichtblick/suite-base/panels/ThreeDeeRender/HUD";
import {
Button,
IconButton,
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/SceneExtension.ts b/packages/suite-base/src/panels/ThreeDeeRender/SceneExtension.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/SceneExtension.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/SceneExtension.ts
index b79ad393a6..09dafc270c 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/SceneExtension.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/SceneExtension.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent, SettingsTreeAction } from "@lichtblick/studio";
-import { PanelContextMenuItem } from "@lichtblick/studio-base/components/PanelContextMenu";
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
+import { MessageEvent, SettingsTreeAction } from "@lichtblick/suite";
+import { PanelContextMenuItem } from "@lichtblick/suite-base/components/PanelContextMenu";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
import * as _ from "lodash-es";
import * as THREE from "three";
import { DeepPartial, Writable } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/SceneExtensionConfig.ts b/packages/suite-base/src/panels/ThreeDeeRender/SceneExtensionConfig.ts
similarity index 66%
rename from packages/studio-base/src/panels/ThreeDeeRender/SceneExtensionConfig.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/SceneExtensionConfig.ts
index b99d1e1f04..c467bd636c 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/SceneExtensionConfig.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/SceneExtensionConfig.ts
@@ -2,24 +2,24 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Cameras } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Cameras";
-import { FoxgloveGrid } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/FoxgloveGrid";
-import { FrameAxes } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/FrameAxes";
-import { Grids } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Grids";
-import { ImageMode } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/ImageMode/ImageMode";
-import { Images } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Images";
-import { LaserScans } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/LaserScans";
-import { Markers } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Markers";
-import { OccupancyGrids } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/OccupancyGrids";
-import { PointClouds } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/PointClouds";
-import { Polygons } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Polygons";
-import { PoseArrays } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/PoseArrays";
-import { Poses } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Poses";
-import { PublishSettings } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/PublishSettings";
-import { FoxgloveSceneEntities } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/SceneEntities";
-import { SceneSettings } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/SceneSettings";
-import { Urdfs } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Urdfs";
-import { VelodyneScans } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/VelodyneScans";
+import { Cameras } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Cameras";
+import { FoxgloveGrid } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/FoxgloveGrid";
+import { FrameAxes } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/FrameAxes";
+import { Grids } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Grids";
+import { ImageMode } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/ImageMode/ImageMode";
+import { Images } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Images";
+import { LaserScans } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/LaserScans";
+import { Markers } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Markers";
+import { OccupancyGrids } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/OccupancyGrids";
+import { PointClouds } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/PointClouds";
+import { Polygons } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Polygons";
+import { PoseArrays } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/PoseArrays";
+import { Poses } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Poses";
+import { PublishSettings } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/PublishSettings";
+import { FoxgloveSceneEntities } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/SceneEntities";
+import { SceneSettings } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/SceneSettings";
+import { Urdfs } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Urdfs";
+import { VelodyneScans } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/VelodyneScans";
import { IRenderer } from "./IRenderer";
import { SceneExtension } from "./SceneExtension";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/ScreenOverlay.ts b/packages/suite-base/src/panels/ThreeDeeRender/ScreenOverlay.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/ScreenOverlay.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/ScreenOverlay.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/SettingsManager.ts b/packages/suite-base/src/panels/ThreeDeeRender/SettingsManager.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/SettingsManager.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/SettingsManager.ts
index 323d865c57..0652f6c3d1 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/SettingsManager.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/SettingsManager.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/studio";
+import { SettingsTreeAction, SettingsTreeNode, SettingsTreeNodes } from "@lichtblick/suite";
import EventEmitter from "eventemitter3";
import { produce } from "immer";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/SharedGeometry.ts b/packages/suite-base/src/panels/ThreeDeeRender/SharedGeometry.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/SharedGeometry.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/SharedGeometry.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/Stats.tsx b/packages/suite-base/src/panels/ThreeDeeRender/Stats.tsx
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/Stats.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/Stats.tsx
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.tsx b/packages/suite-base/src/panels/ThreeDeeRender/ThreeDeeRender.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/ThreeDeeRender.tsx
index 99fe1eebf8..badbb32c39 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/ThreeDeeRender.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/ThreeDeeRender.tsx
@@ -13,15 +13,15 @@ import {
SettingsTreeNodes,
Subscription,
Topic,
-} from "@lichtblick/studio";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import { BuiltinPanelExtensionContext } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
+} from "@lichtblick/suite";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import { BuiltinPanelExtensionContext } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
import {
DEFAULT_SCENE_EXTENSION_CONFIG,
SceneExtensionConfig,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/SceneExtensionConfig";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/SceneExtensionConfig";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
import * as _ from "lodash-es";
import { useSnackbar } from "notistack";
import React, { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/camera.ts b/packages/suite-base/src/panels/ThreeDeeRender/camera.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/camera.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/camera.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/color.ts b/packages/suite-base/src/panels/ThreeDeeRender/color.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/color.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/color.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/dispose.ts b/packages/suite-base/src/panels/ThreeDeeRender/dispose.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/dispose.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/dispose.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/foxglove.ts b/packages/suite-base/src/panels/ThreeDeeRender/foxglove.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/foxglove.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/foxglove.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/index.tsx b/packages/suite-base/src/panels/ThreeDeeRender/index.tsx
similarity index 85%
rename from packages/studio-base/src/panels/ThreeDeeRender/index.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/index.tsx
index 1cd13cf57b..2d2386fe0b 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/index.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/index.tsx
@@ -3,21 +3,21 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useCrash } from "@lichtblick/hooks";
-import { CaptureErrorBoundary } from "@lichtblick/studio-base/components/CaptureErrorBoundary";
+import { CaptureErrorBoundary } from "@lichtblick/suite-base/components/CaptureErrorBoundary";
import {
ForwardAnalyticsContextProvider,
ForwardedAnalytics,
useForwardAnalytics,
-} from "@lichtblick/studio-base/components/ForwardAnalyticsContextProvider";
-import Panel from "@lichtblick/studio-base/components/Panel";
+} from "@lichtblick/suite-base/components/ForwardAnalyticsContextProvider";
+import Panel from "@lichtblick/suite-base/components/Panel";
import {
BuiltinPanelExtensionContext,
PanelExtensionAdapter,
-} from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { INJECTED_FEATURE_KEYS, useAppContext } from "@lichtblick/studio-base/context/AppContext";
-import { TestOptions } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { createSyncRoot } from "@lichtblick/studio-base/panels/createSyncRoot";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { INJECTED_FEATURE_KEYS, useAppContext } from "@lichtblick/suite-base/context/AppContext";
+import { TestOptions } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { createSyncRoot } from "@lichtblick/suite-base/panels/createSyncRoot";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { StrictMode, useMemo } from "react";
import { DeepPartial } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/lod.ts b/packages/suite-base/src/panels/ThreeDeeRender/lod.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/lod.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/lod.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/math.ts b/packages/suite-base/src/panels/ThreeDeeRender/math.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/math.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/math.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/normalizeMessages.ts b/packages/suite-base/src/panels/ThreeDeeRender/normalizeMessages.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/normalizeMessages.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/normalizeMessages.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/publish.ts b/packages/suite-base/src/panels/ThreeDeeRender/publish.ts
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/publish.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/publish.ts
index 86f4d282f6..12c155196b 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/publish.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/publish.ts
@@ -1,7 +1,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Point, makeCovarianceArray } from "@lichtblick/studio-base/util/geometry";
+import { Point, makeCovarianceArray } from "@lichtblick/suite-base/util/geometry";
import { MessageDefinition } from "@foxglove/message-definition";
import { ros1, ros2galactic } from "@foxglove/rosmsg-msgs-common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Axis.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Axis.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Axis.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Axis.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.ts
index 8ff7243a5e..554fec217c 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/CameraStateSettings.ts
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction } from "@lichtblick/studio";
-import { ICameraHandler } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/ICameraHandler";
+import { SettingsTreeAction } from "@lichtblick/suite";
+import { ICameraHandler } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/ICameraHandler";
import {
AnyFrameId,
CoordinateFrame,
Pose,
UserFrameId,
makePose,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/transforms";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/transforms";
import { t } from "i18next";
import * as _ from "lodash-es";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Cameras.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Cameras.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Cameras.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Cameras.ts
index 603f1f2b6f..2ffc27df24 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Cameras.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Cameras.ts
@@ -4,8 +4,8 @@
import { PinholeCameraModel } from "@lichtblick/den/image";
import Logger from "@lichtblick/log";
-import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/studio";
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/suite";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import { t } from "i18next";
import { toNanoSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/FoxgloveGrid.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/FoxgloveGrid.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/FoxgloveGrid.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/FoxgloveGrid.ts
index cecd731f76..e325e13788 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/FoxgloveGrid.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/FoxgloveGrid.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction } from "@lichtblick/studio";
-import { GRID_DATATYPES } from "@lichtblick/studio-base/panels/ThreeDeeRender/foxglove";
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+import { SettingsTreeAction } from "@lichtblick/suite";
+import { GRID_DATATYPES } from "@lichtblick/suite-base/panels/ThreeDeeRender/foxglove";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import * as THREE from "three";
import { toNanoSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/FrameAxes.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/FrameAxes.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/FrameAxes.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/FrameAxes.ts
index ea7e68567d..bd48764a76 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/FrameAxes.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/FrameAxes.ts
@@ -7,8 +7,8 @@ import {
SettingsTreeAction,
SettingsTreeChildren,
SettingsTreeFields,
-} from "@lichtblick/studio";
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import { t } from "i18next";
import * as _ from "lodash-es";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Grids.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Grids.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Grids.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Grids.ts
index 22c331f844..774b6e1f4d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Grids.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Grids.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/studio";
+import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/suite";
import { t } from "i18next";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ICameraHandler.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ICameraHandler.ts
similarity index 92%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ICameraHandler.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ICameraHandler.ts
index 31ac3054f0..b1e30044d1 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ICameraHandler.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ICameraHandler.ts
@@ -1,7 +1,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SceneExtension } from "@lichtblick/studio-base/panels/ThreeDeeRender/SceneExtension";
+import { SceneExtension } from "@lichtblick/suite-base/panels/ThreeDeeRender/SceneExtension";
import * as THREE from "three";
import { CameraState } from "../camera";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.ts
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.ts
index c2e3f754f4..5ab614a0e2 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageMode.ts
@@ -11,34 +11,34 @@ import {
SettingsTreeAction,
SettingsTreeFields,
Topic,
-} from "@lichtblick/studio";
-import { PanelContextMenuItem } from "@lichtblick/studio-base/components/PanelContextMenu";
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { HUDItem } from "@lichtblick/studio-base/panels/ThreeDeeRender/HUDItemManager";
-import { Path } from "@lichtblick/studio-base/panels/ThreeDeeRender/LayerErrors";
+} from "@lichtblick/suite";
+import { PanelContextMenuItem } from "@lichtblick/suite-base/components/PanelContextMenu";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { HUDItem } from "@lichtblick/suite-base/panels/ThreeDeeRender/HUDItemManager";
+import { Path } from "@lichtblick/suite-base/panels/ThreeDeeRender/LayerErrors";
import {
IMAGE_MODE_HUD_GROUP_ID,
IMAGE_TOPIC_PATH,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/ImageMode/constants";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/ImageMode/constants";
import {
IMAGE_RENDERABLE_DEFAULT_SETTINGS,
ImageRenderable,
ImageRenderableSettings,
ImageUserData,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Images/ImageRenderable";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Images/ImageRenderable";
import {
AnyImage,
getFrameIdFromImage,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Images/ImageTypes";
-import { IMAGE_DEFAULT_COLOR_MODE_SETTINGS } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Images/decodeImage";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Images/ImageTypes";
+import { IMAGE_DEFAULT_COLOR_MODE_SETTINGS } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Images/decodeImage";
import {
cameraInfosEqual,
normalizeCameraInfo,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/projections";
-import { t3D } from "@lichtblick/studio-base/panels/ThreeDeeRender/t3D";
-import { makePose } from "@lichtblick/studio-base/panels/ThreeDeeRender/transforms";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
-import { downloadFiles } from "@lichtblick/studio-base/util/download";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/projections";
+import { t3D } from "@lichtblick/suite-base/panels/ThreeDeeRender/t3D";
+import { makePose } from "@lichtblick/suite-base/panels/ThreeDeeRender/transforms";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
+import { downloadFiles } from "@lichtblick/suite-base/util/download";
import * as _ from "lodash-es";
import * as THREE from "three";
import { Writable } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageModeCamera.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageModeCamera.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageModeCamera.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/ImageModeCamera.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.test.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.test.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.test.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.test.ts
index 854eecb103..b2db1c9485 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.test.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { HUDItemManager } from "@lichtblick/studio-base/panels/ThreeDeeRender/HUDItemManager";
+import { MessageEvent } from "@lichtblick/suite";
+import { HUDItemManager } from "@lichtblick/suite-base/panels/ThreeDeeRender/HUDItemManager";
import {
MessageHandler,
WAITING_FOR_BOTH_HUD_ITEM,
@@ -12,7 +12,7 @@ import {
WAITING_FOR_IMAGE_NOTICE_HUD_ITEM,
WAITING_FOR_SYNC_EMPTY_HUD_ITEM,
WAITING_FOR_SYNC_NOTICE_HUD_ITEM,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler";
import * as _ from "lodash-es";
import { DeepPartial } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.ts
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.ts
index 2886cec80a..5a973b5d60 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/MessageHandler.ts
@@ -2,27 +2,27 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, MessageEvent } from "@lichtblick/studio";
+import { Immutable, MessageEvent } from "@lichtblick/suite";
import {
HUDItem,
HUDItemManager,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/HUDItemManager";
-import { ImageModeConfig } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/HUDItemManager";
+import { ImageModeConfig } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
import {
AnyImage,
getTimestampFromImage,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Images/ImageTypes";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Images/ImageTypes";
import {
normalizeCompressedImage,
normalizeRawImage,
normalizeRosCompressedImage,
normalizeRosImage,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Images/imageNormalizers";
-import { normalizeCameraInfo } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/projections";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Images/imageNormalizers";
+import { normalizeCameraInfo } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/projections";
import {
ImageMarker as RosImageMarker,
ImageMarkerArray as RosImageMarkerArray,
-} from "@lichtblick/studio-base/types/Messages";
+} from "@lichtblick/suite-base/types/Messages";
import * as _ from "lodash-es";
import { AVLTree } from "@foxglove/avl";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts
index 707516fa80..1bff1e7064 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/ImageAnnotations.ts
@@ -4,13 +4,13 @@
import { filterMap } from "@lichtblick/den/collection";
import { PinholeCameraModel } from "@lichtblick/den/image";
-import { Immutable, MessageEvent, SettingsTreeAction, Topic } from "@lichtblick/studio";
-import { Path } from "@lichtblick/studio-base/panels/ThreeDeeRender/LayerErrors";
-import { onlyLastByTopicMessage } from "@lichtblick/studio-base/panels/ThreeDeeRender/SceneExtension";
+import { Immutable, MessageEvent, SettingsTreeAction, Topic } from "@lichtblick/suite";
+import { Path } from "@lichtblick/suite-base/panels/ThreeDeeRender/LayerErrors";
+import { onlyLastByTopicMessage } from "@lichtblick/suite-base/panels/ThreeDeeRender/SceneExtension";
import {
ImageMarker as RosImageMarker,
ImageMarkerArray as RosImageMarkerArray,
-} from "@lichtblick/studio-base/types/Messages";
+} from "@lichtblick/suite-base/types/Messages";
import { t } from "i18next";
import * as THREE from "three";
import { Opaque } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.ts
index 03af32f355..7e8c16a6c8 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableLineAnnotation.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { PinholeCameraModel } from "@lichtblick/den/image";
-import { RosObject, RosValue } from "@lichtblick/studio-base/players/types";
+import { RosObject, RosValue } from "@lichtblick/suite-base/players/types";
import * as THREE from "three";
import { LineGeometry } from "three/examples/jsm/lines/LineGeometry";
import { LineSegments2 } from "three/examples/jsm/lines/LineSegments2";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderablePointsAnnotation.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderablePointsAnnotation.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderablePointsAnnotation.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderablePointsAnnotation.ts
index 8f7d6b74b2..e050fc089a 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderablePointsAnnotation.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderablePointsAnnotation.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { PinholeCameraModel } from "@lichtblick/den/image";
-import { RosObject, RosValue } from "@lichtblick/studio-base/players/types";
+import { RosObject, RosValue } from "@lichtblick/suite-base/players/types";
import * as THREE from "three";
import {
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTextAnnotation.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTextAnnotation.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTextAnnotation.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTextAnnotation.ts
index 5494654375..1008634159 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTextAnnotation.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTextAnnotation.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { PinholeCameraModel } from "@lichtblick/den/image";
-import { RosObject, RosValue } from "@lichtblick/studio-base/players/types";
+import { RosObject, RosValue } from "@lichtblick/suite-base/players/types";
import { Label, LabelPool } from "@foxglove/three-text";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.ts
index 47c1712a79..e607a8ac21 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/RenderableTopicAnnotations.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { PinholeCameraModel } from "@lichtblick/den/image";
-import { RosObject } from "@lichtblick/studio-base/players/types";
+import { RosObject } from "@lichtblick/suite-base/players/types";
import * as THREE from "three";
import { LabelPool } from "@foxglove/three-text";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/annotationRenderOrder.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/annotationRenderOrder.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/annotationRenderOrder.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/annotationRenderOrder.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.test.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.test.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.test.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.ts
index 23fd8100a9..e2beb72d52 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/normalizeAnnotations.ts
@@ -3,13 +3,13 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { RosObject } from "@lichtblick/studio-base/players/types";
+import { RosObject } from "@lichtblick/suite-base/players/types";
import {
ImageMarker,
ImageMarkerArray,
ImageMarkerType,
-} from "@lichtblick/studio-base/types/Messages";
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+} from "@lichtblick/suite-base/types/Messages";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import { Time, fromNanoSec } from "@foxglove/rostime";
import { ImageAnnotations, PointsAnnotationType } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.ts
similarity index 93%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.ts
index c1e657147c..f8d1bea450 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/annotations/types.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { Color, Point2D } from "@lichtblick/studio-base/types/Messages";
+import type { Color, Point2D } from "@lichtblick/suite-base/types/Messages";
import type { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/constants.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/constants.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/ImageMode/constants.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/ImageMode/constants.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images.ts
index 313c90bc98..886d19fbfb 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images.ts
@@ -5,8 +5,8 @@
import { MultiMap, filterMap } from "@lichtblick/den/collection";
import { PinholeCameraModel } from "@lichtblick/den/image";
import Logger from "@lichtblick/log";
-import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/studio";
-import { ALL_SUPPORTED_IMAGE_SCHEMAS } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/ImageMode/ImageMode";
+import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/suite";
+import { ALL_SUPPORTED_IMAGE_SCHEMAS } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/ImageMode/ImageMode";
import { t } from "i18next";
import { assert } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts
index fb43ab9915..882a4db464 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/ImageRenderable.ts
@@ -4,12 +4,12 @@
import { PinholeCameraModel } from "@lichtblick/den/image";
import Logger from "@lichtblick/log";
-import { IRenderer } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { BaseUserData, Renderable } from "@lichtblick/studio-base/panels/ThreeDeeRender/Renderable";
-import { stringToRgba } from "@lichtblick/studio-base/panels/ThreeDeeRender/color";
-import { WorkerImageDecoder } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder";
-import { projectPixel } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/projections";
-import { RosValue } from "@lichtblick/studio-base/players/types";
+import { IRenderer } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { BaseUserData, Renderable } from "@lichtblick/suite-base/panels/ThreeDeeRender/Renderable";
+import { stringToRgba } from "@lichtblick/suite-base/panels/ThreeDeeRender/color";
+import { WorkerImageDecoder } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder";
+import { projectPixel } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/projections";
+import { RosValue } from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import * as THREE from "three";
import { assert } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageTypes.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/ImageTypes.ts
similarity index 90%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageTypes.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/ImageTypes.ts
index 12c88e8976..7a785cc175 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/ImageTypes.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/ImageTypes.ts
@@ -1,7 +1,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { CAMERA_CALIBRATION_DATATYPES } from "@lichtblick/studio-base/panels/ThreeDeeRender/foxglove";
+import { CAMERA_CALIBRATION_DATATYPES } from "@lichtblick/suite-base/panels/ThreeDeeRender/foxglove";
import { Time } from "@foxglove/rostime";
import { CompressedImage, RawImage } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/WorkerImageDecoder.worker.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/decodeImage.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/imageNormalizers.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/imageNormalizers.ts
similarity index 95%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/imageNormalizers.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/imageNormalizers.ts
index faa957cd80..0c5bc2d5c5 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/imageNormalizers.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/imageNormalizers.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PartialMessage } from "@lichtblick/studio-base/panels/ThreeDeeRender/SceneExtension";
+import { PartialMessage } from "@lichtblick/suite-base/panels/ThreeDeeRender/SceneExtension";
import { CompressedImage, RawImage } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.test.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.test.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.test.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Images/topicPrefixMatching.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/LaserScans.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/LaserScans.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/LaserScans.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/LaserScans.ts
index 63473d450f..79190d0aa6 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/LaserScans.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/LaserScans.ts
@@ -2,16 +2,16 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, MessageEvent } from "@lichtblick/studio";
+import { SettingsTreeAction, MessageEvent } from "@lichtblick/suite";
import {
DEFAULT_POINT_SETTINGS,
LayerSettingsPointExtension,
pointSettingsNode,
PointsRenderable,
RenderObjectHistory,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/pointExtensionUtils";
-import type { RosObject, RosValue } from "@lichtblick/studio-base/players/types";
-import { emptyPose } from "@lichtblick/studio-base/util/Pose";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/pointExtensionUtils";
+import type { RosObject, RosValue } from "@lichtblick/suite-base/players/types";
+import { emptyPose } from "@lichtblick/suite-base/util/Pose";
import * as _ from "lodash-es";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Markers.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Markers.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Markers.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Markers.ts
index 1203026347..44829184b8 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Markers.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Markers.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction } from "@lichtblick/studio";
+import { SettingsTreeAction } from "@lichtblick/suite";
import { t } from "i18next";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/MeasurementTool.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/MeasurementTool.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/MeasurementTool.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/MeasurementTool.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/OccupancyGrids.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/OccupancyGrids.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/OccupancyGrids.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/OccupancyGrids.ts
index 566eb475dd..6bedb025d7 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/OccupancyGrids.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/OccupancyGrids.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/studio";
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/suite";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import { t } from "i18next";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/PointClouds.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/PointClouds.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/PointClouds.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/PointClouds.ts
index 1173bd309c..90ba367b1e 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/PointClouds.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/PointClouds.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, MessageEvent } from "@lichtblick/studio";
-import { DynamicBufferGeometry } from "@lichtblick/studio-base/panels/ThreeDeeRender/DynamicBufferGeometry";
+import { SettingsTreeAction, MessageEvent } from "@lichtblick/suite";
+import { DynamicBufferGeometry } from "@lichtblick/suite-base/panels/ThreeDeeRender/DynamicBufferGeometry";
import {
createGeometry,
createInstancePickingMaterial,
@@ -16,8 +16,8 @@ import {
POINT_CLOUD_REQUIRED_FIELDS,
RenderObjectHistory,
PointsRenderable,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/pointExtensionUtils";
-import type { RosObject, RosValue } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/pointExtensionUtils";
+import type { RosObject, RosValue } from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Polygons.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Polygons.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Polygons.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Polygons.ts
index 4e8b8d0de8..e7e07c32b3 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Polygons.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Polygons.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/studio";
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/suite";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import { toNanoSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/PoseArrays.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/PoseArrays.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/PoseArrays.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/PoseArrays.ts
index bef64abb8c..49f956705d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/PoseArrays.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/PoseArrays.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeFields, Topic } from "@lichtblick/studio";
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+import { SettingsTreeAction, SettingsTreeFields, Topic } from "@lichtblick/suite";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import { t } from "i18next";
import * as _ from "lodash-es";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Poses.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Poses.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Poses.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Poses.ts
index e6a2e06012..64c3166608 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Poses.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Poses.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/studio";
-import type { RosValue } from "@lichtblick/studio-base/players/types";
+import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/suite";
+import type { RosValue } from "@lichtblick/suite-base/players/types";
import { t } from "i18next";
import * as _ from "lodash-es";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/PublishClickTool.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/PublishClickTool.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/PublishClickTool.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/PublishClickTool.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/PublishSettings.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/PublishSettings.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/PublishSettings.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/PublishSettings.ts
index 1c6e8dd7c0..9cf6ddb549 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/PublishSettings.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/PublishSettings.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction } from "@lichtblick/studio";
+import { SettingsTreeAction } from "@lichtblick/suite";
import { t } from "i18next";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/SceneEntities.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/SceneEntities.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/SceneEntities.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/SceneEntities.ts
index 817c7560b0..43a919139c 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/SceneEntities.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/SceneEntities.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction } from "@lichtblick/studio";
+import { SettingsTreeAction } from "@lichtblick/suite";
import { toNanoSec } from "@foxglove/rostime";
import {
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/SceneSettings.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/SceneSettings.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/SceneSettings.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/SceneSettings.ts
index 298b95bc58..c4995bab66 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/SceneSettings.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/SceneSettings.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/studio";
+import { SettingsTreeAction, SettingsTreeFields } from "@lichtblick/suite";
import { t } from "i18next";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/TopicEntities.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/TopicEntities.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/TopicEntities.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/TopicEntities.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/TopicMarkers.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/TopicMarkers.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/TopicMarkers.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/TopicMarkers.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Urdfs.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Urdfs.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/Urdfs.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/Urdfs.ts
index e81fb7cc62..9ce313329f 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/Urdfs.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/Urdfs.ts
@@ -16,10 +16,10 @@ import {
SettingsTreeChildren,
SettingsTreeField,
SettingsTreeFields,
-} from "@lichtblick/studio";
-import { makeRgba, stringToRgba } from "@lichtblick/studio-base/panels/ThreeDeeRender/color";
-import { eulerToQuaternion } from "@lichtblick/studio-base/util/geometry";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+} from "@lichtblick/suite";
+import { makeRgba, stringToRgba } from "@lichtblick/suite-base/panels/ThreeDeeRender/color";
+import { eulerToQuaternion } from "@lichtblick/suite-base/util/geometry";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import { vec3 } from "gl-matrix";
import i18next from "i18next";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/VelodyneScans.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/VelodyneScans.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/VelodyneScans.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/VelodyneScans.ts
index 51deaf2e27..f61416c769 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/VelodyneScans.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/VelodyneScans.ts
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent, SettingsTreeAction } from "@lichtblick/studio";
+import { MessageEvent, SettingsTreeAction } from "@lichtblick/suite";
import {
createStixelMaterial,
PointCloudHistoryRenderable,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/PointClouds";
-import type { RosObject } from "@lichtblick/studio-base/players/types";
-import { VelodyneScan } from "@lichtblick/studio-base/types/Messages";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/PointClouds";
+import type { RosObject } from "@lichtblick/suite-base/players/types";
+import { VelodyneScan } from "@lichtblick/suite-base/types/Messages";
import * as _ from "lodash-es";
import { toNanoSec, toSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/colorMode.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/colorMode.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/colorMode.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/colorMode.ts
index b2ef0d6034..658895ddab 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/colorMode.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/colorMode.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeFields, SettingsTreeNode } from "@lichtblick/studio";
-import { BaseSettings } from "@lichtblick/studio-base/panels/ThreeDeeRender/settings";
+import { SettingsTreeFields, SettingsTreeNode } from "@lichtblick/suite";
+import { BaseSettings } from "@lichtblick/suite-base/panels/ThreeDeeRender/settings";
import { t } from "i18next";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/MarkerPool.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/MarkerPool.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/MarkerPool.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/MarkerPool.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableArrow.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableArrow.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableArrow.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableArrow.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCube.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCube.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCube.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCube.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCubeList.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCubeList.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCubeList.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCubeList.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCylinder.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCylinder.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCylinder.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableCylinder.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineList.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineList.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineList.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineList.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineStrip.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineStrip.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineStrip.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableLineStrip.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMarker.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMarker.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMarker.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMarker.ts
index 13fb467bd7..693c36b495 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMarker.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMarker.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { RosValue } from "@lichtblick/studio-base/players/types";
+import { RosValue } from "@lichtblick/suite-base/players/types";
import * as THREE from "three";
import { toNanoSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMeshResource.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMeshResource.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMeshResource.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMeshResource.ts
index bc237d999a..fff575fd18 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMeshResource.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableMeshResource.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { EDGE_LINE_SEGMENTS_NAME } from "@lichtblick/studio-base/panels/ThreeDeeRender/ModelCache";
+import { EDGE_LINE_SEGMENTS_NAME } from "@lichtblick/suite-base/panels/ThreeDeeRender/ModelCache";
import * as THREE from "three";
import { RenderableMarker } from "./RenderableMarker";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderablePoints.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderablePoints.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderablePoints.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderablePoints.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphere.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphere.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphere.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphere.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphereList.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphereList.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphereList.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableSphereList.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTextViewFacing.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTextViewFacing.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTextViewFacing.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTextViewFacing.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTriangleList.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTriangleList.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTriangleList.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/RenderableTriangleList.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/materials.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/materials.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/markers/materials.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/markers/materials.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/materials/MeshStandardMaterialWithInstanceOpacity.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/materials/MeshStandardMaterialWithInstanceOpacity.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/materials/MeshStandardMaterialWithInstanceOpacity.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/materials/MeshStandardMaterialWithInstanceOpacity.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/models.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/models.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/models.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/models.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/pointClouds/fieldReaders.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/pointClouds/fieldReaders.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/pointClouds/fieldReaders.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/pointClouds/fieldReaders.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/pointExtensionUtils.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/pointExtensionUtils.ts
similarity index 94%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/pointExtensionUtils.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/pointExtensionUtils.ts
index 61e4a65a75..8f4815bec0 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/pointExtensionUtils.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/pointExtensionUtils.ts
@@ -2,18 +2,18 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeNode, Topic } from "@lichtblick/studio";
-import { DynamicBufferGeometry } from "@lichtblick/studio-base/panels/ThreeDeeRender/DynamicBufferGeometry";
-import { IRenderer } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { BaseUserData, Renderable } from "@lichtblick/studio-base/panels/ThreeDeeRender/Renderable";
-import { rgbaToCssString } from "@lichtblick/studio-base/panels/ThreeDeeRender/color";
+import { SettingsTreeNode, Topic } from "@lichtblick/suite";
+import { DynamicBufferGeometry } from "@lichtblick/suite-base/panels/ThreeDeeRender/DynamicBufferGeometry";
+import { IRenderer } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { BaseUserData, Renderable } from "@lichtblick/suite-base/panels/ThreeDeeRender/Renderable";
+import { rgbaToCssString } from "@lichtblick/suite-base/panels/ThreeDeeRender/color";
import {
MISSING_TRANSFORM,
missingTransformMessage,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/transforms";
-import { BaseSettings } from "@lichtblick/studio-base/panels/ThreeDeeRender/settings";
-import { MAX_DURATION } from "@lichtblick/studio-base/panels/ThreeDeeRender/transforms";
-import { updatePose } from "@lichtblick/studio-base/panels/ThreeDeeRender/updatePose";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/transforms";
+import { BaseSettings } from "@lichtblick/suite-base/panels/ThreeDeeRender/settings";
+import { MAX_DURATION } from "@lichtblick/suite-base/panels/ThreeDeeRender/transforms";
+import { updatePose } from "@lichtblick/suite-base/panels/ThreeDeeRender/updatePose";
import { t } from "i18next";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/PrimitivePool.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/PrimitivePool.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/PrimitivePool.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/PrimitivePool.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableArrows.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableArrows.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableArrows.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableArrows.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCubes.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCubes.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCubes.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCubes.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCylinders.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCylinders.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCylinders.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableCylinders.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableLines.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableLines.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableLines.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableLines.ts
index ada69e2bde..c2f7bf137b 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableLines.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableLines.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LineMaterialWithAlphaVertex } from "@lichtblick/studio-base/panels/ThreeDeeRender/LineMaterialWithAlphaVertex";
+import { LineMaterialWithAlphaVertex } from "@lichtblick/suite-base/panels/ThreeDeeRender/LineMaterialWithAlphaVertex";
import * as THREE from "three";
import { Line2 } from "three/examples/jsm/lines/Line2";
import { LineGeometry } from "three/examples/jsm/lines/LineGeometry";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableModels.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableModels.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableModels.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableModels.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderablePrimitive.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderablePrimitive.ts
similarity index 89%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderablePrimitive.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderablePrimitive.ts
index edc809d783..80609be564 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderablePrimitive.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderablePrimitive.ts
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IRenderer } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { BaseUserData, Renderable } from "@lichtblick/studio-base/panels/ThreeDeeRender/Renderable";
-import { RosValue } from "@lichtblick/studio-base/players/types";
-import { emptyPose } from "@lichtblick/studio-base/util/Pose";
+import { IRenderer } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { BaseUserData, Renderable } from "@lichtblick/suite-base/panels/ThreeDeeRender/Renderable";
+import { RosValue } from "@lichtblick/suite-base/players/types";
+import { emptyPose } from "@lichtblick/suite-base/util/Pose";
import { SceneEntity } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableSpheres.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableSpheres.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableSpheres.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableSpheres.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTexts.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTexts.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTexts.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTexts.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTriangles.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTriangles.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTriangles.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTriangles.ts
index 2379225f2c..c95faa7c8a 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTriangles.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/RenderableTriangles.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { DynamicBufferGeometry } from "@lichtblick/studio-base/panels/ThreeDeeRender/DynamicBufferGeometry";
+import { DynamicBufferGeometry } from "@lichtblick/suite-base/panels/ThreeDeeRender/DynamicBufferGeometry";
import * as THREE from "three";
import { toNanoSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/types.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/primitives/types.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/primitives/types.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/projections.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/projections.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/projections.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/projections.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/renderables/transforms.ts b/packages/suite-base/src/panels/ThreeDeeRender/renderables/transforms.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/renderables/transforms.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/renderables/transforms.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/ros.ts b/packages/suite-base/src/panels/ThreeDeeRender/ros.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/ros.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/ros.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/settings.ts b/packages/suite-base/src/panels/ThreeDeeRender/settings.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/settings.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/settings.ts
index 7eab3554db..f6e747022f 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/settings.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/settings.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { SettingsTreeField } from "@lichtblick/studio";
+import type { SettingsTreeField } from "@lichtblick/suite";
export type SelectEntry = { label: string; value: string };
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ArrowMarkers.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/ArrowMarkers.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ArrowMarkers.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ArrowMarkers.stories.tsx
index 88d2042e07..96444841f4 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ArrowMarkers.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ArrowMarkers.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import {
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/AutoSelectFrame.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/AutoSelectFrame.stories.tsx
similarity index 94%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/AutoSelectFrame.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/AutoSelectFrame.stories.tsx
index 894b436ba7..ef79696e6a 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/AutoSelectFrame.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/AutoSelectFrame.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import {
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/CameraInfoRender.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/CameraInfoRender.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/CameraInfoRender.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/CameraInfoRender.stories.tsx
index d77a88bfe8..29f12dae5d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/CameraInfoRender.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/CameraInfoRender.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ColladaUpAxis.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/ColladaUpAxis.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ColladaUpAxis.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ColladaUpAxis.stories.tsx
index 54d3f47647..2cccd6c7c4 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ColladaUpAxis.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ColladaUpAxis.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { COLLADA_CONE_Y_UP_MESH_RESOURCE, COLLADA_CONE_Z_UP_MESH_RESOURCE } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/CustomBackgroundColor.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/CustomBackgroundColor.stories.tsx
similarity index 93%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/CustomBackgroundColor.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/CustomBackgroundColor.stories.tsx
index 89ee8ba133..5ccd2fb8d5 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/CustomBackgroundColor.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/CustomBackgroundColor.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import useDelayedFixture from "./useDelayedFixture";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/EditableTransform.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/EditableTransform.stories.tsx
similarity index 93%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/EditableTransform.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/EditableTransform.stories.tsx
index 375457346d..3b2a329ad3 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/EditableTransform.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/EditableTransform.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import { eulerToQuaternion } from "@lichtblick/studio-base/util/geometry";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import { eulerToQuaternion } from "@lichtblick/suite-base/util/geometry";
import { StoryObj } from "@storybook/react";
import type { FrameTransform } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/FramelessMarkers.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/FramelessMarkers.stories.tsx
similarity index 93%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/FramelessMarkers.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/FramelessMarkers.stories.tsx
index 57001e82d6..63207d33da 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/FramelessMarkers.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/FramelessMarkers.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { makeColor, rad2deg, TEST_COLORS } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_Polygon.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_Polygon.stories.tsx
similarity index 94%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_Polygon.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_Polygon.stories.tsx
index 6bb26cb0f1..cdebb667de 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_Polygon.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_Polygon.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { QUAT_IDENTITY, rad2deg } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseArray.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseArray.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseArray.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseArray.stories.tsx
index 3901ee503b..72d0d0e35d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseArray.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseArray.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { quat } from "gl-matrix";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseStamped.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseStamped.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseStamped.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseStamped.stories.tsx
index 7ce3180c9a..bf66091987 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseStamped.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/GeometryMsgs_PoseStamped.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { quat } from "gl-matrix";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageAnnotations.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageAnnotations.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageAnnotations.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageAnnotations.stories.tsx
index c790bc7a4a..9a83f0fba8 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageAnnotations.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageAnnotations.stories.tsx
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { ImageModeConfig } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { makeRawImageAndCalibration } from "@lichtblick/studio-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { useReadySignal } from "@lichtblick/studio-base/stories/ReadySignalContext";
-import delay from "@lichtblick/studio-base/util/delay";
+import { MessageEvent } from "@lichtblick/suite";
+import { ImageModeConfig } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { makeRawImageAndCalibration } from "@lichtblick/suite-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { useReadySignal } from "@lichtblick/suite-base/stories/ReadySignalContext";
+import delay from "@lichtblick/suite-base/util/delay";
import { StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageMode.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageMode.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageMode.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageMode.stories.tsx
index 24668141de..eb8877e416 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageMode.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageMode.stories.tsx
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import { MessageEvent } from "@lichtblick/suite";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
makeCompressedImageAndCalibration,
makeRawImageAndCalibration,
-} from "@lichtblick/studio-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import delay from "@lichtblick/studio-base/util/delay";
+} from "@lichtblick/suite-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import delay from "@lichtblick/suite-base/util/delay";
import { Meta, StoryObj } from "@storybook/react";
import { fireEvent, screen, userEvent, waitFor } from "@storybook/testing-library";
import { useCallback, useMemo, useState } from "react";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageOnlyMode.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageOnlyMode.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageOnlyMode.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageOnlyMode.stories.tsx
index 8633c20caa..8339033a57 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageOnlyMode.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImageOnlyMode.stories.tsx
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { ImageModeConfig } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { makeRawImageAndCalibration } from "@lichtblick/studio-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
-import { xyzrpyToPose } from "@lichtblick/studio-base/panels/ThreeDeeRender/transforms";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { ImageModeConfig } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { makeRawImageAndCalibration } from "@lichtblick/suite-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
+import { xyzrpyToPose } from "@lichtblick/suite-base/panels/ThreeDeeRender/transforms";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { screen, userEvent, within } from "@storybook/testing-library";
import tinycolor from "tinycolor2";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImagePanZoomRotate.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImagePanZoomRotate.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImagePanZoomRotate.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImagePanZoomRotate.stories.tsx
index 7cd4c11df2..cc2c5fdb76 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/ImagePanZoomRotate.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/ImagePanZoomRotate.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { makeRawImageAndCalibration } from "@lichtblick/studio-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { makeRawImageAndCalibration } from "@lichtblick/suite-base/panels/ThreeDeeRender/stories/ImageMode/imageCommon";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fireEvent } from "@storybook/testing-library";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/imageCommon.ts b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/imageCommon.ts
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/imageCommon.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/imageCommon.ts
index ceafab2ee8..77970654c8 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageMode/imageCommon.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageMode/imageCommon.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
import { CameraCalibration, CompressedImage, RawImage } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageRender.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageRender.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/ImageRender.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/ImageRender.stories.tsx
index 0acf558e06..3b20d532e9 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/ImageRender.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/ImageRender.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { useReadySignal } from "@lichtblick/studio-base/stories/ReadySignalContext";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { useReadySignal } from "@lichtblick/suite-base/stories/ReadySignalContext";
import { StoryObj } from "@storybook/react";
import { userEvent, screen } from "@storybook/testing-library";
import { useEffect, useState } from "react";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/LabelMarkers.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/LabelMarkers.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/LabelMarkers.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/LabelMarkers.stories.tsx
index fa123df038..a62041fbeb 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/LabelMarkers.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/LabelMarkers.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { makeColor, QUAT_IDENTITY, rad2deg, SENSOR_FRAME_ID } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/LargeTransform.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/LargeTransform.stories.tsx
similarity index 94%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/LargeTransform.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/LargeTransform.stories.tsx
index b53eb02b1e..7ec5e131c8 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/LargeTransform.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/LargeTransform.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fromSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/MarkerLifetimes.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/MarkerLifetimes.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/MarkerLifetimes.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/MarkerLifetimes.stories.tsx
index ca57a680c7..940e64cdf4 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/MarkerLifetimes.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/MarkerLifetimes.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fromSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/Marker_PointCloud2_Alignment.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/Marker_PointCloud2_Alignment.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/Marker_PointCloud2_Alignment.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/Marker_PointCloud2_Alignment.stories.tsx
index e17cc62fe1..a4a6ce4ce8 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/Marker_PointCloud2_Alignment.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/Marker_PointCloud2_Alignment.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { makeColor, QUAT_IDENTITY, rad2deg, packRvizRgba, VEC3_ZERO } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/Markers.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/Markers.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/Markers.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/Markers.stories.tsx
index fee43f8fea..74d6985c75 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/Markers.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/Markers.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { useReadySignal } from "@lichtblick/studio-base/stories/ReadySignalContext";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { useReadySignal } from "@lichtblick/suite-base/stories/ReadySignalContext";
import { StoryObj } from "@storybook/react";
import { userEvent, screen } from "@storybook/testing-library";
import { useEffect, useState } from "react";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/MeasurementTool.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/MeasurementTool.stories.tsx
similarity index 91%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/MeasurementTool.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/MeasurementTool.stories.tsx
index 9abe6acce1..444e8a132b 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/MeasurementTool.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/MeasurementTool.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import delay from "@lichtblick/studio-base/util/delay";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import delay from "@lichtblick/suite-base/util/delay";
import { StoryObj } from "@storybook/react";
import { QUAT_IDENTITY, rad2deg } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/MeshMarkerOrientation.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/MeshMarkerOrientation.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/MeshMarkerOrientation.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/MeshMarkerOrientation.stories.tsx
index e314358833..59cde9a86e 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/MeshMarkerOrientation.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/MeshMarkerOrientation.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import {
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/MeshMarkers.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/MeshMarkers.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/MeshMarkers.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/MeshMarkers.stories.tsx
index 3d8894b556..14c0ec3b8d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/MeshMarkers.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/MeshMarkers.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { makeColor, OBJ_CUBE_MESH_RESOURCE, QUAT_IDENTITY, STL_CUBE_MESH_RESOURCE } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/NavMsgs_Path.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/NavMsgs_Path.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/NavMsgs_Path.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/NavMsgs_Path.stories.tsx
index 5ff94f95c1..edd7bad949 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/NavMsgs_Path.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/NavMsgs_Path.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { quat } from "gl-matrix";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/OccupancyGrid.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/OccupancyGrid.stories.tsx
similarity index 95%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/OccupancyGrid.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/OccupancyGrid.stories.tsx
index cec4ff1f3d..feab920371 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/OccupancyGrid.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/OccupancyGrid.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { LayerSettingsOccupancyGrid } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/OccupancyGrids";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { LayerSettingsOccupancyGrid } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/OccupancyGrids";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { screen, userEvent, waitFor } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/PoseMarkers.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/PoseMarkers.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/PoseMarkers.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/PoseMarkers.stories.tsx
index 0f60e2bc45..d77d5f05a5 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/PoseMarkers.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/PoseMarkers.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import {
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/PublishClickTool.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/PublishClickTool.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/PublishClickTool.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/PublishClickTool.stories.tsx
index 53b3c514e5..aebf26878e 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/PublishClickTool.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/PublishClickTool.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { PlayerCapabilities, Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import delay from "@lichtblick/studio-base/util/delay";
+import { MessageEvent } from "@lichtblick/suite";
+import { PlayerCapabilities, Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import delay from "@lichtblick/suite-base/util/delay";
import { StoryObj } from "@storybook/react";
import { userEvent, screen } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/SceneEntities.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/SceneEntities.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/SceneEntities.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/SceneEntities.stories.tsx
index 3c3c909425..5f63719ef4 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/SceneEntities.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/SceneEntities.stories.tsx
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { ColorRGBA } from "@lichtblick/studio-base/panels/ThreeDeeRender/ros";
-import { xyzrpyToPose } from "@lichtblick/studio-base/panels/ThreeDeeRender/transforms";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import { useReadySignal } from "@lichtblick/studio-base/stories/ReadySignalContext";
+import { MessageEvent } from "@lichtblick/suite";
+import { ColorRGBA } from "@lichtblick/suite-base/panels/ThreeDeeRender/ros";
+import { xyzrpyToPose } from "@lichtblick/suite-base/panels/ThreeDeeRender/transforms";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import { useReadySignal } from "@lichtblick/suite-base/stories/ReadySignalContext";
import { StoryObj } from "@storybook/react";
import { useEffect, useMemo, useState } from "react";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/SensorMsgs_LaserScan.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/SensorMsgs_LaserScan.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/SensorMsgs_LaserScan.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/SensorMsgs_LaserScan.stories.tsx
index 18e58c703e..7733a8ea36 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/SensorMsgs_LaserScan.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/SensorMsgs_LaserScan.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/SensorMsgs_PointCloud2.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/SensorMsgs_PointCloud2.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/SensorMsgs_PointCloud2.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/SensorMsgs_PointCloud2.stories.tsx
index 7a0310b8dc..b3b8016896 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/SensorMsgs_PointCloud2.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/SensorMsgs_PointCloud2.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { vec3 } from "gl-matrix";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/SphereListPointsTransform.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/SphereListPointsTransform.stories.tsx
similarity index 93%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/SphereListPointsTransform.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/SphereListPointsTransform.stories.tsx
index 4bb03ba4dd..337e173cbe 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/SphereListPointsTransform.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/SphereListPointsTransform.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import { SphereListMarker } from "@lichtblick/studio-base/types/Messages";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import { SphereListMarker } from "@lichtblick/suite-base/types/Messages";
import { StoryObj } from "@storybook/react";
import { DeepWritable } from "ts-essentials";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/TransformInterpolation.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/TransformInterpolation.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/TransformInterpolation.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/TransformInterpolation.stories.tsx
index 80328cf49b..d6c36f69b1 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/TransformInterpolation.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/TransformInterpolation.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fromSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/UrdfDisplayMode.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/UrdfDisplayMode.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/UrdfDisplayMode.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/UrdfDisplayMode.stories.tsx
index 0e95250c29..06e24daa42 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/UrdfDisplayMode.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/UrdfDisplayMode.stories.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { makeColor } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/Urdfs.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/Urdfs.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/Urdfs.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/Urdfs.stories.tsx
index ac857637cd..56ab1e20cd 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/Urdfs.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/Urdfs.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { makeColor, STL_CUBE_MESH_RESOURCE } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/VelodyneScan.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/VelodyneScan.stories.tsx
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/VelodyneScan.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/VelodyneScan.stories.tsx
index 13c84f8bde..6a8665923d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/VelodyneScan.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/VelodyneScan.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import { VelodyneScan } from "@lichtblick/studio-base/types/Messages";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import { VelodyneScan } from "@lichtblick/suite-base/types/Messages";
import { StoryObj } from "@storybook/react";
import { rad2deg } from "./common";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/common.ts b/packages/suite-base/src/panels/ThreeDeeRender/stories/common.ts
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/common.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/common.ts
index 8fbf9d0773..0cec30a036 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/common.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/common.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { MessageEvent } from "@lichtblick/studio";
+import type { MessageEvent } from "@lichtblick/suite";
import * as base64 from "@protobufjs/base64";
import type { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransform.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransform.stories.tsx
similarity index 95%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransform.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransform.stories.tsx
index eb7dc984d5..1d0e0db1bf 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransform.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransform.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { fromSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransforms.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransforms.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransforms.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransforms.stories.tsx
index 7ec094e19e..77a0c0c388 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransforms.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.FrameTransforms.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.Grid.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.Grid.stories.tsx
similarity index 98%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.Grid.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.Grid.stories.tsx
index 82d020109d..fe59750968 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.Grid.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.Grid.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { LayerSettingsFoxgloveGrid } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/FoxgloveGrid";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { LayerSettingsFoxgloveGrid } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/FoxgloveGrid";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { Grid, NumericType } from "@foxglove/schemas";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.LaserScan.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.LaserScan.stories.tsx
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.LaserScan.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.LaserScan.stories.tsx
index d839d99f61..eba25eb8e1 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.LaserScan.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.LaserScan.stories.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { xyzrpyToPose } from "@lichtblick/studio-base/panels/ThreeDeeRender/transforms";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import { emptyPose } from "@lichtblick/studio-base/util/Pose";
+import { MessageEvent } from "@lichtblick/suite";
+import { xyzrpyToPose } from "@lichtblick/suite-base/panels/ThreeDeeRender/transforms";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import { emptyPose } from "@lichtblick/suite-base/util/Pose";
import { StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
import * as THREE from "three";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PointCloud.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PointCloud.stories.tsx
similarity index 99%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PointCloud.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PointCloud.stories.tsx
index c324cbecf8..bf9d99e36f 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PointCloud.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PointCloud.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { screen, userEvent } from "@storybook/testing-library";
import { vec3 } from "gl-matrix";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PoseInFrame.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PoseInFrame.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PoseInFrame.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PoseInFrame.stories.tsx
index 9247d16b10..72d35bf76b 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PoseInFrame.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PoseInFrame.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { userEvent, screen } from "@storybook/testing-library";
import { quat } from "gl-matrix";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PosesInFrame.stories.tsx b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PosesInFrame.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PosesInFrame.stories.tsx
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PosesInFrame.stories.tsx
index 5c235ccefa..0f185e4777 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/foxglove.PosesInFrame.stories.tsx
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/foxglove.PosesInFrame.stories.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import { MessageEvent } from "@lichtblick/suite";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
import { userEvent, screen } from "@storybook/testing-library";
import { quat } from "gl-matrix";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/stories/useDelayedFixture.ts b/packages/suite-base/src/panels/ThreeDeeRender/stories/useDelayedFixture.ts
similarity index 92%
rename from packages/studio-base/src/panels/ThreeDeeRender/stories/useDelayedFixture.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/stories/useDelayedFixture.ts
index 0e759878b5..35a2bc6d40 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/stories/useDelayedFixture.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/stories/useDelayedFixture.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { useLayoutEffect, useRef, useState } from "react";
// useDelayedFixture works around a contract in useMessageReducer which does not re-process an existing
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/t3D.ts b/packages/suite-base/src/panels/ThreeDeeRender/t3D.ts
similarity index 84%
rename from packages/studio-base/src/panels/ThreeDeeRender/t3D.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/t3D.ts
index 41abeec09c..fcc0dea00d 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/t3D.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/t3D.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { threeDee } from "@lichtblick/studio-base/i18n/en";
+import { threeDee } from "@lichtblick/suite-base/i18n/en";
import { t } from "i18next";
export const t3D = (threeDeeKey: keyof typeof threeDee): string => t(`threeDee:${threeDeeKey}`);
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/thumbnail.png b/packages/suite-base/src/panels/ThreeDeeRender/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/thumbnail.png
rename to packages/suite-base/src/panels/ThreeDeeRender/thumbnail.png
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/topicIsConvertibleToSchema.ts b/packages/suite-base/src/panels/ThreeDeeRender/topicIsConvertibleToSchema.ts
similarity index 93%
rename from packages/studio-base/src/panels/ThreeDeeRender/topicIsConvertibleToSchema.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/topicIsConvertibleToSchema.ts
index da7e14bef4..6d003f55d3 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/topicIsConvertibleToSchema.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/topicIsConvertibleToSchema.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio";
+import { Topic } from "@lichtblick/suite";
/**
* Determines whether `topic` has a supported schema from the set of `supportedSchemaNames`, either
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/transforms/CoordinateFrame.ts b/packages/suite-base/src/panels/ThreeDeeRender/transforms/CoordinateFrame.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/transforms/CoordinateFrame.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/transforms/CoordinateFrame.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/transforms/Transform.ts b/packages/suite-base/src/panels/ThreeDeeRender/transforms/Transform.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/transforms/Transform.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/transforms/Transform.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/transforms/TransformTree.test.ts b/packages/suite-base/src/panels/ThreeDeeRender/transforms/TransformTree.test.ts
similarity index 97%
rename from packages/studio-base/src/panels/ThreeDeeRender/transforms/TransformTree.test.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/transforms/TransformTree.test.ts
index 6ac48717ad..44a065baa4 100644
--- a/packages/studio-base/src/panels/ThreeDeeRender/transforms/TransformTree.test.ts
+++ b/packages/suite-base/src/panels/ThreeDeeRender/transforms/TransformTree.test.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ObjectPool } from "@lichtblick/den/collection";
-import { Transform } from "@lichtblick/studio-base/panels/ThreeDeeRender/transforms/Transform";
+import { Transform } from "@lichtblick/suite-base/panels/ThreeDeeRender/transforms/Transform";
import { AddTransformResult, TransformTree } from "./TransformTree";
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/transforms/TransformTree.ts b/packages/suite-base/src/panels/ThreeDeeRender/transforms/TransformTree.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/transforms/TransformTree.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/transforms/TransformTree.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/transforms/geometry.ts b/packages/suite-base/src/panels/ThreeDeeRender/transforms/geometry.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/transforms/geometry.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/transforms/geometry.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/transforms/index.ts b/packages/suite-base/src/panels/ThreeDeeRender/transforms/index.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/transforms/index.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/transforms/index.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/transforms/time.ts b/packages/suite-base/src/panels/ThreeDeeRender/transforms/time.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/transforms/time.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/transforms/time.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/types.ts b/packages/suite-base/src/panels/ThreeDeeRender/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/types.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/types.ts
diff --git a/packages/studio-base/src/panels/ThreeDeeRender/updatePose.ts b/packages/suite-base/src/panels/ThreeDeeRender/updatePose.ts
similarity index 100%
rename from packages/studio-base/src/panels/ThreeDeeRender/updatePose.ts
rename to packages/suite-base/src/panels/ThreeDeeRender/updatePose.ts
diff --git a/packages/studio-base/src/panels/TopicGraph/Graph.tsx b/packages/suite-base/src/panels/TopicGraph/Graph.tsx
similarity index 100%
rename from packages/studio-base/src/panels/TopicGraph/Graph.tsx
rename to packages/suite-base/src/panels/TopicGraph/Graph.tsx
diff --git a/packages/studio-base/src/panels/TopicGraph/index.stories.tsx b/packages/suite-base/src/panels/TopicGraph/index.stories.tsx
similarity index 95%
rename from packages/studio-base/src/panels/TopicGraph/index.stories.tsx
rename to packages/suite-base/src/panels/TopicGraph/index.stories.tsx
index 673a07595e..336f2877ad 100644
--- a/packages/studio-base/src/panels/TopicGraph/index.stories.tsx
+++ b/packages/suite-base/src/panels/TopicGraph/index.stories.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
-import delay from "@lichtblick/studio-base/util/delay";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
+import delay from "@lichtblick/suite-base/util/delay";
import { StoryObj } from "@storybook/react";
import { useEffect, useState } from "react";
import { useAsync } from "react-use";
diff --git a/packages/studio-base/src/panels/TopicGraph/index.tsx b/packages/suite-base/src/panels/TopicGraph/index.tsx
similarity index 97%
rename from packages/studio-base/src/panels/TopicGraph/index.tsx
rename to packages/suite-base/src/panels/TopicGraph/index.tsx
index 4dbe884182..4868b0ae8b 100644
--- a/packages/studio-base/src/panels/TopicGraph/index.tsx
+++ b/packages/suite-base/src/panels/TopicGraph/index.tsx
@@ -17,13 +17,13 @@ import {
Diamond20Filled,
RectangleLandscape20Regular,
} from "@fluentui/react-icons";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import ExpandingToolbar, { ToolGroup } from "@lichtblick/studio-base/components/ExpandingToolbar";
-import { useMessagePipeline } from "@lichtblick/studio-base/components/MessagePipeline";
-import Panel from "@lichtblick/studio-base/components/Panel";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import ExpandingToolbar, { ToolGroup } from "@lichtblick/suite-base/components/ExpandingToolbar";
+import { useMessagePipeline } from "@lichtblick/suite-base/components/MessagePipeline";
+import Panel from "@lichtblick/suite-base/components/Panel";
import PanelToolbar, {
PANEL_TOOLBAR_MIN_HEIGHT,
-} from "@lichtblick/studio-base/components/PanelToolbar";
+} from "@lichtblick/suite-base/components/PanelToolbar";
import {
FormControlLabel,
IconButton,
diff --git a/packages/studio-base/src/panels/TopicGraph/thumbnail.png b/packages/suite-base/src/panels/TopicGraph/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/TopicGraph/thumbnail.png
rename to packages/suite-base/src/panels/TopicGraph/thumbnail.png
diff --git a/packages/studio-base/src/panels/UserScriptEditor/BottomBar/DiagnosticsSection.tsx b/packages/suite-base/src/panels/UserScriptEditor/BottomBar/DiagnosticsSection.tsx
similarity index 95%
rename from packages/studio-base/src/panels/UserScriptEditor/BottomBar/DiagnosticsSection.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/BottomBar/DiagnosticsSection.tsx
index 823619b45b..3cf9e54729 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/BottomBar/DiagnosticsSection.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/BottomBar/DiagnosticsSection.tsx
@@ -2,11 +2,11 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
Diagnostic,
DiagnosticSeverity,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
import ErrorIcon from "@mui/icons-material/Error";
import HelpIcon from "@mui/icons-material/Help";
import InfoIcon from "@mui/icons-material/Info";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/BottomBar/LogsSection.tsx b/packages/suite-base/src/panels/UserScriptEditor/BottomBar/LogsSection.tsx
similarity index 90%
rename from packages/studio-base/src/panels/UserScriptEditor/BottomBar/LogsSection.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/BottomBar/LogsSection.tsx
index a5e6644de7..8b2b0b1ac8 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/BottomBar/LogsSection.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/BottomBar/LogsSection.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { UserScriptLog } from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import { useJsonTreeTheme } from "@lichtblick/studio-base/util/globalConstants";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { UserScriptLog } from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import { useJsonTreeTheme } from "@lichtblick/suite-base/util/globalConstants";
import { Link, List, ListItem, ListItemButton, ListItemText, Typography } from "@mui/material";
import { useEffect, useRef, useState } from "react";
import Tree from "react-json-tree";
@@ -68,7 +68,7 @@ const LogsSection = ({ logs }: { logs: readonly UserScriptLog[] }): JSX.Element
No logs to display.
- Invoke log(someValue) in your Foxglove Studio node code to see data printed
+ Invoke log(someValue) in your Lichtblick Suite node code to see data printed
here.
diff --git a/packages/studio-base/src/panels/UserScriptEditor/BottomBar/index.tsx b/packages/suite-base/src/panels/UserScriptEditor/BottomBar/index.tsx
similarity index 92%
rename from packages/studio-base/src/panels/UserScriptEditor/BottomBar/index.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/BottomBar/index.tsx
index 2406663bc9..92b8e94220 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/BottomBar/index.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/BottomBar/index.tsx
@@ -12,14 +12,14 @@
// You may not use this file except in compliance with the License.
//
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
UserScriptStore,
useUserScriptState,
-} from "@lichtblick/studio-base/context/UserScriptStateContext";
-import DiagnosticsSection from "@lichtblick/studio-base/panels/UserScriptEditor/BottomBar/DiagnosticsSection";
-import LogsSection from "@lichtblick/studio-base/panels/UserScriptEditor/BottomBar/LogsSection";
-import { Diagnostic, UserScriptLog } from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+} from "@lichtblick/suite-base/context/UserScriptStateContext";
+import DiagnosticsSection from "@lichtblick/suite-base/panels/UserScriptEditor/BottomBar/DiagnosticsSection";
+import LogsSection from "@lichtblick/suite-base/panels/UserScriptEditor/BottomBar/LogsSection";
+import { Diagnostic, UserScriptLog } from "@lichtblick/suite-base/players/UserScriptPlayer/types";
import { Badge, Button, Divider, Paper, Tab, Tabs, badgeClasses, tabClasses } from "@mui/material";
import { ReactElement, useState } from "react";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Config.ts b/packages/suite-base/src/panels/UserScriptEditor/Config.ts
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/Config.ts
rename to packages/suite-base/src/panels/UserScriptEditor/Config.ts
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Editor.tsx b/packages/suite-base/src/panels/UserScriptEditor/Editor.tsx
similarity index 95%
rename from packages/studio-base/src/panels/UserScriptEditor/Editor.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/Editor.tsx
index 6da4e58dcc..a40875a619 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/Editor.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/Editor.tsx
@@ -11,12 +11,12 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import getPrettifiedCode from "@lichtblick/studio-base/panels/UserScriptEditor/getPrettifiedCode";
-import { Script } from "@lichtblick/studio-base/panels/UserScriptEditor/script";
-import { getUserScriptProjectConfig } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
-import inScreenshotTests from "@lichtblick/studio-base/stories/inScreenshotTests";
-import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/studio-base/util/globalConstants";
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+import getPrettifiedCode from "@lichtblick/suite-base/panels/UserScriptEditor/getPrettifiedCode";
+import { Script } from "@lichtblick/suite-base/panels/UserScriptEditor/script";
+import { getUserScriptProjectConfig } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
+import inScreenshotTests from "@lichtblick/suite-base/stories/inScreenshotTests";
+import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/suite-base/util/globalConstants";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import { useTheme } from "@mui/material";
// @ts-expect-error ICodeEditorService does not have type information in the monaco-editor package
import { ICodeEditorService } from "monaco-editor/esm/vs/editor/browser/services/codeEditorService";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/ScriptListItem.tsx b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/ScriptListItem.tsx
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/Sidebar/ScriptListItem.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/Sidebar/ScriptListItem.tsx
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/ScriptsList.tsx b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/ScriptsList.tsx
similarity index 94%
rename from packages/studio-base/src/panels/UserScriptEditor/Sidebar/ScriptsList.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/Sidebar/ScriptsList.tsx
index aa9f2d309b..7ec0f3d177 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/ScriptsList.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/ScriptsList.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { UserScript, UserScripts } from "@lichtblick/studio-base/types/panels";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { UserScript, UserScripts } from "@lichtblick/suite-base/types/panels";
import AddIcon from "@mui/icons-material/Add";
import { Button, List } from "@mui/material";
import { makeStyles } from "tss-react/mui";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/SidebarHeader.tsx b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/SidebarHeader.tsx
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/Sidebar/SidebarHeader.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/Sidebar/SidebarHeader.tsx
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/Templates.tsx b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/Templates.tsx
similarity index 87%
rename from packages/studio-base/src/panels/UserScriptEditor/Sidebar/Templates.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/Sidebar/Templates.tsx
index 44ca4c8c37..4a3c08a4b3 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/Templates.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/Templates.tsx
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import templates from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/templates";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import templates from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/templates";
import { List, ListItem, ListItemButton, ListItemText } from "@mui/material";
import { SidebarHeader } from "./SidebarHeader";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/Utilities.tsx b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/Utilities.tsx
similarity index 86%
rename from packages/studio-base/src/panels/UserScriptEditor/Sidebar/Utilities.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/Sidebar/Utilities.tsx
index c9705995e5..890f0ccce4 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/Utilities.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/Utilities.tsx
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { Script } from "@lichtblick/studio-base/panels/UserScriptEditor/script";
-import { getUserScriptProjectConfig } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { Script } from "@lichtblick/suite-base/panels/UserScriptEditor/script";
+import { getUserScriptProjectConfig } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
import { List, ListItem, ListItemButton, ListItemText } from "@mui/material";
import { SidebarHeader } from "./SidebarHeader";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/index.tsx b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/index.tsx
similarity index 95%
rename from packages/studio-base/src/panels/UserScriptEditor/Sidebar/index.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/Sidebar/index.tsx
index 7b3a6bbaa3..c7209f649a 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/Sidebar/index.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/Sidebar/index.tsx
@@ -7,9 +7,9 @@ import {
Script24Regular,
Toolbox24Regular,
} from "@fluentui/react-icons";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { Script } from "@lichtblick/studio-base/panels/UserScriptEditor/script";
-import { UserScript, UserScripts } from "@lichtblick/studio-base/types/panels";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { Script } from "@lichtblick/suite-base/panels/UserScriptEditor/script";
+import { UserScript, UserScripts } from "@lichtblick/suite-base/types/panels";
import { Divider, Paper, Tab, Tabs, tabClasses, tabsClasses } from "@mui/material";
import * as monacoApi from "monaco-editor/esm/vs/editor/editor.api";
import { SyntheticEvent, useCallback, useMemo, useState } from "react";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/__snapshots__/getPrettifiedCode.test.ts.snap b/packages/suite-base/src/panels/UserScriptEditor/__snapshots__/getPrettifiedCode.test.ts.snap
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/__snapshots__/getPrettifiedCode.test.ts.snap
rename to packages/suite-base/src/panels/UserScriptEditor/__snapshots__/getPrettifiedCode.test.ts.snap
diff --git a/packages/studio-base/src/panels/UserScriptEditor/assets/file-document-edit.svg b/packages/suite-base/src/panels/UserScriptEditor/assets/file-document-edit.svg
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/assets/file-document-edit.svg
rename to packages/suite-base/src/panels/UserScriptEditor/assets/file-document-edit.svg
diff --git a/packages/studio-base/src/panels/UserScriptEditor/assets/hammer-wrench.svg b/packages/suite-base/src/panels/UserScriptEditor/assets/hammer-wrench.svg
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/assets/hammer-wrench.svg
rename to packages/suite-base/src/panels/UserScriptEditor/assets/hammer-wrench.svg
diff --git a/packages/studio-base/src/panels/UserScriptEditor/getPrettifiedCode.test.ts b/packages/suite-base/src/panels/UserScriptEditor/getPrettifiedCode.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/getPrettifiedCode.test.ts
rename to packages/suite-base/src/panels/UserScriptEditor/getPrettifiedCode.test.ts
diff --git a/packages/studio-base/src/panels/UserScriptEditor/getPrettifiedCode.ts b/packages/suite-base/src/panels/UserScriptEditor/getPrettifiedCode.ts
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/getPrettifiedCode.ts
rename to packages/suite-base/src/panels/UserScriptEditor/getPrettifiedCode.ts
diff --git a/packages/studio-base/src/panels/UserScriptEditor/index.stories.tsx b/packages/suite-base/src/panels/UserScriptEditor/index.stories.tsx
similarity index 96%
rename from packages/studio-base/src/panels/UserScriptEditor/index.stories.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/index.stories.tsx
index 108cc9b75b..5e429c83cc 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/index.stories.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/index.stories.tsx
@@ -11,14 +11,14 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import NodePlayground from "@lichtblick/studio-base/panels/UserScriptEditor";
-import { generateFoxgloveSchemaDeclarations } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
-import rawUserUtils from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils";
-import { UserScriptLog } from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
-import { ExpectedResult } from "@lichtblick/studio-base/stories/storyHelpers";
-import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/studio-base/util/globalConstants";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import NodePlayground from "@lichtblick/suite-base/panels/UserScriptEditor";
+import { generateFoxgloveSchemaDeclarations } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
+import rawUserUtils from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils";
+import { UserScriptLog } from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
+import { ExpectedResult } from "@lichtblick/suite-base/stories/storyHelpers";
+import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/suite-base/util/globalConstants";
import { StoryObj } from "@storybook/react";
import { fireEvent, screen } from "@storybook/testing-library";
import { useCallback, useEffect } from "react";
diff --git a/packages/studio-base/src/panels/UserScriptEditor/index.tsx b/packages/suite-base/src/panels/UserScriptEditor/index.tsx
similarity index 94%
rename from packages/studio-base/src/panels/UserScriptEditor/index.tsx
rename to packages/suite-base/src/panels/UserScriptEditor/index.tsx
index 2b1bd6f3ff..0b02b21756 100644
--- a/packages/studio-base/src/panels/UserScriptEditor/index.tsx
+++ b/packages/suite-base/src/panels/UserScriptEditor/index.tsx
@@ -11,24 +11,24 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/studio";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import { SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/suite";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
import {
UserScriptStore,
useUserScriptState,
-} from "@lichtblick/studio-base/context/UserScriptStateContext";
-import BottomBar from "@lichtblick/studio-base/panels/UserScriptEditor/BottomBar";
-import { Sidebar } from "@lichtblick/studio-base/panels/UserScriptEditor/Sidebar";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig, UserScripts } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/context/UserScriptStateContext";
+import BottomBar from "@lichtblick/suite-base/panels/UserScriptEditor/BottomBar";
+import { Sidebar } from "@lichtblick/suite-base/panels/UserScriptEditor/Sidebar";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig, UserScripts } from "@lichtblick/suite-base/types/panels";
import AddIcon from "@mui/icons-material/Add";
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
import {
@@ -55,7 +55,7 @@ import Config from "./Config";
import { Script } from "./script";
const Editor = React.lazy(
- async () => await import("@lichtblick/studio-base/panels/UserScriptEditor/Editor"),
+ async () => await import("@lichtblick/suite-base/panels/UserScriptEditor/Editor"),
);
const skeletonBody = `\
diff --git a/packages/studio-base/src/panels/UserScriptEditor/script.ts b/packages/suite-base/src/panels/UserScriptEditor/script.ts
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/script.ts
rename to packages/suite-base/src/panels/UserScriptEditor/script.ts
diff --git a/packages/studio-base/src/panels/UserScriptEditor/theme/README.md b/packages/suite-base/src/panels/UserScriptEditor/theme/README.md
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/theme/README.md
rename to packages/suite-base/src/panels/UserScriptEditor/theme/README.md
diff --git a/packages/studio-base/src/panels/UserScriptEditor/theme/index.ts b/packages/suite-base/src/panels/UserScriptEditor/theme/index.ts
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/theme/index.ts
rename to packages/suite-base/src/panels/UserScriptEditor/theme/index.ts
diff --git a/packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-dark.tmTheme b/packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-dark.tmTheme
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-dark.tmTheme
rename to packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-dark.tmTheme
diff --git a/packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-dark.ts b/packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-dark.ts
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-dark.ts
rename to packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-dark.ts
diff --git a/packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-light.tmTheme b/packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-light.tmTheme
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-light.tmTheme
rename to packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-light.tmTheme
diff --git a/packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-light.ts b/packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-light.ts
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/theme/vs-studio-light.ts
rename to packages/suite-base/src/panels/UserScriptEditor/theme/vs-studio-light.ts
diff --git a/packages/studio-base/src/panels/UserScriptEditor/thumbnail.png b/packages/suite-base/src/panels/UserScriptEditor/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/UserScriptEditor/thumbnail.png
rename to packages/suite-base/src/panels/UserScriptEditor/thumbnail.png
diff --git a/packages/studio-base/src/panels/VariableSlider/index.stories.tsx b/packages/suite-base/src/panels/VariableSlider/index.stories.tsx
similarity index 90%
rename from packages/studio-base/src/panels/VariableSlider/index.stories.tsx
rename to packages/suite-base/src/panels/VariableSlider/index.stories.tsx
index 1c08fbfadf..e67bcb472a 100644
--- a/packages/studio-base/src/panels/VariableSlider/index.stories.tsx
+++ b/packages/suite-base/src/panels/VariableSlider/index.stories.tsx
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import VariableSliderPanel from "@lichtblick/studio-base/panels/VariableSlider/index";
-import PanelSetup from "@lichtblick/studio-base/stories/PanelSetup";
+import VariableSliderPanel from "@lichtblick/suite-base/panels/VariableSlider/index";
+import PanelSetup from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
const fixture = {
diff --git a/packages/studio-base/src/panels/VariableSlider/index.tsx b/packages/suite-base/src/panels/VariableSlider/index.tsx
similarity index 89%
rename from packages/studio-base/src/panels/VariableSlider/index.tsx
rename to packages/suite-base/src/panels/VariableSlider/index.tsx
index 3c7b653be4..cf7c564c98 100644
--- a/packages/studio-base/src/panels/VariableSlider/index.tsx
+++ b/packages/suite-base/src/panels/VariableSlider/index.tsx
@@ -11,11 +11,11 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Panel from "@lichtblick/studio-base/components/Panel";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import useGlobalVariables from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import useGlobalVariables from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { Slider, Typography, useTheme } from "@mui/material";
import { useCallback, useState } from "react";
import { useDebouncedCallback } from "use-debounce";
diff --git a/packages/studio-base/src/panels/VariableSlider/settings.ts b/packages/suite-base/src/panels/VariableSlider/settings.ts
similarity index 92%
rename from packages/studio-base/src/panels/VariableSlider/settings.ts
rename to packages/suite-base/src/panels/VariableSlider/settings.ts
index 9e16330593..bc17d87f80 100644
--- a/packages/studio-base/src/panels/VariableSlider/settings.ts
+++ b/packages/suite-base/src/panels/VariableSlider/settings.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/studio";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { SettingsTreeAction, SettingsTreeNodes } from "@lichtblick/suite";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { produce } from "immer";
import * as _ from "lodash-es";
import { useCallback, useEffect } from "react";
diff --git a/packages/studio-base/src/panels/VariableSlider/thumbnail.png b/packages/suite-base/src/panels/VariableSlider/thumbnail.png
similarity index 100%
rename from packages/studio-base/src/panels/VariableSlider/thumbnail.png
rename to packages/suite-base/src/panels/VariableSlider/thumbnail.png
diff --git a/packages/studio-base/src/panels/VariableSlider/types.ts b/packages/suite-base/src/panels/VariableSlider/types.ts
similarity index 100%
rename from packages/studio-base/src/panels/VariableSlider/types.ts
rename to packages/suite-base/src/panels/VariableSlider/types.ts
diff --git a/packages/studio-base/src/panels/createSyncRoot.test.tsx b/packages/suite-base/src/panels/createSyncRoot.test.tsx
similarity index 95%
rename from packages/studio-base/src/panels/createSyncRoot.test.tsx
rename to packages/suite-base/src/panels/createSyncRoot.test.tsx
index 16083b7d07..f304c4ee07 100644
--- a/packages/studio-base/src/panels/createSyncRoot.test.tsx
+++ b/packages/suite-base/src/panels/createSyncRoot.test.tsx
@@ -2,7 +2,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { createSyncRoot } from "@lichtblick/studio-base/panels/createSyncRoot";
+import { createSyncRoot } from "@lichtblick/suite-base/panels/createSyncRoot";
import { screen } from "@testing-library/react";
describe("createSyncRoot", () => {
diff --git a/packages/studio-base/src/panels/createSyncRoot.tsx b/packages/suite-base/src/panels/createSyncRoot.tsx
similarity index 100%
rename from packages/studio-base/src/panels/createSyncRoot.tsx
rename to packages/suite-base/src/panels/createSyncRoot.tsx
diff --git a/packages/studio-base/src/panels/diagnostics/DiagnosticStatus.tsx b/packages/suite-base/src/panels/diagnostics/DiagnosticStatus.tsx
similarity index 97%
rename from packages/studio-base/src/panels/diagnostics/DiagnosticStatus.tsx
rename to packages/suite-base/src/panels/diagnostics/DiagnosticStatus.tsx
index dc8ffa7d04..a14f54a6fd 100644
--- a/packages/studio-base/src/panels/diagnostics/DiagnosticStatus.tsx
+++ b/packages/suite-base/src/panels/diagnostics/DiagnosticStatus.tsx
@@ -11,10 +11,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { openSiblingPlotPanel } from "@lichtblick/studio-base/panels/Plot/openSiblingPlotPanel";
-import { openSiblingStateTransitionsPanel } from "@lichtblick/studio-base/panels/StateTransitions/openSiblingStateTransitionsPanel";
-import { OpenSiblingPanel } from "@lichtblick/studio-base/types/panels";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { openSiblingPlotPanel } from "@lichtblick/suite-base/panels/Plot/openSiblingPlotPanel";
+import { openSiblingStateTransitionsPanel } from "@lichtblick/suite-base/panels/StateTransitions/openSiblingStateTransitionsPanel";
+import { OpenSiblingPanel } from "@lichtblick/suite-base/types/panels";
import PowerInputIcon from "@mui/icons-material/PowerInput";
import ShowChartIcon from "@mui/icons-material/ShowChart";
import {
diff --git a/packages/studio-base/src/panels/diagnostics/DiagnosticStatusPanel.stories.tsx b/packages/suite-base/src/panels/diagnostics/DiagnosticStatusPanel.stories.tsx
similarity index 91%
rename from packages/studio-base/src/panels/diagnostics/DiagnosticStatusPanel.stories.tsx
rename to packages/suite-base/src/panels/diagnostics/DiagnosticStatusPanel.stories.tsx
index 34654031da..4182849e04 100644
--- a/packages/studio-base/src/panels/diagnostics/DiagnosticStatusPanel.stories.tsx
+++ b/packages/suite-base/src/panels/diagnostics/DiagnosticStatusPanel.stories.tsx
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import DiagnosticStatusPanel from "@lichtblick/studio-base/panels/diagnostics/DiagnosticStatusPanel";
-import { makeDiagnosticMessage } from "@lichtblick/studio-base/panels/diagnostics/DiagnosticSummary.stories";
-import { LEVELS } from "@lichtblick/studio-base/panels/diagnostics/util";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+import DiagnosticStatusPanel from "@lichtblick/suite-base/panels/diagnostics/DiagnosticStatusPanel";
+import { makeDiagnosticMessage } from "@lichtblick/suite-base/panels/diagnostics/DiagnosticSummary.stories";
+import { LEVELS } from "@lichtblick/suite-base/panels/diagnostics/util";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
export default {
diff --git a/packages/studio-base/src/panels/diagnostics/DiagnosticStatusPanel.tsx b/packages/suite-base/src/panels/diagnostics/DiagnosticStatusPanel.tsx
similarity index 91%
rename from packages/studio-base/src/panels/diagnostics/DiagnosticStatusPanel.tsx
rename to packages/suite-base/src/panels/diagnostics/DiagnosticStatusPanel.tsx
index 6e2ccdb1ef..36f5dffd55 100644
--- a/packages/studio-base/src/panels/diagnostics/DiagnosticStatusPanel.tsx
+++ b/packages/suite-base/src/panels/diagnostics/DiagnosticStatusPanel.tsx
@@ -11,16 +11,16 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { SettingsTreeAction } from "@lichtblick/studio";
-import { useDataSourceInfo } from "@lichtblick/studio-base/PanelAPI";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import useStaleTime from "@lichtblick/studio-base/panels/diagnostics/useStaleTime";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+import { SettingsTreeAction } from "@lichtblick/suite";
+import { useDataSourceInfo } from "@lichtblick/suite-base/PanelAPI";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import useStaleTime from "@lichtblick/suite-base/panels/diagnostics/useStaleTime";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { Autocomplete, TextField } from "@mui/material";
import { produce } from "immer";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/panels/diagnostics/DiagnosticSummary.stories.tsx b/packages/suite-base/src/panels/diagnostics/DiagnosticSummary.stories.tsx
similarity index 95%
rename from packages/studio-base/src/panels/diagnostics/DiagnosticSummary.stories.tsx
rename to packages/suite-base/src/panels/diagnostics/DiagnosticSummary.stories.tsx
index cddf1c2202..a6a21274ff 100644
--- a/packages/studio-base/src/panels/diagnostics/DiagnosticSummary.stories.tsx
+++ b/packages/suite-base/src/panels/diagnostics/DiagnosticSummary.stories.tsx
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import DiagnosticSummary from "@lichtblick/studio-base/panels/diagnostics/DiagnosticSummary";
+import DiagnosticSummary from "@lichtblick/suite-base/panels/diagnostics/DiagnosticSummary";
import {
DiagnosticStatusArrayMsg,
getDiagnosticId,
KeyValue,
LEVELS,
-} from "@lichtblick/studio-base/panels/diagnostics/util";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
-import PanelSetup, { Fixture } from "@lichtblick/studio-base/stories/PanelSetup";
+} from "@lichtblick/suite-base/panels/diagnostics/util";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
+import PanelSetup, { Fixture } from "@lichtblick/suite-base/stories/PanelSetup";
import { StoryObj } from "@storybook/react";
export default {
diff --git a/packages/studio-base/src/panels/diagnostics/DiagnosticSummary.tsx b/packages/suite-base/src/panels/diagnostics/DiagnosticSummary.tsx
similarity index 92%
rename from packages/studio-base/src/panels/diagnostics/DiagnosticSummary.tsx
rename to packages/suite-base/src/panels/diagnostics/DiagnosticSummary.tsx
index df4fdb6ddc..2c88e7ca9d 100644
--- a/packages/studio-base/src/panels/diagnostics/DiagnosticSummary.tsx
+++ b/packages/suite-base/src/panels/diagnostics/DiagnosticSummary.tsx
@@ -12,18 +12,18 @@
// You may not use this file except in compliance with the License.
import { filterMap } from "@lichtblick/den/collection";
-import { SettingsTreeAction } from "@lichtblick/studio";
-import { useDataSourceInfo } from "@lichtblick/studio-base/PanelAPI";
-import EmptyState from "@lichtblick/studio-base/components/EmptyState";
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
-import PanelToolbar from "@lichtblick/studio-base/components/PanelToolbar";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import useDiagnostics from "@lichtblick/studio-base/panels/diagnostics/useDiagnostics";
-import useStaleTime from "@lichtblick/studio-base/panels/diagnostics/useStaleTime";
-import { usePanelSettingsTreeUpdate } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
-import toggle from "@lichtblick/studio-base/util/toggle";
+import { SettingsTreeAction } from "@lichtblick/suite";
+import { useDataSourceInfo } from "@lichtblick/suite-base/PanelAPI";
+import EmptyState from "@lichtblick/suite-base/components/EmptyState";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
+import PanelToolbar from "@lichtblick/suite-base/components/PanelToolbar";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import useDiagnostics from "@lichtblick/suite-base/panels/diagnostics/useDiagnostics";
+import useStaleTime from "@lichtblick/suite-base/panels/diagnostics/useStaleTime";
+import { usePanelSettingsTreeUpdate } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
+import toggle from "@lichtblick/suite-base/util/toggle";
import PushPinIcon from "@mui/icons-material/PushPin";
import {
IconButton,
diff --git a/packages/studio-base/src/panels/diagnostics/settings.ts b/packages/suite-base/src/panels/diagnostics/settings.ts
similarity index 98%
rename from packages/studio-base/src/panels/diagnostics/settings.ts
rename to packages/suite-base/src/panels/diagnostics/settings.ts
index 3651ea4761..5083b14c02 100644
--- a/packages/studio-base/src/panels/diagnostics/settings.ts
+++ b/packages/suite-base/src/panels/diagnostics/settings.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SettingsTreeNodes } from "@lichtblick/studio";
+import { SettingsTreeNodes } from "@lichtblick/suite";
import {
DEFAULT_SECONDS_UNTIL_STALE,
diff --git a/packages/studio-base/src/panels/diagnostics/thumbnails/diagnostic-status.png b/packages/suite-base/src/panels/diagnostics/thumbnails/diagnostic-status.png
similarity index 100%
rename from packages/studio-base/src/panels/diagnostics/thumbnails/diagnostic-status.png
rename to packages/suite-base/src/panels/diagnostics/thumbnails/diagnostic-status.png
diff --git a/packages/studio-base/src/panels/diagnostics/thumbnails/diagnostic-summary.png b/packages/suite-base/src/panels/diagnostics/thumbnails/diagnostic-summary.png
similarity index 100%
rename from packages/studio-base/src/panels/diagnostics/thumbnails/diagnostic-summary.png
rename to packages/suite-base/src/panels/diagnostics/thumbnails/diagnostic-summary.png
diff --git a/packages/studio-base/src/panels/diagnostics/useAvailableDiagnostics.ts b/packages/suite-base/src/panels/diagnostics/useAvailableDiagnostics.ts
similarity index 88%
rename from packages/studio-base/src/panels/diagnostics/useAvailableDiagnostics.ts
rename to packages/suite-base/src/panels/diagnostics/useAvailableDiagnostics.ts
index e74ddd30e1..2915cf5e15 100644
--- a/packages/studio-base/src/panels/diagnostics/useAvailableDiagnostics.ts
+++ b/packages/suite-base/src/panels/diagnostics/useAvailableDiagnostics.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { useMessageReducer } from "@lichtblick/studio-base/PanelAPI";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+import { useMessageReducer } from "@lichtblick/suite-base/PanelAPI";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import { useMemo } from "react";
import { DiagnosticStatusArrayMsg } from "./util";
diff --git a/packages/studio-base/src/panels/diagnostics/useDiagnostics.test.ts b/packages/suite-base/src/panels/diagnostics/useDiagnostics.test.ts
similarity index 96%
rename from packages/studio-base/src/panels/diagnostics/useDiagnostics.test.ts
rename to packages/suite-base/src/panels/diagnostics/useDiagnostics.test.ts
index aa4bd0f20d..853648e594 100644
--- a/packages/studio-base/src/panels/diagnostics/useDiagnostics.test.ts
+++ b/packages/suite-base/src/panels/diagnostics/useDiagnostics.test.ts
@@ -12,7 +12,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
import { addMessages } from "./useDiagnostics";
import { computeDiagnosticInfo, DiagnosticInfo, DiagnosticStatusArrayMsg, LEVELS } from "./util";
diff --git a/packages/studio-base/src/panels/diagnostics/useDiagnostics.ts b/packages/suite-base/src/panels/diagnostics/useDiagnostics.ts
similarity index 93%
rename from packages/studio-base/src/panels/diagnostics/useDiagnostics.ts
rename to packages/suite-base/src/panels/diagnostics/useDiagnostics.ts
index 1147913dd5..48a8e47be7 100644
--- a/packages/studio-base/src/panels/diagnostics/useDiagnostics.ts
+++ b/packages/suite-base/src/panels/diagnostics/useDiagnostics.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { useMessageReducer } from "@lichtblick/studio-base/PanelAPI";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
+import { useMessageReducer } from "@lichtblick/suite-base/PanelAPI";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
import { useMemo } from "react";
import { DiagnosticStatusArrayMsg, DiagnosticsById, computeDiagnosticInfo } from "./util";
diff --git a/packages/studio-base/src/panels/diagnostics/useStaleTime.ts b/packages/suite-base/src/panels/diagnostics/useStaleTime.ts
similarity index 96%
rename from packages/studio-base/src/panels/diagnostics/useStaleTime.ts
rename to packages/suite-base/src/panels/diagnostics/useStaleTime.ts
index a4db72a5ea..3e5eeea9e1 100644
--- a/packages/studio-base/src/panels/diagnostics/useStaleTime.ts
+++ b/packages/suite-base/src/panels/diagnostics/useStaleTime.ts
@@ -6,7 +6,7 @@ import {
MessagePipelineContext,
useMessagePipeline,
useMessagePipelineGetter,
-} from "@lichtblick/studio-base/components/MessagePipeline";
+} from "@lichtblick/suite-base/components/MessagePipeline";
import { useCallback, useEffect, useMemo, useState } from "react";
import { Time, clampTime, subtract } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/diagnostics/util.test.ts b/packages/suite-base/src/panels/diagnostics/util.test.ts
similarity index 100%
rename from packages/studio-base/src/panels/diagnostics/util.test.ts
rename to packages/suite-base/src/panels/diagnostics/util.test.ts
diff --git a/packages/studio-base/src/panels/diagnostics/util.ts b/packages/suite-base/src/panels/diagnostics/util.ts
similarity index 97%
rename from packages/studio-base/src/panels/diagnostics/util.ts
rename to packages/suite-base/src/panels/diagnostics/util.ts
index 2b9152bdeb..c2a2782ca3 100644
--- a/packages/studio-base/src/panels/diagnostics/util.ts
+++ b/packages/suite-base/src/panels/diagnostics/util.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Header } from "@lichtblick/studio-base/types/Messages";
-import fuzzyFilter from "@lichtblick/studio-base/util/fuzzyFilter";
+import { Header } from "@lichtblick/suite-base/types/Messages";
+import fuzzyFilter from "@lichtblick/suite-base/util/fuzzyFilter";
import * as _ from "lodash-es";
import { Time, compare } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/panels/index.ts b/packages/suite-base/src/panels/index.ts
similarity index 97%
rename from packages/studio-base/src/panels/index.ts
rename to packages/suite-base/src/panels/index.ts
index eaa8bd4b7e..f908c5eff1 100644
--- a/packages/studio-base/src/panels/index.ts
+++ b/packages/suite-base/src/panels/index.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PanelInfo } from "@lichtblick/studio-base/context/PanelCatalogContext";
-import { TAB_PANEL_TYPE } from "@lichtblick/studio-base/util/globalConstants";
+import { PanelInfo } from "@lichtblick/suite-base/context/PanelCatalogContext";
+import { TAB_PANEL_TYPE } from "@lichtblick/suite-base/util/globalConstants";
import { TFunction } from "i18next";
import dataSourceInfoThumbnail from "./DataSourceInfo/thumbnail.png";
diff --git a/packages/studio-base/src/players/AnalyticsMetricsCollector.ts b/packages/suite-base/src/players/AnalyticsMetricsCollector.ts
similarity index 84%
rename from packages/studio-base/src/players/AnalyticsMetricsCollector.ts
rename to packages/suite-base/src/players/AnalyticsMetricsCollector.ts
index 5a1bcba385..35b2114f00 100644
--- a/packages/studio-base/src/players/AnalyticsMetricsCollector.ts
+++ b/packages/suite-base/src/players/AnalyticsMetricsCollector.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { PlayerMetricsCollectorInterface } from "@lichtblick/studio-base/players/types";
-import IAnalytics, { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
+import { PlayerMetricsCollectorInterface } from "@lichtblick/suite-base/players/types";
+import IAnalytics, { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
const log = Log.getLogger(__filename);
diff --git a/packages/studio-base/src/players/FoxgloveWebSocketPlayer/JsonMessageWriter.ts b/packages/suite-base/src/players/FoxgloveWebSocketPlayer/JsonMessageWriter.ts
similarity index 100%
rename from packages/studio-base/src/players/FoxgloveWebSocketPlayer/JsonMessageWriter.ts
rename to packages/suite-base/src/players/FoxgloveWebSocketPlayer/JsonMessageWriter.ts
diff --git a/packages/studio-base/src/players/FoxgloveWebSocketPlayer/MessageWriter.ts b/packages/suite-base/src/players/FoxgloveWebSocketPlayer/MessageWriter.ts
similarity index 100%
rename from packages/studio-base/src/players/FoxgloveWebSocketPlayer/MessageWriter.ts
rename to packages/suite-base/src/players/FoxgloveWebSocketPlayer/MessageWriter.ts
diff --git a/packages/studio-base/src/players/FoxgloveWebSocketPlayer/WorkerSocketAdapter.ts b/packages/suite-base/src/players/FoxgloveWebSocketPlayer/WorkerSocketAdapter.ts
similarity index 100%
rename from packages/studio-base/src/players/FoxgloveWebSocketPlayer/WorkerSocketAdapter.ts
rename to packages/suite-base/src/players/FoxgloveWebSocketPlayer/WorkerSocketAdapter.ts
diff --git a/packages/studio-base/src/players/FoxgloveWebSocketPlayer/index.ts b/packages/suite-base/src/players/FoxgloveWebSocketPlayer/index.ts
similarity index 99%
rename from packages/studio-base/src/players/FoxgloveWebSocketPlayer/index.ts
rename to packages/suite-base/src/players/FoxgloveWebSocketPlayer/index.ts
index 04d57de84d..545caca7e6 100644
--- a/packages/studio-base/src/players/FoxgloveWebSocketPlayer/index.ts
+++ b/packages/suite-base/src/players/FoxgloveWebSocketPlayer/index.ts
@@ -4,10 +4,10 @@
import { debouncePromise } from "@lichtblick/den/async";
import Log from "@lichtblick/log";
-import { ParameterValue } from "@lichtblick/studio";
-import { Asset } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
-import { estimateObjectSize } from "@lichtblick/studio-base/players/messageMemoryEstimation";
+import { ParameterValue } from "@lichtblick/suite";
+import { Asset } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
+import { estimateObjectSize } from "@lichtblick/suite-base/players/messageMemoryEstimation";
import {
AdvertiseOptions,
MessageEvent,
@@ -21,8 +21,8 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import rosDatatypesToMessageDefinition from "@lichtblick/studio-base/util/rosDatatypesToMessageDefinition";
+} from "@lichtblick/suite-base/players/types";
+import rosDatatypesToMessageDefinition from "@lichtblick/suite-base/util/rosDatatypesToMessageDefinition";
import * as base64 from "@protobufjs/base64";
import * as _ from "lodash-es";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/players/FoxgloveWebSocketPlayer/worker.ts b/packages/suite-base/src/players/FoxgloveWebSocketPlayer/worker.ts
similarity index 100%
rename from packages/studio-base/src/players/FoxgloveWebSocketPlayer/worker.ts
rename to packages/suite-base/src/players/FoxgloveWebSocketPlayer/worker.ts
diff --git a/packages/studio-base/src/players/IterablePlayer/BagIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/BagIterableSource.ts
similarity index 95%
rename from packages/studio-base/src/players/IterablePlayer/BagIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/BagIterableSource.ts
index e359973ddc..6f0fc14def 100644
--- a/packages/studio-base/src/players/IterablePlayer/BagIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/BagIterableSource.ts
@@ -2,17 +2,17 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { estimateObjectSize } from "@lichtblick/studio-base/players/messageMemoryEstimation";
+import { estimateObjectSize } from "@lichtblick/suite-base/players/messageMemoryEstimation";
import {
MessageEvent,
PlayerProblem,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import BrowserHttpReader from "@lichtblick/studio-base/util/BrowserHttpReader";
-import CachedFilelike from "@lichtblick/studio-base/util/CachedFilelike";
-import { getBagChunksOverlapCount } from "@lichtblick/studio-base/util/bags";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import BrowserHttpReader from "@lichtblick/suite-base/util/BrowserHttpReader";
+import CachedFilelike from "@lichtblick/suite-base/util/CachedFilelike";
+import { getBagChunksOverlapCount } from "@lichtblick/suite-base/util/bags";
import { Bag, Filelike } from "@foxglove/rosbag";
import { BlobReader } from "@foxglove/rosbag/web";
diff --git a/packages/studio-base/src/players/IterablePlayer/BagIterableSourceWorker.worker.ts b/packages/suite-base/src/players/IterablePlayer/BagIterableSourceWorker.worker.ts
similarity index 78%
rename from packages/studio-base/src/players/IterablePlayer/BagIterableSourceWorker.worker.ts
rename to packages/suite-base/src/players/IterablePlayer/BagIterableSourceWorker.worker.ts
index 157fed2d9f..f81faad1b9 100644
--- a/packages/studio-base/src/players/IterablePlayer/BagIterableSourceWorker.worker.ts
+++ b/packages/suite-base/src/players/IterablePlayer/BagIterableSourceWorker.worker.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IterableSourceInitializeArgs } from "@lichtblick/studio-base/players/IterablePlayer/IIterableSource";
-import { WorkerIterableSourceWorker } from "@lichtblick/studio-base/players/IterablePlayer/WorkerIterableSourceWorker";
+import { IterableSourceInitializeArgs } from "@lichtblick/suite-base/players/IterablePlayer/IIterableSource";
+import { WorkerIterableSourceWorker } from "@lichtblick/suite-base/players/IterablePlayer/WorkerIterableSourceWorker";
import * as Comlink from "comlink";
import { BagIterableSource } from "./BagIterableSource";
diff --git a/packages/studio-base/src/players/IterablePlayer/BlockLoader.test.ts b/packages/suite-base/src/players/IterablePlayer/BlockLoader.test.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/BlockLoader.test.ts
rename to packages/suite-base/src/players/IterablePlayer/BlockLoader.test.ts
index 3797723009..f74cd5e560 100644
--- a/packages/studio-base/src/players/IterablePlayer/BlockLoader.test.ts
+++ b/packages/suite-base/src/players/IterablePlayer/BlockLoader.test.ts
@@ -2,10 +2,10 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, MessageEvent } from "@lichtblick/studio";
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
-import { MessageBlock } from "@lichtblick/studio-base/players/types";
-import { mockTopicSelection } from "@lichtblick/studio-base/test/mocks/mockTopicSelection";
+import { Immutable, MessageEvent } from "@lichtblick/suite";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
+import { MessageBlock } from "@lichtblick/suite-base/players/types";
+import { mockTopicSelection } from "@lichtblick/suite-base/test/mocks/mockTopicSelection";
import { BlockLoader, MEMORY_INFO_PRELOADED_MSGS } from "./BlockLoader";
import {
diff --git a/packages/studio-base/src/players/IterablePlayer/BlockLoader.ts b/packages/suite-base/src/players/IterablePlayer/BlockLoader.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/BlockLoader.ts
rename to packages/suite-base/src/players/IterablePlayer/BlockLoader.ts
index b862c606c2..815924e7b3 100644
--- a/packages/studio-base/src/players/IterablePlayer/BlockLoader.ts
+++ b/packages/suite-base/src/players/IterablePlayer/BlockLoader.ts
@@ -5,10 +5,10 @@
import { Condvar } from "@lichtblick/den/async";
import { filterMap } from "@lichtblick/den/collection";
import Log from "@lichtblick/log";
-import { Immutable, MessageEvent } from "@lichtblick/studio";
-import { IteratorCursor } from "@lichtblick/studio-base/players/IterablePlayer/IteratorCursor";
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
-import { MessageBlock, Progress, TopicSelection } from "@lichtblick/studio-base/players/types";
+import { Immutable, MessageEvent } from "@lichtblick/suite";
+import { IteratorCursor } from "@lichtblick/suite-base/players/IterablePlayer/IteratorCursor";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
+import { MessageBlock, Progress, TopicSelection } from "@lichtblick/suite-base/players/types";
import { simplify } from "intervals-fn";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/players/IterablePlayer/BufferedIterableSource.test.ts b/packages/suite-base/src/players/IterablePlayer/BufferedIterableSource.test.ts
similarity index 99%
rename from packages/studio-base/src/players/IterablePlayer/BufferedIterableSource.test.ts
rename to packages/suite-base/src/players/IterablePlayer/BufferedIterableSource.test.ts
index 618ec3ff97..556b25b3c2 100644
--- a/packages/studio-base/src/players/IterablePlayer/BufferedIterableSource.test.ts
+++ b/packages/suite-base/src/players/IterablePlayer/BufferedIterableSource.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { mockTopicSelection } from "@lichtblick/studio-base/test/mocks/mockTopicSelection";
+import { MessageEvent } from "@lichtblick/suite";
+import { mockTopicSelection } from "@lichtblick/suite-base/test/mocks/mockTopicSelection";
import * as _ from "lodash-es";
import { BufferedIterableSource } from "./BufferedIterableSource";
diff --git a/packages/studio-base/src/players/IterablePlayer/BufferedIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/BufferedIterableSource.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/BufferedIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/BufferedIterableSource.ts
index ccd7249e1e..1a53372b57 100644
--- a/packages/studio-base/src/players/IterablePlayer/BufferedIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/BufferedIterableSource.ts
@@ -5,8 +5,8 @@
import { Condvar } from "@lichtblick/den/async";
import { VecQueue } from "@lichtblick/den/collection";
import Log from "@lichtblick/log";
-import { Time, MessageEvent } from "@lichtblick/studio";
-import { Range } from "@lichtblick/studio-base/util/ranges";
+import { Time, MessageEvent } from "@lichtblick/suite";
+import { Range } from "@lichtblick/suite-base/util/ranges";
import EventEmitter from "eventemitter3";
import { add as addTime, compare, clampTime } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/players/IterablePlayer/CachingIterableSource.test.ts b/packages/suite-base/src/players/IterablePlayer/CachingIterableSource.test.ts
similarity index 99%
rename from packages/studio-base/src/players/IterablePlayer/CachingIterableSource.test.ts
rename to packages/suite-base/src/players/IterablePlayer/CachingIterableSource.test.ts
index 8bc956059f..c0d66c2be0 100644
--- a/packages/studio-base/src/players/IterablePlayer/CachingIterableSource.test.ts
+++ b/packages/suite-base/src/players/IterablePlayer/CachingIterableSource.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { mockTopicSelection } from "@lichtblick/studio-base/test/mocks/mockTopicSelection";
+import { MessageEvent } from "@lichtblick/suite";
+import { mockTopicSelection } from "@lichtblick/suite-base/test/mocks/mockTopicSelection";
import { CachingIterableSource } from "./CachingIterableSource";
import {
diff --git a/packages/studio-base/src/players/IterablePlayer/CachingIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/CachingIterableSource.ts
similarity index 99%
rename from packages/studio-base/src/players/IterablePlayer/CachingIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/CachingIterableSource.ts
index f3e3e659d1..e74e6df640 100644
--- a/packages/studio-base/src/players/IterablePlayer/CachingIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/CachingIterableSource.ts
@@ -4,9 +4,9 @@
import { minIndexBy, sortedIndexByTuple } from "@lichtblick/den/collection";
import Log from "@lichtblick/log";
-import { MessageEvent, Time } from "@lichtblick/studio";
-import { TopicSelection } from "@lichtblick/studio-base/players/types";
-import { Range } from "@lichtblick/studio-base/util/ranges";
+import { MessageEvent, Time } from "@lichtblick/suite";
+import { TopicSelection } from "@lichtblick/suite-base/players/types";
+import { Range } from "@lichtblick/suite-base/util/ranges";
import EventEmitter from "eventemitter3";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/players/IterablePlayer/IIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/IIterableSource.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/IIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/IIterableSource.ts
index 5a0606106b..143b606c73 100644
--- a/packages/studio-base/src/players/IterablePlayer/IIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/IIterableSource.ts
@@ -2,14 +2,14 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, MessageEvent, Metadata } from "@lichtblick/studio";
+import { Immutable, MessageEvent, Metadata } from "@lichtblick/suite";
import {
PlayerProblem,
Topic,
TopicSelection,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/players/IterablePlayer/IterablePlayer.test.ts b/packages/suite-base/src/players/IterablePlayer/IterablePlayer.test.ts
similarity index 99%
rename from packages/studio-base/src/players/IterablePlayer/IterablePlayer.test.ts
rename to packages/suite-base/src/players/IterablePlayer/IterablePlayer.test.ts
index 2fb9803feb..0d7c124cc7 100644
--- a/packages/studio-base/src/players/IterablePlayer/IterablePlayer.test.ts
+++ b/packages/suite-base/src/players/IterablePlayer/IterablePlayer.test.ts
@@ -9,8 +9,8 @@ import {
PlayerCapabilities,
PlayerPresence,
PlayerState,
-} from "@lichtblick/studio-base/players/types";
-import { mockTopicSelection } from "@lichtblick/studio-base/test/mocks/mockTopicSelection";
+} from "@lichtblick/suite-base/players/types";
+import { mockTopicSelection } from "@lichtblick/suite-base/test/mocks/mockTopicSelection";
import * as _ from "lodash-es";
import { fromSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/players/IterablePlayer/IterablePlayer.ts b/packages/suite-base/src/players/IterablePlayer/IterablePlayer.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/IterablePlayer.ts
rename to packages/suite-base/src/players/IterablePlayer/IterablePlayer.ts
index 3db4eea521..f55f3498c9 100644
--- a/packages/studio-base/src/players/IterablePlayer/IterablePlayer.ts
+++ b/packages/suite-base/src/players/IterablePlayer/IterablePlayer.ts
@@ -5,10 +5,10 @@
import { debouncePromise } from "@lichtblick/den/async";
import { filterMap } from "@lichtblick/den/collection";
import Log from "@lichtblick/log";
-import { Immutable, MessageEvent, Metadata, ParameterValue } from "@lichtblick/studio";
-import { freezeMetadata } from "@lichtblick/studio-base/players/IterablePlayer/freezeMetadata";
-import NoopMetricsCollector from "@lichtblick/studio-base/players/NoopMetricsCollector";
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
+import { Immutable, MessageEvent, Metadata, ParameterValue } from "@lichtblick/suite";
+import { freezeMetadata } from "@lichtblick/suite-base/players/IterablePlayer/freezeMetadata";
+import NoopMetricsCollector from "@lichtblick/suite-base/players/NoopMetricsCollector";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
import {
AdvertiseOptions,
Player,
@@ -23,9 +23,9 @@ import {
Topic,
TopicSelection,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import delay from "@lichtblick/studio-base/util/delay";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import delay from "@lichtblick/suite-base/util/delay";
import assert from "assert";
import * as _ from "lodash-es";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/players/IterablePlayer/IteratorCursor.ts b/packages/suite-base/src/players/IterablePlayer/IteratorCursor.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/IteratorCursor.ts
rename to packages/suite-base/src/players/IterablePlayer/IteratorCursor.ts
index 586f150319..97a970f483 100644
--- a/packages/studio-base/src/players/IterablePlayer/IteratorCursor.ts
+++ b/packages/suite-base/src/players/IterablePlayer/IteratorCursor.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Time } from "@lichtblick/studio";
+import { Time } from "@lichtblick/suite";
import { compare, add as addTime } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/BlobReadable.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/BlobReadable.ts
similarity index 100%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/BlobReadable.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/BlobReadable.ts
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.test.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.test.ts
similarity index 92%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.test.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.test.ts
index 21be038e16..25f706d180 100644
--- a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.test.ts
+++ b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { BlobReadable } from "@lichtblick/studio-base/players/IterablePlayer/Mcap/BlobReadable";
-import { McapIndexedIterableSource } from "@lichtblick/studio-base/players/IterablePlayer/Mcap/McapIndexedIterableSource";
+import { BlobReadable } from "@lichtblick/suite-base/players/IterablePlayer/Mcap/BlobReadable";
+import { McapIndexedIterableSource } from "@lichtblick/suite-base/players/IterablePlayer/Mcap/McapIndexedIterableSource";
import { McapIndexedReader, McapWriter, TempBuffer } from "@mcap/core";
import { Blob } from "node:buffer";
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.ts
similarity index 96%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.ts
index b1f63d675b..0eb363fb40 100644
--- a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIndexedIterableSource.ts
@@ -4,22 +4,22 @@
import { pickFields } from "@lichtblick/den/records";
import Logger from "@lichtblick/log";
-import { MessageEvent, Metadata } from "@lichtblick/studio";
+import { MessageEvent, Metadata } from "@lichtblick/suite";
import {
GetBackfillMessagesArgs,
IIterableSource,
Initalization,
IteratorResult,
MessageIteratorArgs,
-} from "@lichtblick/studio-base/players/IterablePlayer/IIterableSource";
-import { estimateObjectSize } from "@lichtblick/studio-base/players/messageMemoryEstimation";
+} from "@lichtblick/suite-base/players/IterablePlayer/IIterableSource";
+import { estimateObjectSize } from "@lichtblick/suite-base/players/messageMemoryEstimation";
import {
PlayerProblem,
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { McapIndexedReader, McapTypes } from "@mcap/core";
import { ParsedChannel, parseChannel } from "@foxglove/mcap-support";
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSource.test.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSource.test.ts
similarity index 100%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSource.test.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSource.test.ts
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSource.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSource.ts
index 98376a33ab..1db022233d 100644
--- a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSource.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
import { McapIndexedReader, McapTypes } from "@mcap/core";
import { loadDecompressHandlers } from "@foxglove/mcap-support";
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker.ts
similarity index 78%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker.ts
index 6cf0a86ae8..a3e908a216 100644
--- a/packages/studio-base/src/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker.ts
+++ b/packages/suite-base/src/players/IterablePlayer/Mcap/McapIterableSourceWorker.worker.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IterableSourceInitializeArgs } from "@lichtblick/studio-base/players/IterablePlayer/IIterableSource";
-import { WorkerIterableSourceWorker } from "@lichtblick/studio-base/players/IterablePlayer/WorkerIterableSourceWorker";
+import { IterableSourceInitializeArgs } from "@lichtblick/suite-base/players/IterablePlayer/IIterableSource";
+import { WorkerIterableSourceWorker } from "@lichtblick/suite-base/players/IterablePlayer/WorkerIterableSourceWorker";
import * as Comlink from "comlink";
import { McapIterableSource } from "./McapIterableSource";
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.test.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.test.ts
similarity index 92%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.test.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.test.ts
index 9eef93c2ce..55ad26f6d2 100644
--- a/packages/studio-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.test.ts
+++ b/packages/suite-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { McapUnindexedIterableSource } from "@lichtblick/studio-base/players/IterablePlayer/Mcap/McapUnindexedIterableSource";
+import { McapUnindexedIterableSource } from "@lichtblick/suite-base/players/IterablePlayer/Mcap/McapUnindexedIterableSource";
import { McapWriter, TempBuffer } from "@mcap/core";
import { Blob } from "node:buffer";
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.ts
similarity index 96%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.ts
index f60f90a028..1ff3269956 100644
--- a/packages/studio-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/Mcap/McapUnindexedIterableSource.ts
@@ -2,17 +2,17 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent, Metadata } from "@lichtblick/studio";
+import { MessageEvent, Metadata } from "@lichtblick/suite";
import {
GetBackfillMessagesArgs,
IIterableSource,
Initalization,
IteratorResult,
MessageIteratorArgs,
-} from "@lichtblick/studio-base/players/IterablePlayer/IIterableSource";
-import { estimateObjectSize } from "@lichtblick/studio-base/players/messageMemoryEstimation";
-import { PlayerProblem, Topic, TopicStats } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/IterablePlayer/IIterableSource";
+import { estimateObjectSize } from "@lichtblick/suite-base/players/messageMemoryEstimation";
+import { PlayerProblem, Topic, TopicStats } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { McapStreamReader, McapTypes } from "@mcap/core";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/players/IterablePlayer/Mcap/RemoteFileReadable.ts b/packages/suite-base/src/players/IterablePlayer/Mcap/RemoteFileReadable.ts
similarity index 87%
rename from packages/studio-base/src/players/IterablePlayer/Mcap/RemoteFileReadable.ts
rename to packages/suite-base/src/players/IterablePlayer/Mcap/RemoteFileReadable.ts
index b969a95912..17ad387ea7 100644
--- a/packages/studio-base/src/players/IterablePlayer/Mcap/RemoteFileReadable.ts
+++ b/packages/suite-base/src/players/IterablePlayer/Mcap/RemoteFileReadable.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import BrowserHttpReader from "@lichtblick/studio-base/util/BrowserHttpReader";
-import CachedFilelike from "@lichtblick/studio-base/util/CachedFilelike";
+import BrowserHttpReader from "@lichtblick/suite-base/util/BrowserHttpReader";
+import CachedFilelike from "@lichtblick/suite-base/util/CachedFilelike";
export class RemoteFileReadable {
#remoteReader: CachedFilelike;
diff --git a/packages/studio-base/src/players/IterablePlayer/WorkerIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/WorkerIterableSource.ts
similarity index 98%
rename from packages/studio-base/src/players/IterablePlayer/WorkerIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/WorkerIterableSource.ts
index d529791fc4..26118d259f 100644
--- a/packages/studio-base/src/players/IterablePlayer/WorkerIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/WorkerIterableSource.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { ComlinkWrap } from "@lichtblick/den/worker";
-import { Immutable, MessageEvent, Time } from "@lichtblick/studio";
+import { Immutable, MessageEvent, Time } from "@lichtblick/suite";
import * as Comlink from "comlink";
import { abortSignalTransferHandler } from "@foxglove/comlink-transfer-handlers";
diff --git a/packages/studio-base/src/players/IterablePlayer/WorkerIterableSourceWorker.ts b/packages/suite-base/src/players/IterablePlayer/WorkerIterableSourceWorker.ts
similarity index 96%
rename from packages/studio-base/src/players/IterablePlayer/WorkerIterableSourceWorker.ts
rename to packages/suite-base/src/players/IterablePlayer/WorkerIterableSourceWorker.ts
index 7e41d14521..eff1b7324a 100644
--- a/packages/studio-base/src/players/IterablePlayer/WorkerIterableSourceWorker.ts
+++ b/packages/suite-base/src/players/IterablePlayer/WorkerIterableSourceWorker.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable, MessageEvent } from "@lichtblick/studio";
+import { Immutable, MessageEvent } from "@lichtblick/suite";
import * as Comlink from "comlink";
import { abortSignalTransferHandler } from "@foxglove/comlink-transfer-handlers";
diff --git a/packages/studio-base/src/players/IterablePlayer/freezeMetadata.test.ts b/packages/suite-base/src/players/IterablePlayer/freezeMetadata.test.ts
similarity index 95%
rename from packages/studio-base/src/players/IterablePlayer/freezeMetadata.test.ts
rename to packages/suite-base/src/players/IterablePlayer/freezeMetadata.test.ts
index 3e4aaa811c..e829d953aa 100644
--- a/packages/studio-base/src/players/IterablePlayer/freezeMetadata.test.ts
+++ b/packages/suite-base/src/players/IterablePlayer/freezeMetadata.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Metadata } from "@lichtblick/studio";
-import { freezeMetadata } from "@lichtblick/studio-base/players/IterablePlayer/freezeMetadata";
+import { Metadata } from "@lichtblick/suite";
+import { freezeMetadata } from "@lichtblick/suite-base/players/IterablePlayer/freezeMetadata";
describe("freezeMetadata", () => {
const metadata: Metadata[] = [
diff --git a/packages/studio-base/src/players/IterablePlayer/freezeMetadata.ts b/packages/suite-base/src/players/IterablePlayer/freezeMetadata.ts
similarity index 95%
rename from packages/studio-base/src/players/IterablePlayer/freezeMetadata.ts
rename to packages/suite-base/src/players/IterablePlayer/freezeMetadata.ts
index 8907aab316..457bd7d384 100644
--- a/packages/studio-base/src/players/IterablePlayer/freezeMetadata.ts
+++ b/packages/suite-base/src/players/IterablePlayer/freezeMetadata.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Metadata } from "@lichtblick/studio";
+import { Metadata } from "@lichtblick/suite";
/**
* Freezes an array of metadata objects and all their internal properties,
diff --git a/packages/studio-base/src/players/IterablePlayer/index.ts b/packages/suite-base/src/players/IterablePlayer/index.ts
similarity index 100%
rename from packages/studio-base/src/players/IterablePlayer/index.ts
rename to packages/suite-base/src/players/IterablePlayer/index.ts
diff --git a/packages/studio-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSource.ts b/packages/suite-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSource.ts
similarity index 93%
rename from packages/studio-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSource.ts
index 37dc485561..d8a1b1b518 100644
--- a/packages/studio-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSource.ts
@@ -2,17 +2,17 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
-import { estimateObjectSize } from "@lichtblick/studio-base/players/messageMemoryEstimation";
+import { MessageEvent } from "@lichtblick/suite";
+import { estimateObjectSize } from "@lichtblick/suite-base/players/messageMemoryEstimation";
import {
MessageDefinitionsByTopic,
ParsedMessageDefinitionsByTopic,
PlayerProblem,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { basicDatatypes } from "@lichtblick/studio-base/util/basicDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { basicDatatypes } from "@lichtblick/suite-base/util/basicDatatypes";
import { ROS2_TO_DEFINITIONS, Rosbag2, SqliteSqljs } from "@foxglove/rosbag2-web";
import { stringify } from "@foxglove/rosmsg";
diff --git a/packages/studio-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker.ts b/packages/suite-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker.ts
similarity index 74%
rename from packages/studio-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker.ts
rename to packages/suite-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker.ts
index 9edf28ac66..5e895aeb3f 100644
--- a/packages/studio-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker.ts
+++ b/packages/suite-base/src/players/IterablePlayer/rosdb3/RosDb3IterableSourceWorker.worker.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IterableSourceInitializeArgs } from "@lichtblick/studio-base/players/IterablePlayer/IIterableSource";
-import { WorkerIterableSourceWorker } from "@lichtblick/studio-base/players/IterablePlayer/WorkerIterableSourceWorker";
+import { IterableSourceInitializeArgs } from "@lichtblick/suite-base/players/IterablePlayer/IIterableSource";
+import { WorkerIterableSourceWorker } from "@lichtblick/suite-base/players/IterablePlayer/WorkerIterableSourceWorker";
import * as Comlink from "comlink";
import { RosDb3IterableSource } from "./RosDb3IterableSource";
diff --git a/packages/studio-base/src/players/IterablePlayer/ulog/UlogIterableSource.ts b/packages/suite-base/src/players/IterablePlayer/ulog/UlogIterableSource.ts
similarity index 96%
rename from packages/studio-base/src/players/IterablePlayer/ulog/UlogIterableSource.ts
rename to packages/suite-base/src/players/IterablePlayer/ulog/UlogIterableSource.ts
index b8aed71ac3..89a5ac91a7 100644
--- a/packages/studio-base/src/players/IterablePlayer/ulog/UlogIterableSource.ts
+++ b/packages/suite-base/src/players/IterablePlayer/ulog/UlogIterableSource.ts
@@ -3,15 +3,15 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { MessageEvent, ParameterValue } from "@lichtblick/studio";
+import { MessageEvent, ParameterValue } from "@lichtblick/suite";
import {
MessageDefinitionsByTopic,
ParsedMessageDefinitionsByTopic,
Topic,
TopicStats,
PlayerProblem,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { ros1 } from "@foxglove/rosmsg-msgs-common";
import { Time, fromMicros, isTimeInRangeInclusive, toMicroSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker.ts b/packages/suite-base/src/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker.ts
similarity index 73%
rename from packages/studio-base/src/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker.ts
rename to packages/suite-base/src/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker.ts
index a3cdd9a052..babcafbb52 100644
--- a/packages/studio-base/src/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker.ts
+++ b/packages/suite-base/src/players/IterablePlayer/ulog/UlogIterableSourceWorker.worker.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IterableSourceInitializeArgs } from "@lichtblick/studio-base/players/IterablePlayer/IIterableSource";
-import { WorkerIterableSourceWorker } from "@lichtblick/studio-base/players/IterablePlayer/WorkerIterableSourceWorker";
+import { IterableSourceInitializeArgs } from "@lichtblick/suite-base/players/IterablePlayer/IIterableSource";
+import { WorkerIterableSourceWorker } from "@lichtblick/suite-base/players/IterablePlayer/WorkerIterableSourceWorker";
import * as Comlink from "comlink";
import { UlogIterableSource } from "./UlogIterableSource";
diff --git a/packages/studio-base/src/players/IterablePlayer/ulog/support.ts b/packages/suite-base/src/players/IterablePlayer/ulog/support.ts
similarity index 100%
rename from packages/studio-base/src/players/IterablePlayer/ulog/support.ts
rename to packages/suite-base/src/players/IterablePlayer/ulog/support.ts
diff --git a/packages/studio-base/src/players/NoopMetricsCollector.ts b/packages/suite-base/src/players/NoopMetricsCollector.ts
similarity index 89%
rename from packages/studio-base/src/players/NoopMetricsCollector.ts
rename to packages/suite-base/src/players/NoopMetricsCollector.ts
index 3241e915b1..d624a36950 100644
--- a/packages/studio-base/src/players/NoopMetricsCollector.ts
+++ b/packages/suite-base/src/players/NoopMetricsCollector.ts
@@ -10,7 +10,7 @@
// This source code is licensed under the Apache License, Version 2.0,
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { PlayerMetricsCollectorInterface } from "@lichtblick/studio-base/players/types";
+import { PlayerMetricsCollectorInterface } from "@lichtblick/suite-base/players/types";
export default class NoopMetricsCollector implements PlayerMetricsCollectorInterface {
public setProperty(_key: string, _value: string | number | boolean): void {
diff --git a/packages/studio-base/src/players/PlayerProblemManager.test.ts b/packages/suite-base/src/players/PlayerProblemManager.test.ts
similarity index 97%
rename from packages/studio-base/src/players/PlayerProblemManager.test.ts
rename to packages/suite-base/src/players/PlayerProblemManager.test.ts
index 16efacd2a7..2f2d63f25d 100644
--- a/packages/studio-base/src/players/PlayerProblemManager.test.ts
+++ b/packages/suite-base/src/players/PlayerProblemManager.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
describe("PlayerProblemManager", () => {
it("keys problems by id", () => {
diff --git a/packages/studio-base/src/players/PlayerProblemManager.ts b/packages/suite-base/src/players/PlayerProblemManager.ts
similarity index 96%
rename from packages/studio-base/src/players/PlayerProblemManager.ts
rename to packages/suite-base/src/players/PlayerProblemManager.ts
index c58cccb97d..b021612f03 100644
--- a/packages/studio-base/src/players/PlayerProblemManager.ts
+++ b/packages/suite-base/src/players/PlayerProblemManager.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PlayerProblem } from "@lichtblick/studio-base/players/types";
+import { PlayerProblem } from "@lichtblick/suite-base/players/types";
/**
* Manages a set of PlayerProblems keyed by ID. Calls to problems() will return the same object as
diff --git a/packages/studio-base/src/players/Ros1Player.ts b/packages/suite-base/src/players/Ros1Player.ts
similarity index 98%
rename from packages/studio-base/src/players/Ros1Player.ts
rename to packages/suite-base/src/players/Ros1Player.ts
index 38775c8c03..49681f25d5 100644
--- a/packages/studio-base/src/players/Ros1Player.ts
+++ b/packages/suite-base/src/players/Ros1Player.ts
@@ -4,9 +4,9 @@
import { debouncePromise } from "@lichtblick/den/async";
import Logger from "@lichtblick/log";
-import { ParameterValue } from "@lichtblick/studio";
-import OsContextSingleton from "@lichtblick/studio-base/OsContextSingleton";
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
+import { ParameterValue } from "@lichtblick/suite";
+import OsContextSingleton from "@lichtblick/suite-base/OsContextSingleton";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
import {
AdvertiseOptions,
MessageEvent,
@@ -21,9 +21,9 @@ import {
Topic,
TopicStats,
TopicWithSchemaName,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import rosDatatypesToMessageDefinition from "@lichtblick/studio-base/util/rosDatatypesToMessageDefinition";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import rosDatatypesToMessageDefinition from "@lichtblick/suite-base/util/rosDatatypesToMessageDefinition";
import * as _ from "lodash-es";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/players/RosbridgePlayer.test.ts b/packages/suite-base/src/players/RosbridgePlayer.test.ts
similarity index 97%
rename from packages/studio-base/src/players/RosbridgePlayer.test.ts
rename to packages/suite-base/src/players/RosbridgePlayer.test.ts
index 584538d347..d9f724e86c 100644
--- a/packages/studio-base/src/players/RosbridgePlayer.test.ts
+++ b/packages/suite-base/src/players/RosbridgePlayer.test.ts
@@ -12,8 +12,8 @@
// You may not use this file except in compliance with the License.
import { signal } from "@lichtblick/den/async";
-import NoopMetricsCollector from "@lichtblick/studio-base/players/NoopMetricsCollector";
-import RosbridgePlayer from "@lichtblick/studio-base/players/RosbridgePlayer";
+import NoopMetricsCollector from "@lichtblick/suite-base/players/NoopMetricsCollector";
+import RosbridgePlayer from "@lichtblick/suite-base/players/RosbridgePlayer";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/players/RosbridgePlayer.ts b/packages/suite-base/src/players/RosbridgePlayer.ts
similarity index 98%
rename from packages/studio-base/src/players/RosbridgePlayer.ts
rename to packages/suite-base/src/players/RosbridgePlayer.ts
index 4c61cdac06..07820ec2af 100644
--- a/packages/studio-base/src/players/RosbridgePlayer.ts
+++ b/packages/suite-base/src/players/RosbridgePlayer.ts
@@ -14,8 +14,8 @@
import { debouncePromise } from "@lichtblick/den/async";
import { filterMap } from "@lichtblick/den/collection";
import Log from "@lichtblick/log";
-import { ParameterValue } from "@lichtblick/studio";
-import PlayerProblemManager from "@lichtblick/studio-base/players/PlayerProblemManager";
+import { ParameterValue } from "@lichtblick/suite";
+import PlayerProblemManager from "@lichtblick/suite-base/players/PlayerProblemManager";
import {
AdvertiseOptions,
MessageEvent,
@@ -29,9 +29,9 @@ import {
PlayerMetricsCollectorInterface,
TopicStats,
TopicWithSchemaName,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { bagConnectionsToDatatypes } from "@lichtblick/studio-base/util/bagConnectionsHelper";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { bagConnectionsToDatatypes } from "@lichtblick/suite-base/util/bagConnectionsHelper";
import * as _ from "lodash-es";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.test.ts b/packages/suite-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.test.ts
similarity index 99%
rename from packages/studio-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.test.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.test.ts
index 80b2e837bb..cb161e1980 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.test.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio-base/players/types";
+import { Topic } from "@lichtblick/suite-base/players/types";
import { AliasingStateProcessor } from "./AliasingStateProcessor";
import { mockPlayerState } from "./mocks";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.ts b/packages/suite-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.ts
similarity index 98%
rename from packages/studio-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.ts
index e9026bd93b..cb6d1d0053 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/AliasingStateProcessor.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable as Im, MessageEvent } from "@lichtblick/studio";
+import { Immutable as Im, MessageEvent } from "@lichtblick/suite";
import {
MessageBlock,
PlayerProblem,
@@ -11,7 +11,7 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import memoizeWeak from "memoize-weak";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/BlockTopicProcessor.ts b/packages/suite-base/src/players/TopicAliasingPlayer/BlockTopicProcessor.ts
similarity index 95%
rename from packages/studio-base/src/players/TopicAliasingPlayer/BlockTopicProcessor.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/BlockTopicProcessor.ts
index ad61d82aac..e5ac0b388a 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/BlockTopicProcessor.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/BlockTopicProcessor.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { Immutable as Im, MessageEvent } from "@lichtblick/studio";
-import type { MessageBlock } from "@lichtblick/studio-base/players/types";
+import type { Immutable as Im, MessageEvent } from "@lichtblick/suite";
+import type { MessageBlock } from "@lichtblick/suite-base/players/types";
type BlockItem = { inputEvents: Im; aliased: Record };
type SparseArray = (T | undefined)[];
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/IStateProcessor.ts b/packages/suite-base/src/players/TopicAliasingPlayer/IStateProcessor.ts
similarity index 90%
rename from packages/studio-base/src/players/TopicAliasingPlayer/IStateProcessor.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/IStateProcessor.ts
index 20758c1682..a6fe4a884f 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/IStateProcessor.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/IStateProcessor.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PlayerState, SubscribePayload } from "@lichtblick/studio-base/players/types";
+import { PlayerState, SubscribePayload } from "@lichtblick/suite-base/players/types";
/**
* IStateProcessor interface describes operations to transform PlayerState and Subscriptions.
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/NoopStateProcessor.ts b/packages/suite-base/src/players/TopicAliasingPlayer/NoopStateProcessor.ts
similarity index 87%
rename from packages/studio-base/src/players/TopicAliasingPlayer/NoopStateProcessor.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/NoopStateProcessor.ts
index b551f4847d..2e26ffe175 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/NoopStateProcessor.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/NoopStateProcessor.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { PlayerState, SubscribePayload } from "@lichtblick/studio-base/players/types";
+import { PlayerState, SubscribePayload } from "@lichtblick/suite-base/players/types";
import { IStateProcessor } from "./IStateProcessor";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/StateProcessorFactory.test.ts b/packages/suite-base/src/players/TopicAliasingPlayer/StateProcessorFactory.test.ts
similarity index 100%
rename from packages/studio-base/src/players/TopicAliasingPlayer/StateProcessorFactory.test.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/StateProcessorFactory.test.ts
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/StateProcessorFactory.ts b/packages/suite-base/src/players/TopicAliasingPlayer/StateProcessorFactory.ts
similarity index 96%
rename from packages/studio-base/src/players/TopicAliasingPlayer/StateProcessorFactory.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/StateProcessorFactory.ts
index 1e002a7047..7ec8079704 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/StateProcessorFactory.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/StateProcessorFactory.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { TopicAliasFunction, Immutable as Im } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { PlayerProblem, Topic } from "@lichtblick/studio-base/players/types";
+import { TopicAliasFunction, Immutable as Im } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { PlayerProblem, Topic } from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import { AliasingStateProcessor, TopicAliasMap } from "./AliasingStateProcessor";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.test.ts b/packages/suite-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.test.ts
similarity index 99%
rename from packages/studio-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.test.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.test.ts
index c0557612bf..193abc59ff 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.test.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import FakePlayer from "@lichtblick/studio-base/components/MessagePipeline/FakePlayer";
-import { PlayerProblem, PlayerState, Topic } from "@lichtblick/studio-base/players/types";
+import FakePlayer from "@lichtblick/suite-base/components/MessagePipeline/FakePlayer";
+import { PlayerProblem, PlayerState, Topic } from "@lichtblick/suite-base/players/types";
import { TopicAliasFunctions } from "./StateProcessorFactory";
import { TopicAliasingPlayer } from "./TopicAliasingPlayer";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.ts b/packages/suite-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.ts
similarity index 97%
rename from packages/studio-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.ts
index f7b3ab8339..d03c8c7c72 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/TopicAliasingPlayer.ts
@@ -3,16 +3,16 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { MutexLocked } from "@lichtblick/den/async";
-import { Immutable, Metadata, ParameterValue } from "@lichtblick/studio";
-import { Asset } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+import { Immutable, Metadata, ParameterValue } from "@lichtblick/suite";
+import { Asset } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
AdvertiseOptions,
Player,
PlayerState,
PublishPayload,
SubscribePayload,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/aliasing.test.ts b/packages/suite-base/src/players/TopicAliasingPlayer/aliasing.test.ts
similarity index 97%
rename from packages/studio-base/src/players/TopicAliasingPlayer/aliasing.test.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/aliasing.test.ts
index 5e1598418c..55718ae441 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/aliasing.test.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/aliasing.test.ts
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { TopicAliasFunction } from "@lichtblick/studio";
+import { TopicAliasFunction } from "@lichtblick/suite";
import {
AliasingInputs,
aliasPlayerState,
-} from "@lichtblick/studio-base/players/TopicAliasingPlayer/aliasing";
-import { Topic } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/TopicAliasingPlayer/aliasing";
+import { Topic } from "@lichtblick/suite-base/players/types";
import { mockPlayerState } from "./mocks";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/aliasing.ts b/packages/suite-base/src/players/TopicAliasingPlayer/aliasing.ts
similarity index 98%
rename from packages/studio-base/src/players/TopicAliasingPlayer/aliasing.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/aliasing.ts
index e0472d0113..42fd10910f 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/aliasing.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/aliasing.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { TopicAliasFunction, Immutable as Im, MessageEvent } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+import { TopicAliasFunction, Immutable as Im, MessageEvent } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
MessageBlock,
PlayerProblem,
@@ -12,7 +12,7 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
import * as _ from "lodash-es";
import memoizeWeak from "memoize-weak";
diff --git a/packages/studio-base/src/players/TopicAliasingPlayer/mocks.ts b/packages/suite-base/src/players/TopicAliasingPlayer/mocks.ts
similarity index 92%
rename from packages/studio-base/src/players/TopicAliasingPlayer/mocks.ts
rename to packages/suite-base/src/players/TopicAliasingPlayer/mocks.ts
index 5e1424a219..2d61609082 100644
--- a/packages/studio-base/src/players/TopicAliasingPlayer/mocks.ts
+++ b/packages/suite-base/src/players/TopicAliasingPlayer/mocks.ts
@@ -2,12 +2,12 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
import {
PlayerPresence,
PlayerState,
PlayerStateActiveData,
-} from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/types";
export function mockMessage(message: T, fields?: Partial>): MessageEvent {
return {
diff --git a/packages/studio-base/src/players/UserScriptPlayer/MemoizedLibGenerator.ts b/packages/suite-base/src/players/UserScriptPlayer/MemoizedLibGenerator.ts
similarity index 91%
rename from packages/studio-base/src/players/UserScriptPlayer/MemoizedLibGenerator.ts
rename to packages/suite-base/src/players/UserScriptPlayer/MemoizedLibGenerator.ts
index d8f4bcef7f..c6fd031226 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/MemoizedLibGenerator.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/MemoizedLibGenerator.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
type Args = { topics: Topic[]; datatypes: RosDatatypes };
type LibGeneratorFn = (args: Args) => Promise;
diff --git a/packages/studio-base/src/players/UserScriptPlayer/MockUserScriptPlayerWorker.ts b/packages/suite-base/src/players/UserScriptPlayer/MockUserScriptPlayerWorker.ts
similarity index 98%
rename from packages/studio-base/src/players/UserScriptPlayer/MockUserScriptPlayerWorker.ts
rename to packages/suite-base/src/players/UserScriptPlayer/MockUserScriptPlayerWorker.ts
index cb42d89c02..9745b09976 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/MockUserScriptPlayerWorker.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/MockUserScriptPlayerWorker.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Rpc, { Channel, createLinkedChannels } from "@lichtblick/studio-base/util/Rpc";
+import Rpc, { Channel, createLinkedChannels } from "@lichtblick/suite-base/util/Rpc";
import * as _ from "lodash-es";
import { processMessage, registerScript } from "./runtimeWorker/registry";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/index.test.ts b/packages/suite-base/src/players/UserScriptPlayer/index.test.ts
similarity index 99%
rename from packages/studio-base/src/players/UserScriptPlayer/index.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/index.test.ts
index 147fd18698..41cd87fb72 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/index.test.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/index.test.ts
@@ -13,20 +13,20 @@
// You may not use this file except in compliance with the License.
import { signal } from "@lichtblick/den/async";
-import FakePlayer from "@lichtblick/studio-base/components/MessagePipeline/FakePlayer";
-import MockUserScriptPlayerWorker from "@lichtblick/studio-base/players/UserScriptPlayer/MockUserScriptPlayerWorker";
+import FakePlayer from "@lichtblick/suite-base/components/MessagePipeline/FakePlayer";
+import MockUserScriptPlayerWorker from "@lichtblick/suite-base/players/UserScriptPlayer/MockUserScriptPlayerWorker";
import {
AdvertiseOptions,
MessageEvent,
PlayerState,
PlayerStateActiveData,
Topic,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { UserScript } from "@lichtblick/studio-base/types/panels";
-import { basicDatatypes } from "@lichtblick/studio-base/util/basicDatatypes";
-import delay from "@lichtblick/studio-base/util/delay";
-import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { UserScript } from "@lichtblick/suite-base/types/panels";
+import { basicDatatypes } from "@lichtblick/suite-base/util/basicDatatypes";
+import delay from "@lichtblick/suite-base/util/delay";
+import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/suite-base/util/globalConstants";
import UserScriptPlayer from ".";
import exampleDatatypes from "./transformerWorker/fixtures/example-datatypes";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/index.ts b/packages/suite-base/src/players/UserScriptPlayer/index.ts
similarity index 97%
rename from packages/studio-base/src/players/UserScriptPlayer/index.ts
rename to packages/suite-base/src/players/UserScriptPlayer/index.ts
index dd60f74597..ee66233ff4 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/index.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/index.ts
@@ -14,16 +14,16 @@
import { MutexLocked } from "@lichtblick/den/async";
import { filterMap } from "@lichtblick/den/collection";
import Log from "@lichtblick/log";
-import { Metadata, ParameterValue } from "@lichtblick/studio";
-import { Asset } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
+import { Metadata, ParameterValue } from "@lichtblick/suite";
+import { Asset } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
import {
IPerformanceRegistry,
PerformanceMetricID,
-} from "@lichtblick/studio-base/context/PerformanceContext";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { MemoizedLibGenerator } from "@lichtblick/studio-base/players/UserScriptPlayer/MemoizedLibGenerator";
-import { generateTypesLib } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/generateTypesLib";
-import { TransformArgs } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/types";
+} from "@lichtblick/suite-base/context/PerformanceContext";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { MemoizedLibGenerator } from "@lichtblick/suite-base/players/UserScriptPlayer/MemoizedLibGenerator";
+import { generateTypesLib } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/generateTypesLib";
+import { TransformArgs } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/types";
import {
Diagnostic,
DiagnosticSeverity,
@@ -34,8 +34,8 @@ import {
RegistrationOutput,
Sources,
UserScriptLog,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import { hasTransformerErrors } from "@lichtblick/studio-base/players/UserScriptPlayer/utils";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import { hasTransformerErrors } from "@lichtblick/suite-base/players/UserScriptPlayer/utils";
import {
AdvertiseOptions,
Player,
@@ -47,12 +47,12 @@ import {
MessageEvent,
PlayerProblem,
MessageBlock,
-} from "@lichtblick/studio-base/players/types";
-import { reportError } from "@lichtblick/studio-base/reportError";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { UserScript, UserScripts } from "@lichtblick/studio-base/types/panels";
-import Rpc from "@lichtblick/studio-base/util/Rpc";
-import { basicDatatypes } from "@lichtblick/studio-base/util/basicDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { reportError } from "@lichtblick/suite-base/reportError";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { UserScript, UserScripts } from "@lichtblick/suite-base/types/panels";
+import Rpc from "@lichtblick/suite-base/util/Rpc";
+import { basicDatatypes } from "@lichtblick/suite-base/util/basicDatatypes";
import { Mutex } from "async-mutex";
import * as _ from "lodash-es";
import memoizeWeak from "memoize-weak";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/index.ts b/packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/index.ts
similarity index 93%
rename from packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/index.ts
rename to packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/index.ts
index a41ee869a4..61bfaba5ba 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/index.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/index.ts
@@ -13,9 +13,9 @@
import {
processMessage,
registerScript,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/runtimeWorker/registry";
-import Rpc from "@lichtblick/studio-base/util/Rpc";
-import { enforceFetchIsBlocked, inSharedWorker } from "@lichtblick/studio-base/util/workers";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/runtimeWorker/registry";
+import Rpc from "@lichtblick/suite-base/util/Rpc";
+import { enforceFetchIsBlocked, inSharedWorker } from "@lichtblick/suite-base/util/workers";
let unsentErrors: string[] = [];
(global as unknown as SharedWorkerGlobalScope).onerror = (event: ErrorEvent) => {
diff --git a/packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/registry.test.ts b/packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/registry.test.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/registry.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/registry.test.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/registry.ts b/packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/registry.ts
similarity index 95%
rename from packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/registry.ts
rename to packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/registry.ts
index 953e63ce99..e23aae79c3 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/runtimeWorker/registry.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/runtimeWorker/registry.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
Diagnostic,
DiagnosticSeverity,
@@ -20,8 +20,8 @@ import {
RegistrationOutput,
Sources,
UserScriptLog,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/suite-base/util/globalConstants";
import path from "path";
// Each script runtime worker runs one script at a time, hence why we have one
diff --git a/packages/studio-base/src/players/UserScriptPlayer/subscriptions.test.ts b/packages/suite-base/src/players/UserScriptPlayer/subscriptions.test.ts
similarity index 98%
rename from packages/studio-base/src/players/UserScriptPlayer/subscriptions.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/subscriptions.test.ts
index f64b748865..e90aca383a 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/subscriptions.test.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/subscriptions.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { SubscribePayload } from "@lichtblick/studio-base/players/types";
+import { SubscribePayload } from "@lichtblick/suite-base/players/types";
import { remapVirtualSubscriptions, getPreloadTypes } from "./subscriptions";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/subscriptions.ts b/packages/suite-base/src/players/UserScriptPlayer/subscriptions.ts
similarity index 91%
rename from packages/studio-base/src/players/UserScriptPlayer/subscriptions.ts
rename to packages/suite-base/src/players/UserScriptPlayer/subscriptions.ts
index e7c5b4cbd0..47f52b39f5 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/subscriptions.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/subscriptions.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
-import { mergeSubscriptions } from "@lichtblick/studio-base/components/MessagePipeline/subscriptions";
-import { SubscribePayload } from "@lichtblick/studio-base/players/types";
+import { Immutable } from "@lichtblick/suite";
+import { mergeSubscriptions } from "@lichtblick/suite-base/components/MessagePipeline/subscriptions";
+import { SubscribePayload } from "@lichtblick/suite-base/players/types";
import * as R from "ramda";
// A mapping from the subscription to the input topics needed to satisfy
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateRosLib.test.ts.snap b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateRosLib.test.ts.snap
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateRosLib.test.ts.snap
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateRosLib.test.ts.snap
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateTypesLib.test.ts.snap b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateTypesLib.test.ts.snap
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateTypesLib.test.ts.snap
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/__snapshots__/generateTypesLib.test.ts.snap
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes.ts
similarity index 99%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes.ts
index 91f628f24c..b723bb8d4b 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
// eslint-disable-next-line filenames/match-exported
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
const datatypes: RosDatatypes = new Map(
Object.entries({
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.test.ts
similarity index 96%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.test.ts
index 2db5e582ee..8d2102cd0a 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.test.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.test.ts
@@ -11,15 +11,15 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import stressTestDatatypes from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes";
+import stressTestDatatypes from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes";
import generateRosLib, {
generateTypeDefs,
InterfaceDeclarations,
typedArrayMap,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
-import { compile } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/transform";
-import { ScriptData } from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import { Topic } from "@lichtblick/studio-base/players/types";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
+import { compile } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/transform";
+import { ScriptData } from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import { Topic } from "@lichtblick/suite-base/players/types";
import ts from "typescript/lib/typescript";
const baseNodeData: ScriptData = {
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.ts
similarity index 98%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.ts
index 06a5df4210..ec9e9f2d3f 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateRosLib.ts
@@ -12,8 +12,8 @@
// You may not use this file except in compliance with the License.
import { filterMap } from "@lichtblick/den/collection";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import ts from "typescript/lib/typescript";
export type InterfaceDeclarations = {
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.test.ts
similarity index 95%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.test.ts
index e15d98102a..beaec7ca54 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.test.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.test.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import getPrettifiedCode from "@lichtblick/studio-base/panels/UserScriptEditor/getPrettifiedCode";
-import { ScriptData } from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+import getPrettifiedCode from "@lichtblick/suite-base/panels/UserScriptEditor/getPrettifiedCode";
+import { ScriptData } from "@lichtblick/suite-base/players/UserScriptPlayer/types";
import { generateTypesInterface, generateTypesLib } from "./generateTypesLib";
import { compile } from "./transform";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.ts
similarity index 97%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.ts
index 7621a54bd9..8bc2344075 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/generateTypesLib.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
type Args = {
topics: Topic[];
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/index.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/index.ts
similarity index 89%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/index.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/index.ts
index 8d3b108108..0719edd271 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/index.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/index.ts
@@ -10,11 +10,11 @@
// This source code is licensed under the Apache License, Version 2.0,
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import generateRosLib from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
-import transform from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/transform";
-import Rpc from "@lichtblick/studio-base/util/Rpc";
-import { setupSendReportNotificationHandler } from "@lichtblick/studio-base/util/RpcWorkerUtils";
-import { enforceFetchIsBlocked, inSharedWorker } from "@lichtblick/studio-base/util/workers";
+import generateRosLib from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
+import transform from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/transform";
+import Rpc from "@lichtblick/suite-base/util/Rpc";
+import { setupSendReportNotificationHandler } from "@lichtblick/suite-base/util/RpcWorkerUtils";
+import { enforceFetchIsBlocked, inSharedWorker } from "@lichtblick/suite-base/util/workers";
let unsentErrors: string[] = [];
(global as unknown as SharedWorkerGlobalScope).onerror = (event: ErrorEvent) => {
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/transform.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/transform.test.ts
similarity index 98%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/transform.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/transform.test.ts
index 3226eec656..d5d9af1879 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/transform.test.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/transform.test.ts
@@ -13,12 +13,12 @@
/* eslint-disable jest/no-conditional-expect */
-import exampleDatatypes from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes";
-import generateRosLib from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
+import exampleDatatypes from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/fixtures/example-datatypes";
+import generateRosLib from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
import {
generateEmptyTypesLib,
generateTypesLib,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/generateTypesLib";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/generateTypesLib";
import {
getOutputTopic,
validateInputTopics,
@@ -27,16 +27,16 @@ import {
extractGlobalVariables,
compose,
getInputTopics,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/transform";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/transform";
import {
DiagnosticSeverity,
ErrorCodes,
Sources,
ScriptData,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { basicDatatypes } from "@lichtblick/studio-base/util/basicDatatypes";
-import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { basicDatatypes } from "@lichtblick/suite-base/util/basicDatatypes";
+import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/suite-base/util/globalConstants";
// Exported for use in other tests.
const baseNodeData: ScriptData = {
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/transform.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/transform.ts
similarity index 95%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/transform.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/transform.ts
index e82d0ee8cb..8e6a4f8294 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/transform.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/transform.ts
@@ -12,18 +12,18 @@
// You may not use this file except in compliance with the License.
import { filterMap } from "@lichtblick/den/collection";
-import { formatInterfaceName } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
+import { formatInterfaceName } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/generateRosLib";
import {
constructDatatypes,
DatatypeExtractionError,
findDefaultExportFunction,
findReturnType,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/ast";
-import { getUserScriptProjectConfig } from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/ast";
+import { getUserScriptProjectConfig } from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/projectConfig";
import {
baseCompilerOptions,
transformDiagnosticToMarkerData,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/utils";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/utils";
import {
Diagnostic,
DiagnosticSeverity,
@@ -31,9 +31,9 @@ import {
ScriptData,
ScriptDataTransformer,
Sources,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/suite-base/util/globalConstants";
import ts from "typescript/lib/typescript";
import { TransformArgs } from "./types";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/types.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/types.ts
similarity index 72%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/types.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/types.ts
index 4e0642e2e8..1092079ba4 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/types.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/types.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
export type TransformArgs = {
name: string;
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/ast.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/ast.ts
similarity index 98%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/ast.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/ast.ts
index 437bdc492a..92dfbc5f3f 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/ast.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/ast.ts
@@ -26,14 +26,14 @@ import {
noTuples,
limitedUnionsError,
noNestedAny,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/errors";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/errors";
import {
DiagnosticSeverity,
Sources,
ErrorCodes,
Diagnostic,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
-import type { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
+import type { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import ts from "typescript/lib/typescript";
import { MessageDefinitionField } from "@foxglove/message-definition";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/errors.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/errors.ts
similarity index 98%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/errors.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/errors.ts
index 278c9aa89c..3e398a4b10 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/errors.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/errors.ts
@@ -14,7 +14,7 @@ import {
DiagnosticSeverity,
Sources,
ErrorCodes,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
export const noFuncError = {
severity: DiagnosticSeverity.Error,
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/lib.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/lib.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/lib.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/lib.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/projectConfig.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/projectConfig.ts
similarity index 82%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/projectConfig.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/projectConfig.ts
index d8523270e6..cf184347f3 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/projectConfig.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/projectConfig.ts
@@ -14,17 +14,17 @@
import {
lib_dts,
lib_filename,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/lib";
-import rawUserUtils from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/lib";
+import rawUserUtils from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils";
import {
ros_lib_dts,
ros_lib_filename,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/ros";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/ros";
import {
UserScriptProjectConfig,
UserScriptProjectFile,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/transformerWorker/typescript/types";
-import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/transformerWorker/typescript/types";
+import { DEFAULT_STUDIO_SCRIPT_PREFIX } from "@lichtblick/suite-base/util/globalConstants";
import * as _ from "lodash-es";
import { exportTypeScriptSchemas } from "@foxglove/schemas/internal";
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/rawUserUtils.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/ros.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/ros.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/ros.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/ros.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/index.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/index.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/index.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/index.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/locationFix.ts.template b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/locationFix.ts.template
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/locationFix.ts.template
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/locationFix.ts.template
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/marker.ts.template b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/marker.ts.template
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/marker.ts.template
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/marker.ts.template
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/multipleInputs.ts.template b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/multipleInputs.ts.template
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/multipleInputs.ts.template
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/multipleInputs.ts.template
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/skeleton.ts.template b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/skeleton.ts.template
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/skeleton.ts.template
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/templates/skeleton.ts.template
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/types.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/types.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/types.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/types.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/.eslintrc.yaml b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/.eslintrc.yaml
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/.eslintrc.yaml
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/.eslintrc.yaml
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/generatedTypes.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/generatedTypes.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/generatedTypes.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/generatedTypes.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.test.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.test.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/markers.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.test.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.test.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/pointClouds.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.test.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.test.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/quaternions.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/readers.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/readers.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/readers.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/readers.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.test.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.test.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/time.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/types.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/types.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/types.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/types.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.test.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.test.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.test.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.test.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.ts
similarity index 100%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/typescript/userUtils/vectors.ts
diff --git a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/utils.ts b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/utils.ts
similarity index 97%
rename from packages/studio-base/src/players/UserScriptPlayer/transformerWorker/utils.ts
rename to packages/suite-base/src/players/UserScriptPlayer/transformerWorker/utils.ts
index 5cf11fe5d4..969c540602 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/transformerWorker/utils.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/transformerWorker/utils.ts
@@ -14,7 +14,7 @@
import {
DiagnosticSeverity,
Diagnostic,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
import ts from "typescript/lib/typescript";
const mapCategoryToDiagnosticSeverity = (
diff --git a/packages/studio-base/src/players/UserScriptPlayer/types.ts b/packages/suite-base/src/players/UserScriptPlayer/types.ts
similarity index 93%
rename from packages/studio-base/src/players/UserScriptPlayer/types.ts
rename to packages/suite-base/src/players/UserScriptPlayer/types.ts
index 26e2e1e0fe..7bcc431ff6 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/types.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/types.ts
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { MessageEvent, Topic } from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { MessageEvent, Topic } from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import type { SourceFile, TypeChecker } from "typescript";
// make sure to use import type to avoid bringing in the actual implementations to the bundle
diff --git a/packages/studio-base/src/players/UserScriptPlayer/utils.ts b/packages/suite-base/src/players/UserScriptPlayer/utils.ts
similarity index 91%
rename from packages/studio-base/src/players/UserScriptPlayer/utils.ts
rename to packages/suite-base/src/players/UserScriptPlayer/utils.ts
index 40d7358b6b..9a39deb672 100644
--- a/packages/studio-base/src/players/UserScriptPlayer/utils.ts
+++ b/packages/suite-base/src/players/UserScriptPlayer/utils.ts
@@ -13,7 +13,7 @@
import {
DiagnosticSeverity,
ScriptData,
-} from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+} from "@lichtblick/suite-base/players/UserScriptPlayer/types";
export const hasTransformerErrors = (scriptData: ScriptData): boolean =>
scriptData.diagnostics.some(({ severity }) => severity === DiagnosticSeverity.Error);
diff --git a/packages/studio-base/src/players/VelodynePlayer.ts b/packages/suite-base/src/players/VelodynePlayer.ts
similarity index 97%
rename from packages/studio-base/src/players/VelodynePlayer.ts
rename to packages/suite-base/src/players/VelodynePlayer.ts
index f2719c044f..a0479b7380 100644
--- a/packages/studio-base/src/players/VelodynePlayer.ts
+++ b/packages/suite-base/src/players/VelodynePlayer.ts
@@ -4,8 +4,8 @@
import { debouncePromise } from "@lichtblick/den/async";
import Logger from "@lichtblick/log";
-import { ParameterValue } from "@lichtblick/studio";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
+import { ParameterValue } from "@lichtblick/suite";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
import {
AdvertiseOptions,
MessageEvent,
@@ -18,8 +18,8 @@ import {
SubscribePayload,
Topic,
TopicStats,
-} from "@lichtblick/studio-base/players/types";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+} from "@lichtblick/suite-base/players/types";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { v4 as uuidv4 } from "uuid";
import { Sockets, UdpRemoteInfo, UdpSocketRenderer } from "@foxglove/electron-socket/renderer";
diff --git a/packages/studio-base/src/players/messageMemoryEstimation.test.ts b/packages/suite-base/src/players/messageMemoryEstimation.test.ts
similarity index 100%
rename from packages/studio-base/src/players/messageMemoryEstimation.test.ts
rename to packages/suite-base/src/players/messageMemoryEstimation.test.ts
diff --git a/packages/studio-base/src/players/messageMemoryEstimation.ts b/packages/suite-base/src/players/messageMemoryEstimation.ts
similarity index 100%
rename from packages/studio-base/src/players/messageMemoryEstimation.ts
rename to packages/suite-base/src/players/messageMemoryEstimation.ts
diff --git a/packages/studio-base/src/players/subscribePayloadFromMessagePath.test.ts b/packages/suite-base/src/players/subscribePayloadFromMessagePath.test.ts
similarity index 90%
rename from packages/studio-base/src/players/subscribePayloadFromMessagePath.test.ts
rename to packages/suite-base/src/players/subscribePayloadFromMessagePath.test.ts
index 7fdfa97552..c43e404984 100644
--- a/packages/studio-base/src/players/subscribePayloadFromMessagePath.test.ts
+++ b/packages/suite-base/src/players/subscribePayloadFromMessagePath.test.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { subscribePayloadFromMessagePath } from "@lichtblick/studio-base/players/subscribePayloadFromMessagePath";
+import { subscribePayloadFromMessagePath } from "@lichtblick/suite-base/players/subscribePayloadFromMessagePath";
describe("subscribePayloadFromMessagePath", () => {
it("handles whole topic paths", () => {
diff --git a/packages/studio-base/src/players/subscribePayloadFromMessagePath.ts b/packages/suite-base/src/players/subscribePayloadFromMessagePath.ts
similarity index 100%
rename from packages/studio-base/src/players/subscribePayloadFromMessagePath.ts
rename to packages/suite-base/src/players/subscribePayloadFromMessagePath.ts
diff --git a/packages/studio-base/src/players/types.ts b/packages/suite-base/src/players/types.ts
similarity index 96%
rename from packages/studio-base/src/players/types.ts
rename to packages/suite-base/src/players/types.ts
index 517fdb9757..9e34a94dfe 100644
--- a/packages/studio-base/src/players/types.ts
+++ b/packages/suite-base/src/players/types.ts
@@ -11,13 +11,13 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import type { MessageEvent, Metadata, ParameterValue } from "@lichtblick/studio";
-import { Asset } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { Range } from "@lichtblick/studio-base/util/ranges";
-import { NotificationSeverity } from "@lichtblick/studio-base/util/sendNotification";
+import type { MessageEvent, Metadata, ParameterValue } from "@lichtblick/suite";
+import { Immutable } from "@lichtblick/suite";
+import { Asset } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { Range } from "@lichtblick/suite-base/util/ranges";
+import { NotificationSeverity } from "@lichtblick/suite-base/util/sendNotification";
import { MessageDefinition } from "@foxglove/message-definition";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.stories.tsx b/packages/suite-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.stories.tsx
similarity index 100%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.stories.tsx
rename to packages/suite-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.stories.tsx
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.tsx b/packages/suite-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.tsx
similarity index 95%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.tsx
rename to packages/suite-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.tsx
index 964ae8c14a..05e20f6feb 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.tsx
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/IncompatibleLayoutVersionAlert.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import {
Button,
Dialog,
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/MockCurrentLayoutProvider.tsx b/packages/suite-base/src/providers/CurrentLayoutProvider/MockCurrentLayoutProvider.tsx
similarity index 96%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/MockCurrentLayoutProvider.tsx
rename to packages/suite-base/src/providers/CurrentLayoutProvider/MockCurrentLayoutProvider.tsx
index 90b8ef0405..5a37676cb4 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/MockCurrentLayoutProvider.tsx
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/MockCurrentLayoutProvider.tsx
@@ -8,12 +8,12 @@ import CurrentLayoutContext, {
LayoutID,
LayoutState,
SelectedLayout,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
import {
LayoutData,
PanelsActions,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { defaultPlaybackConfig } from "@lichtblick/studio-base/providers/CurrentLayoutProvider/reducers";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { defaultPlaybackConfig } from "@lichtblick/suite-base/providers/CurrentLayoutProvider/reducers";
import { useCallback, useMemo, useRef, useState } from "react";
import panelsReducer from "./reducers";
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/defaultLayout.ts b/packages/suite-base/src/providers/CurrentLayoutProvider/defaultLayout.ts
similarity index 88%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/defaultLayout.ts
rename to packages/suite-base/src/providers/CurrentLayoutProvider/defaultLayout.ts
index d0a2471da5..ce4ec5615f 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/defaultLayout.ts
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/defaultLayout.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { defaultPlaybackConfig } from "@lichtblick/studio-base/providers/CurrentLayoutProvider/reducers";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { defaultPlaybackConfig } from "@lichtblick/suite-base/providers/CurrentLayoutProvider/reducers";
/**
* Overridden default layout that may have been provided when self-hosting via Docker
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/index.test.tsx b/packages/suite-base/src/providers/CurrentLayoutProvider/index.test.tsx
similarity index 94%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/index.test.tsx
rename to packages/suite-base/src/providers/CurrentLayoutProvider/index.test.tsx
index 9a8cd9380a..070b05f141 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/index.test.tsx
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/index.test.tsx
@@ -4,23 +4,23 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { Condvar } from "@lichtblick/den/async";
-import { CurrentLayoutSyncAdapter } from "@lichtblick/studio-base/components/CurrentLayoutSyncAdapter";
+import { CurrentLayoutSyncAdapter } from "@lichtblick/suite-base/components/CurrentLayoutSyncAdapter";
import {
CurrentLayoutActions,
LayoutData,
LayoutState,
useCurrentLayoutActions,
useCurrentLayoutSelector,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import LayoutManagerContext from "@lichtblick/studio-base/context/LayoutManagerContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import LayoutManagerContext from "@lichtblick/suite-base/context/LayoutManagerContext";
import {
UserProfileStorage,
UserProfileStorageContext,
-} from "@lichtblick/studio-base/context/UserProfileStorageContext";
+} from "@lichtblick/suite-base/context/UserProfileStorageContext";
import CurrentLayoutProvider, {
MAX_SUPPORTED_LAYOUT_VERSION,
-} from "@lichtblick/studio-base/providers/CurrentLayoutProvider";
-import { ILayoutManager } from "@lichtblick/studio-base/services/ILayoutManager";
+} from "@lichtblick/suite-base/providers/CurrentLayoutProvider";
+import { ILayoutManager } from "@lichtblick/suite-base/services/ILayoutManager";
import { act, renderHook } from "@testing-library/react";
import { SnackbarProvider } from "notistack";
import { useEffect } from "react";
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/index.tsx b/packages/suite-base/src/providers/CurrentLayoutProvider/index.tsx
similarity index 93%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/index.tsx
rename to packages/suite-base/src/providers/CurrentLayoutProvider/index.tsx
index b8c3cb931d..16968bc967 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/index.tsx
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/index.tsx
@@ -4,13 +4,13 @@
import { useShallowMemo } from "@lichtblick/hooks";
import Logger from "@lichtblick/log";
-import { VariableValue } from "@lichtblick/studio";
-import { useAnalytics } from "@lichtblick/studio-base/context/AnalyticsContext";
+import { VariableValue } from "@lichtblick/suite";
+import { useAnalytics } from "@lichtblick/suite-base/context/AnalyticsContext";
import CurrentLayoutContext, {
ICurrentLayout,
LayoutID,
LayoutState,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext";
import {
AddPanelPayload,
ChangePanelLayoutPayload,
@@ -24,16 +24,16 @@ import {
SplitPanelPayload,
StartDragPayload,
SwapPanelPayload,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { useLayoutManager } from "@lichtblick/studio-base/context/LayoutManagerContext";
-import { useUserProfileStorage } from "@lichtblick/studio-base/context/UserProfileStorageContext";
-import { defaultLayout } from "@lichtblick/studio-base/providers/CurrentLayoutProvider/defaultLayout";
-import panelsReducer from "@lichtblick/studio-base/providers/CurrentLayoutProvider/reducers";
-import { AppEvent } from "@lichtblick/studio-base/services/IAnalytics";
-import { LayoutManagerEventTypes } from "@lichtblick/studio-base/services/ILayoutManager";
-import { PanelConfig, PlaybackConfig, UserScripts } from "@lichtblick/studio-base/types/panels";
-import { windowAppURLState } from "@lichtblick/studio-base/util/appURLState";
-import { getPanelTypeFromId } from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { useLayoutManager } from "@lichtblick/suite-base/context/LayoutManagerContext";
+import { useUserProfileStorage } from "@lichtblick/suite-base/context/UserProfileStorageContext";
+import { defaultLayout } from "@lichtblick/suite-base/providers/CurrentLayoutProvider/defaultLayout";
+import panelsReducer from "@lichtblick/suite-base/providers/CurrentLayoutProvider/reducers";
+import { AppEvent } from "@lichtblick/suite-base/services/IAnalytics";
+import { LayoutManagerEventTypes } from "@lichtblick/suite-base/services/ILayoutManager";
+import { PanelConfig, PlaybackConfig, UserScripts } from "@lichtblick/suite-base/types/panels";
+import { windowAppURLState } from "@lichtblick/suite-base/util/appURLState";
+import { getPanelTypeFromId } from "@lichtblick/suite-base/util/layout";
import * as _ from "lodash-es";
import { useSnackbar } from "notistack";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/reducers.test.tsx b/packages/suite-base/src/providers/CurrentLayoutProvider/reducers.test.tsx
similarity index 99%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/reducers.test.tsx
rename to packages/suite-base/src/providers/CurrentLayoutProvider/reducers.test.tsx
index 9ad46c0186..be74c17d82 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/reducers.test.tsx
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/reducers.test.tsx
@@ -14,11 +14,11 @@
import {
CreateTabPanelPayload,
LayoutData,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { TabPanelConfig } from "@lichtblick/studio-base/types/layouts";
-import { MosaicDropTargetPosition } from "@lichtblick/studio-base/types/panels";
-import { TAB_PANEL_TYPE } from "@lichtblick/studio-base/util/globalConstants";
-import { getPanelTypeFromId } from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { TabPanelConfig } from "@lichtblick/suite-base/types/layouts";
+import { MosaicDropTargetPosition } from "@lichtblick/suite-base/types/panels";
+import { TAB_PANEL_TYPE } from "@lichtblick/suite-base/util/globalConstants";
+import { getPanelTypeFromId } from "@lichtblick/suite-base/util/layout";
import { getLeaves, MosaicNode, MosaicParent } from "react-mosaic-component";
import panelsReducer, { defaultPlaybackConfig } from "./reducers";
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/reducers.ts b/packages/suite-base/src/providers/CurrentLayoutProvider/reducers.ts
similarity index 98%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/reducers.ts
rename to packages/suite-base/src/providers/CurrentLayoutProvider/reducers.ts
index c2245ac734..ed0c0edcc0 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/reducers.ts
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/reducers.ts
@@ -28,10 +28,10 @@ import {
SplitPanelPayload,
StartDragPayload,
SwapPanelPayload,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { TabPanelConfig } from "@lichtblick/studio-base/types/layouts";
-import { MosaicDropTargetPosition, PlaybackConfig } from "@lichtblick/studio-base/types/panels";
-import { TAB_PANEL_TYPE } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { TabPanelConfig } from "@lichtblick/suite-base/types/layouts";
+import { MosaicDropTargetPosition, PlaybackConfig } from "@lichtblick/suite-base/types/panels";
+import { TAB_PANEL_TYPE } from "@lichtblick/suite-base/util/globalConstants";
import {
DEFAULT_TAB_PANEL_CONFIG,
addPanelToTab,
@@ -49,7 +49,7 @@ import {
reorderTabWithinTabPanel,
replaceAndRemovePanels,
updateTabPanelLayout,
-} from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/util/layout";
import * as _ from "lodash-es";
import {
MosaicNode,
diff --git a/packages/studio-base/src/providers/CurrentLayoutProvider/toggleSelectedPanel.ts b/packages/suite-base/src/providers/CurrentLayoutProvider/toggleSelectedPanel.ts
similarity index 91%
rename from packages/studio-base/src/providers/CurrentLayoutProvider/toggleSelectedPanel.ts
rename to packages/suite-base/src/providers/CurrentLayoutProvider/toggleSelectedPanel.ts
index 2db43aab6d..17c30285eb 100644
--- a/packages/studio-base/src/providers/CurrentLayoutProvider/toggleSelectedPanel.ts
+++ b/packages/suite-base/src/providers/CurrentLayoutProvider/toggleSelectedPanel.ts
@@ -11,13 +11,13 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { TabPanelConfig } from "@lichtblick/studio-base/types/layouts";
-import { SavedProps } from "@lichtblick/studio-base/types/panels";
+import { TabPanelConfig } from "@lichtblick/suite-base/types/layouts";
+import { SavedProps } from "@lichtblick/suite-base/types/panels";
import {
getAllPanelIds,
getParentTabPanelByPanelId,
isTabPanel,
-} from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/util/layout";
import * as _ from "lodash-es";
export default function toggleSelectedPanel(
diff --git a/packages/studio-base/src/providers/EventsProvider.tsx b/packages/suite-base/src/providers/EventsProvider.tsx
similarity index 96%
rename from packages/studio-base/src/providers/EventsProvider.tsx
rename to packages/suite-base/src/providers/EventsProvider.tsx
index 8ff06349be..07ea38b21f 100644
--- a/packages/studio-base/src/providers/EventsProvider.tsx
+++ b/packages/suite-base/src/providers/EventsProvider.tsx
@@ -6,7 +6,7 @@ import {
EventsContext,
EventsStore,
TimelinePositionedEvent,
-} from "@lichtblick/studio-base/context/EventsContext";
+} from "@lichtblick/suite-base/context/EventsContext";
import { ReactNode, useState } from "react";
import { AsyncState } from "react-use/lib/useAsyncFn";
import { createStore } from "zustand";
diff --git a/packages/studio-base/src/providers/ExtensionCatalogProvider.test.tsx b/packages/suite-base/src/providers/ExtensionCatalogProvider.test.tsx
similarity index 96%
rename from packages/studio-base/src/providers/ExtensionCatalogProvider.test.tsx
rename to packages/suite-base/src/providers/ExtensionCatalogProvider.test.tsx
index 33bdb807f4..e69a3a5733 100644
--- a/packages/studio-base/src/providers/ExtensionCatalogProvider.test.tsx
+++ b/packages/suite-base/src/providers/ExtensionCatalogProvider.test.tsx
@@ -3,9 +3,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { useExtensionCatalog } from "@lichtblick/studio-base/context/ExtensionCatalogContext";
-import { ExtensionLoader } from "@lichtblick/studio-base/services/ExtensionLoader";
-import { ExtensionInfo } from "@lichtblick/studio-base/types/Extensions";
+import { useExtensionCatalog } from "@lichtblick/suite-base/context/ExtensionCatalogContext";
+import { ExtensionLoader } from "@lichtblick/suite-base/services/ExtensionLoader";
+import { ExtensionInfo } from "@lichtblick/suite-base/types/Extensions";
import { renderHook, waitFor } from "@testing-library/react";
import ExtensionCatalogProvider from "./ExtensionCatalogProvider";
diff --git a/packages/studio-base/src/providers/ExtensionCatalogProvider.tsx b/packages/suite-base/src/providers/ExtensionCatalogProvider.tsx
similarity index 95%
rename from packages/studio-base/src/providers/ExtensionCatalogProvider.tsx
rename to packages/suite-base/src/providers/ExtensionCatalogProvider.tsx
index 9d9b9425d9..93fbc0bc17 100644
--- a/packages/studio-base/src/providers/ExtensionCatalogProvider.tsx
+++ b/packages/suite-base/src/providers/ExtensionCatalogProvider.tsx
@@ -8,15 +8,15 @@ import {
ExtensionModule,
RegisterMessageConverterArgs,
TopicAliasFunction,
-} from "@lichtblick/studio";
+} from "@lichtblick/suite";
import {
ExtensionCatalog,
ExtensionCatalogContext,
RegisteredPanel,
-} from "@lichtblick/studio-base/context/ExtensionCatalogContext";
-import { TopicAliasFunctions } from "@lichtblick/studio-base/players/TopicAliasingPlayer/aliasing";
-import { ExtensionLoader } from "@lichtblick/studio-base/services/ExtensionLoader";
-import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/studio-base/types/Extensions";
+} from "@lichtblick/suite-base/context/ExtensionCatalogContext";
+import { TopicAliasFunctions } from "@lichtblick/suite-base/players/TopicAliasingPlayer/aliasing";
+import { ExtensionLoader } from "@lichtblick/suite-base/services/ExtensionLoader";
+import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/suite-base/types/Extensions";
import React, { PropsWithChildren, useEffect, useState } from "react";
import ReactDOM from "react-dom";
import { StoreApi, createStore } from "zustand";
diff --git a/packages/studio-base/src/providers/ExtensionMarketplaceProvider.tsx b/packages/suite-base/src/providers/ExtensionMarketplaceProvider.tsx
similarity index 94%
rename from packages/studio-base/src/providers/ExtensionMarketplaceProvider.tsx
rename to packages/suite-base/src/providers/ExtensionMarketplaceProvider.tsx
index 1ac74c4e03..3861b11042 100644
--- a/packages/studio-base/src/providers/ExtensionMarketplaceProvider.tsx
+++ b/packages/suite-base/src/providers/ExtensionMarketplaceProvider.tsx
@@ -5,7 +5,7 @@
import { useShallowMemo } from "@lichtblick/hooks";
import ExtensionMarketplaceContext, {
ExtensionMarketplaceDetail,
-} from "@lichtblick/studio-base/context/ExtensionMarketplaceContext";
+} from "@lichtblick/suite-base/context/ExtensionMarketplaceContext";
import { useCallback } from "react";
const MARKETPLACE_URL =
diff --git a/packages/studio-base/src/providers/LayoutManagerProvider.test.tsx b/packages/suite-base/src/providers/LayoutManagerProvider.test.tsx
similarity index 93%
rename from packages/studio-base/src/providers/LayoutManagerProvider.test.tsx
rename to packages/suite-base/src/providers/LayoutManagerProvider.test.tsx
index e1a6b04eb8..8e0c591952 100644
--- a/packages/studio-base/src/providers/LayoutManagerProvider.test.tsx
+++ b/packages/suite-base/src/providers/LayoutManagerProvider.test.tsx
@@ -4,24 +4,24 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useVisibilityState } from "@lichtblick/hooks";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { useLayoutStorage } from "@lichtblick/studio-base/context/LayoutStorageContext";
-import { useRemoteLayoutStorage } from "@lichtblick/studio-base/context/RemoteLayoutStorageContext";
-import LayoutManagerProvider from "@lichtblick/studio-base/providers/LayoutManagerProvider";
-import { LayoutLoader } from "@lichtblick/studio-base/services/ILayoutLoader";
-import MockLayoutManager from "@lichtblick/studio-base/services/LayoutManager/MockLayoutManager";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { useLayoutStorage } from "@lichtblick/suite-base/context/LayoutStorageContext";
+import { useRemoteLayoutStorage } from "@lichtblick/suite-base/context/RemoteLayoutStorageContext";
+import LayoutManagerProvider from "@lichtblick/suite-base/providers/LayoutManagerProvider";
+import { LayoutLoader } from "@lichtblick/suite-base/services/ILayoutLoader";
+import MockLayoutManager from "@lichtblick/suite-base/services/LayoutManager/MockLayoutManager";
import { render, waitFor } from "@testing-library/react";
import { useNetworkState } from "react-use";
// Mock dependencies
jest.mock("react-use");
jest.mock("@lichtblick/hooks");
-jest.mock("@lichtblick/studio-base/context/LayoutStorageContext");
-jest.mock("@lichtblick/studio-base/context/RemoteLayoutStorageContext");
+jest.mock("@lichtblick/suite-base/context/LayoutStorageContext");
+jest.mock("@lichtblick/suite-base/context/RemoteLayoutStorageContext");
const mockLayoutManager = new MockLayoutManager();
-jest.mock("@lichtblick/studio-base/services/LayoutManager/LayoutManager", () =>
+jest.mock("@lichtblick/suite-base/services/LayoutManager/LayoutManager", () =>
jest.fn(() => mockLayoutManager),
);
diff --git a/packages/studio-base/src/providers/LayoutManagerProvider.tsx b/packages/suite-base/src/providers/LayoutManagerProvider.tsx
similarity index 89%
rename from packages/studio-base/src/providers/LayoutManagerProvider.tsx
rename to packages/suite-base/src/providers/LayoutManagerProvider.tsx
index 0d3c15eca2..68c8b7a37a 100644
--- a/packages/studio-base/src/providers/LayoutManagerProvider.tsx
+++ b/packages/suite-base/src/providers/LayoutManagerProvider.tsx
@@ -4,12 +4,12 @@
import { useVisibilityState } from "@lichtblick/hooks";
import Logger from "@lichtblick/log";
-import LayoutManagerContext from "@lichtblick/studio-base/context/LayoutManagerContext";
-import { useLayoutStorage } from "@lichtblick/studio-base/context/LayoutStorageContext";
-import { useRemoteLayoutStorage } from "@lichtblick/studio-base/context/RemoteLayoutStorageContext";
-import { LayoutLoader } from "@lichtblick/studio-base/services/ILayoutLoader";
-import LayoutManager from "@lichtblick/studio-base/services/LayoutManager/LayoutManager";
-import delay from "@lichtblick/studio-base/util/delay";
+import LayoutManagerContext from "@lichtblick/suite-base/context/LayoutManagerContext";
+import { useLayoutStorage } from "@lichtblick/suite-base/context/LayoutStorageContext";
+import { useRemoteLayoutStorage } from "@lichtblick/suite-base/context/RemoteLayoutStorageContext";
+import { LayoutLoader } from "@lichtblick/suite-base/services/ILayoutLoader";
+import LayoutManager from "@lichtblick/suite-base/services/LayoutManager/LayoutManager";
+import delay from "@lichtblick/suite-base/util/delay";
import { useEffect, useMemo } from "react";
import { useNetworkState } from "react-use";
diff --git a/packages/studio-base/src/providers/PanelCatalogProvider.tsx b/packages/suite-base/src/providers/PanelCatalogProvider.tsx
similarity index 85%
rename from packages/studio-base/src/providers/PanelCatalogProvider.tsx
rename to packages/suite-base/src/providers/PanelCatalogProvider.tsx
index 004fc3299d..7b4072727d 100644
--- a/packages/studio-base/src/providers/PanelCatalogProvider.tsx
+++ b/packages/suite-base/src/providers/PanelCatalogProvider.tsx
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import Panel from "@lichtblick/studio-base/components/Panel";
-import { PanelExtensionAdapter } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { useExtensionCatalog } from "@lichtblick/studio-base/context/ExtensionCatalogContext";
+import Panel from "@lichtblick/suite-base/components/Panel";
+import { PanelExtensionAdapter } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { useExtensionCatalog } from "@lichtblick/suite-base/context/ExtensionCatalogContext";
import PanelCatalogContext, {
PanelCatalog,
PanelInfo,
-} from "@lichtblick/studio-base/context/PanelCatalogContext";
-import * as panels from "@lichtblick/studio-base/panels";
-import { SaveConfig } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/context/PanelCatalogContext";
+import * as panels from "@lichtblick/suite-base/panels";
+import { SaveConfig } from "@lichtblick/suite-base/types/panels";
import { PropsWithChildren, useMemo } from "react";
import { useTranslation } from "react-i18next";
diff --git a/packages/studio-base/src/providers/PanelStateContextProvider.tsx b/packages/suite-base/src/providers/PanelStateContextProvider.tsx
similarity index 96%
rename from packages/studio-base/src/providers/PanelStateContextProvider.tsx
rename to packages/suite-base/src/providers/PanelStateContextProvider.tsx
index 9c598b1891..44c1498f23 100644
--- a/packages/studio-base/src/providers/PanelStateContextProvider.tsx
+++ b/packages/suite-base/src/providers/PanelStateContextProvider.tsx
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { usePanelContext } from "@lichtblick/studio-base/components/PanelContext";
+import { usePanelContext } from "@lichtblick/suite-base/components/PanelContext";
import {
ImmutableSettingsTree,
PanelStateContext,
PanelStateStore,
usePanelStateStore,
-} from "@lichtblick/studio-base/context/PanelStateContext";
+} from "@lichtblick/suite-base/context/PanelStateContext";
import { PropsWithChildren, useCallback, useEffect, useState } from "react";
import { StoreApi, createStore } from "zustand";
diff --git a/packages/studio-base/src/providers/ProblemsContextProvider.tsx b/packages/suite-base/src/providers/ProblemsContextProvider.tsx
similarity index 95%
rename from packages/studio-base/src/providers/ProblemsContextProvider.tsx
rename to packages/suite-base/src/providers/ProblemsContextProvider.tsx
index 367936f2fc..7ff3b40b71 100644
--- a/packages/studio-base/src/providers/ProblemsContextProvider.tsx
+++ b/packages/suite-base/src/providers/ProblemsContextProvider.tsx
@@ -6,7 +6,7 @@ import {
ProblemsContext,
ProblemsContextStore,
SessionProblem,
-} from "@lichtblick/studio-base/context/ProblemsContext";
+} from "@lichtblick/suite-base/context/ProblemsContext";
import { Immutable } from "immer";
import { ReactNode, useState } from "react";
import { StoreApi, create } from "zustand";
diff --git a/packages/studio-base/src/providers/StudioLogsSettingsProvider/StudioLogsSettingsProvider.tsx b/packages/suite-base/src/providers/StudioLogsSettingsProvider/StudioLogsSettingsProvider.tsx
similarity index 95%
rename from packages/studio-base/src/providers/StudioLogsSettingsProvider/StudioLogsSettingsProvider.tsx
rename to packages/suite-base/src/providers/StudioLogsSettingsProvider/StudioLogsSettingsProvider.tsx
index 8e190f7b71..6e16943066 100644
--- a/packages/studio-base/src/providers/StudioLogsSettingsProvider/StudioLogsSettingsProvider.tsx
+++ b/packages/suite-base/src/providers/StudioLogsSettingsProvider/StudioLogsSettingsProvider.tsx
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { StudioLogsSettingsContext } from "@lichtblick/studio-base/context/StudioLogsSettingsContext";
+import { StudioLogsSettingsContext } from "@lichtblick/suite-base/context/StudioLogsSettingsContext";
import { PropsWithChildren, useEffect, useRef, useState } from "react";
import { useLocalStorage } from "react-use";
diff --git a/packages/studio-base/src/providers/StudioLogsSettingsProvider/index.ts b/packages/suite-base/src/providers/StudioLogsSettingsProvider/index.ts
similarity index 100%
rename from packages/studio-base/src/providers/StudioLogsSettingsProvider/index.ts
rename to packages/suite-base/src/providers/StudioLogsSettingsProvider/index.ts
diff --git a/packages/studio-base/src/providers/StudioLogsSettingsProvider/store.ts b/packages/suite-base/src/providers/StudioLogsSettingsProvider/store.ts
similarity index 98%
rename from packages/studio-base/src/providers/StudioLogsSettingsProvider/store.ts
rename to packages/suite-base/src/providers/StudioLogsSettingsProvider/store.ts
index 43de15235c..849e9d1343 100644
--- a/packages/studio-base/src/providers/StudioLogsSettingsProvider/store.ts
+++ b/packages/suite-base/src/providers/StudioLogsSettingsProvider/store.ts
@@ -6,7 +6,7 @@ import Log, { Logger, LogLevel, toLogLevel } from "@lichtblick/log";
import {
IStudioLogsSettings,
StudioLogConfigChannel,
-} from "@lichtblick/studio-base/context/StudioLogsSettingsContext";
+} from "@lichtblick/suite-base/context/StudioLogsSettingsContext";
import { createStore, StoreApi } from "zustand";
import { LocalStorageSaveState } from "./types";
diff --git a/packages/studio-base/src/providers/StudioLogsSettingsProvider/types.ts b/packages/suite-base/src/providers/StudioLogsSettingsProvider/types.ts
similarity index 100%
rename from packages/studio-base/src/providers/StudioLogsSettingsProvider/types.ts
rename to packages/suite-base/src/providers/StudioLogsSettingsProvider/types.ts
diff --git a/packages/studio-base/src/providers/TimelineInteractionStateProvider.tsx b/packages/suite-base/src/providers/TimelineInteractionStateProvider.tsx
similarity index 91%
rename from packages/studio-base/src/providers/TimelineInteractionStateProvider.tsx
rename to packages/suite-base/src/providers/TimelineInteractionStateProvider.tsx
index 37cebc4214..4a4b9aea5f 100644
--- a/packages/studio-base/src/providers/TimelineInteractionStateProvider.tsx
+++ b/packages/suite-base/src/providers/TimelineInteractionStateProvider.tsx
@@ -2,13 +2,13 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { TimelinePositionedEvent } from "@lichtblick/studio-base/context/EventsContext";
+import { TimelinePositionedEvent } from "@lichtblick/suite-base/context/EventsContext";
import {
TimelineInteractionStateContext,
TimelineInteractionStateStore,
SyncBounds,
-} from "@lichtblick/studio-base/context/TimelineInteractionStateContext";
-import { HoverValue } from "@lichtblick/studio-base/types/hoverValue";
+} from "@lichtblick/suite-base/context/TimelineInteractionStateContext";
+import { HoverValue } from "@lichtblick/suite-base/types/hoverValue";
import * as _ from "lodash-es";
import { ReactNode, useState } from "react";
import { createStore, StoreApi } from "zustand";
diff --git a/packages/studio-base/src/providers/UserProfileLocalStorageProvider.tsx b/packages/suite-base/src/providers/UserProfileLocalStorageProvider.tsx
similarity index 96%
rename from packages/studio-base/src/providers/UserProfileLocalStorageProvider.tsx
rename to packages/suite-base/src/providers/UserProfileLocalStorageProvider.tsx
index aa69836c00..b92749bd6e 100644
--- a/packages/studio-base/src/providers/UserProfileLocalStorageProvider.tsx
+++ b/packages/suite-base/src/providers/UserProfileLocalStorageProvider.tsx
@@ -6,7 +6,7 @@ import { useShallowMemo } from "@lichtblick/hooks";
import {
UserProfile,
UserProfileStorageContext,
-} from "@lichtblick/studio-base/context/UserProfileStorageContext";
+} from "@lichtblick/suite-base/context/UserProfileStorageContext";
import * as _ from "lodash-es";
import { useCallback, useEffect } from "react";
diff --git a/packages/studio-base/src/providers/WorkspaceContextProvider.tsx b/packages/suite-base/src/providers/WorkspaceContextProvider.tsx
similarity index 94%
rename from packages/studio-base/src/providers/WorkspaceContextProvider.tsx
rename to packages/suite-base/src/providers/WorkspaceContextProvider.tsx
index c53c044064..49a647096c 100644
--- a/packages/studio-base/src/providers/WorkspaceContextProvider.tsx
+++ b/packages/suite-base/src/providers/WorkspaceContextProvider.tsx
@@ -5,8 +5,8 @@
import {
WorkspaceContext,
WorkspaceContextStore,
-} from "@lichtblick/studio-base/context/Workspace/WorkspaceContext";
-import { migrateV0WorkspaceState } from "@lichtblick/studio-base/context/Workspace/migrations";
+} from "@lichtblick/suite-base/context/Workspace/WorkspaceContext";
+import { migrateV0WorkspaceState } from "@lichtblick/suite-base/context/Workspace/migrations";
import * as _ from "lodash-es";
import { ReactNode, useState } from "react";
import { StoreApi, createStore } from "zustand";
diff --git a/packages/studio-base/src/reportError.ts b/packages/suite-base/src/reportError.ts
similarity index 100%
rename from packages/studio-base/src/reportError.ts
rename to packages/suite-base/src/reportError.ts
diff --git a/packages/studio-base/src/screens/LaunchPreference.tsx b/packages/suite-base/src/screens/LaunchPreference.tsx
similarity index 95%
rename from packages/studio-base/src/screens/LaunchPreference.tsx
rename to packages/suite-base/src/screens/LaunchPreference.tsx
index bd49d8cb66..0cd07246e3 100644
--- a/packages/studio-base/src/screens/LaunchPreference.tsx
+++ b/packages/suite-base/src/screens/LaunchPreference.tsx
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useSessionStorageValue } from "@lichtblick/hooks";
-import { LaunchPreferenceValue } from "@lichtblick/studio-base/types/LaunchPreferenceValue";
+import { LaunchPreferenceValue } from "@lichtblick/suite-base/types/LaunchPreferenceValue";
import { PropsWithChildren } from "react";
import { LaunchPreferenceScreen } from "./LaunchPreferenceScreen";
diff --git a/packages/studio-base/src/screens/LaunchPreferenceScreen.stories.tsx b/packages/suite-base/src/screens/LaunchPreferenceScreen.stories.tsx
similarity index 87%
rename from packages/studio-base/src/screens/LaunchPreferenceScreen.stories.tsx
rename to packages/suite-base/src/screens/LaunchPreferenceScreen.stories.tsx
index f2aee90fde..b9a2ef9d72 100644
--- a/packages/studio-base/src/screens/LaunchPreferenceScreen.stories.tsx
+++ b/packages/suite-base/src/screens/LaunchPreferenceScreen.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LaunchPreferenceScreen } from "@lichtblick/studio-base/screens/LaunchPreferenceScreen";
+import { LaunchPreferenceScreen } from "@lichtblick/suite-base/screens/LaunchPreferenceScreen";
import { StoryObj } from "@storybook/react";
import { ReactElement } from "react";
diff --git a/packages/studio-base/src/screens/LaunchPreferenceScreen.tsx b/packages/suite-base/src/screens/LaunchPreferenceScreen.tsx
similarity index 92%
rename from packages/studio-base/src/screens/LaunchPreferenceScreen.tsx
rename to packages/suite-base/src/screens/LaunchPreferenceScreen.tsx
index ef5e514fe7..a999cc44bd 100644
--- a/packages/studio-base/src/screens/LaunchPreferenceScreen.tsx
+++ b/packages/suite-base/src/screens/LaunchPreferenceScreen.tsx
@@ -3,10 +3,10 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useSessionStorageValue } from "@lichtblick/hooks";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { useAppConfigurationValue } from "@lichtblick/studio-base/hooks";
-import { LaunchPreferenceValue } from "@lichtblick/studio-base/types/LaunchPreferenceValue";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { useAppConfigurationValue } from "@lichtblick/suite-base/hooks";
+import { LaunchPreferenceValue } from "@lichtblick/suite-base/types/LaunchPreferenceValue";
import {
Button,
Checkbox,
diff --git a/packages/studio-base/src/screens/LaunchingInDesktopScreen.stories.tsx b/packages/suite-base/src/screens/LaunchingInDesktopScreen.stories.tsx
similarity index 83%
rename from packages/studio-base/src/screens/LaunchingInDesktopScreen.stories.tsx
rename to packages/suite-base/src/screens/LaunchingInDesktopScreen.stories.tsx
index b2406dc8c0..bbb4f35687 100644
--- a/packages/studio-base/src/screens/LaunchingInDesktopScreen.stories.tsx
+++ b/packages/suite-base/src/screens/LaunchingInDesktopScreen.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LaunchingInDesktopScreen } from "@lichtblick/studio-base/screens/LaunchingInDesktopScreen";
+import { LaunchingInDesktopScreen } from "@lichtblick/suite-base/screens/LaunchingInDesktopScreen";
import { StoryObj } from "@storybook/react";
import { ReactElement } from "react";
diff --git a/packages/studio-base/src/screens/LaunchingInDesktopScreen.tsx b/packages/suite-base/src/screens/LaunchingInDesktopScreen.tsx
similarity index 93%
rename from packages/studio-base/src/screens/LaunchingInDesktopScreen.tsx
rename to packages/suite-base/src/screens/LaunchingInDesktopScreen.tsx
index 0d079d57e7..13eaafaad5 100644
--- a/packages/studio-base/src/screens/LaunchingInDesktopScreen.tsx
+++ b/packages/suite-base/src/screens/LaunchingInDesktopScreen.tsx
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { useSessionStorageValue } from "@lichtblick/hooks";
-import { AppSetting } from "@lichtblick/studio-base/AppSetting";
-import Stack from "@lichtblick/studio-base/components/Stack";
-import { LaunchPreferenceValue } from "@lichtblick/studio-base/types/LaunchPreferenceValue";
+import { AppSetting } from "@lichtblick/suite-base/AppSetting";
+import Stack from "@lichtblick/suite-base/components/Stack";
+import { LaunchPreferenceValue } from "@lichtblick/suite-base/types/LaunchPreferenceValue";
import { Link, Typography } from "@mui/material";
import { ReactElement, useEffect } from "react";
diff --git a/packages/studio-base/src/services/ExtensionLoader.ts b/packages/suite-base/src/services/ExtensionLoader.ts
similarity index 96%
rename from packages/studio-base/src/services/ExtensionLoader.ts
rename to packages/suite-base/src/services/ExtensionLoader.ts
index 16eb56031c..5122992a5e 100644
--- a/packages/studio-base/src/services/ExtensionLoader.ts
+++ b/packages/suite-base/src/services/ExtensionLoader.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/studio-base/types/Extensions";
+import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/suite-base/types/Extensions";
/**
* An extension loader is an object used by studio to list, install, and uninstall extensions
diff --git a/packages/studio-base/src/services/IAnalytics.ts b/packages/suite-base/src/services/IAnalytics.ts
similarity index 100%
rename from packages/studio-base/src/services/IAnalytics.ts
rename to packages/suite-base/src/services/IAnalytics.ts
diff --git a/packages/studio-base/src/services/IExtensionStorage.ts b/packages/suite-base/src/services/IExtensionStorage.ts
similarity index 88%
rename from packages/studio-base/src/services/IExtensionStorage.ts
rename to packages/suite-base/src/services/IExtensionStorage.ts
index 12396bf702..8762b2a4eb 100644
--- a/packages/studio-base/src/services/IExtensionStorage.ts
+++ b/packages/suite-base/src/services/IExtensionStorage.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ExtensionInfo } from "@lichtblick/studio-base/types/Extensions";
+import { ExtensionInfo } from "@lichtblick/suite-base/types/Extensions";
export type StoredExtension = {
info: ExtensionInfo;
diff --git a/packages/studio-base/src/services/ILayoutLoader.ts b/packages/suite-base/src/services/ILayoutLoader.ts
similarity index 85%
rename from packages/studio-base/src/services/ILayoutLoader.ts
rename to packages/suite-base/src/services/ILayoutLoader.ts
index 7f26e5a5cc..82ea63ecf1 100644
--- a/packages/studio-base/src/services/ILayoutLoader.ts
+++ b/packages/suite-base/src/services/ILayoutLoader.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutInfo } from "@lichtblick/studio-base/types/layouts";
+import { LayoutInfo } from "@lichtblick/suite-base/types/layouts";
/**
* LayoutLoader is an object used by lichtblick to load local layouts.
diff --git a/packages/studio-base/src/services/ILayoutManager.ts b/packages/suite-base/src/services/ILayoutManager.ts
similarity index 92%
rename from packages/studio-base/src/services/ILayoutManager.ts
rename to packages/suite-base/src/services/ILayoutManager.ts
index aee1582f64..0f7e6f18aa 100644
--- a/packages/studio-base/src/services/ILayoutManager.ts
+++ b/packages/suite-base/src/services/ILayoutManager.ts
@@ -2,9 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { Layout, LayoutPermission } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { Layout, LayoutPermission } from "@lichtblick/suite-base/services/ILayoutStorage";
import EventEmitter from "eventemitter3";
export type LayoutManagerChangeEvent =
diff --git a/packages/studio-base/src/services/ILayoutStorage.ts b/packages/suite-base/src/services/ILayoutStorage.ts
similarity index 94%
rename from packages/studio-base/src/services/ILayoutStorage.ts
rename to packages/suite-base/src/services/ILayoutStorage.ts
index d2cfd8d608..3709abfa58 100644
--- a/packages/studio-base/src/services/ILayoutStorage.ts
+++ b/packages/suite-base/src/services/ILayoutStorage.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
// We use "brand" tags to prevent confusion between string types with distinct meanings
// https://github.com/microsoft/TypeScript/issues/4895
diff --git a/packages/studio-base/src/services/IRemoteLayoutStorage.ts b/packages/suite-base/src/services/IRemoteLayoutStorage.ts
similarity index 82%
rename from packages/studio-base/src/services/IRemoteLayoutStorage.ts
rename to packages/suite-base/src/services/IRemoteLayoutStorage.ts
index 02c900c170..c14a336774 100644
--- a/packages/studio-base/src/services/IRemoteLayoutStorage.ts
+++ b/packages/suite-base/src/services/IRemoteLayoutStorage.ts
@@ -2,12 +2,9 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import {
- ISO8601Timestamp,
- LayoutPermission,
-} from "@lichtblick/studio-base/services/ILayoutStorage";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { ISO8601Timestamp, LayoutPermission } from "@lichtblick/suite-base/services/ILayoutStorage";
/**
* A panel layout stored on a remote server.
diff --git a/packages/studio-base/src/services/IdbExtensionLoader.test.ts b/packages/suite-base/src/services/IdbExtensionLoader.test.ts
similarity index 95%
rename from packages/studio-base/src/services/IdbExtensionLoader.test.ts
rename to packages/suite-base/src/services/IdbExtensionLoader.test.ts
index 95f49dfacb..0e0a8da4da 100644
--- a/packages/studio-base/src/services/IdbExtensionLoader.test.ts
+++ b/packages/suite-base/src/services/IdbExtensionLoader.test.ts
@@ -53,7 +53,7 @@ describe("IdbExtensionLoader", () => {
it("Installs local extensions", async () => {
const foxe = fs.readFileSync(
- `${__dirname}/../test/fixtures/foxglove.studio-extension-turtlesim-0.0.1.foxe`,
+ `${__dirname}/../test/fixtures/lichtblick.suite-extension-turtlesim-0.0.1.foxe`,
);
const expectedInfo = {
@@ -76,7 +76,7 @@ describe("IdbExtensionLoader", () => {
it("Installs private extensions", async () => {
const foxe = fs.readFileSync(
- `${__dirname}/../test/fixtures/foxglove.studio-extension-turtlesim-0.0.1.foxe`,
+ `${__dirname}/../test/fixtures/lichtblick.suite-extension-turtlesim-0.0.1.foxe`,
);
const expectedInfo = {
diff --git a/packages/studio-base/src/services/IdbExtensionLoader.ts b/packages/suite-base/src/services/IdbExtensionLoader.ts
similarity index 94%
rename from packages/studio-base/src/services/IdbExtensionLoader.ts
rename to packages/suite-base/src/services/IdbExtensionLoader.ts
index 347099601d..bf5efde0fd 100644
--- a/packages/studio-base/src/services/IdbExtensionLoader.ts
+++ b/packages/suite-base/src/services/IdbExtensionLoader.ts
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Log from "@lichtblick/log";
-import { ExtensionLoader } from "@lichtblick/studio-base/services/ExtensionLoader";
-import { IExtensionStorage } from "@lichtblick/studio-base/services/IExtensionStorage";
-import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/studio-base/types/Extensions";
+import { ExtensionLoader } from "@lichtblick/suite-base/services/ExtensionLoader";
+import { IExtensionStorage } from "@lichtblick/suite-base/services/IExtensionStorage";
+import { ExtensionInfo, ExtensionNamespace } from "@lichtblick/suite-base/types/Extensions";
import JSZip from "jszip";
import { IdbExtensionStorage } from "./IdbExtensionStorage";
diff --git a/packages/studio-base/src/services/IdbExtensionStorage.ts b/packages/suite-base/src/services/IdbExtensionStorage.ts
similarity index 95%
rename from packages/studio-base/src/services/IdbExtensionStorage.ts
rename to packages/suite-base/src/services/IdbExtensionStorage.ts
index 4b4c22b1bb..9a2edb4eea 100644
--- a/packages/studio-base/src/services/IdbExtensionStorage.ts
+++ b/packages/suite-base/src/services/IdbExtensionStorage.ts
@@ -6,8 +6,8 @@ import Log from "@lichtblick/log";
import {
IExtensionStorage,
StoredExtension,
-} from "@lichtblick/studio-base/services/IExtensionStorage";
-import { ExtensionInfo } from "@lichtblick/studio-base/types/Extensions";
+} from "@lichtblick/suite-base/services/IExtensionStorage";
+import { ExtensionInfo } from "@lichtblick/suite-base/types/Extensions";
import * as IDB from "idb/with-async-ittr";
const log = Log.getLogger(__filename);
diff --git a/packages/studio-base/src/services/LayoutManager/LayoutManager.ts b/packages/suite-base/src/services/LayoutManager/LayoutManager.ts
similarity index 98%
rename from packages/studio-base/src/services/LayoutManager/LayoutManager.ts
rename to packages/suite-base/src/services/LayoutManager/LayoutManager.ts
index 867adf2e05..7a3dc40e83 100644
--- a/packages/studio-base/src/services/LayoutManager/LayoutManager.ts
+++ b/packages/suite-base/src/services/LayoutManager/LayoutManager.ts
@@ -4,13 +4,13 @@
import { MutexLocked } from "@lichtblick/den/async";
import Logger from "@lichtblick/log";
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
import {
ILayoutManager,
LayoutManagerChangeEvent,
LayoutManagerEventTypes,
-} from "@lichtblick/studio-base/services/ILayoutManager";
+} from "@lichtblick/suite-base/services/ILayoutManager";
import {
ILayoutStorage,
ISO8601Timestamp,
@@ -19,11 +19,11 @@ import {
layoutAppearsDeleted,
layoutIsShared,
layoutPermissionIsShared,
-} from "@lichtblick/studio-base/services/ILayoutStorage";
+} from "@lichtblick/suite-base/services/ILayoutStorage";
import {
IRemoteLayoutStorage,
RemoteLayout,
-} from "@lichtblick/studio-base/services/IRemoteLayoutStorage";
+} from "@lichtblick/suite-base/services/IRemoteLayoutStorage";
import EventEmitter from "eventemitter3";
import * as _ from "lodash-es";
import { v4 as uuidv4 } from "uuid";
diff --git a/packages/studio-base/src/services/LayoutManager/MockLayoutManager.ts b/packages/suite-base/src/services/LayoutManager/MockLayoutManager.ts
similarity index 91%
rename from packages/studio-base/src/services/LayoutManager/MockLayoutManager.ts
rename to packages/suite-base/src/services/LayoutManager/MockLayoutManager.ts
index 10de0a0581..3b2c8d2f9f 100644
--- a/packages/studio-base/src/services/LayoutManager/MockLayoutManager.ts
+++ b/packages/suite-base/src/services/LayoutManager/MockLayoutManager.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ILayoutManager } from "@lichtblick/studio-base/services/ILayoutManager";
+import { ILayoutManager } from "@lichtblick/suite-base/services/ILayoutManager";
export default class MockLayoutManager implements ILayoutManager {
public supportsSharing = false;
diff --git a/packages/studio-base/src/services/LayoutManager/NamespacedLayoutStorage.ts b/packages/suite-base/src/services/LayoutManager/NamespacedLayoutStorage.ts
similarity index 91%
rename from packages/studio-base/src/services/LayoutManager/NamespacedLayoutStorage.ts
rename to packages/suite-base/src/services/LayoutManager/NamespacedLayoutStorage.ts
index 4a4fd7388e..567de75ba7 100644
--- a/packages/studio-base/src/services/LayoutManager/NamespacedLayoutStorage.ts
+++ b/packages/suite-base/src/services/LayoutManager/NamespacedLayoutStorage.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { ILayoutStorage, Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { ILayoutStorage, Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
const log = Logger.getLogger(__filename);
diff --git a/packages/studio-base/src/services/LayoutManager/WriteThroughLayoutCache.ts b/packages/suite-base/src/services/LayoutManager/WriteThroughLayoutCache.ts
similarity index 93%
rename from packages/studio-base/src/services/LayoutManager/WriteThroughLayoutCache.ts
rename to packages/suite-base/src/services/LayoutManager/WriteThroughLayoutCache.ts
index 52f1c02c25..6bc26c2c12 100644
--- a/packages/studio-base/src/services/LayoutManager/WriteThroughLayoutCache.ts
+++ b/packages/suite-base/src/services/LayoutManager/WriteThroughLayoutCache.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { LazilyInitialized } from "@lichtblick/den/async";
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { ILayoutStorage, Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { ILayoutStorage, Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
/**
* A view of ILayoutCache which only calls the underlying list() once per namespace, and implements
diff --git a/packages/studio-base/src/services/LayoutManager/compareLayouts.test.ts b/packages/suite-base/src/services/LayoutManager/compareLayouts.test.ts
similarity index 100%
rename from packages/studio-base/src/services/LayoutManager/compareLayouts.test.ts
rename to packages/suite-base/src/services/LayoutManager/compareLayouts.test.ts
diff --git a/packages/studio-base/src/services/LayoutManager/compareLayouts.ts b/packages/suite-base/src/services/LayoutManager/compareLayouts.ts
similarity index 93%
rename from packages/studio-base/src/services/LayoutManager/compareLayouts.ts
rename to packages/suite-base/src/services/LayoutManager/compareLayouts.ts
index 9a10961c62..28cfe77878 100644
--- a/packages/studio-base/src/services/LayoutManager/compareLayouts.ts
+++ b/packages/suite-base/src/services/LayoutManager/compareLayouts.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
import { diff } from "just-diff";
/**
diff --git a/packages/studio-base/src/services/LayoutManager/computeLayoutSyncOperations.ts b/packages/suite-base/src/services/LayoutManager/computeLayoutSyncOperations.ts
similarity index 96%
rename from packages/studio-base/src/services/LayoutManager/computeLayoutSyncOperations.ts
rename to packages/suite-base/src/services/LayoutManager/computeLayoutSyncOperations.ts
index 83af6bdadc..2c7a756ced 100644
--- a/packages/studio-base/src/services/LayoutManager/computeLayoutSyncOperations.ts
+++ b/packages/suite-base/src/services/LayoutManager/computeLayoutSyncOperations.ts
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { Layout, layoutIsShared } from "@lichtblick/studio-base/services/ILayoutStorage";
-import { RemoteLayout } from "@lichtblick/studio-base/services/IRemoteLayoutStorage";
+import { Layout, layoutIsShared } from "@lichtblick/suite-base/services/ILayoutStorage";
+import { RemoteLayout } from "@lichtblick/suite-base/services/IRemoteLayoutStorage";
const log = Logger.getLogger(__filename);
diff --git a/packages/studio-base/src/services/MockLayoutStorage.ts b/packages/suite-base/src/services/MockLayoutStorage.ts
similarity index 93%
rename from packages/studio-base/src/services/MockLayoutStorage.ts
rename to packages/suite-base/src/services/MockLayoutStorage.ts
index 37dfe5211e..36d65bf85b 100644
--- a/packages/studio-base/src/services/MockLayoutStorage.ts
+++ b/packages/suite-base/src/services/MockLayoutStorage.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { ILayoutStorage, Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { ILayoutStorage, Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
// ts-prune-ignore-next
export default class MockLayoutStorage implements ILayoutStorage {
diff --git a/packages/studio-base/src/services/NullAnalytics.ts b/packages/suite-base/src/services/NullAnalytics.ts
similarity index 81%
rename from packages/studio-base/src/services/NullAnalytics.ts
rename to packages/suite-base/src/services/NullAnalytics.ts
index f9f367ddc6..2fe5a4e0c1 100644
--- a/packages/studio-base/src/services/NullAnalytics.ts
+++ b/packages/suite-base/src/services/NullAnalytics.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import IAnalytics from "@lichtblick/studio-base/services/IAnalytics";
+import IAnalytics from "@lichtblick/suite-base/services/IAnalytics";
export default class NullAnalytics implements IAnalytics {
public logEvent(): void | Promise {}
diff --git a/packages/studio-base/src/services/messagePathDragging/MessagePathSelectionProvider.tsx b/packages/suite-base/src/services/messagePathDragging/MessagePathSelectionProvider.tsx
similarity index 91%
rename from packages/studio-base/src/services/messagePathDragging/MessagePathSelectionProvider.tsx
rename to packages/suite-base/src/services/messagePathDragging/MessagePathSelectionProvider.tsx
index 04df5c44c7..01645f9dc7 100644
--- a/packages/studio-base/src/services/messagePathDragging/MessagePathSelectionProvider.tsx
+++ b/packages/suite-base/src/services/messagePathDragging/MessagePathSelectionProvider.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
import { createContext, useMemo } from "react";
type MessagePathSelectionContext = {
diff --git a/packages/studio-base/src/services/messagePathDragging/index.ts b/packages/suite-base/src/services/messagePathDragging/index.ts
similarity index 98%
rename from packages/studio-base/src/services/messagePathDragging/index.ts
rename to packages/suite-base/src/services/messagePathDragging/index.ts
index d4655799a3..42f510f162 100644
--- a/packages/studio-base/src/services/messagePathDragging/index.ts
+++ b/packages/suite-base/src/services/messagePathDragging/index.ts
@@ -7,8 +7,8 @@ import {
DraggedMessagePath,
MessagePathDropConfig,
MessagePathDropStatus,
-} from "@lichtblick/studio-base/components/PanelExtensionAdapter";
-import { MessagePathSelectionContextInternal } from "@lichtblick/studio-base/services/messagePathDragging/MessagePathSelectionProvider";
+} from "@lichtblick/suite-base/components/PanelExtensionAdapter";
+import { MessagePathSelectionContextInternal } from "@lichtblick/suite-base/services/messagePathDragging/MessagePathSelectionProvider";
import { CSSProperties, useCallback, useContext, useLayoutEffect, useRef, useState } from "react";
import {
ConnectDragPreview,
diff --git a/packages/studio-base/src/services/messagePathDragging/types.ts b/packages/suite-base/src/services/messagePathDragging/types.ts
similarity index 85%
rename from packages/studio-base/src/services/messagePathDragging/types.ts
rename to packages/suite-base/src/services/messagePathDragging/types.ts
index 84b4893eaa..a12e95c89e 100644
--- a/packages/studio-base/src/services/messagePathDragging/types.ts
+++ b/packages/suite-base/src/services/messagePathDragging/types.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { DraggedMessagePath } from "@lichtblick/studio-base/components/PanelExtensionAdapter";
+import { DraggedMessagePath } from "@lichtblick/suite-base/components/PanelExtensionAdapter";
export type MessagePathDragParams = {
/**
diff --git a/packages/studio-base/src/services/migrateLayout.ts b/packages/suite-base/src/services/migrateLayout.ts
similarity index 92%
rename from packages/studio-base/src/services/migrateLayout.ts
rename to packages/suite-base/src/services/migrateLayout.ts
index 03989dd1be..edba1866d7 100644
--- a/packages/studio-base/src/services/migrateLayout.ts
+++ b/packages/suite-base/src/services/migrateLayout.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { ISO8601Timestamp, Layout } from "@lichtblick/studio-base/services/ILayoutStorage";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { ISO8601Timestamp, Layout } from "@lichtblick/suite-base/services/ILayoutStorage";
import { MarkOptional } from "ts-essentials";
import { migrateLegacyToNew3DPanels } from "./migrateLayout/migrateLegacyToNew3DPanels";
diff --git a/packages/studio-base/src/services/migrateLayout/index.ts b/packages/suite-base/src/services/migrateLayout/index.ts
similarity index 100%
rename from packages/studio-base/src/services/migrateLayout/index.ts
rename to packages/suite-base/src/services/migrateLayout/index.ts
diff --git a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.test.ts b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.test.ts
similarity index 98%
rename from packages/studio-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.test.ts
rename to packages/suite-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.test.ts
index 564ae711e1..42c08c808f 100644
--- a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.test.ts
+++ b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.test.ts
@@ -5,8 +5,8 @@
import { migrateLegacyToNew3DPanels } from "./migrateLegacyToNew3DPanels";
let MOCK_ID = 0;
-jest.mock("@lichtblick/studio-base/util/layout", () => ({
- ...jest.requireActual("@lichtblick/studio-base/util/layout"),
+jest.mock("@lichtblick/suite-base/util/layout", () => ({
+ ...jest.requireActual("@lichtblick/suite-base/util/layout"),
getPanelIdForType(type: string) {
return `${type}!${++MOCK_ID}`;
},
diff --git a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.ts b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.ts
similarity index 92%
rename from packages/studio-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.ts
rename to packages/suite-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.ts
index fed567daa8..238d80a39e 100644
--- a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.ts
+++ b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNew3DPanels.ts
@@ -3,14 +3,14 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import type { RendererConfig } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { DEFAULT_CAMERA_STATE } from "@lichtblick/studio-base/panels/ThreeDeeRender/camera";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import type { RendererConfig } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { DEFAULT_CAMERA_STATE } from "@lichtblick/suite-base/panels/ThreeDeeRender/camera";
import {
getAllPanelIds,
getPanelIdForType,
getPanelTypeFromId,
-} from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/util/layout";
import * as _ from "lodash-es";
import { replacePanel } from "./replacePanel";
diff --git a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.test.ts b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.test.ts
similarity index 98%
rename from packages/studio-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.test.ts
rename to packages/suite-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.test.ts
index 2385afe633..3613fd32fc 100644
--- a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.test.ts
+++ b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.test.ts
@@ -5,8 +5,8 @@
import { migrateLegacyToNewImagePanels } from "./migrateLegacyToNewImagePanels";
let MOCK_ID = 0;
-jest.mock("@lichtblick/studio-base/util/layout", () => ({
- ...jest.requireActual("@lichtblick/studio-base/util/layout"),
+jest.mock("@lichtblick/suite-base/util/layout", () => ({
+ ...jest.requireActual("@lichtblick/suite-base/util/layout"),
getPanelIdForType(type: string) {
return `${type}!${++MOCK_ID}`;
},
diff --git a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.ts b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.ts
similarity index 84%
rename from packages/studio-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.ts
rename to packages/suite-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.ts
index a5e76a2a9c..9b159007f5 100644
--- a/packages/studio-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.ts
+++ b/packages/suite-base/src/services/migrateLayout/migrateLegacyToNewImagePanels.ts
@@ -2,15 +2,15 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import type { RendererConfig } from "@lichtblick/studio-base/panels/ThreeDeeRender/IRenderer";
-import { DEFAULT_CAMERA_STATE } from "@lichtblick/studio-base/panels/ThreeDeeRender/camera";
-import { DEFAULT_PUBLISH_SETTINGS } from "@lichtblick/studio-base/panels/ThreeDeeRender/renderables/PublishSettings";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import type { RendererConfig } from "@lichtblick/suite-base/panels/ThreeDeeRender/IRenderer";
+import { DEFAULT_CAMERA_STATE } from "@lichtblick/suite-base/panels/ThreeDeeRender/camera";
+import { DEFAULT_PUBLISH_SETTINGS } from "@lichtblick/suite-base/panels/ThreeDeeRender/renderables/PublishSettings";
import {
getAllPanelIds,
getPanelIdForType,
getPanelTypeFromId,
-} from "@lichtblick/studio-base/util/layout";
+} from "@lichtblick/suite-base/util/layout";
import { replacePanel } from "./replacePanel";
diff --git a/packages/studio-base/src/services/migrateLayout/migratePanelsState.ts b/packages/suite-base/src/services/migrateLayout/migratePanelsState.ts
similarity index 89%
rename from packages/studio-base/src/services/migrateLayout/migratePanelsState.ts
rename to packages/suite-base/src/services/migrateLayout/migratePanelsState.ts
index fcadfff6e2..0dd7782529 100644
--- a/packages/studio-base/src/services/migrateLayout/migratePanelsState.ts
+++ b/packages/suite-base/src/services/migrateLayout/migratePanelsState.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
import { MarkOptional } from "ts-essentials";
import { migrateLegacyToNew3DPanels } from "./migrateLegacyToNew3DPanels";
diff --git a/packages/studio-base/src/services/migrateLayout/replacePanel.ts b/packages/suite-base/src/services/migrateLayout/replacePanel.ts
similarity index 90%
rename from packages/studio-base/src/services/migrateLayout/replacePanel.ts
rename to packages/suite-base/src/services/migrateLayout/replacePanel.ts
index ee2bf0e5df..485f4d12b0 100644
--- a/packages/studio-base/src/services/migrateLayout/replacePanel.ts
+++ b/packages/suite-base/src/services/migrateLayout/replacePanel.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { isTabPanel, isTabPanelConfig } from "@lichtblick/studio-base/util/layout";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { isTabPanel, isTabPanelConfig } from "@lichtblick/suite-base/util/layout";
import { MosaicNode } from "react-mosaic-component";
function replacePanelInLayout(
diff --git a/packages/studio-base/src/stories/PanelSetup.tsx b/packages/suite-base/src/stories/PanelSetup.tsx
similarity index 85%
rename from packages/studio-base/src/stories/PanelSetup.tsx
rename to packages/suite-base/src/stories/PanelSetup.tsx
index 52b61cae65..e9bb2c415a 100644
--- a/packages/studio-base/src/stories/PanelSetup.tsx
+++ b/packages/suite-base/src/stories/PanelSetup.tsx
@@ -17,42 +17,42 @@ import {
ParameterValue,
RegisterMessageConverterArgs,
SettingsTree,
-} from "@lichtblick/studio";
-import MockMessagePipelineProvider from "@lichtblick/studio-base/components/MessagePipeline/MockMessagePipelineProvider";
-import SettingsTreeEditor from "@lichtblick/studio-base/components/SettingsTreeEditor";
-import AppConfigurationContext from "@lichtblick/studio-base/context/AppConfigurationContext";
-import { useCurrentLayoutActions } from "@lichtblick/studio-base/context/CurrentLayoutContext";
-import { PanelsActions } from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
+} from "@lichtblick/suite";
+import MockMessagePipelineProvider from "@lichtblick/suite-base/components/MessagePipeline/MockMessagePipelineProvider";
+import SettingsTreeEditor from "@lichtblick/suite-base/components/SettingsTreeEditor";
+import AppConfigurationContext from "@lichtblick/suite-base/context/AppConfigurationContext";
+import { useCurrentLayoutActions } from "@lichtblick/suite-base/context/CurrentLayoutContext";
+import { PanelsActions } from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
import PanelCatalogContext, {
PanelCatalog,
-} from "@lichtblick/studio-base/context/PanelCatalogContext";
+} from "@lichtblick/suite-base/context/PanelCatalogContext";
import {
PanelStateStore,
usePanelStateStore,
-} from "@lichtblick/studio-base/context/PanelStateContext";
+} from "@lichtblick/suite-base/context/PanelStateContext";
import {
UserScriptStateProvider,
UserScriptStore,
useUserScriptState,
-} from "@lichtblick/studio-base/context/UserScriptStateContext";
-import { GlobalVariables } from "@lichtblick/studio-base/hooks/useGlobalVariables";
-import * as panels from "@lichtblick/studio-base/panels";
-import { Diagnostic, UserScriptLog } from "@lichtblick/studio-base/players/UserScriptPlayer/types";
+} from "@lichtblick/suite-base/context/UserScriptStateContext";
+import { GlobalVariables } from "@lichtblick/suite-base/hooks/useGlobalVariables";
+import * as panels from "@lichtblick/suite-base/panels";
+import { Diagnostic, UserScriptLog } from "@lichtblick/suite-base/players/UserScriptPlayer/types";
import {
AdvertiseOptions,
PlayerStateActiveData,
Progress,
PublishPayload,
Topic,
-} from "@lichtblick/studio-base/players/types";
-import MockCurrentLayoutProvider from "@lichtblick/studio-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
-import ExtensionCatalogProvider from "@lichtblick/studio-base/providers/ExtensionCatalogProvider";
-import { PanelStateContextProvider } from "@lichtblick/studio-base/providers/PanelStateContextProvider";
-import TimelineInteractionStateProvider from "@lichtblick/studio-base/providers/TimelineInteractionStateProvider";
-import WorkspaceContextProvider from "@lichtblick/studio-base/providers/WorkspaceContextProvider";
-import ThemeProvider from "@lichtblick/studio-base/theme/ThemeProvider";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
-import { SavedProps, UserScripts } from "@lichtblick/studio-base/types/panels";
+} from "@lichtblick/suite-base/players/types";
+import MockCurrentLayoutProvider from "@lichtblick/suite-base/providers/CurrentLayoutProvider/MockCurrentLayoutProvider";
+import ExtensionCatalogProvider from "@lichtblick/suite-base/providers/ExtensionCatalogProvider";
+import { PanelStateContextProvider } from "@lichtblick/suite-base/providers/PanelStateContextProvider";
+import TimelineInteractionStateProvider from "@lichtblick/suite-base/providers/TimelineInteractionStateProvider";
+import WorkspaceContextProvider from "@lichtblick/suite-base/providers/WorkspaceContextProvider";
+import ThemeProvider from "@lichtblick/suite-base/theme/ThemeProvider";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
+import { SavedProps, UserScripts } from "@lichtblick/suite-base/types/panels";
import { useTheme } from "@mui/material";
import { TFunction } from "i18next";
import * as _ from "lodash-es";
diff --git a/packages/studio-base/src/stories/ReadySignalContext.ts b/packages/suite-base/src/stories/ReadySignalContext.ts
similarity index 100%
rename from packages/studio-base/src/stories/ReadySignalContext.ts
rename to packages/suite-base/src/stories/ReadySignalContext.ts
diff --git a/packages/studio-base/src/stories/inScreenshotTests.stories.tsx b/packages/suite-base/src/stories/inScreenshotTests.stories.tsx
similarity index 88%
rename from packages/studio-base/src/stories/inScreenshotTests.stories.tsx
rename to packages/suite-base/src/stories/inScreenshotTests.stories.tsx
index fa55443bfe..a2036e4b34 100644
--- a/packages/studio-base/src/stories/inScreenshotTests.stories.tsx
+++ b/packages/suite-base/src/stories/inScreenshotTests.stories.tsx
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import inScreenshotTests from "@lichtblick/studio-base/stories/inScreenshotTests";
+import inScreenshotTests from "@lichtblick/suite-base/stories/inScreenshotTests";
import { StoryObj } from "@storybook/react";
export default {
diff --git a/packages/studio-base/src/stories/inScreenshotTests.ts b/packages/suite-base/src/stories/inScreenshotTests.ts
similarity index 100%
rename from packages/studio-base/src/stories/inScreenshotTests.ts
rename to packages/suite-base/src/stories/inScreenshotTests.ts
diff --git a/packages/studio-base/src/stories/storyHelpers.tsx b/packages/suite-base/src/stories/storyHelpers.tsx
similarity index 100%
rename from packages/studio-base/src/stories/storyHelpers.tsx
rename to packages/suite-base/src/stories/storyHelpers.tsx
diff --git a/packages/studio-base/src/styles/assets/Inter-Italic.woff2 b/packages/suite-base/src/styles/assets/Inter-Italic.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/Inter-Italic.woff2
rename to packages/suite-base/src/styles/assets/Inter-Italic.woff2
diff --git a/packages/studio-base/src/styles/assets/Inter-Medium.woff2 b/packages/suite-base/src/styles/assets/Inter-Medium.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/Inter-Medium.woff2
rename to packages/suite-base/src/styles/assets/Inter-Medium.woff2
diff --git a/packages/studio-base/src/styles/assets/Inter-MediumItalic.woff2 b/packages/suite-base/src/styles/assets/Inter-MediumItalic.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/Inter-MediumItalic.woff2
rename to packages/suite-base/src/styles/assets/Inter-MediumItalic.woff2
diff --git a/packages/studio-base/src/styles/assets/Inter-Regular.woff2 b/packages/suite-base/src/styles/assets/Inter-Regular.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/Inter-Regular.woff2
rename to packages/suite-base/src/styles/assets/Inter-Regular.woff2
diff --git a/packages/studio-base/src/styles/assets/Inter-SemiBold.woff2 b/packages/suite-base/src/styles/assets/Inter-SemiBold.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/Inter-SemiBold.woff2
rename to packages/suite-base/src/styles/assets/Inter-SemiBold.woff2
diff --git a/packages/studio-base/src/styles/assets/Inter-SemiBoldItalic.woff2 b/packages/suite-base/src/styles/assets/Inter-SemiBoldItalic.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/Inter-SemiBoldItalic.woff2
rename to packages/suite-base/src/styles/assets/Inter-SemiBoldItalic.woff2
diff --git a/packages/studio-base/src/styles/assets/PlexMono-Bold.woff2 b/packages/suite-base/src/styles/assets/PlexMono-Bold.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/PlexMono-Bold.woff2
rename to packages/suite-base/src/styles/assets/PlexMono-Bold.woff2
diff --git a/packages/studio-base/src/styles/assets/PlexMono-BoldItalic.woff2 b/packages/suite-base/src/styles/assets/PlexMono-BoldItalic.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/PlexMono-BoldItalic.woff2
rename to packages/suite-base/src/styles/assets/PlexMono-BoldItalic.woff2
diff --git a/packages/studio-base/src/styles/assets/PlexMono-Italic.woff2 b/packages/suite-base/src/styles/assets/PlexMono-Italic.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/PlexMono-Italic.woff2
rename to packages/suite-base/src/styles/assets/PlexMono-Italic.woff2
diff --git a/packages/studio-base/src/styles/assets/PlexMono.woff2 b/packages/suite-base/src/styles/assets/PlexMono.woff2
similarity index 100%
rename from packages/studio-base/src/styles/assets/PlexMono.woff2
rename to packages/suite-base/src/styles/assets/PlexMono.woff2
diff --git a/packages/studio-base/src/styles/assets/inter.css b/packages/suite-base/src/styles/assets/inter.css
similarity index 77%
rename from packages/studio-base/src/styles/assets/inter.css
rename to packages/suite-base/src/styles/assets/inter.css
index fc240ea062..3f25c5ecd4 100644
--- a/packages/studio-base/src/styles/assets/inter.css
+++ b/packages/suite-base/src/styles/assets/inter.css
@@ -2,7 +2,7 @@
font-family: "Inter";
font-style: italic;
font-weight: 400;
- src: url("@lichtblick/studio-base/styles/assets/Inter-Italic.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/Inter-Italic.woff2") format("woff2");
/* latin */
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
@@ -11,7 +11,7 @@
font-family: "Inter";
font-style: italic;
font-weight: 500;
- src: url("@lichtblick/studio-base/styles/assets/Inter-MediumItalic.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/Inter-MediumItalic.woff2") format("woff2");
/* latin */
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
@@ -20,7 +20,7 @@
font-family: "Inter";
font-style: italic;
font-weight: 600;
- src: url("@lichtblick/studio-base/styles/assets/Inter-SemiBoldItalic.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/Inter-SemiBoldItalic.woff2") format("woff2");
/* latin */
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
@@ -30,7 +30,7 @@
font-family: "Inter";
font-style: normal;
font-weight: 400;
- src: url("@lichtblick/studio-base/styles/assets/Inter-Regular.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/Inter-Regular.woff2") format("woff2");
/* latin */
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
@@ -39,7 +39,7 @@
font-family: "Inter";
font-style: normal;
font-weight: 500;
- src: url("@lichtblick/studio-base/styles/assets/Inter-Medium.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/Inter-Medium.woff2") format("woff2");
/* latin */
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
@@ -48,7 +48,7 @@
font-family: "Inter";
font-style: normal;
font-weight: 600;
- src: url("@lichtblick/studio-base/styles/assets/Inter-SemiBold.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/Inter-SemiBold.woff2") format("woff2");
/* latin */
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
diff --git a/packages/studio-base/src/styles/assets/plex-mono.css b/packages/suite-base/src/styles/assets/plex-mono.css
similarity index 76%
rename from packages/studio-base/src/styles/assets/plex-mono.css
rename to packages/suite-base/src/styles/assets/plex-mono.css
index d282434d3a..ef75e6ce03 100644
--- a/packages/studio-base/src/styles/assets/plex-mono.css
+++ b/packages/suite-base/src/styles/assets/plex-mono.css
@@ -4,7 +4,7 @@
font-style: italic;
font-weight: 400;
font-display: swap;
- src: url("@lichtblick/studio-base/styles/assets/PlexMono-Italic.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/PlexMono-Italic.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@@ -14,7 +14,7 @@
font-style: italic;
font-weight: 600;
font-display: swap;
- src: url("@lichtblick/studio-base/styles/assets/PlexMono-BoldItalic.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/PlexMono-BoldItalic.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@@ -24,7 +24,7 @@
font-style: normal;
font-weight: 400;
font-display: swap;
- src: url("@lichtblick/studio-base/styles/assets/PlexMono.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/PlexMono.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@@ -34,7 +34,7 @@
font-style: normal;
font-weight: 600;
font-display: swap;
- src: url("@lichtblick/studio-base/styles/assets/PlexMono-Bold.woff2") format("woff2");
+ src: url("@lichtblick/suite-base/styles/assets/PlexMono-Bold.woff2") format("woff2");
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F,
U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
diff --git a/packages/studio-base/src/test/MemoryStorage.ts b/packages/suite-base/src/test/MemoryStorage.ts
similarity index 100%
rename from packages/studio-base/src/test/MemoryStorage.ts
rename to packages/suite-base/src/test/MemoryStorage.ts
diff --git a/packages/studio-base/src/test/MockSendNotification.ts b/packages/suite-base/src/test/MockSendNotification.ts
similarity index 97%
rename from packages/studio-base/src/test/MockSendNotification.ts
rename to packages/suite-base/src/test/MockSendNotification.ts
index 4e557a24cc..e9fc0f0475 100644
--- a/packages/studio-base/src/test/MockSendNotification.ts
+++ b/packages/suite-base/src/test/MockSendNotification.ts
@@ -19,7 +19,7 @@ import type {
NotificationHandler,
NotificationSeverity,
NotificationType,
-} from "@lichtblick/studio-base/util/sendNotification";
+} from "@lichtblick/suite-base/util/sendNotification";
let currentHandler: NotificationHandler | undefined = undefined;
diff --git a/packages/studio-base/src/test/fixtures/demo-shuffled.bag b/packages/suite-base/src/test/fixtures/demo-shuffled.bag
similarity index 100%
rename from packages/studio-base/src/test/fixtures/demo-shuffled.bag
rename to packages/suite-base/src/test/fixtures/demo-shuffled.bag
diff --git a/packages/studio-base/src/test/fixtures/example-bz2.bag b/packages/suite-base/src/test/fixtures/example-bz2.bag
similarity index 100%
rename from packages/studio-base/src/test/fixtures/example-bz2.bag
rename to packages/suite-base/src/test/fixtures/example-bz2.bag
diff --git a/packages/studio-base/src/test/fixtures/example.bag b/packages/suite-base/src/test/fixtures/example.bag
similarity index 100%
rename from packages/studio-base/src/test/fixtures/example.bag
rename to packages/suite-base/src/test/fixtures/example.bag
diff --git a/packages/studio-base/src/test/fixtures/foxglove.studio-extension-turtlesim-0.0.1.foxe b/packages/suite-base/src/test/fixtures/lichtblick.suite-extension-turtlesim-0.0.1.foxe
similarity index 100%
rename from packages/studio-base/src/test/fixtures/foxglove.studio-extension-turtlesim-0.0.1.foxe
rename to packages/suite-base/src/test/fixtures/lichtblick.suite-extension-turtlesim-0.0.1.foxe
diff --git a/packages/studio-base/src/test/fixtures/prefixed-name-extension.foxe b/packages/suite-base/src/test/fixtures/prefixed-name-extension.foxe
similarity index 100%
rename from packages/studio-base/src/test/fixtures/prefixed-name-extension.foxe
rename to packages/suite-base/src/test/fixtures/prefixed-name-extension.foxe
diff --git a/packages/studio-base/src/test/mocks/MockCss.ts b/packages/suite-base/src/test/mocks/MockCss.ts
similarity index 100%
rename from packages/studio-base/src/test/mocks/MockCss.ts
rename to packages/suite-base/src/test/mocks/MockCss.ts
diff --git a/packages/studio-base/src/test/mocks/MockSvg.tsx b/packages/suite-base/src/test/mocks/MockSvg.tsx
similarity index 100%
rename from packages/studio-base/src/test/mocks/MockSvg.tsx
rename to packages/suite-base/src/test/mocks/MockSvg.tsx
diff --git a/packages/studio-base/src/test/mocks/fileMock.ts b/packages/suite-base/src/test/mocks/fileMock.ts
similarity index 100%
rename from packages/studio-base/src/test/mocks/fileMock.ts
rename to packages/suite-base/src/test/mocks/fileMock.ts
diff --git a/packages/studio-base/src/test/mocks/makeMockEvents.ts b/packages/suite-base/src/test/mocks/makeMockEvents.ts
similarity index 93%
rename from packages/studio-base/src/test/mocks/makeMockEvents.ts
rename to packages/suite-base/src/test/mocks/makeMockEvents.ts
index ab98e7070e..95b5cb68e2 100644
--- a/packages/studio-base/src/test/mocks/makeMockEvents.ts
+++ b/packages/suite-base/src/test/mocks/makeMockEvents.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { TimelinePositionedEvent } from "@lichtblick/studio-base/context/EventsContext";
+import { TimelinePositionedEvent } from "@lichtblick/suite-base/context/EventsContext";
import * as _ from "lodash-es";
import { add, toNanoSec, toSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/test/mocks/mockMessage.ts b/packages/suite-base/src/test/mocks/mockMessage.ts
similarity index 92%
rename from packages/studio-base/src/test/mocks/mockMessage.ts
rename to packages/suite-base/src/test/mocks/mockMessage.ts
index 6be827a527..b311468f47 100644
--- a/packages/studio-base/src/test/mocks/mockMessage.ts
+++ b/packages/suite-base/src/test/mocks/mockMessage.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
/**
* Helper function for generating mock messages for tests and stories.
diff --git a/packages/studio-base/src/test/mocks/mockTopicSelection.ts b/packages/suite-base/src/test/mocks/mockTopicSelection.ts
similarity index 82%
rename from packages/studio-base/src/test/mocks/mockTopicSelection.ts
rename to packages/suite-base/src/test/mocks/mockTopicSelection.ts
index f464aa0aed..abe06be49b 100644
--- a/packages/studio-base/src/test/mocks/mockTopicSelection.ts
+++ b/packages/suite-base/src/test/mocks/mockTopicSelection.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { TopicSelection } from "@lichtblick/studio-base/players/types";
+import { TopicSelection } from "@lichtblick/suite-base/players/types";
export function mockTopicSelection(...topics: readonly string[]): TopicSelection {
return new Map(topics.map((topic) => [topic, { topic }]));
diff --git a/packages/studio-base/src/test/mouseEventsHelper.ts b/packages/suite-base/src/test/mouseEventsHelper.ts
similarity index 100%
rename from packages/studio-base/src/test/mouseEventsHelper.ts
rename to packages/suite-base/src/test/mouseEventsHelper.ts
diff --git a/packages/studio-base/src/test/permutations.test.ts b/packages/suite-base/src/test/permutations.test.ts
similarity index 100%
rename from packages/studio-base/src/test/permutations.test.ts
rename to packages/suite-base/src/test/permutations.test.ts
diff --git a/packages/studio-base/src/test/permutations.ts b/packages/suite-base/src/test/permutations.ts
similarity index 100%
rename from packages/studio-base/src/test/permutations.ts
rename to packages/suite-base/src/test/permutations.ts
diff --git a/packages/studio-base/src/test/setup.ts b/packages/suite-base/src/test/setup.ts
similarity index 96%
rename from packages/studio-base/src/test/setup.ts
rename to packages/suite-base/src/test/setup.ts
index b87fbb1fe4..014d34be3b 100644
--- a/packages/studio-base/src/test/setup.ts
+++ b/packages/suite-base/src/test/setup.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import setImmediate from "@lichtblick/studio-base/util/setImmediate";
+import setImmediate from "@lichtblick/suite-base/util/setImmediate";
import util from "util";
process.env.WASM_LZ4_ENVIRONMENT = "NODE";
diff --git a/packages/studio-base/src/test/setupTestFramework.ts b/packages/suite-base/src/test/setupTestFramework.ts
similarity index 94%
rename from packages/studio-base/src/test/setupTestFramework.ts
rename to packages/suite-base/src/test/setupTestFramework.ts
index e82c6f9eaf..d47541c41a 100644
--- a/packages/studio-base/src/test/setupTestFramework.ts
+++ b/packages/suite-base/src/test/setupTestFramework.ts
@@ -11,15 +11,15 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { initI18n } from "@lichtblick/studio-base/i18n";
+import { initI18n } from "@lichtblick/suite-base/i18n";
import {
setupMockSendNotification,
mockSendNotification,
mockSetNotificationHandler,
-} from "@lichtblick/studio-base/test/MockSendNotification";
+} from "@lichtblick/suite-base/test/MockSendNotification";
// Mock out sendNotification for all tests
-jest.mock("@lichtblick/studio-base/util/sendNotification", () => {
+jest.mock("@lichtblick/suite-base/util/sendNotification", () => {
return {
__esModule: true,
default: mockSendNotification,
diff --git a/packages/studio-base/src/test/stubs/MonacoEditor.tsx b/packages/suite-base/src/test/stubs/MonacoEditor.tsx
similarity index 100%
rename from packages/studio-base/src/test/stubs/MonacoEditor.tsx
rename to packages/suite-base/src/test/stubs/MonacoEditor.tsx
diff --git a/packages/studio-base/src/test/transformers/neTransformer.js b/packages/suite-base/src/test/transformers/neTransformer.js
similarity index 100%
rename from packages/studio-base/src/test/transformers/neTransformer.js
rename to packages/suite-base/src/test/transformers/neTransformer.js
diff --git a/packages/studio-base/src/test/transformers/rawTransformer.js b/packages/suite-base/src/test/transformers/rawTransformer.js
similarity index 100%
rename from packages/studio-base/src/test/transformers/rawTransformer.js
rename to packages/suite-base/src/test/transformers/rawTransformer.js
diff --git a/packages/studio-base/src/test/transformers/typescriptTransformerWithRawImports.js b/packages/suite-base/src/test/transformers/typescriptTransformerWithRawImports.js
similarity index 100%
rename from packages/studio-base/src/test/transformers/typescriptTransformerWithRawImports.js
rename to packages/suite-base/src/test/transformers/typescriptTransformerWithRawImports.js
diff --git a/packages/studio-base/src/theme/ThemeProvider.tsx b/packages/suite-base/src/theme/ThemeProvider.tsx
similarity index 100%
rename from packages/studio-base/src/theme/ThemeProvider.tsx
rename to packages/suite-base/src/theme/ThemeProvider.tsx
diff --git a/packages/studio-base/src/theme/icons.tsx b/packages/suite-base/src/theme/icons.tsx
similarity index 88%
rename from packages/studio-base/src/theme/icons.tsx
rename to packages/suite-base/src/theme/icons.tsx
index 4c60d98372..28bb1f0078 100644
--- a/packages/studio-base/src/theme/icons.tsx
+++ b/packages/suite-base/src/theme/icons.tsx
@@ -21,9 +21,9 @@ import {
Sparkle20Regular,
TextBulletListLtr20Regular,
} from "@fluentui/react-icons";
-import BlockheadFilledIcon from "@lichtblick/studio-base/components/BlockheadFilledIcon";
-import BlockheadIcon from "@lichtblick/studio-base/components/BlockheadIcon";
-import { RegisteredIconNames } from "@lichtblick/studio-base/types/Icons";
+import BlockheadFilledIcon from "@lichtblick/suite-base/components/BlockheadFilledIcon";
+import BlockheadIcon from "@lichtblick/suite-base/components/BlockheadIcon";
+import { RegisteredIconNames } from "@lichtblick/suite-base/types/Icons";
import DatabaseSettings from "../assets/database-settings.svg";
import PanelLayout from "../assets/panel-layout.svg";
diff --git a/packages/studio-base/src/types/Bounds.ts b/packages/suite-base/src/types/Bounds.ts
similarity index 94%
rename from packages/studio-base/src/types/Bounds.ts
rename to packages/suite-base/src/types/Bounds.ts
index 92ea31055f..748c6fd811 100644
--- a/packages/studio-base/src/types/Bounds.ts
+++ b/packages/suite-base/src/types/Bounds.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { Immutable } from "@lichtblick/studio";
+import { Immutable } from "@lichtblick/suite";
export type Bounds1D = {
min: number;
diff --git a/packages/studio-base/src/types/Extensions.ts b/packages/suite-base/src/types/Extensions.ts
similarity index 100%
rename from packages/studio-base/src/types/Extensions.ts
rename to packages/suite-base/src/types/Extensions.ts
diff --git a/packages/studio-base/src/types/FoxgloveMessages.ts b/packages/suite-base/src/types/FoxgloveMessages.ts
similarity index 100%
rename from packages/studio-base/src/types/FoxgloveMessages.ts
rename to packages/suite-base/src/types/FoxgloveMessages.ts
diff --git a/packages/studio-base/src/types/Icons.ts b/packages/suite-base/src/types/Icons.ts
similarity index 100%
rename from packages/studio-base/src/types/Icons.ts
rename to packages/suite-base/src/types/Icons.ts
diff --git a/packages/studio-base/src/types/LaunchPreferenceValue.ts b/packages/suite-base/src/types/LaunchPreferenceValue.ts
similarity index 100%
rename from packages/studio-base/src/types/LaunchPreferenceValue.ts
rename to packages/suite-base/src/types/LaunchPreferenceValue.ts
diff --git a/packages/studio-base/src/types/Messages.ts b/packages/suite-base/src/types/Messages.ts
similarity index 100%
rename from packages/studio-base/src/types/Messages.ts
rename to packages/suite-base/src/types/Messages.ts
diff --git a/packages/studio-base/src/types/RosDatatypes.ts b/packages/suite-base/src/types/RosDatatypes.ts
similarity index 100%
rename from packages/studio-base/src/types/RosDatatypes.ts
rename to packages/suite-base/src/types/RosDatatypes.ts
diff --git a/packages/studio-base/src/types/hoverValue.ts b/packages/suite-base/src/types/hoverValue.ts
similarity index 100%
rename from packages/studio-base/src/types/hoverValue.ts
rename to packages/suite-base/src/types/hoverValue.ts
diff --git a/packages/studio-base/src/types/isTypedArray.ts b/packages/suite-base/src/types/isTypedArray.ts
similarity index 100%
rename from packages/studio-base/src/types/isTypedArray.ts
rename to packages/suite-base/src/types/isTypedArray.ts
diff --git a/packages/studio-base/src/types/layouts.ts b/packages/suite-base/src/types/layouts.ts
similarity index 91%
rename from packages/studio-base/src/types/layouts.ts
rename to packages/suite-base/src/types/layouts.ts
index 3b96b920a1..d5ef554e3c 100644
--- a/packages/studio-base/src/types/layouts.ts
+++ b/packages/suite-base/src/types/layouts.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { LayoutData } from "@lichtblick/studio-base/context/CurrentLayoutContext";
+import { LayoutData } from "@lichtblick/suite-base/context/CurrentLayoutContext";
import { MosaicNode } from "react-mosaic-component";
export type TabConfig = { title: string; layout?: MosaicNode };
diff --git a/packages/studio-base/src/types/panels.ts b/packages/suite-base/src/types/panels.ts
similarity index 100%
rename from packages/studio-base/src/types/panels.ts
rename to packages/suite-base/src/types/panels.ts
diff --git a/packages/studio-base/src/typings/extensions.d.ts b/packages/suite-base/src/typings/extensions.d.ts
similarity index 100%
rename from packages/studio-base/src/typings/extensions.d.ts
rename to packages/suite-base/src/typings/extensions.d.ts
diff --git a/packages/studio-base/src/typings/i18next.d.ts b/packages/suite-base/src/typings/i18next.d.ts
similarity index 83%
rename from packages/studio-base/src/typings/i18next.d.ts
rename to packages/suite-base/src/typings/i18next.d.ts
index f83bffbbe3..d0d53e191c 100644
--- a/packages/studio-base/src/typings/i18next.d.ts
+++ b/packages/suite-base/src/typings/i18next.d.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { translations, defaultNS } from "@lichtblick/studio-base/i18n";
+import { translations, defaultNS } from "@lichtblick/suite-base/i18n";
declare module "i18next" {
interface CustomTypeOptions {
diff --git a/packages/studio-base/src/typings/index.d.ts b/packages/suite-base/src/typings/index.d.ts
similarity index 100%
rename from packages/studio-base/src/typings/index.d.ts
rename to packages/suite-base/src/typings/index.d.ts
diff --git a/packages/studio-base/src/typings/leaflet-ellipse.d.ts b/packages/suite-base/src/typings/leaflet-ellipse.d.ts
similarity index 100%
rename from packages/studio-base/src/typings/leaflet-ellipse.d.ts
rename to packages/suite-base/src/typings/leaflet-ellipse.d.ts
diff --git a/packages/studio-base/src/typings/overrides.d.ts b/packages/suite-base/src/typings/overrides.d.ts
similarity index 100%
rename from packages/studio-base/src/typings/overrides.d.ts
rename to packages/suite-base/src/typings/overrides.d.ts
diff --git a/packages/studio-base/src/typings/react.d.ts b/packages/suite-base/src/typings/react.d.ts
similarity index 100%
rename from packages/studio-base/src/typings/react.d.ts
rename to packages/suite-base/src/typings/react.d.ts
diff --git a/packages/studio-base/src/typings/webpack-defines.d.ts b/packages/suite-base/src/typings/webpack-defines.d.ts
similarity index 100%
rename from packages/studio-base/src/typings/webpack-defines.d.ts
rename to packages/suite-base/src/typings/webpack-defines.d.ts
diff --git a/packages/studio-base/src/util/BrowserHttpReader.ts b/packages/suite-base/src/util/BrowserHttpReader.ts
similarity index 93%
rename from packages/studio-base/src/util/BrowserHttpReader.ts
rename to packages/suite-base/src/util/BrowserHttpReader.ts
index b946a9795b..25263cfd82 100644
--- a/packages/studio-base/src/util/BrowserHttpReader.ts
+++ b/packages/suite-base/src/util/BrowserHttpReader.ts
@@ -11,9 +11,9 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { FileReader, FileStream } from "@lichtblick/studio-base/util/CachedFilelike";
-import FetchReader from "@lichtblick/studio-base/util/FetchReader";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+import { FileReader, FileStream } from "@lichtblick/suite-base/util/CachedFilelike";
+import FetchReader from "@lichtblick/suite-base/util/FetchReader";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
// A file reader that reads from a remote HTTP URL, for usage in the browser (not for node.js).
export default class BrowserHttpReader implements FileReader {
diff --git a/packages/studio-base/src/util/CachedFilelike.test.ts b/packages/suite-base/src/util/CachedFilelike.test.ts
similarity index 99%
rename from packages/studio-base/src/util/CachedFilelike.test.ts
rename to packages/suite-base/src/util/CachedFilelike.test.ts
index 41f394e35e..a0ba405f88 100644
--- a/packages/studio-base/src/util/CachedFilelike.test.ts
+++ b/packages/suite-base/src/util/CachedFilelike.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import delay from "@lichtblick/studio-base/util/delay";
+import delay from "@lichtblick/suite-base/util/delay";
import CachedFilelike, { FileReader, FileStream } from "./CachedFilelike";
diff --git a/packages/studio-base/src/util/CachedFilelike.ts b/packages/suite-base/src/util/CachedFilelike.ts
similarity index 100%
rename from packages/studio-base/src/util/CachedFilelike.ts
rename to packages/suite-base/src/util/CachedFilelike.ts
diff --git a/packages/studio-base/src/util/FetchReader.ts b/packages/suite-base/src/util/FetchReader.ts
similarity index 100%
rename from packages/studio-base/src/util/FetchReader.ts
rename to packages/suite-base/src/util/FetchReader.ts
diff --git a/packages/studio-base/src/util/Pose.ts b/packages/suite-base/src/util/Pose.ts
similarity index 90%
rename from packages/studio-base/src/util/Pose.ts
rename to packages/suite-base/src/util/Pose.ts
index 01244a7de4..ecf9f8daeb 100644
--- a/packages/studio-base/src/util/Pose.ts
+++ b/packages/suite-base/src/util/Pose.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MutablePose } from "@lichtblick/studio-base/types/Messages";
+import { MutablePose } from "@lichtblick/suite-base/types/Messages";
// Create a new empty pose object
export function emptyPose(): MutablePose {
diff --git a/packages/studio-base/src/util/Rpc.test.ts b/packages/suite-base/src/util/Rpc.test.ts
similarity index 99%
rename from packages/studio-base/src/util/Rpc.test.ts
rename to packages/suite-base/src/util/Rpc.test.ts
index f0c0df6711..1204a1c813 100644
--- a/packages/studio-base/src/util/Rpc.test.ts
+++ b/packages/suite-base/src/util/Rpc.test.ts
@@ -12,7 +12,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import delay from "@lichtblick/studio-base/util/delay";
+import delay from "@lichtblick/suite-base/util/delay";
import Rpc, { Channel, createLinkedChannels } from "./Rpc";
diff --git a/packages/studio-base/src/util/Rpc.ts b/packages/suite-base/src/util/Rpc.ts
similarity index 100%
rename from packages/studio-base/src/util/Rpc.ts
rename to packages/suite-base/src/util/Rpc.ts
diff --git a/packages/studio-base/src/util/RpcMainThreadUtils.ts b/packages/suite-base/src/util/RpcMainThreadUtils.ts
similarity index 95%
rename from packages/studio-base/src/util/RpcMainThreadUtils.ts
rename to packages/suite-base/src/util/RpcMainThreadUtils.ts
index 0c65642470..c78c0c153c 100644
--- a/packages/studio-base/src/util/RpcMainThreadUtils.ts
+++ b/packages/suite-base/src/util/RpcMainThreadUtils.ts
@@ -15,7 +15,7 @@ import sendNotification, {
DetailsType,
NotificationSeverity,
NotificationType,
-} from "@lichtblick/studio-base/util/sendNotification";
+} from "@lichtblick/suite-base/util/sendNotification";
import Rpc from "./Rpc";
diff --git a/packages/studio-base/src/util/RpcUtils.test.ts b/packages/suite-base/src/util/RpcUtils.test.ts
similarity index 95%
rename from packages/studio-base/src/util/RpcUtils.test.ts
rename to packages/suite-base/src/util/RpcUtils.test.ts
index b0ca17c643..6770c33dcc 100644
--- a/packages/studio-base/src/util/RpcUtils.test.ts
+++ b/packages/suite-base/src/util/RpcUtils.test.ts
@@ -12,10 +12,10 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import delay from "@lichtblick/studio-base/util/delay";
+import delay from "@lichtblick/suite-base/util/delay";
import sendNotification, {
setNotificationHandler,
-} from "@lichtblick/studio-base/util/sendNotification";
+} from "@lichtblick/suite-base/util/sendNotification";
import Rpc, { createLinkedChannels } from "./Rpc";
import { setupReceiveReportErrorHandler } from "./RpcMainThreadUtils";
diff --git a/packages/studio-base/src/util/RpcWorkerUtils.ts b/packages/suite-base/src/util/RpcWorkerUtils.ts
similarity index 96%
rename from packages/studio-base/src/util/RpcWorkerUtils.ts
rename to packages/suite-base/src/util/RpcWorkerUtils.ts
index ae572605e8..4ef7ad65eb 100644
--- a/packages/studio-base/src/util/RpcWorkerUtils.ts
+++ b/packages/suite-base/src/util/RpcWorkerUtils.ts
@@ -16,7 +16,7 @@ import {
DetailsType,
NotificationType,
NotificationSeverity,
-} from "@lichtblick/studio-base/util/sendNotification";
+} from "@lichtblick/suite-base/util/sendNotification";
import Rpc from "./Rpc";
import overwriteFetch from "./overwriteFetch";
diff --git a/packages/studio-base/src/util/VirtualLRUBuffer.test.ts b/packages/suite-base/src/util/VirtualLRUBuffer.test.ts
similarity index 100%
rename from packages/studio-base/src/util/VirtualLRUBuffer.test.ts
rename to packages/suite-base/src/util/VirtualLRUBuffer.test.ts
diff --git a/packages/studio-base/src/util/VirtualLRUBuffer.ts b/packages/suite-base/src/util/VirtualLRUBuffer.ts
similarity index 100%
rename from packages/studio-base/src/util/VirtualLRUBuffer.ts
rename to packages/suite-base/src/util/VirtualLRUBuffer.ts
diff --git a/packages/studio-base/src/util/WebWorkerManager.test.ts b/packages/suite-base/src/util/WebWorkerManager.test.ts
similarity index 97%
rename from packages/studio-base/src/util/WebWorkerManager.test.ts
rename to packages/suite-base/src/util/WebWorkerManager.test.ts
index 4b5af3f257..f1c3e5c255 100644
--- a/packages/studio-base/src/util/WebWorkerManager.test.ts
+++ b/packages/suite-base/src/util/WebWorkerManager.test.ts
@@ -11,11 +11,11 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Channel } from "@lichtblick/studio-base/util/Rpc";
+import { Channel } from "@lichtblick/suite-base/util/Rpc";
import WebWorkerManager from "./WebWorkerManager";
-jest.mock("@lichtblick/studio-base/util/Rpc", () => {
+jest.mock("@lichtblick/suite-base/util/Rpc", () => {
return class FakeRpc {
public terminate() {}
public receive() {
diff --git a/packages/studio-base/src/util/WebWorkerManager.ts b/packages/suite-base/src/util/WebWorkerManager.ts
similarity index 95%
rename from packages/studio-base/src/util/WebWorkerManager.ts
rename to packages/suite-base/src/util/WebWorkerManager.ts
index 7233cd8c93..b3821be5cc 100644
--- a/packages/studio-base/src/util/WebWorkerManager.ts
+++ b/packages/suite-base/src/util/WebWorkerManager.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import Rpc, { Channel } from "@lichtblick/studio-base/util/Rpc";
-import { setupMainThreadRpc } from "@lichtblick/studio-base/util/RpcMainThreadUtils";
+import Rpc, { Channel } from "@lichtblick/suite-base/util/Rpc";
+import { setupMainThreadRpc } from "@lichtblick/suite-base/util/RpcMainThreadUtils";
import * as _ from "lodash-es";
// This file provides a convenient way to set up and tear down workers as needed. It will create only a single worker
diff --git a/packages/studio-base/src/util/__snapshots__/rosDatatypesToMessageDefinitions.test.ts.snap b/packages/suite-base/src/util/__snapshots__/rosDatatypesToMessageDefinitions.test.ts.snap
similarity index 100%
rename from packages/studio-base/src/util/__snapshots__/rosDatatypesToMessageDefinitions.test.ts.snap
rename to packages/suite-base/src/util/__snapshots__/rosDatatypesToMessageDefinitions.test.ts.snap
diff --git a/packages/studio-base/src/util/appURLState.test.ts b/packages/suite-base/src/util/appURLState.test.ts
similarity index 95%
rename from packages/studio-base/src/util/appURLState.test.ts
rename to packages/suite-base/src/util/appURLState.test.ts
index 7a4fa3a5ef..4f0617c1c9 100644
--- a/packages/studio-base/src/util/appURLState.test.ts
+++ b/packages/suite-base/src/util/appURLState.test.ts
@@ -6,12 +6,12 @@ import {
AppURLState,
updateAppURLState,
parseAppURLState,
-} from "@lichtblick/studio-base/util/appURLState";
-import isDesktopApp from "@lichtblick/studio-base/util/isDesktopApp";
+} from "@lichtblick/suite-base/util/appURLState";
+import isDesktopApp from "@lichtblick/suite-base/util/isDesktopApp";
import { Time, toRFC3339String } from "@foxglove/rostime";
-jest.mock("@lichtblick/studio-base/util/isDesktopApp", () => ({
+jest.mock("@lichtblick/suite-base/util/isDesktopApp", () => ({
__esModule: true,
default: jest.fn(),
}));
diff --git a/packages/studio-base/src/util/appURLState.ts b/packages/suite-base/src/util/appURLState.ts
similarity index 97%
rename from packages/studio-base/src/util/appURLState.ts
rename to packages/suite-base/src/util/appURLState.ts
index f48e690305..e4dfb36321 100644
--- a/packages/studio-base/src/util/appURLState.ts
+++ b/packages/suite-base/src/util/appURLState.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { LayoutID } from "@lichtblick/studio-base/context/CurrentLayoutContext";
+import { LayoutID } from "@lichtblick/suite-base/context/CurrentLayoutContext";
import * as _ from "lodash-es";
import { Time, fromRFC3339String, toRFC3339String } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/util/assertNever.ts b/packages/suite-base/src/util/assertNever.ts
similarity index 100%
rename from packages/studio-base/src/util/assertNever.ts
rename to packages/suite-base/src/util/assertNever.ts
diff --git a/packages/studio-base/src/util/bagConnectionsHelper.test.ts b/packages/suite-base/src/util/bagConnectionsHelper.test.ts
similarity index 100%
rename from packages/studio-base/src/util/bagConnectionsHelper.test.ts
rename to packages/suite-base/src/util/bagConnectionsHelper.test.ts
diff --git a/packages/studio-base/src/util/bagConnectionsHelper.ts b/packages/suite-base/src/util/bagConnectionsHelper.ts
similarity index 95%
rename from packages/studio-base/src/util/bagConnectionsHelper.ts
rename to packages/suite-base/src/util/bagConnectionsHelper.ts
index 22e5efdc68..0168e54bc4 100644
--- a/packages/studio-base/src/util/bagConnectionsHelper.ts
+++ b/packages/suite-base/src/util/bagConnectionsHelper.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { parse as parseMessageDefinition } from "@foxglove/rosmsg";
diff --git a/packages/studio-base/src/util/bags.test.ts b/packages/suite-base/src/util/bags.test.ts
similarity index 96%
rename from packages/studio-base/src/util/bags.test.ts
rename to packages/suite-base/src/util/bags.test.ts
index 2d89b77562..b2cbba7da0 100644
--- a/packages/studio-base/src/util/bags.test.ts
+++ b/packages/suite-base/src/util/bags.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import permutations from "@lichtblick/studio-base/test/permutations";
+import permutations from "@lichtblick/suite-base/test/permutations";
import { Time, fromSec } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/util/bags.ts b/packages/suite-base/src/util/bags.ts
similarity index 100%
rename from packages/studio-base/src/util/bags.ts
rename to packages/suite-base/src/util/bags.ts
diff --git a/packages/studio-base/src/util/basicDatatypes.ts b/packages/suite-base/src/util/basicDatatypes.ts
similarity index 95%
rename from packages/studio-base/src/util/basicDatatypes.ts
rename to packages/suite-base/src/util/basicDatatypes.ts
index c5c98135f0..6b2529a9f8 100644
--- a/packages/studio-base/src/util/basicDatatypes.ts
+++ b/packages/suite-base/src/util/basicDatatypes.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { ros1, ros2galactic } from "@foxglove/rosmsg-msgs-common";
import { foxgloveMessageSchemas, generateRosMsgDefinition } from "@foxglove/schemas/internal";
diff --git a/packages/studio-base/src/util/clipboard.ts b/packages/suite-base/src/util/clipboard.ts
similarity index 93%
rename from packages/studio-base/src/util/clipboard.ts
rename to packages/suite-base/src/util/clipboard.ts
index cdd5101f9b..5ce1160b41 100644
--- a/packages/studio-base/src/util/clipboard.ts
+++ b/packages/suite-base/src/util/clipboard.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
function fallbackCopy(text: string) {
const body = document.body;
diff --git a/packages/studio-base/src/util/colorUtils.ts b/packages/suite-base/src/util/colorUtils.ts
similarity index 100%
rename from packages/studio-base/src/util/colorUtils.ts
rename to packages/suite-base/src/util/colorUtils.ts
diff --git a/packages/studio-base/src/util/concatAndTruncate.test.ts b/packages/suite-base/src/util/concatAndTruncate.test.ts
similarity index 100%
rename from packages/studio-base/src/util/concatAndTruncate.test.ts
rename to packages/suite-base/src/util/concatAndTruncate.test.ts
diff --git a/packages/studio-base/src/util/concatAndTruncate.ts b/packages/suite-base/src/util/concatAndTruncate.ts
similarity index 100%
rename from packages/studio-base/src/util/concatAndTruncate.ts
rename to packages/suite-base/src/util/concatAndTruncate.ts
diff --git a/packages/studio-base/src/util/delay.ts b/packages/suite-base/src/util/delay.ts
similarity index 100%
rename from packages/studio-base/src/util/delay.ts
rename to packages/suite-base/src/util/delay.ts
diff --git a/packages/studio-base/src/util/download.ts b/packages/suite-base/src/util/download.ts
similarity index 100%
rename from packages/studio-base/src/util/download.ts
rename to packages/suite-base/src/util/download.ts
diff --git a/packages/studio-base/src/util/enums.test.ts b/packages/suite-base/src/util/enums.test.ts
similarity index 100%
rename from packages/studio-base/src/util/enums.test.ts
rename to packages/suite-base/src/util/enums.test.ts
diff --git a/packages/studio-base/src/util/enums.ts b/packages/suite-base/src/util/enums.ts
similarity index 97%
rename from packages/studio-base/src/util/enums.ts
rename to packages/suite-base/src/util/enums.ts
index 5fda8f25d1..ac23edf490 100644
--- a/packages/studio-base/src/util/enums.ts
+++ b/packages/suite-base/src/util/enums.ts
@@ -11,8 +11,8 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { Immutable } from "@lichtblick/studio";
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { Immutable } from "@lichtblick/suite";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
// Exported for tests
export const constantsByDatatype = (
diff --git a/packages/studio-base/src/util/errors.test.ts b/packages/suite-base/src/util/errors.test.ts
similarity index 97%
rename from packages/studio-base/src/util/errors.test.ts
rename to packages/suite-base/src/util/errors.test.ts
index cc74b4608b..ff2e4216f3 100644
--- a/packages/studio-base/src/util/errors.test.ts
+++ b/packages/suite-base/src/util/errors.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { AppError } from "@lichtblick/studio-base/util/errors";
+import { AppError } from "@lichtblick/suite-base/util/errors";
describe("errors", () => {
describe("AppError", () => {
diff --git a/packages/studio-base/src/util/errors.ts b/packages/suite-base/src/util/errors.ts
similarity index 95%
rename from packages/studio-base/src/util/errors.ts
rename to packages/suite-base/src/util/errors.ts
index b944e97935..1ea1677c11 100644
--- a/packages/studio-base/src/util/errors.ts
+++ b/packages/suite-base/src/util/errors.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { DetailsType } from "@lichtblick/studio-base/util/sendNotification";
+import { DetailsType } from "@lichtblick/suite-base/util/sendNotification";
export class AppError extends Error {
public details: DetailsType;
diff --git a/packages/studio-base/src/util/formatKeyboardShortcut.test.ts b/packages/suite-base/src/util/formatKeyboardShortcut.test.ts
similarity index 100%
rename from packages/studio-base/src/util/formatKeyboardShortcut.test.ts
rename to packages/suite-base/src/util/formatKeyboardShortcut.test.ts
diff --git a/packages/studio-base/src/util/formatKeyboardShortcut.ts b/packages/suite-base/src/util/formatKeyboardShortcut.ts
similarity index 100%
rename from packages/studio-base/src/util/formatKeyboardShortcut.ts
rename to packages/suite-base/src/util/formatKeyboardShortcut.ts
diff --git a/packages/studio-base/src/util/formatTime.test.ts b/packages/suite-base/src/util/formatTime.test.ts
similarity index 100%
rename from packages/studio-base/src/util/formatTime.test.ts
rename to packages/suite-base/src/util/formatTime.test.ts
diff --git a/packages/studio-base/src/util/formatTime.ts b/packages/suite-base/src/util/formatTime.ts
similarity index 97%
rename from packages/studio-base/src/util/formatTime.ts
rename to packages/suite-base/src/util/formatTime.ts
index f33c112757..d5697b3d83 100644
--- a/packages/studio-base/src/util/formatTime.ts
+++ b/packages/suite-base/src/util/formatTime.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { TimeDisplayMethod } from "@lichtblick/studio-base/types/panels";
+import { TimeDisplayMethod } from "@lichtblick/suite-base/types/panels";
import momentDurationFormatSetup from "moment-duration-format";
import moment from "moment-timezone";
diff --git a/packages/studio-base/src/util/fuzzyFilter.test.ts b/packages/suite-base/src/util/fuzzyFilter.test.ts
similarity index 100%
rename from packages/studio-base/src/util/fuzzyFilter.test.ts
rename to packages/suite-base/src/util/fuzzyFilter.test.ts
diff --git a/packages/studio-base/src/util/fuzzyFilter.ts b/packages/suite-base/src/util/fuzzyFilter.ts
similarity index 100%
rename from packages/studio-base/src/util/fuzzyFilter.ts
rename to packages/suite-base/src/util/fuzzyFilter.ts
diff --git a/packages/studio-base/src/util/geometry.ts b/packages/suite-base/src/util/geometry.ts
similarity index 100%
rename from packages/studio-base/src/util/geometry.ts
rename to packages/suite-base/src/util/geometry.ts
diff --git a/packages/studio-base/src/util/getItemString.tsx b/packages/suite-base/src/util/getItemString.tsx
similarity index 93%
rename from packages/studio-base/src/util/getItemString.tsx
rename to packages/suite-base/src/util/getItemString.tsx
index b6cbed7486..784d1daf4e 100644
--- a/packages/studio-base/src/util/getItemString.tsx
+++ b/packages/suite-base/src/util/getItemString.tsx
@@ -3,9 +3,9 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { filterMap } from "@lichtblick/den/collection";
-import { isTypicalFilterName } from "@lichtblick/studio-base/components/MessagePathSyntax/isTypicalFilterName";
-import { format, formatDuration } from "@lichtblick/studio-base/util/formatTime";
-import { quatToEuler } from "@lichtblick/studio-base/util/quatToEuler";
+import { isTypicalFilterName } from "@lichtblick/suite-base/components/MessagePathSyntax/isTypicalFilterName";
+import { format, formatDuration } from "@lichtblick/suite-base/util/formatTime";
+import { quatToEuler } from "@lichtblick/suite-base/util/quatToEuler";
import { ReactNode } from "react";
import tinycolor from "tinycolor2";
diff --git a/packages/studio-base/src/util/getNewConnection.test.ts b/packages/suite-base/src/util/getNewConnection.test.ts
similarity index 100%
rename from packages/studio-base/src/util/getNewConnection.test.ts
rename to packages/suite-base/src/util/getNewConnection.test.ts
diff --git a/packages/studio-base/src/util/getNewConnection.ts b/packages/suite-base/src/util/getNewConnection.ts
similarity index 100%
rename from packages/studio-base/src/util/getNewConnection.ts
rename to packages/suite-base/src/util/getNewConnection.ts
diff --git a/packages/studio-base/src/util/globalConstants.ts b/packages/suite-base/src/util/globalConstants.ts
similarity index 100%
rename from packages/studio-base/src/util/globalConstants.ts
rename to packages/suite-base/src/util/globalConstants.ts
diff --git a/packages/studio-base/src/util/installDevtoolsFormatters.ts b/packages/suite-base/src/util/installDevtoolsFormatters.ts
similarity index 96%
rename from packages/studio-base/src/util/installDevtoolsFormatters.ts
rename to packages/suite-base/src/util/installDevtoolsFormatters.ts
index ccc6b2e600..0624b7ed8a 100644
--- a/packages/studio-base/src/util/installDevtoolsFormatters.ts
+++ b/packages/suite-base/src/util/installDevtoolsFormatters.ts
@@ -14,7 +14,7 @@
// Custom formatters for Chrome dev tools. See documentation: http://bit.ly/object-formatters
// Note that the "Enable custom formatters" setting must be turned on in order to use these formatters.
-import { mightActuallyBePartial } from "@lichtblick/studio-base/util/mightActuallyBePartial";
+import { mightActuallyBePartial } from "@lichtblick/suite-base/util/mightActuallyBePartial";
import seedrandom from "seedrandom";
import { isTime } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/util/isDesktopApp.ts b/packages/suite-base/src/util/isDesktopApp.ts
similarity index 100%
rename from packages/studio-base/src/util/isDesktopApp.ts
rename to packages/suite-base/src/util/isDesktopApp.ts
diff --git a/packages/studio-base/src/util/layout.test.ts b/packages/suite-base/src/util/layout.test.ts
similarity index 99%
rename from packages/studio-base/src/util/layout.test.ts
rename to packages/suite-base/src/util/layout.test.ts
index 81b9387c79..d8a18cc6eb 100644
--- a/packages/studio-base/src/util/layout.test.ts
+++ b/packages/suite-base/src/util/layout.test.ts
@@ -11,7 +11,7 @@
// This source code is licensed under the Apache License, Version 2.0,
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { TabPanelConfig } from "@lichtblick/studio-base/types/layouts";
+import { TabPanelConfig } from "@lichtblick/suite-base/types/layouts";
import { getNodeAtPath, MosaicNode, MosaicParent, updateTree } from "react-mosaic-component";
import {
diff --git a/packages/studio-base/src/util/layout.ts b/packages/suite-base/src/util/layout.ts
similarity index 98%
rename from packages/studio-base/src/util/layout.ts
rename to packages/suite-base/src/util/layout.ts
index 435b2d16e5..3cbbcfb548 100644
--- a/packages/studio-base/src/util/layout.ts
+++ b/packages/suite-base/src/util/layout.ts
@@ -15,15 +15,15 @@ import Logger from "@lichtblick/log";
import {
ConfigsPayload,
SaveConfigsPayload,
-} from "@lichtblick/studio-base/context/CurrentLayoutContext/actions";
-import { reportError } from "@lichtblick/studio-base/reportError";
-import { TabConfig, TabLocation, TabPanelConfig } from "@lichtblick/studio-base/types/layouts";
+} from "@lichtblick/suite-base/context/CurrentLayoutContext/actions";
+import { reportError } from "@lichtblick/suite-base/reportError";
+import { TabConfig, TabLocation, TabPanelConfig } from "@lichtblick/suite-base/types/layouts";
import {
PanelConfig,
MosaicDropTargetPosition,
SavedProps,
-} from "@lichtblick/studio-base/types/panels";
-import { TAB_PANEL_TYPE } from "@lichtblick/studio-base/util/globalConstants";
+} from "@lichtblick/suite-base/types/panels";
+import { TAB_PANEL_TYPE } from "@lichtblick/suite-base/util/globalConstants";
import * as _ from "lodash-es";
import {
createRemoveUpdate,
diff --git a/packages/studio-base/src/util/makeMockAppConfiguration.ts b/packages/suite-base/src/util/makeMockAppConfiguration.ts
similarity index 94%
rename from packages/studio-base/src/util/makeMockAppConfiguration.ts
rename to packages/suite-base/src/util/makeMockAppConfiguration.ts
index 61bcea4a4d..88541dd689 100644
--- a/packages/studio-base/src/util/makeMockAppConfiguration.ts
+++ b/packages/suite-base/src/util/makeMockAppConfiguration.ts
@@ -5,7 +5,7 @@
import {
IAppConfiguration,
AppConfigurationValue,
-} from "@lichtblick/studio-base/context/AppConfigurationContext";
+} from "@lichtblick/suite-base/context/AppConfigurationContext";
export function makeMockAppConfiguration(
entries?: [string, AppConfigurationValue][],
diff --git a/packages/studio-base/src/util/maybeCast.ts b/packages/suite-base/src/util/maybeCast.ts
similarity index 100%
rename from packages/studio-base/src/util/maybeCast.ts
rename to packages/suite-base/src/util/maybeCast.ts
diff --git a/packages/studio-base/src/util/mightActuallyBePartial.ts b/packages/suite-base/src/util/mightActuallyBePartial.ts
similarity index 100%
rename from packages/studio-base/src/util/mightActuallyBePartial.ts
rename to packages/suite-base/src/util/mightActuallyBePartial.ts
diff --git a/packages/studio-base/src/util/naturalSort.test.ts b/packages/suite-base/src/util/naturalSort.test.ts
similarity index 93%
rename from packages/studio-base/src/util/naturalSort.test.ts
rename to packages/suite-base/src/util/naturalSort.test.ts
index 2a7e6cbc5e..e742a6e90d 100644
--- a/packages/studio-base/src/util/naturalSort.test.ts
+++ b/packages/suite-base/src/util/naturalSort.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import naturalSort from "@lichtblick/studio-base/util/naturalSort";
+import naturalSort from "@lichtblick/suite-base/util/naturalSort";
describe("naturalSort", () => {
it("sorts case insensitively", () => {
diff --git a/packages/studio-base/src/util/naturalSort.ts b/packages/suite-base/src/util/naturalSort.ts
similarity index 100%
rename from packages/studio-base/src/util/naturalSort.ts
rename to packages/suite-base/src/util/naturalSort.ts
diff --git a/packages/studio-base/src/util/overwriteFetch.test.ts b/packages/suite-base/src/util/overwriteFetch.test.ts
similarity index 100%
rename from packages/studio-base/src/util/overwriteFetch.test.ts
rename to packages/suite-base/src/util/overwriteFetch.test.ts
diff --git a/packages/studio-base/src/util/overwriteFetch.ts b/packages/suite-base/src/util/overwriteFetch.ts
similarity index 100%
rename from packages/studio-base/src/util/overwriteFetch.ts
rename to packages/suite-base/src/util/overwriteFetch.ts
diff --git a/packages/studio-base/src/util/parseFuzzyRosTime.test.ts b/packages/suite-base/src/util/parseFuzzyRosTime.test.ts
similarity index 100%
rename from packages/studio-base/src/util/parseFuzzyRosTime.test.ts
rename to packages/suite-base/src/util/parseFuzzyRosTime.test.ts
diff --git a/packages/studio-base/src/util/parseFuzzyRosTime.ts b/packages/suite-base/src/util/parseFuzzyRosTime.ts
similarity index 100%
rename from packages/studio-base/src/util/parseFuzzyRosTime.ts
rename to packages/suite-base/src/util/parseFuzzyRosTime.ts
diff --git a/packages/studio-base/src/util/plotColors.ts b/packages/suite-base/src/util/plotColors.ts
similarity index 95%
rename from packages/studio-base/src/util/plotColors.ts
rename to packages/suite-base/src/util/plotColors.ts
index 05abdcedae..3df520f7fc 100644
--- a/packages/studio-base/src/util/plotColors.ts
+++ b/packages/suite-base/src/util/plotColors.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { toolsColorScheme } from "@lichtblick/studio-base/util/toolsColorScheme";
+import { toolsColorScheme } from "@lichtblick/suite-base/util/toolsColorScheme";
import * as _ from "lodash-es";
import tinycolor from "tinycolor2";
diff --git a/packages/studio-base/src/util/process.ts b/packages/suite-base/src/util/process.ts
similarity index 100%
rename from packages/studio-base/src/util/process.ts
rename to packages/suite-base/src/util/process.ts
diff --git a/packages/studio-base/src/util/quatToEuler.ts b/packages/suite-base/src/util/quatToEuler.ts
similarity index 100%
rename from packages/studio-base/src/util/quatToEuler.ts
rename to packages/suite-base/src/util/quatToEuler.ts
diff --git a/packages/studio-base/src/util/ranges.test.ts b/packages/suite-base/src/util/ranges.test.ts
similarity index 100%
rename from packages/studio-base/src/util/ranges.test.ts
rename to packages/suite-base/src/util/ranges.test.ts
diff --git a/packages/studio-base/src/util/ranges.ts b/packages/suite-base/src/util/ranges.ts
similarity index 100%
rename from packages/studio-base/src/util/ranges.ts
rename to packages/suite-base/src/util/ranges.ts
diff --git a/packages/studio-base/src/util/rosDatatypesToMessageDefinition.ts b/packages/suite-base/src/util/rosDatatypesToMessageDefinition.ts
similarity index 96%
rename from packages/studio-base/src/util/rosDatatypesToMessageDefinition.ts
rename to packages/suite-base/src/util/rosDatatypesToMessageDefinition.ts
index e4987575b5..39c3fd50f9 100644
--- a/packages/studio-base/src/util/rosDatatypesToMessageDefinition.ts
+++ b/packages/suite-base/src/util/rosDatatypesToMessageDefinition.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import { MessageDefinition } from "@foxglove/message-definition";
diff --git a/packages/studio-base/src/util/rosDatatypesToMessageDefinitions.test.ts b/packages/suite-base/src/util/rosDatatypesToMessageDefinitions.test.ts
similarity index 96%
rename from packages/studio-base/src/util/rosDatatypesToMessageDefinitions.test.ts
rename to packages/suite-base/src/util/rosDatatypesToMessageDefinitions.test.ts
index 765ea2cc49..114997f808 100644
--- a/packages/studio-base/src/util/rosDatatypesToMessageDefinitions.test.ts
+++ b/packages/suite-base/src/util/rosDatatypesToMessageDefinitions.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { RosDatatypes } from "@lichtblick/studio-base/types/RosDatatypes";
+import { RosDatatypes } from "@lichtblick/suite-base/types/RosDatatypes";
import * as _ from "lodash-es";
import { basicDatatypes } from "./basicDatatypes";
diff --git a/packages/studio-base/src/util/sendNotification.ts b/packages/suite-base/src/util/sendNotification.ts
similarity index 94%
rename from packages/studio-base/src/util/sendNotification.ts
rename to packages/suite-base/src/util/sendNotification.ts
index aecc6b30c8..4ee13b32f9 100644
--- a/packages/studio-base/src/util/sendNotification.ts
+++ b/packages/suite-base/src/util/sendNotification.ts
@@ -17,9 +17,9 @@
// its unavoidable to bail out with a generic error message (e.g. when dragging in a malformed
// ROS bag).
-import { reportError } from "@lichtblick/studio-base/reportError";
-import { AppError } from "@lichtblick/studio-base/util/errors";
-import { inWebWorker } from "@lichtblick/studio-base/util/workers";
+import { reportError } from "@lichtblick/suite-base/reportError";
+import { AppError } from "@lichtblick/suite-base/util/errors";
+import { inWebWorker } from "@lichtblick/suite-base/util/workers";
import { ReactNode } from "react";
export type NotificationType = "app" | "user";
diff --git a/packages/studio-base/src/util/setImmediate.ts b/packages/suite-base/src/util/setImmediate.ts
similarity index 100%
rename from packages/studio-base/src/util/setImmediate.ts
rename to packages/suite-base/src/util/setImmediate.ts
diff --git a/packages/studio-base/src/util/showOpenFilePicker.tsx b/packages/suite-base/src/util/showOpenFilePicker.tsx
similarity index 100%
rename from packages/studio-base/src/util/showOpenFilePicker.tsx
rename to packages/suite-base/src/util/showOpenFilePicker.tsx
diff --git a/packages/studio-base/src/util/strPack.test.ts b/packages/suite-base/src/util/strPack.test.ts
similarity index 100%
rename from packages/studio-base/src/util/strPack.test.ts
rename to packages/suite-base/src/util/strPack.test.ts
diff --git a/packages/studio-base/src/util/strPack.ts b/packages/suite-base/src/util/strPack.ts
similarity index 100%
rename from packages/studio-base/src/util/strPack.ts
rename to packages/suite-base/src/util/strPack.ts
diff --git a/packages/studio-base/src/util/time.test.ts b/packages/suite-base/src/util/time.test.ts
similarity index 98%
rename from packages/studio-base/src/util/time.test.ts
rename to packages/suite-base/src/util/time.test.ts
index b3fe0ecf26..cc7049927a 100644
--- a/packages/studio-base/src/util/time.test.ts
+++ b/packages/suite-base/src/util/time.test.ts
@@ -11,7 +11,7 @@
// found at http://www.apache.org/licenses/LICENSE-2.0
// You may not use this file except in compliance with the License.
-import { MessageEvent } from "@lichtblick/studio";
+import { MessageEvent } from "@lichtblick/suite";
import * as time from "./time";
diff --git a/packages/studio-base/src/util/time.ts b/packages/suite-base/src/util/time.ts
similarity index 93%
rename from packages/studio-base/src/util/time.ts
rename to packages/suite-base/src/util/time.ts
index 25923ca1aa..4119e389a2 100644
--- a/packages/studio-base/src/util/time.ts
+++ b/packages/suite-base/src/util/time.ts
@@ -13,8 +13,8 @@
// No time functions that require `moment` should live in this file.
import log from "@lichtblick/log";
-import { MessageEvent } from "@lichtblick/studio-base/players/types";
-import { MarkerArray, StampedMessage } from "@lichtblick/studio-base/types/Messages";
+import { MessageEvent } from "@lichtblick/suite-base/players/types";
+import { MarkerArray, StampedMessage } from "@lichtblick/suite-base/types/Messages";
import { Time } from "@foxglove/rostime";
diff --git a/packages/studio-base/src/util/toggle.test.ts b/packages/suite-base/src/util/toggle.test.ts
similarity index 100%
rename from packages/studio-base/src/util/toggle.test.ts
rename to packages/suite-base/src/util/toggle.test.ts
diff --git a/packages/studio-base/src/util/toggle.ts b/packages/suite-base/src/util/toggle.ts
similarity index 100%
rename from packages/studio-base/src/util/toggle.ts
rename to packages/suite-base/src/util/toggle.ts
diff --git a/packages/studio-base/src/util/toolsColorScheme.ts b/packages/suite-base/src/util/toolsColorScheme.ts
similarity index 100%
rename from packages/studio-base/src/util/toolsColorScheme.ts
rename to packages/suite-base/src/util/toolsColorScheme.ts
diff --git a/packages/studio-base/src/util/validators.ts b/packages/suite-base/src/util/validators.ts
similarity index 100%
rename from packages/studio-base/src/util/validators.ts
rename to packages/suite-base/src/util/validators.ts
diff --git a/packages/studio-base/src/util/waitForFonts.ts b/packages/suite-base/src/util/waitForFonts.ts
similarity index 100%
rename from packages/studio-base/src/util/waitForFonts.ts
rename to packages/suite-base/src/util/waitForFonts.ts
diff --git a/packages/studio-base/src/util/workers.test.ts b/packages/suite-base/src/util/workers.test.ts
similarity index 100%
rename from packages/studio-base/src/util/workers.test.ts
rename to packages/suite-base/src/util/workers.test.ts
diff --git a/packages/studio-base/src/util/workers.ts b/packages/suite-base/src/util/workers.ts
similarity index 100%
rename from packages/studio-base/src/util/workers.ts
rename to packages/suite-base/src/util/workers.ts
diff --git a/packages/studio-base/tsconfig.json b/packages/suite-base/tsconfig.json
similarity index 91%
rename from packages/studio-base/tsconfig.json
rename to packages/suite-base/tsconfig.json
index f7d9422127..eb8f47d1a8 100644
--- a/packages/studio-base/tsconfig.json
+++ b/packages/suite-base/tsconfig.json
@@ -9,7 +9,7 @@
"declarationMap": false,
"sourceMap": false,
"paths": {
- "@lichtblick/studio-base/*": ["./*"]
+ "@lichtblick/suite-base/*": ["./*"]
},
"experimentalDecorators": true,
"useUnknownInCatchVariables": false
diff --git a/packages/studio-base/webpack.ts b/packages/suite-base/webpack.ts
similarity index 97%
rename from packages/studio-base/webpack.ts
rename to packages/suite-base/webpack.ts
index d3a507af82..8a018e3c45 100644
--- a/packages/studio-base/webpack.ts
+++ b/packages/suite-base/webpack.ts
@@ -57,7 +57,7 @@ export function makeConfig(
resolve: {
extensions: [".js", ".ts", ".jsx", ".tsx"],
alias: {
- "@lichtblick/studio-base": path.resolve(__dirname, "src"),
+ "@lichtblick/suite-base": path.resolve(__dirname, "src"),
},
fallback: {
path: require.resolve("path-browserify"),
@@ -236,8 +236,8 @@ export function makeConfig(
React: "react",
// the buffer module exposes the Buffer class as a property
Buffer: ["buffer", "Buffer"],
- process: ["@lichtblick/studio-base/util/process", "default"],
- setImmediate: ["@lichtblick/studio-base/util/setImmediate", "default"],
+ process: ["@lichtblick/suite-base/util/process", "default"],
+ setImmediate: ["@lichtblick/suite-base/util/setImmediate", "default"],
}),
new webpack.DefinePlugin({
// Should match webpack-defines.d.ts
@@ -254,7 +254,7 @@ export function makeConfig(
languages: ["typescript", "javascript"],
// Output filenames should include content hashes in order to avoid caching issues with
- // downstream users of the studio-base package.
+ // downstream users of the suite-base package.
filename: "[name].worker.[contenthash].js",
}),
new ForkTsCheckerWebpackPlugin({
diff --git a/packages/studio-desktop/README.md b/packages/suite-desktop/README.md
similarity index 100%
rename from packages/studio-desktop/README.md
rename to packages/suite-desktop/README.md
diff --git a/packages/studio-desktop/jest.config.json b/packages/suite-desktop/jest.config.json
similarity index 100%
rename from packages/studio-desktop/jest.config.json
rename to packages/suite-desktop/jest.config.json
diff --git a/packages/studio-desktop/package.json b/packages/suite-desktop/package.json
similarity index 95%
rename from packages/studio-desktop/package.json
rename to packages/suite-desktop/package.json
index 211a066ef5..af08e84144 100644
--- a/packages/studio-desktop/package.json
+++ b/packages/suite-desktop/package.json
@@ -1,5 +1,5 @@
{
- "name": "@lichtblick/studio-desktop",
+ "name": "@lichtblick/suite-desktop",
"license": "MPL-2.0",
"private": true,
"main": "./src/index.tsx",
@@ -14,7 +14,7 @@
"@foxglove/tsconfig": "2.0.0",
"@lichtblick/den": "workspace:*",
"@lichtblick/log": "workspace:*",
- "@lichtblick/studio-base": "workspace:*",
+ "@lichtblick/suite-base": "workspace:*",
"@mcap/core": "1.3.0",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.11",
"@storybook/react": "7.6.10",
diff --git a/packages/studio-desktop/resources/dmg-background/background.afdesign b/packages/suite-desktop/resources/dmg-background/background.afdesign
similarity index 100%
rename from packages/studio-desktop/resources/dmg-background/background.afdesign
rename to packages/suite-desktop/resources/dmg-background/background.afdesign
diff --git a/packages/studio-desktop/resources/dmg-background/background.png b/packages/suite-desktop/resources/dmg-background/background.png
similarity index 100%
rename from packages/studio-desktop/resources/dmg-background/background.png
rename to packages/suite-desktop/resources/dmg-background/background.png
diff --git a/packages/studio-desktop/resources/dmg-background/background@2x.png b/packages/suite-desktop/resources/dmg-background/background@2x.png
similarity index 100%
rename from packages/studio-desktop/resources/dmg-background/background@2x.png
rename to packages/suite-desktop/resources/dmg-background/background@2x.png
diff --git a/packages/studio-desktop/resources/icon/BagIcon.afdesign b/packages/suite-desktop/resources/icon/BagIcon.afdesign
similarity index 100%
rename from packages/studio-desktop/resources/icon/BagIcon.afdesign
rename to packages/suite-desktop/resources/icon/BagIcon.afdesign
diff --git a/packages/studio-desktop/resources/icon/BagIcon.ico b/packages/suite-desktop/resources/icon/BagIcon.ico
similarity index 100%
rename from packages/studio-desktop/resources/icon/BagIcon.ico
rename to packages/suite-desktop/resources/icon/BagIcon.ico
diff --git a/packages/studio-desktop/resources/icon/BagIcon.png b/packages/suite-desktop/resources/icon/BagIcon.png
similarity index 100%
rename from packages/studio-desktop/resources/icon/BagIcon.png
rename to packages/suite-desktop/resources/icon/BagIcon.png
diff --git a/packages/studio-desktop/resources/icon/FoxeIcon.ico b/packages/suite-desktop/resources/icon/FoxeIcon.ico
similarity index 100%
rename from packages/studio-desktop/resources/icon/FoxeIcon.ico
rename to packages/suite-desktop/resources/icon/FoxeIcon.ico
diff --git a/packages/studio-desktop/resources/icon/FoxeIcon.png b/packages/suite-desktop/resources/icon/FoxeIcon.png
similarity index 100%
rename from packages/studio-desktop/resources/icon/FoxeIcon.png
rename to packages/suite-desktop/resources/icon/FoxeIcon.png
diff --git a/packages/studio-desktop/resources/icon/McapIcon.ico b/packages/suite-desktop/resources/icon/McapIcon.ico
similarity index 100%
rename from packages/studio-desktop/resources/icon/McapIcon.ico
rename to packages/suite-desktop/resources/icon/McapIcon.ico
diff --git a/packages/studio-desktop/resources/icon/McapIcon.png b/packages/suite-desktop/resources/icon/McapIcon.png
similarity index 100%
rename from packages/studio-desktop/resources/icon/McapIcon.png
rename to packages/suite-desktop/resources/icon/McapIcon.png
diff --git a/packages/studio-desktop/resources/icon/icon.afdesign b/packages/suite-desktop/resources/icon/icon.afdesign
similarity index 100%
rename from packages/studio-desktop/resources/icon/icon.afdesign
rename to packages/suite-desktop/resources/icon/icon.afdesign
diff --git a/packages/studio-desktop/resources/icon/icon.icns b/packages/suite-desktop/resources/icon/icon.icns
similarity index 100%
rename from packages/studio-desktop/resources/icon/icon.icns
rename to packages/suite-desktop/resources/icon/icon.icns
diff --git a/packages/studio-desktop/resources/icon/icon.png b/packages/suite-desktop/resources/icon/icon.png
similarity index 100%
rename from packages/studio-desktop/resources/icon/icon.png
rename to packages/suite-desktop/resources/icon/icon.png
diff --git a/packages/studio-desktop/resources/icon/icon.svg b/packages/suite-desktop/resources/icon/icon.svg
similarity index 100%
rename from packages/studio-desktop/resources/icon/icon.svg
rename to packages/suite-desktop/resources/icon/icon.svg
diff --git a/packages/studio-desktop/resources/linux/deb/postinst b/packages/suite-desktop/resources/linux/deb/postinst
similarity index 100%
rename from packages/studio-desktop/resources/linux/deb/postinst
rename to packages/suite-desktop/resources/linux/deb/postinst
diff --git a/packages/studio-desktop/resources/mac/entitlements.plist b/packages/suite-desktop/resources/mac/entitlements.plist
similarity index 100%
rename from packages/studio-desktop/resources/mac/entitlements.plist
rename to packages/suite-desktop/resources/mac/entitlements.plist
diff --git a/packages/studio-desktop/src/WebpackConfigParams.ts b/packages/suite-desktop/src/WebpackConfigParams.ts
similarity index 100%
rename from packages/studio-desktop/src/WebpackConfigParams.ts
rename to packages/suite-desktop/src/WebpackConfigParams.ts
diff --git a/packages/studio-desktop/src/afterPack.ts b/packages/suite-desktop/src/afterPack.ts
similarity index 100%
rename from packages/studio-desktop/src/afterPack.ts
rename to packages/suite-desktop/src/afterPack.ts
diff --git a/packages/studio-desktop/src/common/rendererArgs.test.ts b/packages/suite-desktop/src/common/rendererArgs.test.ts
similarity index 100%
rename from packages/studio-desktop/src/common/rendererArgs.test.ts
rename to packages/suite-desktop/src/common/rendererArgs.test.ts
diff --git a/packages/studio-desktop/src/common/rendererArgs.ts b/packages/suite-desktop/src/common/rendererArgs.ts
similarity index 100%
rename from packages/studio-desktop/src/common/rendererArgs.ts
rename to packages/suite-desktop/src/common/rendererArgs.ts
diff --git a/packages/studio-desktop/src/common/storage.ts b/packages/suite-desktop/src/common/storage.ts
similarity index 100%
rename from packages/studio-desktop/src/common/storage.ts
rename to packages/suite-desktop/src/common/storage.ts
diff --git a/packages/studio-desktop/src/common/types.ts b/packages/suite-desktop/src/common/types.ts
similarity index 100%
rename from packages/studio-desktop/src/common/types.ts
rename to packages/suite-desktop/src/common/types.ts
diff --git a/packages/studio-desktop/src/common/webpackDefines.ts b/packages/suite-desktop/src/common/webpackDefines.ts
similarity index 100%
rename from packages/studio-desktop/src/common/webpackDefines.ts
rename to packages/suite-desktop/src/common/webpackDefines.ts
diff --git a/packages/studio-desktop/src/electronBuilderConfig.js b/packages/suite-desktop/src/electronBuilderConfig.js
similarity index 96%
rename from packages/studio-desktop/src/electronBuilderConfig.js
rename to packages/suite-desktop/src/electronBuilderConfig.js
index efbf3d19f7..9020f7c13c 100644
--- a/packages/studio-desktop/src/electronBuilderConfig.js
+++ b/packages/suite-desktop/src/electronBuilderConfig.js
@@ -12,7 +12,7 @@ const path = require("path");
function makeElectronBuilderConfig(params) {
return {
electronVersion,
- appId: "dev.foxglove.studio",
+ appId: "dev.lichtblick.suite",
npmRebuild: false,
asar: true,
directories: {
@@ -172,10 +172,9 @@ function makeElectronBuilderConfig(params) {
applicationId: "FoxgloveStudio",
backgroundColor: "#f7def6",
displayName: "Lichtblick",
- identityName: "Foxglove.Studio",
- publisher:
- "CN=Foxglove Technologies, O=Foxglove Technologies, L=San Francisco, S=California, C=US",
- publisherDisplayName: "Foxglove Technologies",
+ identityName: "Lichtblick.Suite",
+ publisher: "CN=Lichtblick, O=Lichtblick, L=San Francisco, S=California, C=US",
+ publisherDisplayName: "Lichtblick",
languages: ["en-US"],
addAutoLaunchExtension: false,
showNameOnTiles: false,
diff --git a/packages/studio-desktop/src/main/.eslintrc.yaml b/packages/suite-desktop/src/main/.eslintrc.yaml
similarity index 100%
rename from packages/studio-desktop/src/main/.eslintrc.yaml
rename to packages/suite-desktop/src/main/.eslintrc.yaml
diff --git a/packages/studio-desktop/src/main/StudioAppUpdater.ts b/packages/suite-desktop/src/main/StudioAppUpdater.ts
similarity index 98%
rename from packages/studio-desktop/src/main/StudioAppUpdater.ts
rename to packages/suite-desktop/src/main/StudioAppUpdater.ts
index 3671a90751..a813d68089 100644
--- a/packages/studio-desktop/src/main/StudioAppUpdater.ts
+++ b/packages/suite-desktop/src/main/StudioAppUpdater.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { AppSetting } from "@lichtblick/studio-base/src/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/src/AppSetting";
import { dialog } from "electron";
import { autoUpdater, UpdateInfo } from "electron-updater";
import { EventEmitter } from "eventemitter3";
diff --git a/packages/studio-desktop/src/main/StudioWindow.ts b/packages/suite-desktop/src/main/StudioWindow.ts
similarity index 98%
rename from packages/studio-desktop/src/main/StudioWindow.ts
rename to packages/suite-desktop/src/main/StudioWindow.ts
index f793627c40..f4abb3936c 100644
--- a/packages/studio-desktop/src/main/StudioWindow.ts
+++ b/packages/suite-desktop/src/main/StudioWindow.ts
@@ -5,8 +5,8 @@
///
import Logger from "@lichtblick/log";
-import { APP_BAR_HEIGHT } from "@lichtblick/studio-base/src/components/AppBar/constants";
-import { NativeAppMenuEvent } from "@lichtblick/studio-base/src/context/NativeAppMenuContext";
+import { APP_BAR_HEIGHT } from "@lichtblick/suite-base/src/components/AppBar/constants";
+import { NativeAppMenuEvent } from "@lichtblick/suite-base/src/context/NativeAppMenuContext";
import {
BrowserWindow,
BrowserWindowConstructorOptions,
diff --git a/packages/studio-desktop/src/main/fixtures/packages/foo/package.xml b/packages/suite-desktop/src/main/fixtures/packages/foo/package.xml
similarity index 100%
rename from packages/studio-desktop/src/main/fixtures/packages/foo/package.xml
rename to packages/suite-desktop/src/main/fixtures/packages/foo/package.xml
diff --git a/packages/studio-desktop/src/main/fixtures/packages/nested/child/package.xml b/packages/suite-desktop/src/main/fixtures/packages/nested/child/package.xml
similarity index 100%
rename from packages/studio-desktop/src/main/fixtures/packages/nested/child/package.xml
rename to packages/suite-desktop/src/main/fixtures/packages/nested/child/package.xml
diff --git a/packages/studio-desktop/src/main/getDevModeIcon.ts b/packages/suite-desktop/src/main/getDevModeIcon.ts
similarity index 95%
rename from packages/studio-desktop/src/main/getDevModeIcon.ts
rename to packages/suite-desktop/src/main/getDevModeIcon.ts
index 1c63996c9a..b9fea717a3 100644
--- a/packages/studio-desktop/src/main/getDevModeIcon.ts
+++ b/packages/suite-desktop/src/main/getDevModeIcon.ts
@@ -16,7 +16,7 @@ export default function getDevModeIcon(): NativeImage | undefined {
path.resolve(
__dirname,
"..",
- require.resolve("@lichtblick/studio-desktop/src/main"),
+ require.resolve("@lichtblick/suite-desktop/src/main"),
"../../../resources/icon/icon.png",
),
);
diff --git a/packages/studio-desktop/src/main/index.ts b/packages/suite-desktop/src/main/index.ts
similarity index 99%
rename from packages/studio-desktop/src/main/index.ts
rename to packages/suite-desktop/src/main/index.ts
index 516bf0e102..04b6c44e86 100644
--- a/packages/studio-desktop/src/main/index.ts
+++ b/packages/suite-desktop/src/main/index.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { AppSetting } from "@lichtblick/studio-base/src/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/src/AppSetting";
import { app, BrowserWindow, ipcMain, Menu, nativeTheme, session } from "electron";
import fs from "fs";
import i18n from "i18next";
diff --git a/packages/studio-desktop/src/main/injectFilesToOpen.ts b/packages/suite-desktop/src/main/injectFilesToOpen.ts
similarity index 100%
rename from packages/studio-desktop/src/main/injectFilesToOpen.ts
rename to packages/suite-desktop/src/main/injectFilesToOpen.ts
diff --git a/packages/studio-desktop/src/main/installChromeExtensions.ts b/packages/suite-desktop/src/main/installChromeExtensions.ts
similarity index 100%
rename from packages/studio-desktop/src/main/installChromeExtensions.ts
rename to packages/suite-desktop/src/main/installChromeExtensions.ts
diff --git a/packages/studio-desktop/src/main/rosPackageResources.test.ts b/packages/suite-desktop/src/main/rosPackageResources.test.ts
similarity index 100%
rename from packages/studio-desktop/src/main/rosPackageResources.test.ts
rename to packages/suite-desktop/src/main/rosPackageResources.test.ts
diff --git a/packages/studio-desktop/src/main/rosPackageResources.ts b/packages/suite-desktop/src/main/rosPackageResources.ts
similarity index 99%
rename from packages/studio-desktop/src/main/rosPackageResources.ts
rename to packages/suite-desktop/src/main/rosPackageResources.ts
index 1234656797..3a05bab69d 100644
--- a/packages/studio-desktop/src/main/rosPackageResources.ts
+++ b/packages/suite-desktop/src/main/rosPackageResources.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { AppSetting } from "@lichtblick/studio-base/src/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/src/AppSetting";
import { DOMParser } from "@xmldom/xmldom";
import { protocol } from "electron";
import { promises as fs } from "fs";
diff --git a/packages/studio-desktop/src/main/settings.ts b/packages/suite-desktop/src/main/settings.ts
similarity index 96%
rename from packages/studio-desktop/src/main/settings.ts
rename to packages/suite-desktop/src/main/settings.ts
index 7ebb440d04..257dc88c9e 100644
--- a/packages/studio-desktop/src/main/settings.ts
+++ b/packages/suite-desktop/src/main/settings.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/src/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/src/AppSetting";
import { app } from "electron";
import fs from "fs";
import path from "path";
diff --git a/packages/studio-desktop/src/main/simulateUserClick.ts b/packages/suite-desktop/src/main/simulateUserClick.ts
similarity index 91%
rename from packages/studio-desktop/src/main/simulateUserClick.ts
rename to packages/suite-desktop/src/main/simulateUserClick.ts
index 9443a44bb1..cf24ae6909 100644
--- a/packages/studio-desktop/src/main/simulateUserClick.ts
+++ b/packages/suite-desktop/src/main/simulateUserClick.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import delay from "@lichtblick/studio-base/src/util/delay";
+import delay from "@lichtblick/suite-base/src/util/delay";
import { BrowserWindow } from "electron";
// elements can only be opened on user interaction
diff --git a/packages/studio-desktop/src/main/telemetry.ts b/packages/suite-desktop/src/main/telemetry.ts
similarity index 89%
rename from packages/studio-desktop/src/main/telemetry.ts
rename to packages/suite-desktop/src/main/telemetry.ts
index 376eee6c09..f9731c8582 100644
--- a/packages/studio-desktop/src/main/telemetry.ts
+++ b/packages/suite-desktop/src/main/telemetry.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { AppSetting } from "@lichtblick/studio-base/src/AppSetting";
+import { AppSetting } from "@lichtblick/suite-base/src/AppSetting";
import { getAppSetting } from "./settings";
diff --git a/packages/studio-desktop/src/main/tsconfig.json b/packages/suite-desktop/src/main/tsconfig.json
similarity index 100%
rename from packages/studio-desktop/src/main/tsconfig.json
rename to packages/suite-desktop/src/main/tsconfig.json
diff --git a/packages/studio-desktop/src/preload/LocalFileStorage.ts b/packages/suite-desktop/src/preload/LocalFileStorage.ts
similarity index 100%
rename from packages/studio-desktop/src/preload/LocalFileStorage.ts
rename to packages/suite-desktop/src/preload/LocalFileStorage.ts
diff --git a/packages/studio-desktop/src/preload/extensions.ts b/packages/suite-desktop/src/preload/extensions.ts
similarity index 97%
rename from packages/studio-desktop/src/preload/extensions.ts
rename to packages/suite-desktop/src/preload/extensions.ts
index b78d08497e..65688fb608 100644
--- a/packages/studio-desktop/src/preload/extensions.ts
+++ b/packages/suite-desktop/src/preload/extensions.ts
@@ -21,7 +21,7 @@ type ExtensionPackageJson = { name: string; version: string; main: string; publi
*
* This method will throw if any required fields are missing or invalid.
* @param pkgJson Parsed package.json file
- * @returns An identifier string such as "foxglove.studio-extension-turtlesim"
+ * @returns An identifier string such as "lichtblick.suite-extension-turtlesim"
*/
function getPackageId(pkgJson: undefined | ExtensionPackageJson): string {
if (pkgJson == undefined) {
@@ -52,7 +52,7 @@ function getPackageId(pkgJson: undefined | ExtensionPackageJson): string {
/**
* Get the directory name to use for an installed extension
* @param pkgJson Parsed package.json file
- * @returns A directory name such as "foxglove.studio-extension-turtlesim-1.0.0"
+ * @returns A directory name such as "lichtblick.suite-extension-turtlesim-1.0.0"
*/
function getPackageDirname(pkgJson: ExtensionPackageJson): string {
const pkgId = getPackageId(pkgJson);
diff --git a/packages/studio-desktop/src/preload/index.ts b/packages/suite-desktop/src/preload/index.ts
similarity index 94%
rename from packages/studio-desktop/src/preload/index.ts
rename to packages/suite-desktop/src/preload/index.ts
index 2df0761d00..4af82ce059 100644
--- a/packages/studio-desktop/src/preload/index.ts
+++ b/packages/suite-desktop/src/preload/index.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { NetworkInterface, OsContext } from "@lichtblick/studio-base/src/OsContext";
+import { NetworkInterface, OsContext } from "@lichtblick/suite-base/src/OsContext";
import { contextBridge, ipcRenderer } from "electron";
import os from "os";
import { join as pathJoin } from "path";
@@ -128,13 +128,13 @@ export function main(): void {
},
async getExtensions() {
const homePath = (await ipcRenderer.invoke("getHomePath")) as string;
- const userExtensionRoot = pathJoin(homePath, ".foxglove-studio", "extensions");
+ const userExtensionRoot = pathJoin(homePath, ".lichtblick-suite", "extensions");
const userExtensions = await getExtensions(userExtensionRoot);
return userExtensions;
},
async loadExtension(id: string) {
const homePath = (await ipcRenderer.invoke("getHomePath")) as string;
- const userExtensionRoot = pathJoin(homePath, ".foxglove-studio", "extensions");
+ const userExtensionRoot = pathJoin(homePath, ".lichtblick-suite", "extensions");
return await loadExtension(id, userExtensionRoot);
},
async fetchLayouts() {
@@ -144,12 +144,12 @@ export function main(): void {
},
async installExtension(foxeFileData: Uint8Array) {
const homePath = (await ipcRenderer.invoke("getHomePath")) as string;
- const userExtensionRoot = pathJoin(homePath, ".foxglove-studio", "extensions");
+ const userExtensionRoot = pathJoin(homePath, ".lichtblick-suite", "extensions");
return await installExtension(foxeFileData, userExtensionRoot);
},
async uninstallExtension(id: string): Promise {
const homePath = (await ipcRenderer.invoke("getHomePath")) as string;
- const userExtensionRoot = pathJoin(homePath, ".foxglove-studio", "extensions");
+ const userExtensionRoot = pathJoin(homePath, ".lichtblick-suite", "extensions");
return await uninstallExtension(id, userExtensionRoot);
},
handleTitleBarDoubleClick() {
diff --git a/packages/studio-desktop/src/preload/layouts.test.ts b/packages/suite-desktop/src/preload/layouts.test.ts
similarity index 100%
rename from packages/studio-desktop/src/preload/layouts.test.ts
rename to packages/suite-desktop/src/preload/layouts.test.ts
diff --git a/packages/studio-desktop/src/preload/layouts.ts b/packages/suite-desktop/src/preload/layouts.ts
similarity index 100%
rename from packages/studio-desktop/src/preload/layouts.ts
rename to packages/suite-desktop/src/preload/layouts.ts
diff --git a/packages/studio-desktop/src/preload/tsconfig.json b/packages/suite-desktop/src/preload/tsconfig.json
similarity index 100%
rename from packages/studio-desktop/src/preload/tsconfig.json
rename to packages/suite-desktop/src/preload/tsconfig.json
diff --git a/packages/studio-desktop/src/quicklook/FileInfoDisplay.stories.tsx b/packages/suite-desktop/src/quicklook/FileInfoDisplay.stories.tsx
similarity index 100%
rename from packages/studio-desktop/src/quicklook/FileInfoDisplay.stories.tsx
rename to packages/suite-desktop/src/quicklook/FileInfoDisplay.stories.tsx
diff --git a/packages/studio-desktop/src/quicklook/FileInfoDisplay.tsx b/packages/suite-desktop/src/quicklook/FileInfoDisplay.tsx
similarity index 100%
rename from packages/studio-desktop/src/quicklook/FileInfoDisplay.tsx
rename to packages/suite-desktop/src/quicklook/FileInfoDisplay.tsx
diff --git a/packages/studio-desktop/src/quicklook/Flash.tsx b/packages/suite-desktop/src/quicklook/Flash.tsx
similarity index 100%
rename from packages/studio-desktop/src/quicklook/Flash.tsx
rename to packages/suite-desktop/src/quicklook/Flash.tsx
diff --git a/packages/studio-desktop/src/quicklook/GlobalStyle.tsx b/packages/suite-desktop/src/quicklook/GlobalStyle.tsx
similarity index 100%
rename from packages/studio-desktop/src/quicklook/GlobalStyle.tsx
rename to packages/suite-desktop/src/quicklook/GlobalStyle.tsx
diff --git a/packages/studio-desktop/src/quicklook/StorybookDecorator.tsx b/packages/suite-desktop/src/quicklook/StorybookDecorator.tsx
similarity index 100%
rename from packages/studio-desktop/src/quicklook/StorybookDecorator.tsx
rename to packages/suite-desktop/src/quicklook/StorybookDecorator.tsx
diff --git a/packages/studio-desktop/src/quicklook/extensions.d.ts b/packages/suite-desktop/src/quicklook/extensions.d.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/extensions.d.ts
rename to packages/suite-desktop/src/quicklook/extensions.d.ts
diff --git a/packages/studio-desktop/src/quicklook/formatByteSize.test.ts b/packages/suite-desktop/src/quicklook/formatByteSize.test.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/formatByteSize.test.ts
rename to packages/suite-desktop/src/quicklook/formatByteSize.test.ts
diff --git a/packages/studio-desktop/src/quicklook/formatByteSize.ts b/packages/suite-desktop/src/quicklook/formatByteSize.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/formatByteSize.ts
rename to packages/suite-desktop/src/quicklook/formatByteSize.ts
diff --git a/packages/studio-desktop/src/quicklook/getBagInfo.ts b/packages/suite-desktop/src/quicklook/getBagInfo.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/getBagInfo.ts
rename to packages/suite-desktop/src/quicklook/getBagInfo.ts
diff --git a/packages/studio-desktop/src/quicklook/getIndexedMcapInfo.ts b/packages/suite-desktop/src/quicklook/getIndexedMcapInfo.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/getIndexedMcapInfo.ts
rename to packages/suite-desktop/src/quicklook/getIndexedMcapInfo.ts
diff --git a/packages/studio-desktop/src/quicklook/getMcapInfo.test.ts b/packages/suite-desktop/src/quicklook/getMcapInfo.test.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/getMcapInfo.test.ts
rename to packages/suite-desktop/src/quicklook/getMcapInfo.test.ts
diff --git a/packages/studio-desktop/src/quicklook/getMcapInfo.ts b/packages/suite-desktop/src/quicklook/getMcapInfo.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/getMcapInfo.ts
rename to packages/suite-desktop/src/quicklook/getMcapInfo.ts
diff --git a/packages/studio-desktop/src/quicklook/getStreamedMcapInfo.ts b/packages/suite-desktop/src/quicklook/getStreamedMcapInfo.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/getStreamedMcapInfo.ts
rename to packages/suite-desktop/src/quicklook/getStreamedMcapInfo.ts
diff --git a/packages/studio-desktop/src/quicklook/index.tsx b/packages/suite-desktop/src/quicklook/index.tsx
similarity index 100%
rename from packages/studio-desktop/src/quicklook/index.tsx
rename to packages/suite-desktop/src/quicklook/index.tsx
diff --git a/packages/studio-desktop/src/quicklook/styleConstants.ts b/packages/suite-desktop/src/quicklook/styleConstants.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/styleConstants.ts
rename to packages/suite-desktop/src/quicklook/styleConstants.ts
diff --git a/packages/studio-desktop/src/quicklook/tsconfig.json b/packages/suite-desktop/src/quicklook/tsconfig.json
similarity index 100%
rename from packages/studio-desktop/src/quicklook/tsconfig.json
rename to packages/suite-desktop/src/quicklook/tsconfig.json
diff --git a/packages/studio-desktop/src/quicklook/types.ts b/packages/suite-desktop/src/quicklook/types.ts
similarity index 100%
rename from packages/studio-desktop/src/quicklook/types.ts
rename to packages/suite-desktop/src/quicklook/types.ts
diff --git a/packages/studio-desktop/src/renderer/Root.tsx b/packages/suite-desktop/src/renderer/Root.tsx
similarity index 99%
rename from packages/studio-desktop/src/renderer/Root.tsx
rename to packages/suite-desktop/src/renderer/Root.tsx
index 7c02cb773a..531f6a8704 100644
--- a/packages/studio-desktop/src/renderer/Root.tsx
+++ b/packages/suite-desktop/src/renderer/Root.tsx
@@ -19,7 +19,7 @@ import {
SampleNuscenesDataSourceFactory,
UlogLocalDataSourceFactory,
VelodyneDataSourceFactory,
-} from "@lichtblick/studio-base";
+} from "@lichtblick/suite-base";
import { useCallback, useEffect, useMemo, useState } from "react";
import { DesktopExtensionLoader } from "./services/DesktopExtensionLoader";
diff --git a/packages/studio-desktop/src/renderer/index.tsx b/packages/suite-desktop/src/renderer/index.tsx
similarity index 98%
rename from packages/studio-desktop/src/renderer/index.tsx
rename to packages/suite-desktop/src/renderer/index.tsx
index 0c247a113a..a890cfae4f 100644
--- a/packages/studio-desktop/src/renderer/index.tsx
+++ b/packages/suite-desktop/src/renderer/index.tsx
@@ -13,7 +13,7 @@ import {
initI18n,
IDataSourceFactory,
IAppConfiguration,
-} from "@lichtblick/studio-base";
+} from "@lichtblick/suite-base";
import { StrictMode, useEffect } from "react";
import ReactDOM from "react-dom";
diff --git a/packages/studio-desktop/src/renderer/services/DesktopExtensionLoader.ts b/packages/suite-desktop/src/renderer/services/DesktopExtensionLoader.ts
similarity index 98%
rename from packages/studio-desktop/src/renderer/services/DesktopExtensionLoader.ts
rename to packages/suite-desktop/src/renderer/services/DesktopExtensionLoader.ts
index 679537e1e2..1d8bb5b070 100644
--- a/packages/studio-desktop/src/renderer/services/DesktopExtensionLoader.ts
+++ b/packages/suite-desktop/src/renderer/services/DesktopExtensionLoader.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { ExtensionInfo, ExtensionLoader, ExtensionNamespace } from "@lichtblick/studio-base";
+import { ExtensionInfo, ExtensionLoader, ExtensionNamespace } from "@lichtblick/suite-base";
import { Desktop } from "../../common/types";
diff --git a/packages/studio-desktop/src/renderer/services/DesktopLayoutLoader.test.ts b/packages/suite-desktop/src/renderer/services/DesktopLayoutLoader.test.ts
similarity index 100%
rename from packages/studio-desktop/src/renderer/services/DesktopLayoutLoader.test.ts
rename to packages/suite-desktop/src/renderer/services/DesktopLayoutLoader.test.ts
diff --git a/packages/studio-desktop/src/renderer/services/DesktopLayoutLoader.ts b/packages/suite-desktop/src/renderer/services/DesktopLayoutLoader.ts
similarity index 98%
rename from packages/studio-desktop/src/renderer/services/DesktopLayoutLoader.ts
rename to packages/suite-desktop/src/renderer/services/DesktopLayoutLoader.ts
index 0ea4ff9046..67b9164455 100644
--- a/packages/studio-desktop/src/renderer/services/DesktopLayoutLoader.ts
+++ b/packages/suite-desktop/src/renderer/services/DesktopLayoutLoader.ts
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import { LayoutLoader, LayoutInfo, LayoutData } from "@lichtblick/studio-base";
+import { LayoutLoader, LayoutInfo, LayoutData } from "@lichtblick/suite-base";
import { Desktop } from "../../common/types";
diff --git a/packages/studio-desktop/src/renderer/services/NativeAppMenu.ts b/packages/suite-desktop/src/renderer/services/NativeAppMenu.ts
similarity index 97%
rename from packages/studio-desktop/src/renderer/services/NativeAppMenu.ts
rename to packages/suite-desktop/src/renderer/services/NativeAppMenu.ts
index ab800c12b7..a31c70f834 100644
--- a/packages/studio-desktop/src/renderer/services/NativeAppMenu.ts
+++ b/packages/suite-desktop/src/renderer/services/NativeAppMenu.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { INativeAppMenu, NativeAppMenuEvent } from "@lichtblick/studio-base";
+import { INativeAppMenu, NativeAppMenuEvent } from "@lichtblick/suite-base";
import { NativeMenuBridge, UnregisterFn } from "../../common/types";
diff --git a/packages/studio-desktop/src/renderer/services/NativeStorageAppConfiguration.test.ts b/packages/suite-desktop/src/renderer/services/NativeStorageAppConfiguration.test.ts
similarity index 100%
rename from packages/studio-desktop/src/renderer/services/NativeStorageAppConfiguration.test.ts
rename to packages/suite-desktop/src/renderer/services/NativeStorageAppConfiguration.test.ts
diff --git a/packages/studio-desktop/src/renderer/services/NativeStorageAppConfiguration.ts b/packages/suite-desktop/src/renderer/services/NativeStorageAppConfiguration.ts
similarity index 98%
rename from packages/studio-desktop/src/renderer/services/NativeStorageAppConfiguration.ts
rename to packages/suite-desktop/src/renderer/services/NativeStorageAppConfiguration.ts
index 91e6520dd6..fa5a600721 100644
--- a/packages/studio-desktop/src/renderer/services/NativeStorageAppConfiguration.ts
+++ b/packages/suite-desktop/src/renderer/services/NativeStorageAppConfiguration.ts
@@ -1,7 +1,7 @@
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IAppConfiguration, AppConfigurationValue, ChangeHandler } from "@lichtblick/studio-base";
+import { IAppConfiguration, AppConfigurationValue, ChangeHandler } from "@lichtblick/suite-base";
import { Mutex } from "async-mutex";
import { SETTINGS_DATASTORE_NAME, SETTINGS_JSON_DATASTORE_KEY } from "../../common/storage";
diff --git a/packages/studio-desktop/src/renderer/services/NativeWindow.ts b/packages/suite-desktop/src/renderer/services/NativeWindow.ts
similarity index 94%
rename from packages/studio-desktop/src/renderer/services/NativeWindow.ts
rename to packages/suite-desktop/src/renderer/services/NativeWindow.ts
index 5684db09dc..8c5b32d6b2 100644
--- a/packages/studio-desktop/src/renderer/services/NativeWindow.ts
+++ b/packages/suite-desktop/src/renderer/services/NativeWindow.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { INativeWindow, NativeWindowEvent } from "@lichtblick/studio-base";
+import { INativeWindow, NativeWindowEvent } from "@lichtblick/suite-base";
import { Desktop } from "../../common/types";
diff --git a/packages/studio-desktop/src/renderer/tsconfig.json b/packages/suite-desktop/src/renderer/tsconfig.json
similarity index 84%
rename from packages/studio-desktop/src/renderer/tsconfig.json
rename to packages/suite-desktop/src/renderer/tsconfig.json
index 8e8c9411b2..f9da23d3f4 100644
--- a/packages/studio-desktop/src/renderer/tsconfig.json
+++ b/packages/suite-desktop/src/renderer/tsconfig.json
@@ -9,7 +9,7 @@
"useUnknownInCatchVariables": false,
"lib": ["dom", "dom.iterable", "es2022", "webworker"],
"paths": {
- "@lichtblick/studio-base/*": ["../../../studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["../../../suite-base/src/*"]
}
}
}
diff --git a/packages/studio-desktop/src/typings/i18next.d.ts b/packages/suite-desktop/src/typings/i18next.d.ts
similarity index 82%
rename from packages/studio-desktop/src/typings/i18next.d.ts
rename to packages/suite-desktop/src/typings/i18next.d.ts
index 52ee09b42a..800b733e45 100644
--- a/packages/studio-desktop/src/typings/i18next.d.ts
+++ b/packages/suite-desktop/src/typings/i18next.d.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { translations, defaultNS } from "@lichtblick/studio-base/src/i18n";
+import { translations, defaultNS } from "@lichtblick/suite-base/src/i18n";
declare module "i18next" {
interface CustomTypeOptions {
diff --git a/packages/studio-desktop/src/webpackDevServerConfig.ts b/packages/suite-desktop/src/webpackDevServerConfig.ts
similarity index 100%
rename from packages/studio-desktop/src/webpackDevServerConfig.ts
rename to packages/suite-desktop/src/webpackDevServerConfig.ts
diff --git a/packages/studio-desktop/src/webpackMainConfig.ts b/packages/suite-desktop/src/webpackMainConfig.ts
similarity index 97%
rename from packages/studio-desktop/src/webpackMainConfig.ts
rename to packages/suite-desktop/src/webpackMainConfig.ts
index 23977a03c5..eb7d7bcf65 100644
--- a/packages/studio-desktop/src/webpackMainConfig.ts
+++ b/packages/suite-desktop/src/webpackMainConfig.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { WebpackArgv } from "@lichtblick/studio-base/WebpackArgv";
+import { WebpackArgv } from "@lichtblick/suite-base/WebpackArgv";
import { ESBuildMinifyPlugin } from "esbuild-loader";
import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin";
import path from "path";
diff --git a/packages/studio-desktop/src/webpackPreloadConfig.ts b/packages/suite-desktop/src/webpackPreloadConfig.ts
similarity index 97%
rename from packages/studio-desktop/src/webpackPreloadConfig.ts
rename to packages/suite-desktop/src/webpackPreloadConfig.ts
index 4d5c3c0dbf..a920bcd053 100644
--- a/packages/studio-desktop/src/webpackPreloadConfig.ts
+++ b/packages/suite-desktop/src/webpackPreloadConfig.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { WebpackArgv } from "@lichtblick/studio-base/WebpackArgv";
+import { WebpackArgv } from "@lichtblick/suite-base/WebpackArgv";
import { ESBuildMinifyPlugin } from "esbuild-loader";
import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin";
import path from "path";
diff --git a/packages/studio-desktop/src/webpackQuicklookConfig.ts b/packages/suite-desktop/src/webpackQuicklookConfig.ts
similarity index 97%
rename from packages/studio-desktop/src/webpackQuicklookConfig.ts
rename to packages/suite-desktop/src/webpackQuicklookConfig.ts
index bfd6fa5f7b..69f96588d8 100644
--- a/packages/studio-desktop/src/webpackQuicklookConfig.ts
+++ b/packages/suite-desktop/src/webpackQuicklookConfig.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { WebpackArgv } from "@lichtblick/studio-base/WebpackArgv";
+import type { WebpackArgv } from "@lichtblick/suite-base/WebpackArgv";
import ReactRefreshPlugin from "@pmmmwh/react-refresh-webpack-plugin";
import { ESBuildMinifyPlugin } from "esbuild-loader";
import ForkTsCheckerWebpackPlugin from "fork-ts-checker-webpack-plugin";
diff --git a/packages/studio-desktop/src/webpackRendererConfig.ts b/packages/suite-desktop/src/webpackRendererConfig.ts
similarity index 95%
rename from packages/studio-desktop/src/webpackRendererConfig.ts
rename to packages/suite-desktop/src/webpackRendererConfig.ts
index 8b015097fc..0d1d13f2d8 100644
--- a/packages/studio-desktop/src/webpackRendererConfig.ts
+++ b/packages/suite-desktop/src/webpackRendererConfig.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { WebpackArgv } from "@lichtblick/studio-base/WebpackArgv";
-import { makeConfig } from "@lichtblick/studio-base/webpack";
+import type { WebpackArgv } from "@lichtblick/suite-base/WebpackArgv";
+import { makeConfig } from "@lichtblick/suite-base/webpack";
import ReactRefreshPlugin from "@pmmmwh/react-refresh-webpack-plugin";
import { ESBuildMinifyPlugin } from "esbuild-loader";
import HtmlWebpackPlugin from "html-webpack-plugin";
diff --git a/packages/studio-desktop/tsconfig.json b/packages/suite-desktop/tsconfig.json
similarity index 83%
rename from packages/studio-desktop/tsconfig.json
rename to packages/suite-desktop/tsconfig.json
index 57cab37f9f..382fc832da 100644
--- a/packages/studio-desktop/tsconfig.json
+++ b/packages/suite-desktop/tsconfig.json
@@ -8,7 +8,7 @@
"experimentalDecorators": true,
"useUnknownInCatchVariables": false,
"paths": {
- "@lichtblick/studio-base/*": ["../studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["../suite-base/src/*"]
}
}
}
diff --git a/packages/studio-web/README.md b/packages/suite-web/README.md
similarity index 100%
rename from packages/studio-web/README.md
rename to packages/suite-web/README.md
diff --git a/packages/studio-web/package.json b/packages/suite-web/package.json
similarity index 89%
rename from packages/studio-web/package.json
rename to packages/suite-web/package.json
index 9212644d9d..0de9f1a4a9 100644
--- a/packages/studio-web/package.json
+++ b/packages/suite-web/package.json
@@ -1,10 +1,10 @@
{
- "name": "@lichtblick/studio-web",
+ "name": "@lichtblick/suite-web",
"license": "MPL-2.0",
"private": true,
"main": "./src/index.tsx",
"dependencies": {
- "@lichtblick/studio-base": "workspace:*"
+ "@lichtblick/suite-base": "workspace:*"
},
"devDependencies": {
"@fluentui/react-icons": "2.0.224",
diff --git a/packages/studio-web/public/apple-touch-icon.png b/packages/suite-web/public/apple-touch-icon.png
similarity index 100%
rename from packages/studio-web/public/apple-touch-icon.png
rename to packages/suite-web/public/apple-touch-icon.png
diff --git a/packages/studio-web/public/favicon-16x16.png b/packages/suite-web/public/favicon-16x16.png
similarity index 100%
rename from packages/studio-web/public/favicon-16x16.png
rename to packages/suite-web/public/favicon-16x16.png
diff --git a/packages/studio-web/public/favicon-32x32.png b/packages/suite-web/public/favicon-32x32.png
similarity index 100%
rename from packages/studio-web/public/favicon-32x32.png
rename to packages/suite-web/public/favicon-32x32.png
diff --git a/packages/studio-web/public/favicon.ico b/packages/suite-web/public/favicon.ico
similarity index 100%
rename from packages/studio-web/public/favicon.ico
rename to packages/suite-web/public/favicon.ico
diff --git a/packages/studio-web/src/CompatibilityBanner.stories.tsx b/packages/suite-web/src/CompatibilityBanner.stories.tsx
similarity index 100%
rename from packages/studio-web/src/CompatibilityBanner.stories.tsx
rename to packages/suite-web/src/CompatibilityBanner.stories.tsx
diff --git a/packages/studio-web/src/CompatibilityBanner.tsx b/packages/suite-web/src/CompatibilityBanner.tsx
similarity index 98%
rename from packages/studio-web/src/CompatibilityBanner.tsx
rename to packages/suite-web/src/CompatibilityBanner.tsx
index 717f9fa299..5bd5a3f151 100644
--- a/packages/studio-web/src/CompatibilityBanner.tsx
+++ b/packages/suite-web/src/CompatibilityBanner.tsx
@@ -3,7 +3,7 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import { Dismiss20Filled, Warning24Filled } from "@fluentui/react-icons";
-import Stack from "@lichtblick/studio-base/components/Stack";
+import Stack from "@lichtblick/suite-base/components/Stack";
import {
Button,
IconButton,
diff --git a/packages/studio-web/src/WebRoot.tsx b/packages/suite-web/src/WebRoot.tsx
similarity index 98%
rename from packages/studio-web/src/WebRoot.tsx
rename to packages/suite-web/src/WebRoot.tsx
index bd4ab55f04..8e35f2038b 100644
--- a/packages/studio-web/src/WebRoot.tsx
+++ b/packages/suite-web/src/WebRoot.tsx
@@ -16,7 +16,7 @@ import {
SampleNuscenesDataSourceFactory,
SharedRoot,
UlogLocalDataSourceFactory,
-} from "@lichtblick/studio-base";
+} from "@lichtblick/suite-base";
import { useMemo, useState } from "react";
import LocalStorageAppConfiguration from "./services/LocalStorageAppConfiguration";
diff --git a/packages/studio-web/src/canRenderApp.ts b/packages/suite-web/src/canRenderApp.ts
similarity index 100%
rename from packages/studio-web/src/canRenderApp.ts
rename to packages/suite-web/src/canRenderApp.ts
diff --git a/packages/studio-web/src/index.tsx b/packages/suite-web/src/index.tsx
similarity index 90%
rename from packages/studio-web/src/index.tsx
rename to packages/suite-web/src/index.tsx
index fbd901cd3e..89df3e5e96 100644
--- a/packages/studio-web/src/index.tsx
+++ b/packages/suite-web/src/index.tsx
@@ -3,8 +3,8 @@
// file, You can obtain one at http://mozilla.org/MPL/2.0/
import Logger from "@lichtblick/log";
-import type { IDataSourceFactory } from "@lichtblick/studio-base";
-import CssBaseline from "@lichtblick/studio-base/components/CssBaseline";
+import type { IDataSourceFactory } from "@lichtblick/suite-base";
+import CssBaseline from "@lichtblick/suite-base/components/CssBaseline";
import { StrictMode, useEffect } from "react";
import ReactDOM from "react-dom";
@@ -66,10 +66,10 @@ export async function main(getParams: () => Promise = async () => ({
return;
}
- // Use an async import to delay loading the majority of studio-base code until the CompatibilityBanner
+ // Use an async import to delay loading the majority of suite-base code until the CompatibilityBanner
// can be displayed.
const { installDevtoolsFormatters, overwriteFetch, waitForFonts, initI18n, StudioApp } =
- await import("@lichtblick/studio-base");
+ await import("@lichtblick/suite-base");
installDevtoolsFormatters();
overwriteFetch();
// consider moving waitForFonts into App to display an app loading screen
diff --git a/packages/studio-web/src/services/LocalStorageAppConfiguration.ts b/packages/suite-web/src/services/LocalStorageAppConfiguration.ts
similarity index 98%
rename from packages/studio-web/src/services/LocalStorageAppConfiguration.ts
rename to packages/suite-web/src/services/LocalStorageAppConfiguration.ts
index c193a9b54b..fcfdc617e0 100644
--- a/packages/studio-web/src/services/LocalStorageAppConfiguration.ts
+++ b/packages/suite-web/src/services/LocalStorageAppConfiguration.ts
@@ -2,7 +2,7 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { IAppConfiguration, ChangeHandler, AppConfigurationValue } from "@lichtblick/studio-base";
+import { IAppConfiguration, ChangeHandler, AppConfigurationValue } from "@lichtblick/suite-base";
export default class LocalStorageAppConfiguration implements IAppConfiguration {
static #KEY_PREFIX = "studio.app-configuration.";
diff --git a/packages/studio-web/src/webpackConfigs.ts b/packages/suite-web/src/webpackConfigs.ts
similarity index 98%
rename from packages/studio-web/src/webpackConfigs.ts
rename to packages/suite-web/src/webpackConfigs.ts
index 40dc904bbe..04040a6862 100644
--- a/packages/studio-web/src/webpackConfigs.ts
+++ b/packages/suite-web/src/webpackConfigs.ts
@@ -2,8 +2,8 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import type { WebpackArgv } from "@lichtblick/studio-base/WebpackArgv";
-import { makeConfig } from "@lichtblick/studio-base/webpack";
+import type { WebpackArgv } from "@lichtblick/suite-base/WebpackArgv";
+import { makeConfig } from "@lichtblick/suite-base/webpack";
import ReactRefreshPlugin from "@pmmmwh/react-refresh-webpack-plugin";
import { CleanWebpackPlugin } from "clean-webpack-plugin";
import CopyPlugin from "copy-webpack-plugin";
diff --git a/packages/studio-web/tsconfig.json b/packages/suite-web/tsconfig.json
similarity index 84%
rename from packages/studio-web/tsconfig.json
rename to packages/suite-web/tsconfig.json
index 4c2b39118b..17f5fa72be 100644
--- a/packages/studio-web/tsconfig.json
+++ b/packages/suite-web/tsconfig.json
@@ -8,7 +8,7 @@
"experimentalDecorators": true,
"useUnknownInCatchVariables": false,
"paths": {
- "@lichtblick/studio-base/*": ["../studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["../suite-base/src/*"]
}
}
}
diff --git a/packages/studio/README.md b/packages/suite/README.md
similarity index 100%
rename from packages/studio/README.md
rename to packages/suite/README.md
diff --git a/packages/studio/package.json b/packages/suite/package.json
similarity index 85%
rename from packages/studio/package.json
rename to packages/suite/package.json
index 1c93627acf..69aa274cc0 100644
--- a/packages/studio/package.json
+++ b/packages/suite/package.json
@@ -1,10 +1,10 @@
{
- "name": "@lichtblick/studio",
- "version": "1.3.1",
+ "name": "@lichtblick/suite",
+ "version": "1.3.2",
"license": "MPL-2.0",
"repository": {
"type": "git",
- "url": "https://github.com/bmw-software-engineering/lichtblick/tree/main/packages/studio"
+ "url": "https://github.com/bmw-software-engineering/lichtblick/tree/main/packages/suite"
},
"author": {
"name": "Lichtblick",
diff --git a/packages/studio/src/immutable.ts b/packages/suite/src/immutable.ts
similarity index 100%
rename from packages/studio/src/immutable.ts
rename to packages/suite/src/immutable.ts
diff --git a/packages/studio/src/index.ts b/packages/suite/src/index.ts
similarity index 100%
rename from packages/studio/src/index.ts
rename to packages/suite/src/index.ts
diff --git a/packages/studio/tsconfig.json b/packages/suite/tsconfig.json
similarity index 100%
rename from packages/studio/tsconfig.json
rename to packages/suite/tsconfig.json
diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json
index d4d9320eef..2d35caf39d 100644
--- a/tsconfig.eslint.json
+++ b/tsconfig.eslint.json
@@ -22,7 +22,7 @@
"jsx": "react-jsx",
"lib": ["dom", "dom.iterable", "es2022", "esnext.disposable"],
"paths": {
- "@lichtblick/studio-base/*": ["./packages/studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["./packages/suite-base/src/*"]
}
}
}
diff --git a/web/package.json b/web/package.json
index 2e1d55c530..eb52204e8e 100644
--- a/web/package.json
+++ b/web/package.json
@@ -4,7 +4,7 @@
"devDependencies": {
"@foxglove/tsconfig": "2.0.0",
"@lichtblick/log": "workspace:*",
- "@lichtblick/studio-web": "workspace:*",
+ "@lichtblick/suite-web": "workspace:*",
"@types/serve-handler": "^6",
"playwright": "1.37.1",
"serve-handler": "6.1.5",
diff --git a/web/src/entrypoint.tsx b/web/src/entrypoint.tsx
index abf1621a4a..b45dee67e9 100644
--- a/web/src/entrypoint.tsx
+++ b/web/src/entrypoint.tsx
@@ -2,6 +2,6 @@
// License, v2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/
-import { main } from "@lichtblick/studio-web";
+import { main } from "@lichtblick/suite-web";
void main();
diff --git a/web/src/tsconfig.json b/web/src/tsconfig.json
index 3f5aaec1bc..faab4b8aae 100644
--- a/web/src/tsconfig.json
+++ b/web/src/tsconfig.json
@@ -8,7 +8,7 @@
"experimentalDecorators": true,
"useUnknownInCatchVariables": false,
"paths": {
- "@lichtblick/studio-base/*": ["../../packages/studio-base/src/*"]
+ "@lichtblick/suite-base/*": ["../../packages/suite-base/src/*"]
}
}
}
diff --git a/web/webpack.config.ts b/web/webpack.config.ts
index 87a624627a..00ca56d0e3 100644
--- a/web/webpack.config.ts
+++ b/web/webpack.config.ts
@@ -6,7 +6,7 @@ import {
ConfigParams,
devServerConfig,
mainConfig,
-} from "@lichtblick/studio-web/src/webpackConfigs";
+} from "@lichtblick/suite-web/src/webpackConfigs";
import path from "path";
import packageJson from "../package.json";
diff --git a/yarn.lock b/yarn.lock
index ed50958625..2bd1201fa1 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -3272,9 +3272,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@lichtblick/studio-base@workspace:*, @lichtblick/studio-base@workspace:packages/studio-base":
+"@lichtblick/suite-base@workspace:*, @lichtblick/suite-base@workspace:packages/suite-base":
version: 0.0.0-use.local
- resolution: "@lichtblick/studio-base@workspace:packages/studio-base"
+ resolution: "@lichtblick/suite-base@workspace:packages/suite-base"
dependencies:
"@emotion/cache": 11.13.1
"@emotion/react": 11.13.0
@@ -3311,7 +3311,7 @@ __metadata:
"@lichtblick/den": "workspace:*"
"@lichtblick/hooks": "workspace:*"
"@lichtblick/log": "workspace:*"
- "@lichtblick/studio": "workspace:*"
+ "@lichtblick/suite": "workspace:*"
"@mcap/core": 2.0.2
"@mui/icons-material": 5.15.5
"@mui/material": 5.13.5
@@ -3445,9 +3445,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@lichtblick/studio-desktop@workspace:*, @lichtblick/studio-desktop@workspace:packages/studio-desktop":
+"@lichtblick/suite-desktop@workspace:*, @lichtblick/suite-desktop@workspace:packages/suite-desktop":
version: 0.0.0-use.local
- resolution: "@lichtblick/studio-desktop@workspace:packages/studio-desktop"
+ resolution: "@lichtblick/suite-desktop@workspace:packages/suite-desktop"
dependencies:
"@actions/exec": 1.1.1
"@actions/tool-cache": 2.0.1
@@ -3459,7 +3459,7 @@ __metadata:
"@foxglove/tsconfig": 2.0.0
"@lichtblick/den": "workspace:*"
"@lichtblick/log": "workspace:*"
- "@lichtblick/studio-base": "workspace:*"
+ "@lichtblick/suite-base": "workspace:*"
"@mcap/core": 1.3.0
"@pmmmwh/react-refresh-webpack-plugin": 0.5.11
"@storybook/react": 7.6.10
@@ -3500,15 +3500,15 @@ __metadata:
languageName: unknown
linkType: soft
-"@lichtblick/studio-web@workspace:*, @lichtblick/studio-web@workspace:packages/studio-web":
+"@lichtblick/suite-web@workspace:*, @lichtblick/suite-web@workspace:packages/suite-web":
version: 0.0.0-use.local
- resolution: "@lichtblick/studio-web@workspace:packages/studio-web"
+ resolution: "@lichtblick/suite-web@workspace:packages/suite-web"
dependencies:
"@fluentui/react-icons": 2.0.224
"@foxglove/theme": "workspace:*"
"@foxglove/tsconfig": 2.0.0
"@lichtblick/log": "workspace:*"
- "@lichtblick/studio-base": "workspace:*"
+ "@lichtblick/suite-base": "workspace:*"
"@mui/material": 5.13.5
"@pmmmwh/react-refresh-webpack-plugin": 0.5.11
"@storybook/react": 7.6.10
@@ -3524,9 +3524,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@lichtblick/studio@workspace:*, @lichtblick/studio@workspace:packages/studio":
+"@lichtblick/suite@workspace:*, @lichtblick/suite@workspace:packages/suite":
version: 0.0.0-use.local
- resolution: "@lichtblick/studio@workspace:packages/studio"
+ resolution: "@lichtblick/suite@workspace:packages/suite"
dependencies:
"@foxglove/tsconfig": 2.0.0
typescript: 5.3.3
@@ -8978,8 +8978,8 @@ __metadata:
"@foxglove/tsconfig": 2.0.0
"@lichtblick/den": "workspace:*"
"@lichtblick/log": "workspace:*"
- "@lichtblick/studio": "workspace:*"
- "@lichtblick/studio-base": "workspace:*"
+ "@lichtblick/suite": "workspace:*"
+ "@lichtblick/suite-base": "workspace:*"
"@pmmmwh/react-refresh-webpack-plugin": 0.5.11
"@types/react": 18.2.56
"@types/react-dom": 18.2.7
@@ -10969,8 +10969,8 @@ __metadata:
"@foxglove/tsconfig": 2.0.0
"@lichtblick/den": "workspace:*"
"@lichtblick/log": "workspace:*"
- "@lichtblick/studio-base": "workspace:*"
- "@lichtblick/studio-desktop": "workspace:*"
+ "@lichtblick/suite-base": "workspace:*"
+ "@lichtblick/suite-desktop": "workspace:*"
electron: 25.8.4
playwright: 1.37.1
webpack: 5.93.0
@@ -16224,7 +16224,7 @@ __metadata:
"@foxglove/tsconfig": 2.0.0
"@lichtblick/hooks": "workspace:*"
"@lichtblick/log": "workspace:*"
- "@lichtblick/studio": "workspace:*"
+ "@lichtblick/suite": "workspace:*"
"@mui/material": 5.13.5
"@octokit/rest": 20.0.2
"@storybook/addon-actions": 7.6.10
@@ -19447,9 +19447,9 @@ __metadata:
languageName: node
linkType: hard
-"react-json-tree@patch:react-json-tree@npm:0.15.1#../../patches/react-json-tree.patch::locator=%40lichtblick%2Fstudio-base%40workspace%3Apackages%2Fstudio-base":
+"react-json-tree@patch:react-json-tree@npm:0.15.1#../../patches/react-json-tree.patch::locator=%40lichtblick%2Fsuite-base%40workspace%3Apackages%2Fsuite-base":
version: 0.15.1
- resolution: "react-json-tree@patch:react-json-tree@npm%3A0.15.1#../../patches/react-json-tree.patch::version=0.15.1&hash=5e2bac&locator=%40lichtblick%2Fstudio-base%40workspace%3Apackages%2Fstudio-base"
+ resolution: "react-json-tree@patch:react-json-tree@npm%3A0.15.1#../../patches/react-json-tree.patch::version=0.15.1&hash=5e2bac&locator=%40lichtblick%2Fsuite-base%40workspace%3Apackages%2Fsuite-base"
dependencies:
"@types/prop-types": ^15.7.4
prop-types: ^15.7.2
@@ -21794,9 +21794,9 @@ __metadata:
languageName: node
linkType: hard
-"three@patch:three@0.156.1#../../patches/three.patch::locator=%40lichtblick%2Fstudio-base%40workspace%3Apackages%2Fstudio-base":
+"three@patch:three@0.156.1#../../patches/three.patch::locator=%40lichtblick%2Fsuite-base%40workspace%3Apackages%2Fsuite-base":
version: 0.156.1
- resolution: "three@patch:three@npm%3A0.156.1#../../patches/three.patch::version=0.156.1&hash=752558&locator=%40lichtblick%2Fstudio-base%40workspace%3Apackages%2Fstudio-base"
+ resolution: "three@patch:three@npm%3A0.156.1#../../patches/three.patch::version=0.156.1&hash=752558&locator=%40lichtblick%2Fsuite-base%40workspace%3Apackages%2Fsuite-base"
checksum: f27bd732af649aba7bed78db71882d6acb8ff1c8c48476514acd90aac57621ed29494ac51ea5315f9317f6188187e1e693b0b309473b1ddecf07503eb83f437a
languageName: node
linkType: hard
@@ -23175,7 +23175,7 @@ __metadata:
dependencies:
"@foxglove/tsconfig": 2.0.0
"@lichtblick/log": "workspace:*"
- "@lichtblick/studio-web": "workspace:*"
+ "@lichtblick/suite-web": "workspace:*"
"@types/serve-handler": ^6
playwright: 1.37.1
serve-handler: 6.1.5