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 —
Apptrait +AppContexttrait. - 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.