Expand description
Editor UI types re-exported from khora_core.
Includes everything from khora_core::ui::editor::* plus the
shared UiTheme and font types that live one level up in
khora_core::ui (because the hub uses them too).
Modules§
- camera
- Editor camera with orbit / pan / zoom controls.
- command
- Undo/redo command history for editor operations.
- dock
- Dock model — the tree of splits and tab groups behind the editor workbench.
- gizmo
- Editor gizmo geometry generation.
- gizmo_
interact - Gizmo manipulation — grabbing a handle and turning cursor motion into a transform delta.
- icons
- Editor icon set — names and Unicode codepoints from the Lucide font.
- log_
capture - A dual-output logger that captures log entries for the editor console while also printing to stderr for development.
- panel
- Abstract editor panel and dock location types.
- shell
- Abstract editor shell — generic host for dock-based panel layouts.
- state
- Editor state shared between the application logic and UI panels.
- ui_
builder - Abstract widget builder for editor panels.
- viewport_
texture - Abstract viewport texture handle for displaying engine-rendered images in editor panels.
Structs§
- Asset
Entry - A lightweight description of an asset for the asset browser panel.
- Command
History - Fixed-capacity undo/redo stack.
- Component
Json - Snapshot of one component on an inspected entity, captured generically
as JSON via the macro-generated
to_jsononComponentRegistration. - Dock
Layout - Everything the shell needs to paint one frame of the dock.
- Dock
Tree - A tree of splits and tab groups covering one workbench area.
- Editor
Camera - An orbit camera controller for the editor viewport.
- Editor
Command - A reversible editor operation.
- Editor
LogCapture - A
log::Logimplementation that stores entries in a shared buffer and also writes to stderr. - Editor
State - Shared editor state populated by
Application::update()each frame. - Font
Pack - A collection of fonts grouped by family.
- Gizmo
Drag - A manipulation in progress: one grabbed handle, tracked across frames.
- Gizmo
Line Instance - A single line segment for GPU rendering.
- Gizmo
Transform - The transform an entity had when a drag began.
- Inspected
Entity - Snapshot of an inspected entity.
- Interaction
- Result of an
UiBuilder::interact_rectcall. - LogEntry
- A captured log entry for the console panel.
- Named
Font - A named font face inside a pack. The name is used by the backend to register the font in its registry and (where applicable) to make it addressable by user code.
- Scene
Node - A lightweight description of an entity in the scene tree.
- Selection
Gizmo - One selected entity’s gizmo request.
- SplitId
- Stable handle for a split, so a resize drag can name the divider it grabbed without depending on the tree’s shape surviving the gesture.
- Splitter
Layout - One draggable divider placed on screen.
- Status
BarData - Status bar data displayed at the bottom of the editor.
- TabGroup
Layout - One tab group placed on screen.
- UiTheme
- Color palette and sizing tokens for any Khora UI surface.
- Viewport
Texture Handle - An opaque handle referencing a texture that the UI backend knows how to display.
Enums§
- Dock
Node - A node of the dock tree.
- Drop
Zone - Where a dragged panel would land relative to the group under the pointer.
- Editor
Mode - The active editing workspace, switched via the left “spine” mode bar.
- Entity
Icon - Icon hint for the scene tree.
- Font
Family Hint - Font family hint passed to
UiBuilder::paint_text_styled. Backends map each variant to whichever face was registered for that family. - Font
Handle - A bundled font, either as a static slice or owned bytes loaded at runtime.
- Gizmo
Axis - One of the three manipulator handles.
- Gizmo
Delta - What a drag has done so far, in world space, relative to the drag’s start.
- Gizmo
Kind - The kind of gizmo to draw for an entity.
- Gizmo
Mode - The active gizmo tool in the viewport toolbar.
- Icon
- A semantic icon identifier mapped to a Lucide codepoint.
- Inline
Edit Event - Outcome of an
UiBuilder::inline_text_fieldthis frame. - LogLevel
- Log severity matching
log::Level. - Panel
Location - Where a panel is placed in the editor dock layout.
- Play
Mode - The play-mode state of the editor.
- Property
Edit - A property edit to apply back to the ECS world.
- Split
Axis - Which way a split divides its area.
- Text
Align - Horizontal alignment for
UiBuilder::paint_text_styled.
Traits§
- Editor
Panel - A single editor panel that can render itself into a
UiBuilder. - Editor
Shell - The top-level editor shell — a generic host for docked panels.
- UiBuilder
- A backend-agnostic, immediate-mode widget builder.
Functions§
- generate_
selection_ gizmos - Generates all gizmo lines for a set of selected entities.
- gizmo_
basis - The frame the handles are drawn and dragged in for
mode. - gizmo_
world_ size - World size a manipulator at
originneeds to occupy a constant fraction of the viewport, whatever its distance from the camera. - pick_
handle - The nearest handle whose geometry the ray passes within tolerance of, or
Nonewhen the cursor is not over the manipulator. - ratio_
from_ pointer - Turns a pointer position on a splitter into the ratio it implies.
- zone_at
- Classifies a pointer position inside
rectinto a drop zone.
Type Aliases§
- Dock
Rect - A rectangle as
[x, y, width, height], matching the convention used byUiBuilderthroughout the UI layer. - Gizmo
Basis - World-space directions of the three handles, indexed by
GizmoAxis::index.