Expand description
Workbench — the dockable area between the spine and the status bar.
One [EditorPanel] that hosts all the others. It owns a
[DockTree] per [EditorMode], lays the tree out over its own rect, and
hands each leaf its share through [UiBuilder::region_at] — so the panels
inside see a panel_rect() of exactly their pane and need no notion of the
dock at all.
§Why here and not in the shell
The dock’s chrome is painted with khora-tool-ui, which carries Khora’s
brand. khora-infra — where the egui shell lives — must not depend on it,
or every game built on the engine would inherit the vendor’s look. Hosting
the dock as a Center panel keeps the branded widgets in the editor where
they belong, and leaves EditorShell generic.
It also puts the per-mode layouts where mode knowledge already lives. The
shell used to reach into EditorState::active_mode to hide the right
sidebar in Control Plane mode; with a tree per mode, switching modes swaps
the whole layout and that special case disappears.
Structs§
- Workbench
Panel - Hosts the dockable panels for every workspace.