MeridiansMeridians

Workspace shell [UI]

Source path: knowledge-base/diagrams/ui/workspace-shell.md

# Workspace shell `[UI]`

The regions of `WorkspaceShell` — a stable cockpit around a mutable Stage. Two **edge rails** share the same `RailFrame` chrome and each toggle a collapsible pane beside them.

```mermaid
flowchart TB
    TopBar["**TopBar** — menus · theme · usage · audio · export · slides"]
    TopBar --> Rail & SideL & StageBar & URail

    Rail["**DomainRail** (left, 56px)<br/>story tiles"]
    SideL["**DrivePanel** (left pane)<br/>the Drive"]
    URail["**UtilityRail** (right, 56px)<br/>panel tabs"]
    URail -->|opens active tab| UPanel["**UtilityPanel** (right pane)"]

    StageBar["**StageBar** — view switcher"] -->|sets state.stageView| Stage["**Stage** — render dispatch"]
    Stage --> Palette["StagePalette (overlay)"]
    StageBar --> RunBar["**RunBar** — run status"] --> Bottom["ScenePanel · TimelineStrip · ForceTimeline"]
```

- **DomainRail** (left, story tiles) toggles **DrivePanel** (the Drive); **UtilityRail** (right, panel tabs) toggles **UtilityPanel** (the popout). *(This rail + popout split replaced the former single `InspectorPanel`; tab state lives in `inspector/utility-panel-context`.)*
- The center is a render switch on `state.stageView` — the views it dispatches to are in [ui/center-views](center-views.md); the right popout's tabs in [ui/inspector](inspector.md); the TopBar menus in [ui/topbar](topbar.md).
- On a phone this whole shell is replaced by a separate focused path — [ui/mobile](mobile.md).
Open on GitHub

Raw Markdown source