Skip to main content

Module ui

Module ui 

Source
Expand description

Core interfaces for the UI system.

theme and fonts are app-agnostic, brand-neutral contracts shared by every Khora UI surface (editor, hub, future tools): theme::UiTheme is a semantic slot struct with a neutral Default, and the UI backend consumes it. The concrete Khora palette that fills those slots is cosmetics and lives outside the engine, in the khora-tool-ui crate — so a game built on Khora never inherits the engine vendor’s brand.

The editor submodule layers the editor-specific framework (panels, dock, viewport handle, paint UiBuilder) on top.

Re-exports§

pub use app::App;
pub use app::AppContext;
pub use app::AppLifecycle;
pub use editor::EditorCamera;
pub use editor::EditorPanel;
pub use editor::EditorShell;
pub use editor::PanelLocation;
pub use editor::UiBuilder;
pub use editor::ViewportTextureHandle;
pub use editor_overlay::EditorOverlay;
pub use editor_overlay::OverlayError;
pub use editor_overlay::OverlayScreenDescriptor;
pub use fonts::FontHandle;
pub use fonts::FontPack;
pub use fonts::NamedFont;
pub use geometry::Align;
pub use geometry::Align2;
pub use geometry::CornerRadius;
pub use geometry::Margin;
pub use geometry::Stroke;
pub use layout::LayoutSystem;
pub use layout::UiLayoutView;
pub use theme::UiTheme;

Modules§

app
Backend-agnostic app runtime — App trait + AppContext trait.
editor
Abstract editor framework: panel system, dock layout, UI builder, and theme.
editor_overlay
Abstract trait for editor overlay rendering.
fonts
Backend-agnostic font configuration for the editor shell.
geometry
Backend-agnostic UI geometry types — Margin, Stroke, CornerRadius, Align, Align2.
layout
Interface for UI layout computation.
theme
Backend-agnostic UI theme — palette + sizing + type tokens.
types
Core UI data types used for layout and rendering.