Skip to main content

Module workbench

Module workbench 

Source
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§

WorkbenchPanel
Hosts the dockable panels for every workspace.