diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml
index 5b1ec703..ee0893a3 100644
--- a/.github/workflows/storybook.yml
+++ b/.github/workflows/storybook.yml
@@ -9,12 +9,31 @@ on:
- "packages/ui/scripts/**"
- "packages/ui/styles.css"
- "packages/ui/themes/**"
+ - "packages/ui/.snapshots/**"
+ - "packages/ui/playwright/**"
+ - "packages/ui/playwright-ct.config.ts"
+ - "packages/ui/postcss.config.mjs"
+ - "packages/ui/package.json"
+ - "pnpm-lock.yaml"
- ".github/workflows/storybook.yml"
push:
branches: [main]
paths:
- "packages/ui/src/**"
- "packages/ui/.storybook/**"
+ - "packages/ui/styles.css"
+ - "packages/ui/themes/**"
+ - "packages/ui/.snapshots/**"
+ - "packages/ui/playwright/**"
+ - "packages/ui/playwright-ct.config.ts"
+ - "packages/ui/postcss.config.mjs"
+ - "packages/ui/scripts/**"
+ - "packages/ui/package.json"
+ - "pnpm-lock.yaml"
+ - ".github/workflows/storybook.yml"
+
+permissions:
+ contents: read
concurrency:
group: storybook-${{ github.head_ref || github.ref }}
@@ -114,8 +133,10 @@ jobs:
visual-regression:
name: Visual Regression
- needs: build-storybook
runs-on: ubuntu-latest
+ container:
+ image: mcr.microsoft.com/playwright:v1.58.2-noble@sha256:6446946a1d9fd62d9ae501312a2d76a43ee688542b21622056a372959b65d63d
+ options: --ipc=host
steps:
- uses: actions/checkout@v5
@@ -128,19 +149,17 @@ jobs:
- run: pnpm install --frozen-lockfile
- - name: Install Playwright browsers
- run: pnpm -F @vllnt/ui exec playwright install --with-deps chromium
-
- - name: Run Playwright CT visual tests
+ - name: Compare committed visual baselines
working-directory: packages/ui
- run: pnpm test:visual --update-snapshots
+ run: pnpm test:visual --workers=2 --update-snapshots=none
- name: Upload visual snapshots
if: always()
uses: actions/upload-artifact@v5
with:
name: visual-snapshots
- path: packages/ui/.snapshots
+ path: packages/ui/.snapshots/linux
+ include-hidden-files: true
retention-days: 30
- name: Upload visual test results
diff --git a/docs/README.md b/docs/README.md
index 1ba521a0..f84c47b7 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -8,6 +8,7 @@ This folder contains in-repo documentation for `@vllnt/ui` contributors and down
|-----|------|
| [ARCHITECTURE.md](./ARCHITECTURE.md) | Monorepo layout, package boundaries, build graph |
| [RELEASING.md](./RELEASING.md) | How releases are cut and published |
+| [VISUAL_TESTING.md](./VISUAL_TESTING.md) | Reproducible visual comparisons and reviewed baseline updates |
## External destinations
diff --git a/docs/VISUAL_TESTING.md b/docs/VISUAL_TESTING.md
new file mode 100644
index 00000000..0a7f79c8
--- /dev/null
+++ b/docs/VISUAL_TESTING.md
@@ -0,0 +1,35 @@
+# Visual regression testing
+
+The canonical screenshots live in `packages/ui/.snapshots/linux/`. Generate and compare them in `mcr.microsoft.com/playwright:v1.58.2-noble`, matching the Playwright version in the lockfile and the CI container. CI pins the image manifest digest `sha256:6446946a1d9fd62d9ae501312a2d76a43ee688542b21622056a372959b65d63d`. The suite fixes locale to `en-US`, timezone to `UTC`, and reduced motion to make layout comparisons reproducible. Animation behavior remains covered by component unit tests.
+
+Do not compare macOS screenshots with the Linux baseline set. The snapshot path includes the operating system to prevent accidental cross-platform updates.
+
+On Linux, the Playwright config loads `packages/ui/playwright/fonts.conf` to select the container's installed **Liberation Mono** for generic monospace text. Without this explicit preference, fresh font caches can select WenQuanYi instead and change text widths. This affects only the browser test environment, not shipped CSS or theme tokens; no additional font package is installed.
+
+## Compare
+
+From a clean checkout, run in the pinned Linux container:
+
+```sh
+corepack enable
+corepack prepare pnpm@9.15.4 --activate
+pnpm install --frozen-lockfile
+pnpm -F @vllnt/ui test:visual --workers=2 --update-snapshots=none
+```
+
+Mount or copy only the checkout into the container; install Linux dependencies there instead of sharing host `node_modules`. CI runs the same comparison and uploads test results on failure. Missing snapshots fail the job rather than being accepted.
+
+## Refresh deliberately
+
+In the same container, select only the affected fixtures:
+
+```sh
+pnpm -F @vllnt/ui test:visual sidebar --workers=1 --update-snapshots
+pnpm -F @vllnt/ui test:visual sidebar --workers=1 --update-snapshots=none
+```
+
+Keep fixture images local or inline rather than depending on third-party placeholder hosts. Wait for the image's intrinsic dimensions before capturing it; screenshot stability alone does not guarantee a remote image has loaded.
+
+Inspect expected/actual/diff images and commit only intentional changes together with their source changes. Never update snapshots in CI to make a failing comparison pass. When upgrading Playwright, upgrade the container version and review regenerated screenshots together.
+
+The initial Linux baseline set was generated from `main` at `38db630`, not from the Native feature branch. Snapshot equality proves the states exercised by the existing visual fixtures; it does not replace keyboard, accessibility, reduced-motion behavior, or physical-device tests.
diff --git a/packages/ui/.snapshots/activity-heatmap/activity-heatmap.visual.tsx-chromium/activity-heatmap-default.png b/packages/ui/.snapshots/activity-heatmap/activity-heatmap.visual.tsx-chromium/activity-heatmap-default.png
deleted file mode 100644
index 6a3d3a23..00000000
Binary files a/packages/ui/.snapshots/activity-heatmap/activity-heatmap.visual.tsx-chromium/activity-heatmap-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/anchor-port/anchor-port.visual.tsx-chromium/anchor-port-default.png b/packages/ui/.snapshots/anchor-port/anchor-port.visual.tsx-chromium/anchor-port-default.png
deleted file mode 100644
index 2eab9169..00000000
Binary files a/packages/ui/.snapshots/anchor-port/anchor-port.visual.tsx-chromium/anchor-port-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/animated-text/animated-text.visual.tsx-chromium/animated-text-default.png b/packages/ui/.snapshots/animated-text/animated-text.visual.tsx-chromium/animated-text-default.png
deleted file mode 100644
index e02a1bf7..00000000
Binary files a/packages/ui/.snapshots/animated-text/animated-text.visual.tsx-chromium/animated-text-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/border-beam/border-beam.visual.tsx-chromium/border-beam-default.png b/packages/ui/.snapshots/border-beam/border-beam.visual.tsx-chromium/border-beam-default.png
deleted file mode 100644
index eaeb9a1c..00000000
Binary files a/packages/ui/.snapshots/border-beam/border-beam.visual.tsx-chromium/border-beam-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/candlestick-chart/candlestick-chart.visual.tsx-chromium/CandlestickChart-default-1.png b/packages/ui/.snapshots/candlestick-chart/candlestick-chart.visual.tsx-chromium/CandlestickChart-default-1.png
deleted file mode 100644
index 840ad4ad..00000000
Binary files a/packages/ui/.snapshots/candlestick-chart/candlestick-chart.visual.tsx-chromium/CandlestickChart-default-1.png and /dev/null differ
diff --git a/packages/ui/.snapshots/canvas-shell/canvas-shell.visual.tsx-chromium/canvas-shell-default.png b/packages/ui/.snapshots/canvas-shell/canvas-shell.visual.tsx-chromium/canvas-shell-default.png
deleted file mode 100644
index e539623b..00000000
Binary files a/packages/ui/.snapshots/canvas-shell/canvas-shell.visual.tsx-chromium/canvas-shell-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/connector-edge/connector-edge.visual.tsx-chromium/connector-edge-default.png b/packages/ui/.snapshots/connector-edge/connector-edge.visual.tsx-chromium/connector-edge-default.png
deleted file mode 100644
index 728aee74..00000000
Binary files a/packages/ui/.snapshots/connector-edge/connector-edge.visual.tsx-chromium/connector-edge-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/countdown-timer/countdown-timer.visual.tsx-chromium/countdown-timer-default.png b/packages/ui/.snapshots/countdown-timer/countdown-timer.visual.tsx-chromium/countdown-timer-default.png
deleted file mode 100644
index 4f834c54..00000000
Binary files a/packages/ui/.snapshots/countdown-timer/countdown-timer.visual.tsx-chromium/countdown-timer-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/curriculum/curriculum.visual.tsx-chromium/curriculum-default-collapsed.png b/packages/ui/.snapshots/curriculum/curriculum.visual.tsx-chromium/curriculum-default-collapsed.png
deleted file mode 100644
index aaac0203..00000000
Binary files a/packages/ui/.snapshots/curriculum/curriculum.visual.tsx-chromium/curriculum-default-collapsed.png and /dev/null differ
diff --git a/packages/ui/.snapshots/curriculum/curriculum.visual.tsx-chromium/curriculum-module-expanded.png b/packages/ui/.snapshots/curriculum/curriculum.visual.tsx-chromium/curriculum-module-expanded.png
deleted file mode 100644
index 9780a8a0..00000000
Binary files a/packages/ui/.snapshots/curriculum/curriculum.visual.tsx-chromium/curriculum-module-expanded.png and /dev/null differ
diff --git a/packages/ui/.snapshots/edge-label/edge-label.visual.tsx-chromium/edge-label-default.png b/packages/ui/.snapshots/edge-label/edge-label.visual.tsx-chromium/edge-label-default.png
deleted file mode 100644
index cb518b31..00000000
Binary files a/packages/ui/.snapshots/edge-label/edge-label.visual.tsx-chromium/edge-label-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/form/form.visual.tsx-chromium/form-invalid.png b/packages/ui/.snapshots/form/form.visual.tsx-chromium/form-invalid.png
deleted file mode 100644
index d9a75e38..00000000
Binary files a/packages/ui/.snapshots/form/form.visual.tsx-chromium/form-invalid.png and /dev/null differ
diff --git a/packages/ui/.snapshots/group-hull/group-hull.visual.tsx-chromium/group-hull-default.png b/packages/ui/.snapshots/group-hull/group-hull.visual.tsx-chromium/group-hull-default.png
deleted file mode 100644
index 5db3f264..00000000
Binary files a/packages/ui/.snapshots/group-hull/group-hull.visual.tsx-chromium/group-hull-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/linux/accordion/accordion.visual.tsx-chromium/accordion-default.png b/packages/ui/.snapshots/linux/accordion/accordion.visual.tsx-chromium/accordion-default.png
new file mode 100644
index 00000000..5f84d3f8
Binary files /dev/null and b/packages/ui/.snapshots/linux/accordion/accordion.visual.tsx-chromium/accordion-default.png differ
diff --git a/packages/ui/.snapshots/linux/activity-heatmap/activity-heatmap.visual.tsx-chromium/activity-heatmap-default.png b/packages/ui/.snapshots/linux/activity-heatmap/activity-heatmap.visual.tsx-chromium/activity-heatmap-default.png
new file mode 100644
index 00000000..c9f57bc7
Binary files /dev/null and b/packages/ui/.snapshots/linux/activity-heatmap/activity-heatmap.visual.tsx-chromium/activity-heatmap-default.png differ
diff --git a/packages/ui/.snapshots/linux/activity-log/activity-log.visual.tsx-chromium/activity-log-default.png b/packages/ui/.snapshots/linux/activity-log/activity-log.visual.tsx-chromium/activity-log-default.png
new file mode 100644
index 00000000..1fa19969
Binary files /dev/null and b/packages/ui/.snapshots/linux/activity-log/activity-log.visual.tsx-chromium/activity-log-default.png differ
diff --git a/packages/ui/.snapshots/linux/agent-activity/agent-activity.visual.tsx-chromium/agent-activity-default.png b/packages/ui/.snapshots/linux/agent-activity/agent-activity.visual.tsx-chromium/agent-activity-default.png
new file mode 100644
index 00000000..0463c5d7
Binary files /dev/null and b/packages/ui/.snapshots/linux/agent-activity/agent-activity.visual.tsx-chromium/agent-activity-default.png differ
diff --git a/packages/ui/.snapshots/linux/agent-activity/agent-activity.visual.tsx-chromium/agent-activity-error-state.png b/packages/ui/.snapshots/linux/agent-activity/agent-activity.visual.tsx-chromium/agent-activity-error-state.png
new file mode 100644
index 00000000..b1828ce9
Binary files /dev/null and b/packages/ui/.snapshots/linux/agent-activity/agent-activity.visual.tsx-chromium/agent-activity-error-state.png differ
diff --git a/packages/ui/.snapshots/linux/ai-artifact/ai-artifact.visual.tsx-chromium/ai-artifact-default.png b/packages/ui/.snapshots/linux/ai-artifact/ai-artifact.visual.tsx-chromium/ai-artifact-default.png
new file mode 100644
index 00000000..dcefce18
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-artifact/ai-artifact.visual.tsx-chromium/ai-artifact-default.png differ
diff --git a/packages/ui/.snapshots/linux/ai-artifact/ai-artifact.visual.tsx-chromium/ai-artifact-minimal.png b/packages/ui/.snapshots/linux/ai-artifact/ai-artifact.visual.tsx-chromium/ai-artifact-minimal.png
new file mode 100644
index 00000000..8e63735c
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-artifact/ai-artifact.visual.tsx-chromium/ai-artifact-minimal.png differ
diff --git a/packages/ui/.snapshots/linux/ai-chat-input/ai-chat-input.visual.tsx-chromium/ai-chat-input-default.png b/packages/ui/.snapshots/linux/ai-chat-input/ai-chat-input.visual.tsx-chromium/ai-chat-input-default.png
new file mode 100644
index 00000000..a6063910
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-chat-input/ai-chat-input.visual.tsx-chromium/ai-chat-input-default.png differ
diff --git a/packages/ui/.snapshots/linux/ai-message-bubble/ai-message-bubble.visual.tsx-chromium/ai-message-bubble-default.png b/packages/ui/.snapshots/linux/ai-message-bubble/ai-message-bubble.visual.tsx-chromium/ai-message-bubble-default.png
new file mode 100644
index 00000000..4a488378
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-message-bubble/ai-message-bubble.visual.tsx-chromium/ai-message-bubble-default.png differ
diff --git a/packages/ui/.snapshots/linux/ai-sidebar/ai-sidebar.visual.tsx-chromium/ai-sidebar-default-open.png b/packages/ui/.snapshots/linux/ai-sidebar/ai-sidebar.visual.tsx-chromium/ai-sidebar-default-open.png
new file mode 100644
index 00000000..684743ee
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-sidebar/ai-sidebar.visual.tsx-chromium/ai-sidebar-default-open.png differ
diff --git a/packages/ui/.snapshots/linux/ai-source-citation/ai-source-citation.visual.tsx-chromium/ai-source-citation-default.png b/packages/ui/.snapshots/linux/ai-source-citation/ai-source-citation.visual.tsx-chromium/ai-source-citation-default.png
new file mode 100644
index 00000000..b054c8b3
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-source-citation/ai-source-citation.visual.tsx-chromium/ai-source-citation-default.png differ
diff --git a/packages/ui/.snapshots/linux/ai-streaming-text/ai-streaming-text.visual.tsx-chromium/ai-streaming-text-default.png b/packages/ui/.snapshots/linux/ai-streaming-text/ai-streaming-text.visual.tsx-chromium/ai-streaming-text-default.png
new file mode 100644
index 00000000..690abe0f
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-streaming-text/ai-streaming-text.visual.tsx-chromium/ai-streaming-text-default.png differ
diff --git a/packages/ui/.snapshots/linux/ai-tool-call-display/ai-tool-call-display.visual.tsx-chromium/ai-tool-call-display-default.png b/packages/ui/.snapshots/linux/ai-tool-call-display/ai-tool-call-display.visual.tsx-chromium/ai-tool-call-display-default.png
new file mode 100644
index 00000000..eb964841
Binary files /dev/null and b/packages/ui/.snapshots/linux/ai-tool-call-display/ai-tool-call-display.visual.tsx-chromium/ai-tool-call-display-default.png differ
diff --git a/packages/ui/.snapshots/linux/alert-dialog/alert-dialog.visual.tsx-chromium/alert-dialog-default.png b/packages/ui/.snapshots/linux/alert-dialog/alert-dialog.visual.tsx-chromium/alert-dialog-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/alert-dialog/alert-dialog.visual.tsx-chromium/alert-dialog-default.png differ
diff --git a/packages/ui/.snapshots/linux/alert-pulse/alert-pulse.visual.tsx-chromium/alert-pulse-default.png b/packages/ui/.snapshots/linux/alert-pulse/alert-pulse.visual.tsx-chromium/alert-pulse-default.png
new file mode 100644
index 00000000..e8dc418d
Binary files /dev/null and b/packages/ui/.snapshots/linux/alert-pulse/alert-pulse.visual.tsx-chromium/alert-pulse-default.png differ
diff --git a/packages/ui/.snapshots/linux/alert/alert.visual.tsx-chromium/alert-default.png b/packages/ui/.snapshots/linux/alert/alert.visual.tsx-chromium/alert-default.png
new file mode 100644
index 00000000..45b4abb4
Binary files /dev/null and b/packages/ui/.snapshots/linux/alert/alert.visual.tsx-chromium/alert-default.png differ
diff --git a/packages/ui/.snapshots/linux/alert/alert.visual.tsx-chromium/alert-variant-destructive.png b/packages/ui/.snapshots/linux/alert/alert.visual.tsx-chromium/alert-variant-destructive.png
new file mode 100644
index 00000000..2c4238ae
Binary files /dev/null and b/packages/ui/.snapshots/linux/alert/alert.visual.tsx-chromium/alert-variant-destructive.png differ
diff --git a/packages/ui/.snapshots/linux/anchor-port/anchor-port.visual.tsx-chromium/anchor-port-default.png b/packages/ui/.snapshots/linux/anchor-port/anchor-port.visual.tsx-chromium/anchor-port-default.png
new file mode 100644
index 00000000..4a1a7ca8
Binary files /dev/null and b/packages/ui/.snapshots/linux/anchor-port/anchor-port.visual.tsx-chromium/anchor-port-default.png differ
diff --git a/packages/ui/.snapshots/linux/animated-text/animated-text.visual.tsx-chromium/animated-text-terminal.png b/packages/ui/.snapshots/linux/animated-text/animated-text.visual.tsx-chromium/animated-text-terminal.png
new file mode 100644
index 00000000..759618cd
Binary files /dev/null and b/packages/ui/.snapshots/linux/animated-text/animated-text.visual.tsx-chromium/animated-text-terminal.png differ
diff --git a/packages/ui/.snapshots/linux/annotation/annotation.visual.tsx-chromium/annotation-default.png b/packages/ui/.snapshots/linux/annotation/annotation.visual.tsx-chromium/annotation-default.png
new file mode 100644
index 00000000..b487b057
Binary files /dev/null and b/packages/ui/.snapshots/linux/annotation/annotation.visual.tsx-chromium/annotation-default.png differ
diff --git a/packages/ui/.snapshots/linux/aspect-ratio/aspect-ratio.visual.tsx-chromium/aspect-ratio-default.png b/packages/ui/.snapshots/linux/aspect-ratio/aspect-ratio.visual.tsx-chromium/aspect-ratio-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/aspect-ratio/aspect-ratio.visual.tsx-chromium/aspect-ratio-default.png differ
diff --git a/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-disabled.png b/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-disabled.png
new file mode 100644
index 00000000..4e7d669e
Binary files /dev/null and b/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-disabled.png differ
diff --git a/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-toggle-off.png b/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-toggle-off.png
new file mode 100644
index 00000000..0d57e0c3
Binary files /dev/null and b/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-toggle-off.png differ
diff --git a/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-toggle-on.png b/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-toggle-on.png
new file mode 100644
index 00000000..2c487ba9
Binary files /dev/null and b/packages/ui/.snapshots/linux/auto-reload/auto-reload.visual.tsx-chromium/auto-reload-toggle-on.png differ
diff --git a/packages/ui/.snapshots/linux/avatar-group/avatar-group.visual.tsx-chromium/avatar-group-default.png b/packages/ui/.snapshots/linux/avatar-group/avatar-group.visual.tsx-chromium/avatar-group-default.png
new file mode 100644
index 00000000..fb64ccd3
Binary files /dev/null and b/packages/ui/.snapshots/linux/avatar-group/avatar-group.visual.tsx-chromium/avatar-group-default.png differ
diff --git a/packages/ui/.snapshots/linux/avatar/avatar.visual.tsx-chromium/avatar-default.png b/packages/ui/.snapshots/linux/avatar/avatar.visual.tsx-chromium/avatar-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/avatar/avatar.visual.tsx-chromium/avatar-default.png differ
diff --git a/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-default.png b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-default.png
new file mode 100644
index 00000000..3dc319be
Binary files /dev/null and b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-default.png differ
diff --git a/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-destructive.png b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-destructive.png
new file mode 100644
index 00000000..fec5e31d
Binary files /dev/null and b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-destructive.png differ
diff --git a/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-outline.png b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-outline.png
new file mode 100644
index 00000000..1c68dcfb
Binary files /dev/null and b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-outline.png differ
diff --git a/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-secondary.png b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-secondary.png
new file mode 100644
index 00000000..e6670b12
Binary files /dev/null and b/packages/ui/.snapshots/linux/badge/badge.visual.tsx-chromium/badge-variant-secondary.png differ
diff --git a/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-default.png b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-default.png
new file mode 100644
index 00000000..87896645
Binary files /dev/null and b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-default.png differ
diff --git a/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-destructive.png b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-destructive.png
new file mode 100644
index 00000000..6875e0dd
Binary files /dev/null and b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-destructive.png differ
diff --git a/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-success.png b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-success.png
new file mode 100644
index 00000000..7d09c07d
Binary files /dev/null and b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-success.png differ
diff --git a/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-warning.png b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-warning.png
new file mode 100644
index 00000000..ba8f0397
Binary files /dev/null and b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-variant-warning.png differ
diff --git a/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-with-action.png b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-with-action.png
new file mode 100644
index 00000000..3fa81950
Binary files /dev/null and b/packages/ui/.snapshots/linux/banner/banner.visual.tsx-chromium/banner-with-action.png differ
diff --git a/packages/ui/.snapshots/linux/blog-card/blog-card.visual.tsx-chromium/blog-card-default.png b/packages/ui/.snapshots/linux/blog-card/blog-card.visual.tsx-chromium/blog-card-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/blog-card/blog-card.visual.tsx-chromium/blog-card-default.png differ
diff --git a/packages/ui/.snapshots/linux/border-beam/border-beam.visual.tsx-chromium/border-beam-default.png b/packages/ui/.snapshots/linux/border-beam/border-beam.visual.tsx-chromium/border-beam-default.png
new file mode 100644
index 00000000..e85f3862
Binary files /dev/null and b/packages/ui/.snapshots/linux/border-beam/border-beam.visual.tsx-chromium/border-beam-default.png differ
diff --git a/packages/ui/.snapshots/linux/bottom-activity-strip/bottom-activity-strip.visual.tsx-chromium/bottom-activity-strip-default.png b/packages/ui/.snapshots/linux/bottom-activity-strip/bottom-activity-strip.visual.tsx-chromium/bottom-activity-strip-default.png
new file mode 100644
index 00000000..5ebc28ab
Binary files /dev/null and b/packages/ui/.snapshots/linux/bottom-activity-strip/bottom-activity-strip.visual.tsx-chromium/bottom-activity-strip-default.png differ
diff --git a/packages/ui/.snapshots/linux/breadcrumb/breadcrumb.visual.tsx-chromium/breadcrumb-default.png b/packages/ui/.snapshots/linux/breadcrumb/breadcrumb.visual.tsx-chromium/breadcrumb-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/breadcrumb/breadcrumb.visual.tsx-chromium/breadcrumb-default.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-default.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-default.png
new file mode 100644
index 00000000..a19a676d
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-default.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-disabled.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-disabled.png
new file mode 100644
index 00000000..7d099550
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-disabled.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-focus-visible.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-focus-visible.png
new file mode 100644
index 00000000..38e88a54
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-focus-visible.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-icon.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-icon.png
new file mode 100644
index 00000000..3caec41e
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-icon.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-lg.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-lg.png
new file mode 100644
index 00000000..a5107af4
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-lg.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-sm.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-sm.png
new file mode 100644
index 00000000..710f2349
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-size-sm.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-destructive.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-destructive.png
new file mode 100644
index 00000000..a1111783
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-destructive.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-ghost.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-ghost.png
new file mode 100644
index 00000000..47743a5c
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-ghost.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-link.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-link.png
new file mode 100644
index 00000000..8ff03db4
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-link.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-outline.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-outline.png
new file mode 100644
index 00000000..b057caec
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-outline.png differ
diff --git a/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-secondary.png b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-secondary.png
new file mode 100644
index 00000000..90721975
Binary files /dev/null and b/packages/ui/.snapshots/linux/button/button.visual.tsx-chromium/button-variant-secondary.png differ
diff --git a/packages/ui/.snapshots/linux/calendar/calendar.visual.tsx-chromium/calendar-default.png b/packages/ui/.snapshots/linux/calendar/calendar.visual.tsx-chromium/calendar-default.png
new file mode 100644
index 00000000..e3286556
Binary files /dev/null and b/packages/ui/.snapshots/linux/calendar/calendar.visual.tsx-chromium/calendar-default.png differ
diff --git a/packages/ui/.snapshots/linux/callout/callout.visual.tsx-chromium/callout-default.png b/packages/ui/.snapshots/linux/callout/callout.visual.tsx-chromium/callout-default.png
new file mode 100644
index 00000000..971e82e0
Binary files /dev/null and b/packages/ui/.snapshots/linux/callout/callout.visual.tsx-chromium/callout-default.png differ
diff --git a/packages/ui/.snapshots/linux/candlestick-chart/candlestick-chart.visual.tsx-chromium/CandlestickChart-default-1.png b/packages/ui/.snapshots/linux/candlestick-chart/candlestick-chart.visual.tsx-chromium/CandlestickChart-default-1.png
new file mode 100644
index 00000000..ad0c1ad5
Binary files /dev/null and b/packages/ui/.snapshots/linux/candlestick-chart/candlestick-chart.visual.tsx-chromium/CandlestickChart-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/canvas-shell/canvas-shell.visual.tsx-chromium/canvas-shell-default.png b/packages/ui/.snapshots/linux/canvas-shell/canvas-shell.visual.tsx-chromium/canvas-shell-default.png
new file mode 100644
index 00000000..0f2f815d
Binary files /dev/null and b/packages/ui/.snapshots/linux/canvas-shell/canvas-shell.visual.tsx-chromium/canvas-shell-default.png differ
diff --git a/packages/ui/.snapshots/linux/card/card.visual.tsx-chromium/card-default.png b/packages/ui/.snapshots/linux/card/card.visual.tsx-chromium/card-default.png
new file mode 100644
index 00000000..39277296
Binary files /dev/null and b/packages/ui/.snapshots/linux/card/card.visual.tsx-chromium/card-default.png differ
diff --git a/packages/ui/.snapshots/linux/carousel/carousel.visual.tsx-chromium/carousel-default.png b/packages/ui/.snapshots/linux/carousel/carousel.visual.tsx-chromium/carousel-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/carousel/carousel.visual.tsx-chromium/carousel-default.png differ
diff --git a/packages/ui/.snapshots/linux/category-filter/category-filter.visual.tsx-chromium/category-filter-default.png b/packages/ui/.snapshots/linux/category-filter/category-filter.visual.tsx-chromium/category-filter-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/category-filter/category-filter.visual.tsx-chromium/category-filter-default.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-custom-color-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-custom-color-1.png
new file mode 100644
index 00000000..8b98d05c
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-custom-color-1.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-custom-dimensions-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-custom-dimensions-1.png
new file mode 100644
index 00000000..e87faf61
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-custom-dimensions-1.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-default-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-default-1.png
new file mode 100644
index 00000000..42d9afdf
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/AreaChart-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/BarChart-custom-dimensions-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/BarChart-custom-dimensions-1.png
new file mode 100644
index 00000000..3b2341c3
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/BarChart-custom-dimensions-1.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/BarChart-default-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/BarChart-default-1.png
new file mode 100644
index 00000000..22dc3040
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/BarChart-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-custom-color-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-custom-color-1.png
new file mode 100644
index 00000000..c70e5eae
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-custom-color-1.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-custom-dimensions-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-custom-dimensions-1.png
new file mode 100644
index 00000000..ac403ce1
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-custom-dimensions-1.png differ
diff --git a/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-default-1.png b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-default-1.png
new file mode 100644
index 00000000..2363cca1
Binary files /dev/null and b/packages/ui/.snapshots/linux/chart/chart.visual.tsx-chromium/LineChart-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/checkbox/checkbox.visual.tsx-chromium/checkbox-default.png b/packages/ui/.snapshots/linux/checkbox/checkbox.visual.tsx-chromium/checkbox-default.png
new file mode 100644
index 00000000..b00bd2bd
Binary files /dev/null and b/packages/ui/.snapshots/linux/checkbox/checkbox.visual.tsx-chromium/checkbox-default.png differ
diff --git a/packages/ui/.snapshots/linux/checklist/checklist.visual.tsx-chromium/checklist-default.png b/packages/ui/.snapshots/linux/checklist/checklist.visual.tsx-chromium/checklist-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/checklist/checklist.visual.tsx-chromium/checklist-default.png differ
diff --git a/packages/ui/.snapshots/linux/choropleth-map/choropleth-map.visual.tsx-chromium/choropleth-map-default.png b/packages/ui/.snapshots/linux/choropleth-map/choropleth-map.visual.tsx-chromium/choropleth-map-default.png
new file mode 100644
index 00000000..4164d557
Binary files /dev/null and b/packages/ui/.snapshots/linux/choropleth-map/choropleth-map.visual.tsx-chromium/choropleth-map-default.png differ
diff --git a/packages/ui/.snapshots/linux/chronological-timeline/chronological-timeline.visual.tsx-chromium/chronological-timeline-default.png b/packages/ui/.snapshots/linux/chronological-timeline/chronological-timeline.visual.tsx-chromium/chronological-timeline-default.png
new file mode 100644
index 00000000..56a348b4
Binary files /dev/null and b/packages/ui/.snapshots/linux/chronological-timeline/chronological-timeline.visual.tsx-chromium/chronological-timeline-default.png differ
diff --git a/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-comparison.png b/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-comparison.png
new file mode 100644
index 00000000..3afec4e3
Binary files /dev/null and b/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-comparison.png differ
diff --git a/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-default.png b/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-default.png
new file mode 100644
index 00000000..d7fd3820
Binary files /dev/null and b/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-default.png differ
diff --git a/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-minimal.png b/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-minimal.png
new file mode 100644
index 00000000..759ca1b9
Binary files /dev/null and b/packages/ui/.snapshots/linux/civilization-card/civilization-card.visual.tsx-chromium/civilization-card-minimal.png differ
diff --git a/packages/ui/.snapshots/linux/code-block/code-block.visual.tsx-chromium/code-block-default.png b/packages/ui/.snapshots/linux/code-block/code-block.visual.tsx-chromium/code-block-default.png
new file mode 100644
index 00000000..d2603322
Binary files /dev/null and b/packages/ui/.snapshots/linux/code-block/code-block.visual.tsx-chromium/code-block-default.png differ
diff --git a/packages/ui/.snapshots/linux/code-playground/code-playground.visual.tsx-chromium/code-playground-default.png b/packages/ui/.snapshots/linux/code-playground/code-playground.visual.tsx-chromium/code-playground-default.png
new file mode 100644
index 00000000..a295319b
Binary files /dev/null and b/packages/ui/.snapshots/linux/code-playground/code-playground.visual.tsx-chromium/code-playground-default.png differ
diff --git a/packages/ui/.snapshots/linux/collapsible/collapsible.visual.tsx-chromium/collapsible-default.png b/packages/ui/.snapshots/linux/collapsible/collapsible.visual.tsx-chromium/collapsible-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/collapsible/collapsible.visual.tsx-chromium/collapsible-default.png differ
diff --git a/packages/ui/.snapshots/linux/combobox/combobox.visual.tsx-chromium/combobox-default.png b/packages/ui/.snapshots/linux/combobox/combobox.visual.tsx-chromium/combobox-default.png
new file mode 100644
index 00000000..14c0faea
Binary files /dev/null and b/packages/ui/.snapshots/linux/combobox/combobox.visual.tsx-chromium/combobox-default.png differ
diff --git a/packages/ui/.snapshots/linux/command/command.visual.tsx-chromium/command-default.png b/packages/ui/.snapshots/linux/command/command.visual.tsx-chromium/command-default.png
new file mode 100644
index 00000000..e665389d
Binary files /dev/null and b/packages/ui/.snapshots/linux/command/command.visual.tsx-chromium/command-default.png differ
diff --git a/packages/ui/.snapshots/linux/comment-pin/comment-pin.visual.tsx-chromium/comment-pin-default.png b/packages/ui/.snapshots/linux/comment-pin/comment-pin.visual.tsx-chromium/comment-pin-default.png
new file mode 100644
index 00000000..c771aba3
Binary files /dev/null and b/packages/ui/.snapshots/linux/comment-pin/comment-pin.visual.tsx-chromium/comment-pin-default.png differ
diff --git a/packages/ui/.snapshots/linux/comparison/comparison.visual.tsx-chromium/comparison-default.png b/packages/ui/.snapshots/linux/comparison/comparison.visual.tsx-chromium/comparison-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/comparison/comparison.visual.tsx-chromium/comparison-default.png differ
diff --git a/packages/ui/.snapshots/linux/completion-dialog/completion-dialog.visual.tsx-chromium/completion-dialog-default.png b/packages/ui/.snapshots/linux/completion-dialog/completion-dialog.visual.tsx-chromium/completion-dialog-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/completion-dialog/completion-dialog.visual.tsx-chromium/completion-dialog-default.png differ
diff --git a/packages/ui/.snapshots/linux/connector-edge/connector-edge.visual.tsx-chromium/connector-edge-default.png b/packages/ui/.snapshots/linux/connector-edge/connector-edge.visual.tsx-chromium/connector-edge-default.png
new file mode 100644
index 00000000..8a025057
Binary files /dev/null and b/packages/ui/.snapshots/linux/connector-edge/connector-edge.visual.tsx-chromium/connector-edge-default.png differ
diff --git a/packages/ui/.snapshots/linux/content-intro/content-intro.visual.tsx-chromium/content-intro-default.png b/packages/ui/.snapshots/linux/content-intro/content-intro.visual.tsx-chromium/content-intro-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/content-intro/content-intro.visual.tsx-chromium/content-intro-default.png differ
diff --git a/packages/ui/.snapshots/linux/context-lens/context-lens.visual.tsx-chromium/context-lens-default.png b/packages/ui/.snapshots/linux/context-lens/context-lens.visual.tsx-chromium/context-lens-default.png
new file mode 100644
index 00000000..7238ae2a
Binary files /dev/null and b/packages/ui/.snapshots/linux/context-lens/context-lens.visual.tsx-chromium/context-lens-default.png differ
diff --git a/packages/ui/.snapshots/linux/context-menu/context-menu.visual.tsx-chromium/context-menu-default.png b/packages/ui/.snapshots/linux/context-menu/context-menu.visual.tsx-chromium/context-menu-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/context-menu/context-menu.visual.tsx-chromium/context-menu-default.png differ
diff --git a/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---empty-state-with-suggestions-1.png b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---empty-state-with-suggestions-1.png
new file mode 100644
index 00000000..80fec87d
Binary files /dev/null and b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---empty-state-with-suggestions-1.png differ
diff --git a/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---streaming-state-1.png b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---streaming-state-1.png
new file mode 100644
index 00000000..05393fc6
Binary files /dev/null and b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---streaming-state-1.png differ
diff --git a/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---tool-calls-1.png b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---tool-calls-1.png
new file mode 100644
index 00000000..19f800d0
Binary files /dev/null and b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---tool-calls-1.png differ
diff --git a/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---with-messages-1.png b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---with-messages-1.png
new file mode 100644
index 00000000..19f800d0
Binary files /dev/null and b/packages/ui/.snapshots/linux/conversation-thread/conversation-thread.visual.tsx-chromium/visual---with-messages-1.png differ
diff --git a/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-center-position-1.png b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-center-position-1.png
new file mode 100644
index 00000000..db515f04
Binary files /dev/null and b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-center-position-1.png differ
diff --git a/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-left-position-1.png b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-left-position-1.png
new file mode 100644
index 00000000..d8f520c5
Binary files /dev/null and b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-left-position-1.png differ
diff --git a/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-right-position-1.png b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-right-position-1.png
new file mode 100644
index 00000000..d8f520c5
Binary files /dev/null and b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-bottom-right-position-1.png differ
diff --git a/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-close-button-1.png b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-close-button-1.png
new file mode 100644
index 00000000..62c01281
Binary files /dev/null and b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-close-button-1.png differ
diff --git a/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-decline-button-1.png b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-decline-button-1.png
new file mode 100644
index 00000000..8531d646
Binary files /dev/null and b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-decline-button-1.png differ
diff --git a/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-settings-link-1.png b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-settings-link-1.png
new file mode 100644
index 00000000..800492d2
Binary files /dev/null and b/packages/ui/.snapshots/linux/cookie-consent/cookie-consent.visual.tsx-chromium/CookieConsent-with-settings-link-1.png differ
diff --git a/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-default.png b/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-default.png
new file mode 100644
index 00000000..6d707b72
Binary files /dev/null and b/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-default.png differ
diff --git a/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-variant-button.png b/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-variant-button.png
new file mode 100644
index 00000000..16a62945
Binary files /dev/null and b/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-variant-button.png differ
diff --git a/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-variant-inline.png b/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-variant-inline.png
new file mode 100644
index 00000000..381cc182
Binary files /dev/null and b/packages/ui/.snapshots/linux/copy-button/copy-button.visual.tsx-chromium/copy-button-variant-inline.png differ
diff --git a/packages/ui/.snapshots/linux/countdown-timer/countdown-timer.visual.tsx-chromium/countdown-timer-default.png b/packages/ui/.snapshots/linux/countdown-timer/countdown-timer.visual.tsx-chromium/countdown-timer-default.png
new file mode 100644
index 00000000..62928309
Binary files /dev/null and b/packages/ui/.snapshots/linux/countdown-timer/countdown-timer.visual.tsx-chromium/countdown-timer-default.png differ
diff --git a/packages/ui/.snapshots/linux/credit-badge/credit-badge.visual.tsx-chromium/credit-badge-healthy.png b/packages/ui/.snapshots/linux/credit-badge/credit-badge.visual.tsx-chromium/credit-badge-healthy.png
new file mode 100644
index 00000000..3b36d6c5
Binary files /dev/null and b/packages/ui/.snapshots/linux/credit-badge/credit-badge.visual.tsx-chromium/credit-badge-healthy.png differ
diff --git a/packages/ui/.snapshots/linux/credit-badge/credit-badge.visual.tsx-chromium/credit-badge-overdue.png b/packages/ui/.snapshots/linux/credit-badge/credit-badge.visual.tsx-chromium/credit-badge-overdue.png
new file mode 100644
index 00000000..6c79b48e
Binary files /dev/null and b/packages/ui/.snapshots/linux/credit-badge/credit-badge.visual.tsx-chromium/credit-badge-overdue.png differ
diff --git a/packages/ui/.snapshots/linux/curriculum/curriculum.visual.tsx-chromium/curriculum-default-collapsed.png b/packages/ui/.snapshots/linux/curriculum/curriculum.visual.tsx-chromium/curriculum-default-collapsed.png
new file mode 100644
index 00000000..64052fa7
Binary files /dev/null and b/packages/ui/.snapshots/linux/curriculum/curriculum.visual.tsx-chromium/curriculum-default-collapsed.png differ
diff --git a/packages/ui/.snapshots/linux/curriculum/curriculum.visual.tsx-chromium/curriculum-module-expanded.png b/packages/ui/.snapshots/linux/curriculum/curriculum.visual.tsx-chromium/curriculum-module-expanded.png
new file mode 100644
index 00000000..81430f4e
Binary files /dev/null and b/packages/ui/.snapshots/linux/curriculum/curriculum.visual.tsx-chromium/curriculum-module-expanded.png differ
diff --git a/packages/ui/.snapshots/linux/data-list/data-list.visual.tsx-chromium/data-list-default.png b/packages/ui/.snapshots/linux/data-list/data-list.visual.tsx-chromium/data-list-default.png
new file mode 100644
index 00000000..2f735499
Binary files /dev/null and b/packages/ui/.snapshots/linux/data-list/data-list.visual.tsx-chromium/data-list-default.png differ
diff --git a/packages/ui/.snapshots/linux/data-table/data-table.visual.tsx-chromium/data-table-default.png b/packages/ui/.snapshots/linux/data-table/data-table.visual.tsx-chromium/data-table-default.png
new file mode 100644
index 00000000..06576d4d
Binary files /dev/null and b/packages/ui/.snapshots/linux/data-table/data-table.visual.tsx-chromium/data-table-default.png differ
diff --git a/packages/ui/.snapshots/linux/date-picker/date-picker.visual.tsx-chromium/date-picker-default.png b/packages/ui/.snapshots/linux/date-picker/date-picker.visual.tsx-chromium/date-picker-default.png
new file mode 100644
index 00000000..d378fdf0
Binary files /dev/null and b/packages/ui/.snapshots/linux/date-picker/date-picker.visual.tsx-chromium/date-picker-default.png differ
diff --git a/packages/ui/.snapshots/linux/dialog/dialog.visual.tsx-chromium/dialog-default.png b/packages/ui/.snapshots/linux/dialog/dialog.visual.tsx-chromium/dialog-default.png
new file mode 100644
index 00000000..5051a11b
Binary files /dev/null and b/packages/ui/.snapshots/linux/dialog/dialog.visual.tsx-chromium/dialog-default.png differ
diff --git a/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-default.png b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-default.png
new file mode 100644
index 00000000..90d17ebc
Binary files /dev/null and b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-default.png differ
diff --git a/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-only-next.png b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-only-next.png
new file mode 100644
index 00000000..2168310e
Binary files /dev/null and b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-only-next.png differ
diff --git a/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-only-previous.png b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-only-previous.png
new file mode 100644
index 00000000..79a7c818
Binary files /dev/null and b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-only-previous.png differ
diff --git a/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-variant-compact.png b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-variant-compact.png
new file mode 100644
index 00000000..46b901ee
Binary files /dev/null and b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-variant-compact.png differ
diff --git a/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-variant-with-meta.png b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-variant-with-meta.png
new file mode 100644
index 00000000..7fc721f9
Binary files /dev/null and b/packages/ui/.snapshots/linux/document-sibling-nav/document-sibling-nav.visual.tsx-chromium/document-sibling-nav-variant-with-meta.png differ
diff --git a/packages/ui/.snapshots/linux/drawer/drawer.visual.tsx-chromium/drawer-default.png b/packages/ui/.snapshots/linux/drawer/drawer.visual.tsx-chromium/drawer-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/drawer/drawer.visual.tsx-chromium/drawer-default.png differ
diff --git a/packages/ui/.snapshots/linux/dropdown-menu/dropdown-menu.visual.tsx-chromium/dropdown-menu-default.png b/packages/ui/.snapshots/linux/dropdown-menu/dropdown-menu.visual.tsx-chromium/dropdown-menu-default.png
new file mode 100644
index 00000000..5051a11b
Binary files /dev/null and b/packages/ui/.snapshots/linux/dropdown-menu/dropdown-menu.visual.tsx-chromium/dropdown-menu-default.png differ
diff --git a/packages/ui/.snapshots/linux/edge-label/edge-label.visual.tsx-chromium/edge-label-default.png b/packages/ui/.snapshots/linux/edge-label/edge-label.visual.tsx-chromium/edge-label-default.png
new file mode 100644
index 00000000..203839e5
Binary files /dev/null and b/packages/ui/.snapshots/linux/edge-label/edge-label.visual.tsx-chromium/edge-label-default.png differ
diff --git a/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-default.png b/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-default.png
new file mode 100644
index 00000000..8cdca448
Binary files /dev/null and b/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-default.png differ
diff --git a/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-size-lg.png b/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-size-lg.png
new file mode 100644
index 00000000..ec5563cb
Binary files /dev/null and b/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-size-lg.png differ
diff --git a/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-size-sm.png b/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-size-sm.png
new file mode 100644
index 00000000..dbf672c8
Binary files /dev/null and b/packages/ui/.snapshots/linux/empty-state/empty-state.visual.tsx-chromium/empty-state-size-sm.png differ
diff --git a/packages/ui/.snapshots/linux/era-comparison/era-comparison.visual.tsx-chromium/era-comparison-default.png b/packages/ui/.snapshots/linux/era-comparison/era-comparison.visual.tsx-chromium/era-comparison-default.png
new file mode 100644
index 00000000..031b5be7
Binary files /dev/null and b/packages/ui/.snapshots/linux/era-comparison/era-comparison.visual.tsx-chromium/era-comparison-default.png differ
diff --git a/packages/ui/.snapshots/linux/exercise/exercise.visual.tsx-chromium/exercise-default.png b/packages/ui/.snapshots/linux/exercise/exercise.visual.tsx-chromium/exercise-default.png
new file mode 100644
index 00000000..a23d9296
Binary files /dev/null and b/packages/ui/.snapshots/linux/exercise/exercise.visual.tsx-chromium/exercise-default.png differ
diff --git a/packages/ui/.snapshots/linux/faq/faq.visual.tsx-chromium/faq-default.png b/packages/ui/.snapshots/linux/faq/faq.visual.tsx-chromium/faq-default.png
new file mode 100644
index 00000000..21621bf9
Binary files /dev/null and b/packages/ui/.snapshots/linux/faq/faq.visual.tsx-chromium/faq-default.png differ
diff --git a/packages/ui/.snapshots/linux/file-upload/file-upload.visual.tsx-chromium/file-upload-default.png b/packages/ui/.snapshots/linux/file-upload/file-upload.visual.tsx-chromium/file-upload-default.png
new file mode 100644
index 00000000..cc95e753
Binary files /dev/null and b/packages/ui/.snapshots/linux/file-upload/file-upload.visual.tsx-chromium/file-upload-default.png differ
diff --git a/packages/ui/.snapshots/linux/filter-bar/filter-bar.visual.tsx-chromium/filter-bar-default.png b/packages/ui/.snapshots/linux/filter-bar/filter-bar.visual.tsx-chromium/filter-bar-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/filter-bar/filter-bar.visual.tsx-chromium/filter-bar-default.png differ
diff --git a/packages/ui/.snapshots/linux/flashcard/flashcard.visual.tsx-chromium/flashcard-default.png b/packages/ui/.snapshots/linux/flashcard/flashcard.visual.tsx-chromium/flashcard-default.png
new file mode 100644
index 00000000..2157e6ff
Binary files /dev/null and b/packages/ui/.snapshots/linux/flashcard/flashcard.visual.tsx-chromium/flashcard-default.png differ
diff --git a/packages/ui/.snapshots/linux/floating-action-button/floating-action-button.visual.tsx-chromium/floating-action-button-default.png b/packages/ui/.snapshots/linux/floating-action-button/floating-action-button.visual.tsx-chromium/floating-action-button-default.png
new file mode 100644
index 00000000..57e5a7ef
Binary files /dev/null and b/packages/ui/.snapshots/linux/floating-action-button/floating-action-button.visual.tsx-chromium/floating-action-button-default.png differ
diff --git a/packages/ui/.snapshots/linux/floating-toolbar/floating-toolbar.visual.tsx-chromium/floating-toolbar-default.png b/packages/ui/.snapshots/linux/floating-toolbar/floating-toolbar.visual.tsx-chromium/floating-toolbar-default.png
new file mode 100644
index 00000000..9157bac5
Binary files /dev/null and b/packages/ui/.snapshots/linux/floating-toolbar/floating-toolbar.visual.tsx-chromium/floating-toolbar-default.png differ
diff --git a/packages/ui/.snapshots/linux/flow-diagram/flow-diagram.visual.tsx-chromium/flow-diagram-default.png b/packages/ui/.snapshots/linux/flow-diagram/flow-diagram.visual.tsx-chromium/flow-diagram-default.png
new file mode 100644
index 00000000..72badbea
Binary files /dev/null and b/packages/ui/.snapshots/linux/flow-diagram/flow-diagram.visual.tsx-chromium/flow-diagram-default.png differ
diff --git a/packages/ui/.snapshots/linux/follow-mode/follow-mode.visual.tsx-chromium/follow-mode-default.png b/packages/ui/.snapshots/linux/follow-mode/follow-mode.visual.tsx-chromium/follow-mode-default.png
new file mode 100644
index 00000000..acb9cc2d
Binary files /dev/null and b/packages/ui/.snapshots/linux/follow-mode/follow-mode.visual.tsx-chromium/follow-mode-default.png differ
diff --git a/packages/ui/.snapshots/linux/form/form.visual.tsx-chromium/form-invalid.png b/packages/ui/.snapshots/linux/form/form.visual.tsx-chromium/form-invalid.png
new file mode 100644
index 00000000..40db18da
Binary files /dev/null and b/packages/ui/.snapshots/linux/form/form.visual.tsx-chromium/form-invalid.png differ
diff --git a/packages/ui/.snapshots/linux/gantt-chart/gantt-chart.visual.tsx-chromium/gantt-chart-default.png b/packages/ui/.snapshots/linux/gantt-chart/gantt-chart.visual.tsx-chromium/gantt-chart-default.png
new file mode 100644
index 00000000..a090fab5
Binary files /dev/null and b/packages/ui/.snapshots/linux/gantt-chart/gantt-chart.visual.tsx-chromium/gantt-chart-default.png differ
diff --git a/packages/ui/.snapshots/linux/geography-quiz-map/geography-quiz-map.visual.tsx-chromium/geography-quiz-map-default.png b/packages/ui/.snapshots/linux/geography-quiz-map/geography-quiz-map.visual.tsx-chromium/geography-quiz-map-default.png
new file mode 100644
index 00000000..51ace657
Binary files /dev/null and b/packages/ui/.snapshots/linux/geography-quiz-map/geography-quiz-map.visual.tsx-chromium/geography-quiz-map-default.png differ
diff --git a/packages/ui/.snapshots/linux/globe-3d/globe-3d.visual.tsx-chromium/globe-3d-default.png b/packages/ui/.snapshots/linux/globe-3d/globe-3d.visual.tsx-chromium/globe-3d-default.png
new file mode 100644
index 00000000..1e49bd78
Binary files /dev/null and b/packages/ui/.snapshots/linux/globe-3d/globe-3d.visual.tsx-chromium/globe-3d-default.png differ
diff --git a/packages/ui/.snapshots/linux/group-hull/group-hull.visual.tsx-chromium/group-hull-default.png b/packages/ui/.snapshots/linux/group-hull/group-hull.visual.tsx-chromium/group-hull-default.png
new file mode 100644
index 00000000..de06c79c
Binary files /dev/null and b/packages/ui/.snapshots/linux/group-hull/group-hull.visual.tsx-chromium/group-hull-default.png differ
diff --git a/packages/ui/.snapshots/linux/handoff-beacon/handoff-beacon.visual.tsx-chromium/handoff-beacon-default.png b/packages/ui/.snapshots/linux/handoff-beacon/handoff-beacon.visual.tsx-chromium/handoff-beacon-default.png
new file mode 100644
index 00000000..2d3fd6e4
Binary files /dev/null and b/packages/ui/.snapshots/linux/handoff-beacon/handoff-beacon.visual.tsx-chromium/handoff-beacon-default.png differ
diff --git a/packages/ui/.snapshots/linux/heat-map-overlay/heat-map-overlay.visual.tsx-chromium/heat-map-overlay-default.png b/packages/ui/.snapshots/linux/heat-map-overlay/heat-map-overlay.visual.tsx-chromium/heat-map-overlay-default.png
new file mode 100644
index 00000000..94e1f197
Binary files /dev/null and b/packages/ui/.snapshots/linux/heat-map-overlay/heat-map-overlay.visual.tsx-chromium/heat-map-overlay-default.png differ
diff --git a/packages/ui/.snapshots/linux/heat-overlay/heat-overlay.visual.tsx-chromium/heat-overlay-default.png b/packages/ui/.snapshots/linux/heat-overlay/heat-overlay.visual.tsx-chromium/heat-overlay-default.png
new file mode 100644
index 00000000..305757de
Binary files /dev/null and b/packages/ui/.snapshots/linux/heat-overlay/heat-overlay.visual.tsx-chromium/heat-overlay-default.png differ
diff --git a/packages/ui/.snapshots/linux/historic-timeline/historic-timeline.visual.tsx-chromium/historic-timeline-default.png b/packages/ui/.snapshots/linux/historic-timeline/historic-timeline.visual.tsx-chromium/historic-timeline-default.png
new file mode 100644
index 00000000..019c9026
Binary files /dev/null and b/packages/ui/.snapshots/linux/historic-timeline/historic-timeline.visual.tsx-chromium/historic-timeline-default.png differ
diff --git a/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-default.png b/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-default.png
new file mode 100644
index 00000000..b7043a61
Binary files /dev/null and b/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-default.png differ
diff --git a/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-minimal.png b/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-minimal.png
new file mode 100644
index 00000000..954bbf63
Binary files /dev/null and b/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-minimal.png differ
diff --git a/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-with-connections.png b/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-with-connections.png
new file mode 100644
index 00000000..18376d03
Binary files /dev/null and b/packages/ui/.snapshots/linux/historical-figure-card/historical-figure-card.visual.tsx-chromium/historical-figure-card-with-connections.png differ
diff --git a/packages/ui/.snapshots/linux/hover-card/hover-card.visual.tsx-chromium/hover-card-default.png b/packages/ui/.snapshots/linux/hover-card/hover-card.visual.tsx-chromium/hover-card-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/hover-card/hover-card.visual.tsx-chromium/hover-card-default.png differ
diff --git a/packages/ui/.snapshots/linux/infinite-plane/infinite-plane.visual.tsx-chromium/infinite-plane-default.png b/packages/ui/.snapshots/linux/infinite-plane/infinite-plane.visual.tsx-chromium/infinite-plane-default.png
new file mode 100644
index 00000000..95e98f21
Binary files /dev/null and b/packages/ui/.snapshots/linux/infinite-plane/infinite-plane.visual.tsx-chromium/infinite-plane-default.png differ
diff --git a/packages/ui/.snapshots/linux/inline-input/inline-input.visual.tsx-chromium/inline-input-default.png b/packages/ui/.snapshots/linux/inline-input/inline-input.visual.tsx-chromium/inline-input-default.png
new file mode 100644
index 00000000..33dd8ec4
Binary files /dev/null and b/packages/ui/.snapshots/linux/inline-input/inline-input.visual.tsx-chromium/inline-input-default.png differ
diff --git a/packages/ui/.snapshots/linux/input-otp/input-otp.visual.tsx-chromium/input-otp-default.png b/packages/ui/.snapshots/linux/input-otp/input-otp.visual.tsx-chromium/input-otp-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/input-otp/input-otp.visual.tsx-chromium/input-otp-default.png differ
diff --git a/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-default.png b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-default.png
new file mode 100644
index 00000000..2ba86d49
Binary files /dev/null and b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-default.png differ
diff --git a/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-disabled.png b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-disabled.png
new file mode 100644
index 00000000..394102f7
Binary files /dev/null and b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-disabled.png differ
diff --git a/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-focus.png b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-focus.png
new file mode 100644
index 00000000..dac19baa
Binary files /dev/null and b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-focus.png differ
diff --git a/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-with-value.png b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-with-value.png
new file mode 100644
index 00000000..9651c676
Binary files /dev/null and b/packages/ui/.snapshots/linux/input/input.visual.tsx-chromium/input-with-value.png differ
diff --git a/packages/ui/.snapshots/linux/interactive-timeline/interactive-timeline.visual.tsx-chromium/interactive-timeline-default.png b/packages/ui/.snapshots/linux/interactive-timeline/interactive-timeline.visual.tsx-chromium/interactive-timeline-default.png
new file mode 100644
index 00000000..e4cfdb9a
Binary files /dev/null and b/packages/ui/.snapshots/linux/interactive-timeline/interactive-timeline.visual.tsx-chromium/interactive-timeline-default.png differ
diff --git a/packages/ui/.snapshots/linux/jarvis-dock/jarvis-dock.visual.tsx-chromium/jarvis-dock-default.png b/packages/ui/.snapshots/linux/jarvis-dock/jarvis-dock.visual.tsx-chromium/jarvis-dock-default.png
new file mode 100644
index 00000000..75609c1f
Binary files /dev/null and b/packages/ui/.snapshots/linux/jarvis-dock/jarvis-dock.visual.tsx-chromium/jarvis-dock-default.png differ
diff --git a/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-default.png b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-default.png
new file mode 100644
index 00000000..3419f9a6
Binary files /dev/null and b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-default.png differ
diff --git a/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-shortcut.png b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-shortcut.png
new file mode 100644
index 00000000..332dae2b
Binary files /dev/null and b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-shortcut.png differ
diff --git a/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-size-lg.png b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-size-lg.png
new file mode 100644
index 00000000..78600f4d
Binary files /dev/null and b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-size-lg.png differ
diff --git a/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-size-sm.png b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-size-sm.png
new file mode 100644
index 00000000..b6f8633c
Binary files /dev/null and b/packages/ui/.snapshots/linux/kbd/kbd.visual.tsx-chromium/kbd-size-sm.png differ
diff --git a/packages/ui/.snapshots/linux/key-concept/key-concept.visual.tsx-chromium/key-concept-default.png b/packages/ui/.snapshots/linux/key-concept/key-concept.visual.tsx-chromium/key-concept-default.png
new file mode 100644
index 00000000..e29fd2bf
Binary files /dev/null and b/packages/ui/.snapshots/linux/key-concept/key-concept.visual.tsx-chromium/key-concept-default.png differ
diff --git a/packages/ui/.snapshots/linux/keyboard-shortcuts-help/keyboard-shortcuts-help.visual.tsx-chromium/keyboard-shortcuts-help-default.png b/packages/ui/.snapshots/linux/keyboard-shortcuts-help/keyboard-shortcuts-help.visual.tsx-chromium/keyboard-shortcuts-help-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/keyboard-shortcuts-help/keyboard-shortcuts-help.visual.tsx-chromium/keyboard-shortcuts-help-default.png differ
diff --git a/packages/ui/.snapshots/linux/knowledge-check/knowledge-check.visual.tsx-chromium/knowledge-check-default.png b/packages/ui/.snapshots/linux/knowledge-check/knowledge-check.visual.tsx-chromium/knowledge-check-default.png
new file mode 100644
index 00000000..548c4226
Binary files /dev/null and b/packages/ui/.snapshots/linux/knowledge-check/knowledge-check.visual.tsx-chromium/knowledge-check-default.png differ
diff --git a/packages/ui/.snapshots/linux/label/label.visual.tsx-chromium/label-default.png b/packages/ui/.snapshots/linux/label/label.visual.tsx-chromium/label-default.png
new file mode 100644
index 00000000..698f57e3
Binary files /dev/null and b/packages/ui/.snapshots/linux/label/label.visual.tsx-chromium/label-default.png differ
diff --git a/packages/ui/.snapshots/linux/lang-provider/lang-provider.visual.tsx-chromium/lang-provider-default.png b/packages/ui/.snapshots/linux/lang-provider/lang-provider.visual.tsx-chromium/lang-provider-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/lang-provider/lang-provider.visual.tsx-chromium/lang-provider-default.png differ
diff --git a/packages/ui/.snapshots/linux/learning-objectives/learning-objectives.visual.tsx-chromium/learning-objectives-default.png b/packages/ui/.snapshots/linux/learning-objectives/learning-objectives.visual.tsx-chromium/learning-objectives-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/learning-objectives/learning-objectives.visual.tsx-chromium/learning-objectives-default.png differ
diff --git a/packages/ui/.snapshots/linux/live-cursor/live-cursor.visual.tsx-chromium/live-cursor-default.png b/packages/ui/.snapshots/linux/live-cursor/live-cursor.visual.tsx-chromium/live-cursor-default.png
new file mode 100644
index 00000000..8ec424a2
Binary files /dev/null and b/packages/ui/.snapshots/linux/live-cursor/live-cursor.visual.tsx-chromium/live-cursor-default.png differ
diff --git a/packages/ui/.snapshots/linux/live-feed/live-feed.visual.tsx-chromium/live-feed-default.png b/packages/ui/.snapshots/linux/live-feed/live-feed.visual.tsx-chromium/live-feed-default.png
new file mode 100644
index 00000000..f27d46c6
Binary files /dev/null and b/packages/ui/.snapshots/linux/live-feed/live-feed.visual.tsx-chromium/live-feed-default.png differ
diff --git a/packages/ui/.snapshots/linux/map-2d/map-2d.visual.tsx-chromium/map-2d-default.png b/packages/ui/.snapshots/linux/map-2d/map-2d.visual.tsx-chromium/map-2d-default.png
new file mode 100644
index 00000000..5aada307
Binary files /dev/null and b/packages/ui/.snapshots/linux/map-2d/map-2d.visual.tsx-chromium/map-2d-default.png differ
diff --git a/packages/ui/.snapshots/linux/map-timeline/map-timeline.visual.tsx-chromium/map-timeline-default.png b/packages/ui/.snapshots/linux/map-timeline/map-timeline.visual.tsx-chromium/map-timeline-default.png
new file mode 100644
index 00000000..94e2dae2
Binary files /dev/null and b/packages/ui/.snapshots/linux/map-timeline/map-timeline.visual.tsx-chromium/map-timeline-default.png differ
diff --git a/packages/ui/.snapshots/linux/market-treemap/market-treemap.visual.tsx-chromium/MarketTreemap-default-1.png b/packages/ui/.snapshots/linux/market-treemap/market-treemap.visual.tsx-chromium/MarketTreemap-default-1.png
new file mode 100644
index 00000000..2d1cb656
Binary files /dev/null and b/packages/ui/.snapshots/linux/market-treemap/market-treemap.visual.tsx-chromium/MarketTreemap-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/marquee/marquee.visual.tsx-chromium/marquee-default.png b/packages/ui/.snapshots/linux/marquee/marquee.visual.tsx-chromium/marquee-default.png
new file mode 100644
index 00000000..e89e3a5d
Binary files /dev/null and b/packages/ui/.snapshots/linux/marquee/marquee.visual.tsx-chromium/marquee-default.png differ
diff --git a/packages/ui/.snapshots/linux/menubar/menubar.visual.tsx-chromium/menubar-default.png b/packages/ui/.snapshots/linux/menubar/menubar.visual.tsx-chromium/menubar-default.png
new file mode 100644
index 00000000..5637a504
Binary files /dev/null and b/packages/ui/.snapshots/linux/menubar/menubar.visual.tsx-chromium/menubar-default.png differ
diff --git a/packages/ui/.snapshots/linux/metric-cluster/metric-cluster.visual.tsx-chromium/metric-cluster-default.png b/packages/ui/.snapshots/linux/metric-cluster/metric-cluster.visual.tsx-chromium/metric-cluster-default.png
new file mode 100644
index 00000000..9687ad40
Binary files /dev/null and b/packages/ui/.snapshots/linux/metric-cluster/metric-cluster.visual.tsx-chromium/metric-cluster-default.png differ
diff --git a/packages/ui/.snapshots/linux/metric-gauge/metric-gauge.visual.tsx-chromium/metric-gauge-default.png b/packages/ui/.snapshots/linux/metric-gauge/metric-gauge.visual.tsx-chromium/metric-gauge-default.png
new file mode 100644
index 00000000..3b383570
Binary files /dev/null and b/packages/ui/.snapshots/linux/metric-gauge/metric-gauge.visual.tsx-chromium/metric-gauge-default.png differ
diff --git a/packages/ui/.snapshots/linux/mini-map-panel/mini-map-panel.visual.tsx-chromium/mini-map-panel-default.png b/packages/ui/.snapshots/linux/mini-map-panel/mini-map-panel.visual.tsx-chromium/mini-map-panel-default.png
new file mode 100644
index 00000000..5460fe51
Binary files /dev/null and b/packages/ui/.snapshots/linux/mini-map-panel/mini-map-panel.visual.tsx-chromium/mini-map-panel-default.png differ
diff --git a/packages/ui/.snapshots/linux/model-comparison/model-comparison.visual.tsx-chromium/model-comparison-default.png b/packages/ui/.snapshots/linux/model-comparison/model-comparison.visual.tsx-chromium/model-comparison-default.png
new file mode 100644
index 00000000..9ff7eb9c
Binary files /dev/null and b/packages/ui/.snapshots/linux/model-comparison/model-comparison.visual.tsx-chromium/model-comparison-default.png differ
diff --git a/packages/ui/.snapshots/linux/model-selector/model-selector.visual.tsx-chromium/model-selector-default.png b/packages/ui/.snapshots/linux/model-selector/model-selector.visual.tsx-chromium/model-selector-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/model-selector/model-selector.visual.tsx-chromium/model-selector-default.png differ
diff --git a/packages/ui/.snapshots/linux/multi-select-lasso/multi-select-lasso.visual.tsx-chromium/multi-select-lasso-default.png b/packages/ui/.snapshots/linux/multi-select-lasso/multi-select-lasso.visual.tsx-chromium/multi-select-lasso-default.png
new file mode 100644
index 00000000..45b0dd52
Binary files /dev/null and b/packages/ui/.snapshots/linux/multi-select-lasso/multi-select-lasso.visual.tsx-chromium/multi-select-lasso-default.png differ
diff --git a/packages/ui/.snapshots/linux/multi-select/multi-select.visual.tsx-chromium/multi-select-selected-values.png b/packages/ui/.snapshots/linux/multi-select/multi-select.visual.tsx-chromium/multi-select-selected-values.png
new file mode 100644
index 00000000..167c18f0
Binary files /dev/null and b/packages/ui/.snapshots/linux/multi-select/multi-select.visual.tsx-chromium/multi-select-selected-values.png differ
diff --git a/packages/ui/.snapshots/linux/navbar-saas/navbar-saas.visual.tsx-chromium/navbar-saas-default.png b/packages/ui/.snapshots/linux/navbar-saas/navbar-saas.visual.tsx-chromium/navbar-saas-default.png
new file mode 100644
index 00000000..4651b6fb
Binary files /dev/null and b/packages/ui/.snapshots/linux/navbar-saas/navbar-saas.visual.tsx-chromium/navbar-saas-default.png differ
diff --git a/packages/ui/.snapshots/linux/navigation-menu/navigation-menu.visual.tsx-chromium/navigation-menu-default.png b/packages/ui/.snapshots/linux/navigation-menu/navigation-menu.visual.tsx-chromium/navigation-menu-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/navigation-menu/navigation-menu.visual.tsx-chromium/navigation-menu-default.png differ
diff --git a/packages/ui/.snapshots/linux/newsletter-signup/newsletter-signup.visual.tsx-chromium/newsletter-signup-idle-inline.png b/packages/ui/.snapshots/linux/newsletter-signup/newsletter-signup.visual.tsx-chromium/newsletter-signup-idle-inline.png
new file mode 100644
index 00000000..52a0f34f
Binary files /dev/null and b/packages/ui/.snapshots/linux/newsletter-signup/newsletter-signup.visual.tsx-chromium/newsletter-signup-idle-inline.png differ
diff --git a/packages/ui/.snapshots/linux/newsletter-signup/newsletter-signup.visual.tsx-chromium/newsletter-signup-idle-stacked.png b/packages/ui/.snapshots/linux/newsletter-signup/newsletter-signup.visual.tsx-chromium/newsletter-signup-idle-stacked.png
new file mode 100644
index 00000000..38915453
Binary files /dev/null and b/packages/ui/.snapshots/linux/newsletter-signup/newsletter-signup.visual.tsx-chromium/newsletter-signup-idle-stacked.png differ
diff --git a/packages/ui/.snapshots/linux/number-input/number-input.visual.tsx-chromium/number-input-default.png b/packages/ui/.snapshots/linux/number-input/number-input.visual.tsx-chromium/number-input-default.png
new file mode 100644
index 00000000..0e409ff0
Binary files /dev/null and b/packages/ui/.snapshots/linux/number-input/number-input.visual.tsx-chromium/number-input-default.png differ
diff --git a/packages/ui/.snapshots/linux/number-ticker/number-ticker.visual.tsx-chromium/number-ticker-default.png b/packages/ui/.snapshots/linux/number-ticker/number-ticker.visual.tsx-chromium/number-ticker-default.png
new file mode 100644
index 00000000..cd04e4f9
Binary files /dev/null and b/packages/ui/.snapshots/linux/number-ticker/number-ticker.visual.tsx-chromium/number-ticker-default.png differ
diff --git a/packages/ui/.snapshots/linux/object-card/object-card.visual.tsx-chromium/object-card-default.png b/packages/ui/.snapshots/linux/object-card/object-card.visual.tsx-chromium/object-card-default.png
new file mode 100644
index 00000000..b2b7974c
Binary files /dev/null and b/packages/ui/.snapshots/linux/object-card/object-card.visual.tsx-chromium/object-card-default.png differ
diff --git a/packages/ui/.snapshots/segmented-control/segmented-control.visual.tsx-chromium/segmented-control-controlled-selection.png b/packages/ui/.snapshots/linux/object-handle/object-handle.visual.tsx-chromium/object-handle-default.png
similarity index 51%
rename from packages/ui/.snapshots/segmented-control/segmented-control.visual.tsx-chromium/segmented-control-controlled-selection.png
rename to packages/ui/.snapshots/linux/object-handle/object-handle.visual.tsx-chromium/object-handle-default.png
index aca4a2f2..360af2e2 100644
Binary files a/packages/ui/.snapshots/segmented-control/segmented-control.visual.tsx-chromium/segmented-control-controlled-selection.png and b/packages/ui/.snapshots/linux/object-handle/object-handle.visual.tsx-chromium/object-handle-default.png differ
diff --git a/packages/ui/.snapshots/linux/object-inspector/object-inspector.visual.tsx-chromium/object-inspector-default.png b/packages/ui/.snapshots/linux/object-inspector/object-inspector.visual.tsx-chromium/object-inspector-default.png
new file mode 100644
index 00000000..6d8f85fe
Binary files /dev/null and b/packages/ui/.snapshots/linux/object-inspector/object-inspector.visual.tsx-chromium/object-inspector-default.png differ
diff --git a/packages/ui/.snapshots/linux/order-book/order-book.visual.tsx-chromium/OrderBook-default-1.png b/packages/ui/.snapshots/linux/order-book/order-book.visual.tsx-chromium/OrderBook-default-1.png
new file mode 100644
index 00000000..8c7a52f8
Binary files /dev/null and b/packages/ui/.snapshots/linux/order-book/order-book.visual.tsx-chromium/OrderBook-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/pagination/pagination.visual.tsx-chromium/pagination-default.png b/packages/ui/.snapshots/linux/pagination/pagination.visual.tsx-chromium/pagination-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/pagination/pagination.visual.tsx-chromium/pagination-default.png differ
diff --git a/packages/ui/.snapshots/linux/parallel-timeline/parallel-timeline.visual.tsx-chromium/parallel-timeline-default.png b/packages/ui/.snapshots/linux/parallel-timeline/parallel-timeline.visual.tsx-chromium/parallel-timeline-default.png
new file mode 100644
index 00000000..afb760ab
Binary files /dev/null and b/packages/ui/.snapshots/linux/parallel-timeline/parallel-timeline.visual.tsx-chromium/parallel-timeline-default.png differ
diff --git a/packages/ui/.snapshots/linux/password-input/password-input.visual.tsx-chromium/password-input-default.png b/packages/ui/.snapshots/linux/password-input/password-input.visual.tsx-chromium/password-input-default.png
new file mode 100644
index 00000000..6e84cd69
Binary files /dev/null and b/packages/ui/.snapshots/linux/password-input/password-input.visual.tsx-chromium/password-input-default.png differ
diff --git a/packages/ui/.snapshots/linux/plan-badge/plan-badge.visual.tsx-chromium/plan-badge-default.png b/packages/ui/.snapshots/linux/plan-badge/plan-badge.visual.tsx-chromium/plan-badge-default.png
new file mode 100644
index 00000000..0a867cf1
Binary files /dev/null and b/packages/ui/.snapshots/linux/plan-badge/plan-badge.visual.tsx-chromium/plan-badge-default.png differ
diff --git a/packages/ui/.snapshots/linux/plan-badge/plan-badge.visual.tsx-chromium/plan-badge-trial.png b/packages/ui/.snapshots/linux/plan-badge/plan-badge.visual.tsx-chromium/plan-badge-trial.png
new file mode 100644
index 00000000..d637706a
Binary files /dev/null and b/packages/ui/.snapshots/linux/plan-badge/plan-badge.visual.tsx-chromium/plan-badge-trial.png differ
diff --git a/packages/ui/.snapshots/linux/playback-ghost/playback-ghost.visual.tsx-chromium/playback-ghost-default.png b/packages/ui/.snapshots/linux/playback-ghost/playback-ghost.visual.tsx-chromium/playback-ghost-default.png
new file mode 100644
index 00000000..74509b37
Binary files /dev/null and b/packages/ui/.snapshots/linux/playback-ghost/playback-ghost.visual.tsx-chromium/playback-ghost-default.png differ
diff --git a/packages/ui/.snapshots/linux/policy-delivery-panel/policy-delivery-panel.visual.tsx-chromium/policy-delivery-panel-default.png b/packages/ui/.snapshots/linux/policy-delivery-panel/policy-delivery-panel.visual.tsx-chromium/policy-delivery-panel-default.png
new file mode 100644
index 00000000..c64d6839
Binary files /dev/null and b/packages/ui/.snapshots/linux/policy-delivery-panel/policy-delivery-panel.visual.tsx-chromium/policy-delivery-panel-default.png differ
diff --git a/packages/ui/.snapshots/linux/popover/popover.visual.tsx-chromium/popover-default.png b/packages/ui/.snapshots/linux/popover/popover.visual.tsx-chromium/popover-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/popover/popover.visual.tsx-chromium/popover-default.png differ
diff --git a/packages/ui/.snapshots/linux/presence-stack/presence-stack.visual.tsx-chromium/presence-stack-default.png b/packages/ui/.snapshots/linux/presence-stack/presence-stack.visual.tsx-chromium/presence-stack-default.png
new file mode 100644
index 00000000..ad146f3f
Binary files /dev/null and b/packages/ui/.snapshots/linux/presence-stack/presence-stack.visual.tsx-chromium/presence-stack-default.png differ
diff --git a/packages/ui/.snapshots/linux/presence-sync-indicator/presence-sync-indicator.visual.tsx-chromium/presence-sync-indicator-default.png b/packages/ui/.snapshots/linux/presence-sync-indicator/presence-sync-indicator.visual.tsx-chromium/presence-sync-indicator-default.png
new file mode 100644
index 00000000..a67b0cef
Binary files /dev/null and b/packages/ui/.snapshots/linux/presence-sync-indicator/presence-sync-indicator.visual.tsx-chromium/presence-sync-indicator-default.png differ
diff --git a/packages/ui/.snapshots/linux/pricing-table/pricing-table.visual.tsx-chromium/pricing-table-default.png b/packages/ui/.snapshots/linux/pricing-table/pricing-table.visual.tsx-chromium/pricing-table-default.png
new file mode 100644
index 00000000..ac4be00a
Binary files /dev/null and b/packages/ui/.snapshots/linux/pricing-table/pricing-table.visual.tsx-chromium/pricing-table-default.png differ
diff --git a/packages/ui/.snapshots/linux/pricing-table/pricing-table.visual.tsx-chromium/pricing-table-with-toggle.png b/packages/ui/.snapshots/linux/pricing-table/pricing-table.visual.tsx-chromium/pricing-table-with-toggle.png
new file mode 100644
index 00000000..044ea0f1
Binary files /dev/null and b/packages/ui/.snapshots/linux/pricing-table/pricing-table.visual.tsx-chromium/pricing-table-with-toggle.png differ
diff --git a/packages/ui/.snapshots/linux/primary-source-viewer/primary-source-viewer.visual.tsx-chromium/primary-source-viewer-default.png b/packages/ui/.snapshots/linux/primary-source-viewer/primary-source-viewer.visual.tsx-chromium/primary-source-viewer-default.png
new file mode 100644
index 00000000..7d1ad0d5
Binary files /dev/null and b/packages/ui/.snapshots/linux/primary-source-viewer/primary-source-viewer.visual.tsx-chromium/primary-source-viewer-default.png differ
diff --git a/packages/ui/.snapshots/linux/pro-tip/pro-tip.visual.tsx-chromium/pro-tip-default.png b/packages/ui/.snapshots/linux/pro-tip/pro-tip.visual.tsx-chromium/pro-tip-default.png
new file mode 100644
index 00000000..442eb234
Binary files /dev/null and b/packages/ui/.snapshots/linux/pro-tip/pro-tip.visual.tsx-chromium/pro-tip-default.png differ
diff --git a/packages/ui/.snapshots/linux/profile-section/profile-section.visual.tsx-chromium/profile-section-default.png b/packages/ui/.snapshots/linux/profile-section/profile-section.visual.tsx-chromium/profile-section-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/profile-section/profile-section.visual.tsx-chromium/profile-section-default.png differ
diff --git a/packages/ui/.snapshots/linux/progress-bar/progress-bar.visual.tsx-chromium/progress-bar-default.png b/packages/ui/.snapshots/linux/progress-bar/progress-bar.visual.tsx-chromium/progress-bar-default.png
new file mode 100644
index 00000000..84dd3a9e
Binary files /dev/null and b/packages/ui/.snapshots/linux/progress-bar/progress-bar.visual.tsx-chromium/progress-bar-default.png differ
diff --git a/packages/ui/.snapshots/linux/progress-card/progress-card.visual.tsx-chromium/progress-card-default.png b/packages/ui/.snapshots/linux/progress-card/progress-card.visual.tsx-chromium/progress-card-default.png
new file mode 100644
index 00000000..a0b46c02
Binary files /dev/null and b/packages/ui/.snapshots/linux/progress-card/progress-card.visual.tsx-chromium/progress-card-default.png differ
diff --git a/packages/ui/.snapshots/linux/progress-tracker/progress-tracker.visual.tsx-chromium/progress-tracker-default.png b/packages/ui/.snapshots/linux/progress-tracker/progress-tracker.visual.tsx-chromium/progress-tracker-default.png
new file mode 100644
index 00000000..16bc5fa8
Binary files /dev/null and b/packages/ui/.snapshots/linux/progress-tracker/progress-tracker.visual.tsx-chromium/progress-tracker-default.png differ
diff --git a/packages/ui/.snapshots/linux/prompt-templates/prompt-templates.visual.tsx-chromium/prompt-templates-default.png b/packages/ui/.snapshots/linux/prompt-templates/prompt-templates.visual.tsx-chromium/prompt-templates-default.png
new file mode 100644
index 00000000..dba9063e
Binary files /dev/null and b/packages/ui/.snapshots/linux/prompt-templates/prompt-templates.visual.tsx-chromium/prompt-templates-default.png differ
diff --git a/packages/ui/.snapshots/linux/prompt-templates/prompt-templates.visual.tsx-chromium/prompt-templates-empty.png b/packages/ui/.snapshots/linux/prompt-templates/prompt-templates.visual.tsx-chromium/prompt-templates-empty.png
new file mode 100644
index 00000000..8f9c60b3
Binary files /dev/null and b/packages/ui/.snapshots/linux/prompt-templates/prompt-templates.visual.tsx-chromium/prompt-templates-empty.png differ
diff --git a/packages/ui/.snapshots/linux/property-section/property-section.visual.tsx-chromium/property-section-default.png b/packages/ui/.snapshots/linux/property-section/property-section.visual.tsx-chromium/property-section-default.png
new file mode 100644
index 00000000..3b514ed1
Binary files /dev/null and b/packages/ui/.snapshots/linux/property-section/property-section.visual.tsx-chromium/property-section-default.png differ
diff --git a/packages/ui/.snapshots/linux/quiz/quiz.visual.tsx-chromium/quiz-default.png b/packages/ui/.snapshots/linux/quiz/quiz.visual.tsx-chromium/quiz-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/quiz/quiz.visual.tsx-chromium/quiz-default.png differ
diff --git a/packages/ui/.snapshots/linux/radio-group/radio-group.visual.tsx-chromium/radio-group-default.png b/packages/ui/.snapshots/linux/radio-group/radio-group.visual.tsx-chromium/radio-group-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/radio-group/radio-group.visual.tsx-chromium/radio-group-default.png differ
diff --git a/packages/ui/.snapshots/multi-select/multi-select.visual.tsx-chromium/multi-select-selected-values.png b/packages/ui/.snapshots/linux/rating/rating.visual.tsx-chromium/rating-default.png
similarity index 58%
rename from packages/ui/.snapshots/multi-select/multi-select.visual.tsx-chromium/multi-select-selected-values.png
rename to packages/ui/.snapshots/linux/rating/rating.visual.tsx-chromium/rating-default.png
index 6c883618..cf87b66d 100644
Binary files a/packages/ui/.snapshots/multi-select/multi-select.visual.tsx-chromium/multi-select-selected-values.png and b/packages/ui/.snapshots/linux/rating/rating.visual.tsx-chromium/rating-default.png differ
diff --git a/packages/ui/.snapshots/linux/relationship-inspector/relationship-inspector.visual.tsx-chromium/relationship-inspector-default.png b/packages/ui/.snapshots/linux/relationship-inspector/relationship-inspector.visual.tsx-chromium/relationship-inspector-default.png
new file mode 100644
index 00000000..c476106c
Binary files /dev/null and b/packages/ui/.snapshots/linux/relationship-inspector/relationship-inspector.visual.tsx-chromium/relationship-inspector-default.png differ
diff --git a/packages/ui/.snapshots/linux/resizable/resizable.visual.tsx-chromium/resizable-default.png b/packages/ui/.snapshots/linux/resizable/resizable.visual.tsx-chromium/resizable-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/resizable/resizable.visual.tsx-chromium/resizable-default.png differ
diff --git a/packages/ui/.snapshots/linux/role-badge/role-badge.visual.tsx-chromium/role-badge-billing.png b/packages/ui/.snapshots/linux/role-badge/role-badge.visual.tsx-chromium/role-badge-billing.png
new file mode 100644
index 00000000..f4efff78
Binary files /dev/null and b/packages/ui/.snapshots/linux/role-badge/role-badge.visual.tsx-chromium/role-badge-billing.png differ
diff --git a/packages/ui/.snapshots/linux/role-badge/role-badge.visual.tsx-chromium/role-badge-owner.png b/packages/ui/.snapshots/linux/role-badge/role-badge.visual.tsx-chromium/role-badge-owner.png
new file mode 100644
index 00000000..d7d6904a
Binary files /dev/null and b/packages/ui/.snapshots/linux/role-badge/role-badge.visual.tsx-chromium/role-badge-owner.png differ
diff --git a/packages/ui/.snapshots/linux/route-map/route-map.visual.tsx-chromium/route-map-default.png b/packages/ui/.snapshots/linux/route-map/route-map.visual.tsx-chromium/route-map-default.png
new file mode 100644
index 00000000..b8ba6e13
Binary files /dev/null and b/packages/ui/.snapshots/linux/route-map/route-map.visual.tsx-chromium/route-map-default.png differ
diff --git a/packages/ui/.snapshots/linux/routing-assignment-panel/routing-assignment-panel.visual.tsx-chromium/routing-assignment-panel-default.png b/packages/ui/.snapshots/linux/routing-assignment-panel/routing-assignment-panel.visual.tsx-chromium/routing-assignment-panel-default.png
new file mode 100644
index 00000000..6492be56
Binary files /dev/null and b/packages/ui/.snapshots/linux/routing-assignment-panel/routing-assignment-panel.visual.tsx-chromium/routing-assignment-panel-default.png differ
diff --git a/packages/ui/.snapshots/linux/run-timeline/run-timeline.visual.tsx-chromium/run-timeline-default.png b/packages/ui/.snapshots/linux/run-timeline/run-timeline.visual.tsx-chromium/run-timeline-default.png
new file mode 100644
index 00000000..bd8f3cd1
Binary files /dev/null and b/packages/ui/.snapshots/linux/run-timeline/run-timeline.visual.tsx-chromium/run-timeline-default.png differ
diff --git a/packages/ui/.snapshots/linux/runtime-overview-panel/runtime-overview-panel.visual.tsx-chromium/runtime-overview-panel-default.png b/packages/ui/.snapshots/linux/runtime-overview-panel/runtime-overview-panel.visual.tsx-chromium/runtime-overview-panel-default.png
new file mode 100644
index 00000000..f46f1423
Binary files /dev/null and b/packages/ui/.snapshots/linux/runtime-overview-panel/runtime-overview-panel.visual.tsx-chromium/runtime-overview-panel-default.png differ
diff --git a/packages/ui/.snapshots/linux/scope-selector/scope-selector.visual.tsx-chromium/scope-selector-default.png b/packages/ui/.snapshots/linux/scope-selector/scope-selector.visual.tsx-chromium/scope-selector-default.png
new file mode 100644
index 00000000..d35cb09d
Binary files /dev/null and b/packages/ui/.snapshots/linux/scope-selector/scope-selector.visual.tsx-chromium/scope-selector-default.png differ
diff --git a/packages/ui/.snapshots/linux/scroll-area/scroll-area.visual.tsx-chromium/scroll-area-default.png b/packages/ui/.snapshots/linux/scroll-area/scroll-area.visual.tsx-chromium/scroll-area-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/scroll-area/scroll-area.visual.tsx-chromium/scroll-area-default.png differ
diff --git a/packages/ui/.snapshots/linux/search-bar/search-bar.visual.tsx-chromium/search-bar-default.png b/packages/ui/.snapshots/linux/search-bar/search-bar.visual.tsx-chromium/search-bar-default.png
new file mode 100644
index 00000000..8171a8e5
Binary files /dev/null and b/packages/ui/.snapshots/linux/search-bar/search-bar.visual.tsx-chromium/search-bar-default.png differ
diff --git a/packages/ui/.snapshots/linux/search-dialog/search-dialog.visual.tsx-chromium/search-dialog-default.png b/packages/ui/.snapshots/linux/search-dialog/search-dialog.visual.tsx-chromium/search-dialog-default.png
new file mode 100644
index 00000000..21f4b3bc
Binary files /dev/null and b/packages/ui/.snapshots/linux/search-dialog/search-dialog.visual.tsx-chromium/search-dialog-default.png differ
diff --git a/packages/ui/.snapshots/linux/segmented-control/segmented-control.visual.tsx-chromium/segmented-control-controlled-selection.png b/packages/ui/.snapshots/linux/segmented-control/segmented-control.visual.tsx-chromium/segmented-control-controlled-selection.png
new file mode 100644
index 00000000..dc5e0fb8
Binary files /dev/null and b/packages/ui/.snapshots/linux/segmented-control/segmented-control.visual.tsx-chromium/segmented-control-controlled-selection.png differ
diff --git a/packages/ui/.snapshots/linux/select/select.visual.tsx-chromium/select-default.png b/packages/ui/.snapshots/linux/select/select.visual.tsx-chromium/select-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/select/select.visual.tsx-chromium/select-default.png differ
diff --git a/packages/ui/.snapshots/linux/selection-halo/selection-halo.visual.tsx-chromium/selection-halo-default.png b/packages/ui/.snapshots/linux/selection-halo/selection-halo.visual.tsx-chromium/selection-halo-default.png
new file mode 100644
index 00000000..bc176e2e
Binary files /dev/null and b/packages/ui/.snapshots/linux/selection-halo/selection-halo.visual.tsx-chromium/selection-halo-default.png differ
diff --git a/packages/ui/.snapshots/linux/selection-presence/selection-presence.visual.tsx-chromium/selection-presence-default.png b/packages/ui/.snapshots/linux/selection-presence/selection-presence.visual.tsx-chromium/selection-presence-default.png
new file mode 100644
index 00000000..b0fcd485
Binary files /dev/null and b/packages/ui/.snapshots/linux/selection-presence/selection-presence.visual.tsx-chromium/selection-presence-default.png differ
diff --git a/packages/ui/.snapshots/linux/separator/separator.visual.tsx-chromium/separator-default.png b/packages/ui/.snapshots/linux/separator/separator.visual.tsx-chromium/separator-default.png
new file mode 100644
index 00000000..646fc67b
Binary files /dev/null and b/packages/ui/.snapshots/linux/separator/separator.visual.tsx-chromium/separator-default.png differ
diff --git a/packages/ui/.snapshots/linux/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-levels.png b/packages/ui/.snapshots/linux/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-levels.png
new file mode 100644
index 00000000..53fac5d1
Binary files /dev/null and b/packages/ui/.snapshots/linux/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-levels.png differ
diff --git a/packages/ui/.snapshots/linux/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-tones.png b/packages/ui/.snapshots/linux/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-tones.png
new file mode 100644
index 00000000..4f556685
Binary files /dev/null and b/packages/ui/.snapshots/linux/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-tones.png differ
diff --git a/packages/ui/.snapshots/linux/share-dialog/share-dialog.visual.tsx-chromium/share-dialog-default.png b/packages/ui/.snapshots/linux/share-dialog/share-dialog.visual.tsx-chromium/share-dialog-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/share-dialog/share-dialog.visual.tsx-chromium/share-dialog-default.png differ
diff --git a/packages/ui/.snapshots/linux/share-section/share-section.visual.tsx-chromium/share-section-default.png b/packages/ui/.snapshots/linux/share-section/share-section.visual.tsx-chromium/share-section-default.png
new file mode 100644
index 00000000..80a964f1
Binary files /dev/null and b/packages/ui/.snapshots/linux/share-section/share-section.visual.tsx-chromium/share-section-default.png differ
diff --git a/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-default.png b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-default.png
new file mode 100644
index 00000000..ad3f898c
Binary files /dev/null and b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-default.png differ
diff --git a/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-bottom.png b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-bottom.png
new file mode 100644
index 00000000..0d7c5993
Binary files /dev/null and b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-bottom.png differ
diff --git a/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-left.png b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-left.png
new file mode 100644
index 00000000..a8b73dc2
Binary files /dev/null and b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-left.png differ
diff --git a/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-top.png b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-top.png
new file mode 100644
index 00000000..1f3236e4
Binary files /dev/null and b/packages/ui/.snapshots/linux/sheet/sheet.visual.tsx-chromium/sheet-side-top.png differ
diff --git a/packages/ui/.snapshots/linux/sidebar-provider/sidebar-provider.visual.tsx-chromium/sidebar-provider-default.png b/packages/ui/.snapshots/linux/sidebar-provider/sidebar-provider.visual.tsx-chromium/sidebar-provider-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/sidebar-provider/sidebar-provider.visual.tsx-chromium/sidebar-provider-default.png differ
diff --git a/packages/ui/.snapshots/linux/sidebar-toggle/sidebar-toggle.visual.tsx-chromium/sidebar-toggle-default.png b/packages/ui/.snapshots/linux/sidebar-toggle/sidebar-toggle.visual.tsx-chromium/sidebar-toggle-default.png
new file mode 100644
index 00000000..45e2481c
Binary files /dev/null and b/packages/ui/.snapshots/linux/sidebar-toggle/sidebar-toggle.visual.tsx-chromium/sidebar-toggle-default.png differ
diff --git a/packages/ui/.snapshots/linux/sidebar/sidebar.visual.tsx-chromium/sidebar-default.png b/packages/ui/.snapshots/linux/sidebar/sidebar.visual.tsx-chromium/sidebar-default.png
new file mode 100644
index 00000000..7be08d79
Binary files /dev/null and b/packages/ui/.snapshots/linux/sidebar/sidebar.visual.tsx-chromium/sidebar-default.png differ
diff --git a/packages/ui/.snapshots/linux/skeleton/skeleton.visual.tsx-chromium/skeleton-default.png b/packages/ui/.snapshots/linux/skeleton/skeleton.visual.tsx-chromium/skeleton-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/skeleton/skeleton.visual.tsx-chromium/skeleton-default.png differ
diff --git a/packages/ui/.snapshots/linux/slider/slider.visual.tsx-chromium/slider-default.png b/packages/ui/.snapshots/linux/slider/slider.visual.tsx-chromium/slider-default.png
new file mode 100644
index 00000000..8557965b
Binary files /dev/null and b/packages/ui/.snapshots/linux/slider/slider.visual.tsx-chromium/slider-default.png differ
diff --git a/packages/ui/.snapshots/linux/slideshow/slideshow.visual.tsx-chromium/slideshow-default.png b/packages/ui/.snapshots/linux/slideshow/slideshow.visual.tsx-chromium/slideshow-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/slideshow/slideshow.visual.tsx-chromium/slideshow-default.png differ
diff --git a/packages/ui/.snapshots/linux/snap-guides/snap-guides.visual.tsx-chromium/snap-guides-default.png b/packages/ui/.snapshots/linux/snap-guides/snap-guides.visual.tsx-chromium/snap-guides-default.png
new file mode 100644
index 00000000..f02395f4
Binary files /dev/null and b/packages/ui/.snapshots/linux/snap-guides/snap-guides.visual.tsx-chromium/snap-guides-default.png differ
diff --git a/packages/ui/.snapshots/linux/social-fab/social-fab.visual.tsx-chromium/social-fab-default.png b/packages/ui/.snapshots/linux/social-fab/social-fab.visual.tsx-chromium/social-fab-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/social-fab/social-fab.visual.tsx-chromium/social-fab-default.png differ
diff --git a/packages/ui/.snapshots/linux/sparkline-grid/sparkline-grid.visual.tsx-chromium/SparklineGrid-default-1.png b/packages/ui/.snapshots/linux/sparkline-grid/sparkline-grid.visual.tsx-chromium/SparklineGrid-default-1.png
new file mode 100644
index 00000000..1bd368be
Binary files /dev/null and b/packages/ui/.snapshots/linux/sparkline-grid/sparkline-grid.visual.tsx-chromium/SparklineGrid-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/spinner/spinner.visual.tsx-chromium/spinner-default.png b/packages/ui/.snapshots/linux/spinner/spinner.visual.tsx-chromium/spinner-default.png
new file mode 100644
index 00000000..e2759c76
Binary files /dev/null and b/packages/ui/.snapshots/linux/spinner/spinner.visual.tsx-chromium/spinner-default.png differ
diff --git a/packages/ui/.snapshots/linux/spinner/unicode-spinner.visual.tsx-chromium/unicode-spinner-scanline.png b/packages/ui/.snapshots/linux/spinner/unicode-spinner.visual.tsx-chromium/unicode-spinner-scanline.png
new file mode 100644
index 00000000..d3ed7c59
Binary files /dev/null and b/packages/ui/.snapshots/linux/spinner/unicode-spinner.visual.tsx-chromium/unicode-spinner-scanline.png differ
diff --git a/packages/ui/.snapshots/linux/stat-card/stat-card.visual.tsx-chromium/stat-card-grid.png b/packages/ui/.snapshots/linux/stat-card/stat-card.visual.tsx-chromium/stat-card-grid.png
new file mode 100644
index 00000000..f1a0af88
Binary files /dev/null and b/packages/ui/.snapshots/linux/stat-card/stat-card.visual.tsx-chromium/stat-card-grid.png differ
diff --git a/packages/ui/.snapshots/linux/state-badge-overlay/state-badge-overlay.visual.tsx-chromium/state-badge-overlay-default.png b/packages/ui/.snapshots/linux/state-badge-overlay/state-badge-overlay.visual.tsx-chromium/state-badge-overlay-default.png
new file mode 100644
index 00000000..91ed8d81
Binary files /dev/null and b/packages/ui/.snapshots/linux/state-badge-overlay/state-badge-overlay.visual.tsx-chromium/state-badge-overlay-default.png differ
diff --git a/packages/ui/.snapshots/linux/status-board/status-board.visual.tsx-chromium/status-board-default.png b/packages/ui/.snapshots/linux/status-board/status-board.visual.tsx-chromium/status-board-default.png
new file mode 100644
index 00000000..029b4979
Binary files /dev/null and b/packages/ui/.snapshots/linux/status-board/status-board.visual.tsx-chromium/status-board-default.png differ
diff --git a/packages/ui/.snapshots/linux/status-indicator/status-indicator.visual.tsx-chromium/status-indicator-tones.png b/packages/ui/.snapshots/linux/status-indicator/status-indicator.visual.tsx-chromium/status-indicator-tones.png
new file mode 100644
index 00000000..3b937914
Binary files /dev/null and b/packages/ui/.snapshots/linux/status-indicator/status-indicator.visual.tsx-chromium/status-indicator-tones.png differ
diff --git a/packages/ui/.snapshots/linux/step-by-step/step-by-step.visual.tsx-chromium/step-by-step-default.png b/packages/ui/.snapshots/linux/step-by-step/step-by-step.visual.tsx-chromium/step-by-step-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/step-by-step/step-by-step.visual.tsx-chromium/step-by-step-default.png differ
diff --git a/packages/ui/.snapshots/linux/step-navigation/step-navigation.visual.tsx-chromium/step-navigation-default.png b/packages/ui/.snapshots/linux/step-navigation/step-navigation.visual.tsx-chromium/step-navigation-default.png
new file mode 100644
index 00000000..c7c93ae4
Binary files /dev/null and b/packages/ui/.snapshots/linux/step-navigation/step-navigation.visual.tsx-chromium/step-navigation-default.png differ
diff --git a/packages/ui/.snapshots/linux/stepper/stepper.visual.tsx-chromium/stepper-default.png b/packages/ui/.snapshots/linux/stepper/stepper.visual.tsx-chromium/stepper-default.png
new file mode 100644
index 00000000..10f242df
Binary files /dev/null and b/packages/ui/.snapshots/linux/stepper/stepper.visual.tsx-chromium/stepper-default.png differ
diff --git a/packages/ui/.snapshots/linux/sticky-metric/sticky-metric.visual.tsx-chromium/sticky-metric-default.png b/packages/ui/.snapshots/linux/sticky-metric/sticky-metric.visual.tsx-chromium/sticky-metric-default.png
new file mode 100644
index 00000000..dbee01b7
Binary files /dev/null and b/packages/ui/.snapshots/linux/sticky-metric/sticky-metric.visual.tsx-chromium/sticky-metric-default.png differ
diff --git a/packages/ui/.snapshots/linux/story-map/story-map.visual.tsx-chromium/story-map-default.png b/packages/ui/.snapshots/linux/story-map/story-map.visual.tsx-chromium/story-map-default.png
new file mode 100644
index 00000000..024c8869
Binary files /dev/null and b/packages/ui/.snapshots/linux/story-map/story-map.visual.tsx-chromium/story-map-default.png differ
diff --git a/packages/ui/.snapshots/linux/subscription-card/subscription-card.visual.tsx-chromium/subscription-card-active.png b/packages/ui/.snapshots/linux/subscription-card/subscription-card.visual.tsx-chromium/subscription-card-active.png
new file mode 100644
index 00000000..71e62b18
Binary files /dev/null and b/packages/ui/.snapshots/linux/subscription-card/subscription-card.visual.tsx-chromium/subscription-card-active.png differ
diff --git a/packages/ui/.snapshots/linux/switch/switch.visual.tsx-chromium/switch-default.png b/packages/ui/.snapshots/linux/switch/switch.visual.tsx-chromium/switch-default.png
new file mode 100644
index 00000000..3788b2ad
Binary files /dev/null and b/packages/ui/.snapshots/linux/switch/switch.visual.tsx-chromium/switch-default.png differ
diff --git a/packages/ui/.snapshots/linux/table-of-contents-panel/table-of-contents-panel.visual.tsx-chromium/table-of-contents-panel-default.png b/packages/ui/.snapshots/linux/table-of-contents-panel/table-of-contents-panel.visual.tsx-chromium/table-of-contents-panel-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/table-of-contents-panel/table-of-contents-panel.visual.tsx-chromium/table-of-contents-panel-default.png differ
diff --git a/packages/ui/.snapshots/linux/table-of-contents/table-of-contents.visual.tsx-chromium/table-of-contents-default.png b/packages/ui/.snapshots/linux/table-of-contents/table-of-contents.visual.tsx-chromium/table-of-contents-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/table-of-contents/table-of-contents.visual.tsx-chromium/table-of-contents-default.png differ
diff --git a/packages/ui/.snapshots/linux/table/table.visual.tsx-chromium/table-default.png b/packages/ui/.snapshots/linux/table/table.visual.tsx-chromium/table-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/table/table.visual.tsx-chromium/table-default.png differ
diff --git a/packages/ui/.snapshots/linux/tabs/tabs.visual.tsx-chromium/tabs-default.png b/packages/ui/.snapshots/linux/tabs/tabs.visual.tsx-chromium/tabs-default.png
new file mode 100644
index 00000000..1dada92b
Binary files /dev/null and b/packages/ui/.snapshots/linux/tabs/tabs.visual.tsx-chromium/tabs-default.png differ
diff --git a/packages/ui/.snapshots/linux/tags-input/tags-input.visual.tsx-chromium/tags-input-default-tags.png b/packages/ui/.snapshots/linux/tags-input/tags-input.visual.tsx-chromium/tags-input-default-tags.png
new file mode 100644
index 00000000..8c9d2500
Binary files /dev/null and b/packages/ui/.snapshots/linux/tags-input/tags-input.visual.tsx-chromium/tags-input-default-tags.png differ
diff --git a/packages/ui/.snapshots/linux/terminal/terminal.visual.tsx-chromium/terminal-default.png b/packages/ui/.snapshots/linux/terminal/terminal.visual.tsx-chromium/terminal-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/terminal/terminal.visual.tsx-chromium/terminal-default.png differ
diff --git a/packages/ui/.snapshots/linux/textarea/textarea.visual.tsx-chromium/textarea-default.png b/packages/ui/.snapshots/linux/textarea/textarea.visual.tsx-chromium/textarea-default.png
new file mode 100644
index 00000000..f98ae934
Binary files /dev/null and b/packages/ui/.snapshots/linux/textarea/textarea.visual.tsx-chromium/textarea-default.png differ
diff --git a/packages/ui/.snapshots/linux/theme-provider/theme-provider.visual.tsx-chromium/theme-provider-default.png b/packages/ui/.snapshots/linux/theme-provider/theme-provider.visual.tsx-chromium/theme-provider-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/theme-provider/theme-provider.visual.tsx-chromium/theme-provider-default.png differ
diff --git a/packages/ui/.snapshots/linux/theme-toggle/theme-toggle.visual.tsx-chromium/theme-toggle-default.png b/packages/ui/.snapshots/linux/theme-toggle/theme-toggle.visual.tsx-chromium/theme-toggle-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/theme-toggle/theme-toggle.visual.tsx-chromium/theme-toggle-default.png differ
diff --git a/packages/ui/.snapshots/linux/thinking-block/thinking-block.visual.tsx-chromium/thinking-block-default.png b/packages/ui/.snapshots/linux/thinking-block/thinking-block.visual.tsx-chromium/thinking-block-default.png
new file mode 100644
index 00000000..bbc14457
Binary files /dev/null and b/packages/ui/.snapshots/linux/thinking-block/thinking-block.visual.tsx-chromium/thinking-block-default.png differ
diff --git a/packages/ui/.snapshots/linux/thread-bubble/thread-bubble.visual.tsx-chromium/thread-bubble-default.png b/packages/ui/.snapshots/linux/thread-bubble/thread-bubble.visual.tsx-chromium/thread-bubble-default.png
new file mode 100644
index 00000000..8e60bb6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/thread-bubble/thread-bubble.visual.tsx-chromium/thread-bubble-default.png differ
diff --git a/packages/ui/.snapshots/linux/threshold-ring/threshold-ring.visual.tsx-chromium/threshold-ring-default.png b/packages/ui/.snapshots/linux/threshold-ring/threshold-ring.visual.tsx-chromium/threshold-ring-default.png
new file mode 100644
index 00000000..82a7167d
Binary files /dev/null and b/packages/ui/.snapshots/linux/threshold-ring/threshold-ring.visual.tsx-chromium/threshold-ring-default.png differ
diff --git a/packages/ui/.snapshots/linux/ticker-tape/ticker-tape.visual.tsx-chromium/TickerTape-default-1.png b/packages/ui/.snapshots/linux/ticker-tape/ticker-tape.visual.tsx-chromium/TickerTape-default-1.png
new file mode 100644
index 00000000..42314fc5
Binary files /dev/null and b/packages/ui/.snapshots/linux/ticker-tape/ticker-tape.visual.tsx-chromium/TickerTape-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/timeline-scrubber/timeline-scrubber.visual.tsx-chromium/timeline-scrubber-default.png b/packages/ui/.snapshots/linux/timeline-scrubber/timeline-scrubber.visual.tsx-chromium/timeline-scrubber-default.png
new file mode 100644
index 00000000..2eea566c
Binary files /dev/null and b/packages/ui/.snapshots/linux/timeline-scrubber/timeline-scrubber.visual.tsx-chromium/timeline-scrubber-default.png differ
diff --git a/packages/ui/.snapshots/linux/timeline/timeline.visual.tsx-chromium/timeline-horizontal.png b/packages/ui/.snapshots/linux/timeline/timeline.visual.tsx-chromium/timeline-horizontal.png
new file mode 100644
index 00000000..f1d246c9
Binary files /dev/null and b/packages/ui/.snapshots/linux/timeline/timeline.visual.tsx-chromium/timeline-horizontal.png differ
diff --git a/packages/ui/.snapshots/linux/timeline/timeline.visual.tsx-chromium/timeline-vertical.png b/packages/ui/.snapshots/linux/timeline/timeline.visual.tsx-chromium/timeline-vertical.png
new file mode 100644
index 00000000..12910a4b
Binary files /dev/null and b/packages/ui/.snapshots/linux/timeline/timeline.visual.tsx-chromium/timeline-vertical.png differ
diff --git a/packages/ui/.snapshots/linux/tldr-section/tldr-section.visual.tsx-chromium/tldr-section-default.png b/packages/ui/.snapshots/linux/tldr-section/tldr-section.visual.tsx-chromium/tldr-section-default.png
new file mode 100644
index 00000000..75207ccb
Binary files /dev/null and b/packages/ui/.snapshots/linux/tldr-section/tldr-section.visual.tsx-chromium/tldr-section-default.png differ
diff --git a/packages/ui/.snapshots/linux/toast/toast.visual.tsx-chromium/toast-default.png b/packages/ui/.snapshots/linux/toast/toast.visual.tsx-chromium/toast-default.png
new file mode 100644
index 00000000..fde4321a
Binary files /dev/null and b/packages/ui/.snapshots/linux/toast/toast.visual.tsx-chromium/toast-default.png differ
diff --git a/packages/ui/.snapshots/linux/toast/toast.visual.tsx-chromium/toast-variant-destructive.png b/packages/ui/.snapshots/linux/toast/toast.visual.tsx-chromium/toast-variant-destructive.png
new file mode 100644
index 00000000..7b6045e0
Binary files /dev/null and b/packages/ui/.snapshots/linux/toast/toast.visual.tsx-chromium/toast-variant-destructive.png differ
diff --git a/packages/ui/.snapshots/linux/toggle-group/toggle-group.visual.tsx-chromium/toggle-group-default.png b/packages/ui/.snapshots/linux/toggle-group/toggle-group.visual.tsx-chromium/toggle-group-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/toggle-group/toggle-group.visual.tsx-chromium/toggle-group-default.png differ
diff --git a/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-default.png b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-default.png differ
diff --git a/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-size-lg.png b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-size-lg.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-size-lg.png differ
diff --git a/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-size-sm.png b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-size-sm.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-size-sm.png differ
diff --git a/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-variant-outline.png b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-variant-outline.png
new file mode 100644
index 00000000..867bfab8
Binary files /dev/null and b/packages/ui/.snapshots/linux/toggle/toggle.visual.tsx-chromium/toggle-variant-outline.png differ
diff --git a/packages/ui/.snapshots/linux/tooltip/tooltip.visual.tsx-chromium/tooltip-default.png b/packages/ui/.snapshots/linux/tooltip/tooltip.visual.tsx-chromium/tooltip-default.png
new file mode 100644
index 00000000..a7029165
Binary files /dev/null and b/packages/ui/.snapshots/linux/tooltip/tooltip.visual.tsx-chromium/tooltip-default.png differ
diff --git a/packages/ui/.snapshots/linux/tour/tour.visual.tsx-chromium/tour-default.png b/packages/ui/.snapshots/linux/tour/tour.visual.tsx-chromium/tour-default.png
new file mode 100644
index 00000000..655d3ca4
Binary files /dev/null and b/packages/ui/.snapshots/linux/tour/tour.visual.tsx-chromium/tour-default.png differ
diff --git a/packages/ui/.snapshots/linux/transaction-list/transaction-list.visual.tsx-chromium/transaction-list-default.png b/packages/ui/.snapshots/linux/transaction-list/transaction-list.visual.tsx-chromium/transaction-list-default.png
new file mode 100644
index 00000000..9e072c34
Binary files /dev/null and b/packages/ui/.snapshots/linux/transaction-list/transaction-list.visual.tsx-chromium/transaction-list-default.png differ
diff --git a/packages/ui/.snapshots/linux/transaction-list/transaction-list.visual.tsx-chromium/transaction-list-empty.png b/packages/ui/.snapshots/linux/transaction-list/transaction-list.visual.tsx-chromium/transaction-list-empty.png
new file mode 100644
index 00000000..abf6f43d
Binary files /dev/null and b/packages/ui/.snapshots/linux/transaction-list/transaction-list.visual.tsx-chromium/transaction-list-empty.png differ
diff --git a/packages/ui/.snapshots/linux/tree-view/tree-view.visual.tsx-chromium/tree-view-default.png b/packages/ui/.snapshots/linux/tree-view/tree-view.visual.tsx-chromium/tree-view-default.png
new file mode 100644
index 00000000..a8f8c700
Binary files /dev/null and b/packages/ui/.snapshots/linux/tree-view/tree-view.visual.tsx-chromium/tree-view-default.png differ
diff --git a/packages/ui/.snapshots/linux/truncated-text/truncated-text.visual.tsx-chromium/truncated-text-default.png b/packages/ui/.snapshots/linux/truncated-text/truncated-text.visual.tsx-chromium/truncated-text-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/truncated-text/truncated-text.visual.tsx-chromium/truncated-text-default.png differ
diff --git a/packages/ui/.snapshots/linux/tutorial-card/tutorial-card.visual.tsx-chromium/tutorial-card-default.png b/packages/ui/.snapshots/linux/tutorial-card/tutorial-card.visual.tsx-chromium/tutorial-card-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/tutorial-card/tutorial-card.visual.tsx-chromium/tutorial-card-default.png differ
diff --git a/packages/ui/.snapshots/linux/tutorial-complete/tutorial-complete.visual.tsx-chromium/tutorial-complete-default.png b/packages/ui/.snapshots/linux/tutorial-complete/tutorial-complete.visual.tsx-chromium/tutorial-complete-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/tutorial-complete/tutorial-complete.visual.tsx-chromium/tutorial-complete-default.png differ
diff --git a/packages/ui/.snapshots/linux/tutorial-filters/tutorial-filters.visual.tsx-chromium/tutorial-filters-default.png b/packages/ui/.snapshots/linux/tutorial-filters/tutorial-filters.visual.tsx-chromium/tutorial-filters-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/tutorial-filters/tutorial-filters.visual.tsx-chromium/tutorial-filters-default.png differ
diff --git a/packages/ui/.snapshots/linux/tutorial-intro-content/tutorial-intro-content.visual.tsx-chromium/tutorial-intro-content-default.png b/packages/ui/.snapshots/linux/tutorial-intro-content/tutorial-intro-content.visual.tsx-chromium/tutorial-intro-content-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/tutorial-intro-content/tutorial-intro-content.visual.tsx-chromium/tutorial-intro-content-default.png differ
diff --git a/packages/ui/.snapshots/linux/tutorial-mdx/tutorial-mdx.visual.tsx-chromium/tutorial-mdx-default.png b/packages/ui/.snapshots/linux/tutorial-mdx/tutorial-mdx.visual.tsx-chromium/tutorial-mdx-default.png
new file mode 100644
index 00000000..6d360f6b
Binary files /dev/null and b/packages/ui/.snapshots/linux/tutorial-mdx/tutorial-mdx.visual.tsx-chromium/tutorial-mdx-default.png differ
diff --git a/packages/ui/.snapshots/linux/usage-breakdown/usage-breakdown.visual.tsx-chromium/usage-breakdown-default.png b/packages/ui/.snapshots/linux/usage-breakdown/usage-breakdown.visual.tsx-chromium/usage-breakdown-default.png
new file mode 100644
index 00000000..e496cfb5
Binary files /dev/null and b/packages/ui/.snapshots/linux/usage-breakdown/usage-breakdown.visual.tsx-chromium/usage-breakdown-default.png differ
diff --git a/packages/ui/.snapshots/linux/video-embed/video-embed.visual.tsx-chromium/video-embed-default.png b/packages/ui/.snapshots/linux/video-embed/video-embed.visual.tsx-chromium/video-embed-default.png
new file mode 100644
index 00000000..a805ac16
Binary files /dev/null and b/packages/ui/.snapshots/linux/video-embed/video-embed.visual.tsx-chromium/video-embed-default.png differ
diff --git a/packages/ui/.snapshots/linux/viewport-bookmarks/viewport-bookmarks.visual.tsx-chromium/viewport-bookmarks-default.png b/packages/ui/.snapshots/linux/viewport-bookmarks/viewport-bookmarks.visual.tsx-chromium/viewport-bookmarks-default.png
new file mode 100644
index 00000000..64674897
Binary files /dev/null and b/packages/ui/.snapshots/linux/viewport-bookmarks/viewport-bookmarks.visual.tsx-chromium/viewport-bookmarks-default.png differ
diff --git a/packages/ui/.snapshots/linux/wallet-card/wallet-card.visual.tsx-chromium/wallet-card-healthy.png b/packages/ui/.snapshots/linux/wallet-card/wallet-card.visual.tsx-chromium/wallet-card-healthy.png
new file mode 100644
index 00000000..05b7b585
Binary files /dev/null and b/packages/ui/.snapshots/linux/wallet-card/wallet-card.visual.tsx-chromium/wallet-card-healthy.png differ
diff --git a/packages/ui/.snapshots/linux/watchlist/watchlist.visual.tsx-chromium/Watchlist-default-1.png b/packages/ui/.snapshots/linux/watchlist/watchlist.visual.tsx-chromium/Watchlist-default-1.png
new file mode 100644
index 00000000..14ff3800
Binary files /dev/null and b/packages/ui/.snapshots/linux/watchlist/watchlist.visual.tsx-chromium/Watchlist-default-1.png differ
diff --git a/packages/ui/.snapshots/linux/world-breadcrumbs/world-breadcrumbs.visual.tsx-chromium/world-breadcrumbs-default.png b/packages/ui/.snapshots/linux/world-breadcrumbs/world-breadcrumbs.visual.tsx-chromium/world-breadcrumbs-default.png
new file mode 100644
index 00000000..4c90086b
Binary files /dev/null and b/packages/ui/.snapshots/linux/world-breadcrumbs/world-breadcrumbs.visual.tsx-chromium/world-breadcrumbs-default.png differ
diff --git a/packages/ui/.snapshots/linux/world-clock-bar/world-clock-bar.visual.tsx-chromium/world-clock-bar-default.png b/packages/ui/.snapshots/linux/world-clock-bar/world-clock-bar.visual.tsx-chromium/world-clock-bar-default.png
new file mode 100644
index 00000000..00015208
Binary files /dev/null and b/packages/ui/.snapshots/linux/world-clock-bar/world-clock-bar.visual.tsx-chromium/world-clock-bar-default.png differ
diff --git a/packages/ui/.snapshots/live-feed/live-feed.visual.tsx-chromium/live-feed-default.png b/packages/ui/.snapshots/live-feed/live-feed.visual.tsx-chromium/live-feed-default.png
deleted file mode 100644
index 920094a8..00000000
Binary files a/packages/ui/.snapshots/live-feed/live-feed.visual.tsx-chromium/live-feed-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/market-treemap/market-treemap.visual.tsx-chromium/MarketTreemap-default-1.png b/packages/ui/.snapshots/market-treemap/market-treemap.visual.tsx-chromium/MarketTreemap-default-1.png
deleted file mode 100644
index ff3ecf49..00000000
Binary files a/packages/ui/.snapshots/market-treemap/market-treemap.visual.tsx-chromium/MarketTreemap-default-1.png and /dev/null differ
diff --git a/packages/ui/.snapshots/marquee/marquee.visual.tsx-chromium/marquee-default.png b/packages/ui/.snapshots/marquee/marquee.visual.tsx-chromium/marquee-default.png
deleted file mode 100644
index 27e5b82a..00000000
Binary files a/packages/ui/.snapshots/marquee/marquee.visual.tsx-chromium/marquee-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/metric-gauge/metric-gauge.visual.tsx-chromium/metric-gauge-default.png b/packages/ui/.snapshots/metric-gauge/metric-gauge.visual.tsx-chromium/metric-gauge-default.png
deleted file mode 100644
index 566bfcec..00000000
Binary files a/packages/ui/.snapshots/metric-gauge/metric-gauge.visual.tsx-chromium/metric-gauge-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/mini-map-panel/mini-map-panel.visual.tsx-chromium/mini-map-panel-default.png b/packages/ui/.snapshots/mini-map-panel/mini-map-panel.visual.tsx-chromium/mini-map-panel-default.png
deleted file mode 100644
index 07fbf994..00000000
Binary files a/packages/ui/.snapshots/mini-map-panel/mini-map-panel.visual.tsx-chromium/mini-map-panel-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/number-ticker/number-ticker.visual.tsx-chromium/number-ticker-default.png b/packages/ui/.snapshots/number-ticker/number-ticker.visual.tsx-chromium/number-ticker-default.png
deleted file mode 100644
index fc89fc3d..00000000
Binary files a/packages/ui/.snapshots/number-ticker/number-ticker.visual.tsx-chromium/number-ticker-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/object-card/object-card.visual.tsx-chromium/object-card-default.png b/packages/ui/.snapshots/object-card/object-card.visual.tsx-chromium/object-card-default.png
deleted file mode 100644
index 9f355a77..00000000
Binary files a/packages/ui/.snapshots/object-card/object-card.visual.tsx-chromium/object-card-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/object-handle/object-handle.visual.tsx-chromium/object-handle-default.png b/packages/ui/.snapshots/object-handle/object-handle.visual.tsx-chromium/object-handle-default.png
deleted file mode 100644
index 914ffe1f..00000000
Binary files a/packages/ui/.snapshots/object-handle/object-handle.visual.tsx-chromium/object-handle-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/order-book/order-book.visual.tsx-chromium/OrderBook-default-1.png b/packages/ui/.snapshots/order-book/order-book.visual.tsx-chromium/OrderBook-default-1.png
deleted file mode 100644
index b00ccbd9..00000000
Binary files a/packages/ui/.snapshots/order-book/order-book.visual.tsx-chromium/OrderBook-default-1.png and /dev/null differ
diff --git a/packages/ui/.snapshots/progress-tracker/progress-tracker.visual.tsx-chromium/progress-tracker-default.png b/packages/ui/.snapshots/progress-tracker/progress-tracker.visual.tsx-chromium/progress-tracker-default.png
deleted file mode 100644
index d08927bf..00000000
Binary files a/packages/ui/.snapshots/progress-tracker/progress-tracker.visual.tsx-chromium/progress-tracker-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-levels.png b/packages/ui/.snapshots/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-levels.png
deleted file mode 100644
index 6836b654..00000000
Binary files a/packages/ui/.snapshots/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-levels.png and /dev/null differ
diff --git a/packages/ui/.snapshots/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-tones.png b/packages/ui/.snapshots/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-tones.png
deleted file mode 100644
index f86b96fe..00000000
Binary files a/packages/ui/.snapshots/severity-badge/severity-badge.visual.tsx-chromium/severity-badge-tones.png and /dev/null differ
diff --git a/packages/ui/.snapshots/sparkline-grid/sparkline-grid.visual.tsx-chromium/SparklineGrid-default-1.png b/packages/ui/.snapshots/sparkline-grid/sparkline-grid.visual.tsx-chromium/SparklineGrid-default-1.png
deleted file mode 100644
index e02202e1..00000000
Binary files a/packages/ui/.snapshots/sparkline-grid/sparkline-grid.visual.tsx-chromium/SparklineGrid-default-1.png and /dev/null differ
diff --git a/packages/ui/.snapshots/spinner/unicode-spinner.visual.tsx-chromium/unicode-spinner-scanline.png b/packages/ui/.snapshots/spinner/unicode-spinner.visual.tsx-chromium/unicode-spinner-scanline.png
deleted file mode 100644
index 2327357b..00000000
Binary files a/packages/ui/.snapshots/spinner/unicode-spinner.visual.tsx-chromium/unicode-spinner-scanline.png and /dev/null differ
diff --git a/packages/ui/.snapshots/status-board/status-board.visual.tsx-chromium/status-board-default.png b/packages/ui/.snapshots/status-board/status-board.visual.tsx-chromium/status-board-default.png
deleted file mode 100644
index 9065b588..00000000
Binary files a/packages/ui/.snapshots/status-board/status-board.visual.tsx-chromium/status-board-default.png and /dev/null differ
diff --git a/packages/ui/.snapshots/tags-input/tags-input.visual.tsx-chromium/tags-input-default-tags.png b/packages/ui/.snapshots/tags-input/tags-input.visual.tsx-chromium/tags-input-default-tags.png
deleted file mode 100644
index 3305284a..00000000
Binary files a/packages/ui/.snapshots/tags-input/tags-input.visual.tsx-chromium/tags-input-default-tags.png and /dev/null differ
diff --git a/packages/ui/.snapshots/ticker-tape/ticker-tape.visual.tsx-chromium/TickerTape-default-1.png b/packages/ui/.snapshots/ticker-tape/ticker-tape.visual.tsx-chromium/TickerTape-default-1.png
deleted file mode 100644
index 077c6a2a..00000000
Binary files a/packages/ui/.snapshots/ticker-tape/ticker-tape.visual.tsx-chromium/TickerTape-default-1.png and /dev/null differ
diff --git a/packages/ui/.snapshots/watchlist/watchlist.visual.tsx-chromium/Watchlist-default-1.png b/packages/ui/.snapshots/watchlist/watchlist.visual.tsx-chromium/Watchlist-default-1.png
deleted file mode 100644
index 38cc5f85..00000000
Binary files a/packages/ui/.snapshots/watchlist/watchlist.visual.tsx-chromium/Watchlist-default-1.png and /dev/null differ
diff --git a/packages/ui/.snapshots/world-clock-bar/world-clock-bar.visual.tsx-chromium/world-clock-bar-default.png b/packages/ui/.snapshots/world-clock-bar/world-clock-bar.visual.tsx-chromium/world-clock-bar-default.png
deleted file mode 100644
index 950a131f..00000000
Binary files a/packages/ui/.snapshots/world-clock-bar/world-clock-bar.visual.tsx-chromium/world-clock-bar-default.png and /dev/null differ
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 6a5d7c91..dc2c5914 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -71,7 +71,7 @@
],
"scripts": {
"build": "tsup",
- "clean": "rm -rf dist node_modules coverage .snapshots playwright-report test-results storybook-static",
+ "clean": "rm -rf dist node_modules coverage playwright-report test-results storybook-static",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"check:circular": "madge --circular --extensions ts,tsx src",
diff --git a/packages/ui/playwright-ct.config.ts b/packages/ui/playwright-ct.config.ts
index f093a6f1..96f79b35 100644
--- a/packages/ui/playwright-ct.config.ts
+++ b/packages/ui/playwright-ct.config.ts
@@ -5,11 +5,15 @@ import { defineConfig, devices } from '@playwright/experimental-ct-react'
const __dirname = dirname(fileURLToPath(import.meta.url))
+if (process.platform === 'linux') {
+ process.env.FONTCONFIG_FILE = resolve(__dirname, './playwright/fonts.conf')
+}
+
export default defineConfig({
testDir: './src/components',
testMatch: '**/*.visual.tsx',
snapshotDir: './.snapshots',
- snapshotPathTemplate: '{snapshotDir}/{testFileDir}/{testFileName}-{projectName}/{arg}{ext}',
+ snapshotPathTemplate: '{snapshotDir}/{platform}/{testFileDir}/{testFileName}-{projectName}/{arg}{ext}',
// Retry failed tests once
retries: 1,
@@ -24,6 +28,9 @@ export default defineConfig({
},
use: {
+ reducedMotion: 'reduce',
+ locale: 'en-US',
+ timezoneId: 'UTC',
ctPort: 3100,
ctViteConfig: {
resolve: {
diff --git a/packages/ui/playwright/fonts.conf b/packages/ui/playwright/fonts.conf
new file mode 100644
index 00000000..0c23a6ee
--- /dev/null
+++ b/packages/ui/playwright/fonts.conf
@@ -0,0 +1,10 @@
+
+
+
+ /etc/fonts/fonts.conf
+
+
+ monospace
+ Liberation Mono
+
+
diff --git a/packages/ui/src/components/primary-source-viewer/primary-source-viewer.visual.tsx b/packages/ui/src/components/primary-source-viewer/primary-source-viewer.visual.tsx
index d5820d76..6915aff2 100644
--- a/packages/ui/src/components/primary-source-viewer/primary-source-viewer.visual.tsx
+++ b/packages/ui/src/components/primary-source-viewer/primary-source-viewer.visual.tsx
@@ -22,7 +22,12 @@ test.describe("PrimarySourceViewer Visual", () => {
period="Medieval"
source={{
alt: "Historical document",
- src: "https://placehold.co/800x500/0d1117/d0d0d0/png?text=Primary+Source",
+ src: `data:image/svg+xml,${encodeURIComponent(
+ '',
+ )}`,
type: "image",
}}
title="Magna Carta (1215)"
@@ -65,6 +70,9 @@ test.describe("PrimarySourceViewer Visual", () => {
,
);
+ await expect(
+ component.getByRole("img", { name: "Historical document" }),
+ ).toHaveJSProperty("naturalWidth", 800);
await expect(component).toHaveScreenshot(
"primary-source-viewer-default.png",
);