Expand description
UI runtime contract and mechanisms for the Fret workspace.
This crate focuses on the mechanisms needed for editor-grade UI (tree, layout, input
routing, paint orchestration) rather than policy-heavy components. Radix/shadcn-style
interaction policies live in the ecosystem layer (fret-ui-kit, fret-ui-shadcn) instead.
For module ownership and “where should this go?” guidance, see crates/fret-ui/README.md.
§Where to start
UiTree: retained UI tree and per-window interaction state machineElementContext: per-frame context passed to element constructors- [
AnyElement]: type-erased element node used by the declarative surface Theme/ThemeConfig: token-driven theme configuration
Most applications should not wire this crate directly; prefer fret-bootstrap or the
ecosystem fret facade for the “golden path” runner/driver wiring.
Re-exports§
pub use theme::keys as theme_keys;pub use elements::ElementContext;pub use elements::ElementContextAccess;pub use elements::ElementRuntime;pub use elements::GlobalElementId;pub use pending_shortcut::PendingShortcutOverlayState;pub use scroll::ScrollHandle;pub use scroll::ScrollStrategy;pub use scroll::VirtualListScrollHandle;pub use theme::Theme;pub use theme::ThemeConfig;pub use theme::ThemeSnapshot;pub use theme_keys::ThemeColorKey;pub use theme_keys::ThemeMetricKey;pub use theme_keys::ThemeNamedColorKey;pub use tree::OverlayRootOptions;pub use tree::PaintCachePolicy;pub use tree::UiDebugFrameStats;pub use tree::UiDebugHitTest;pub use tree::UiDebugHoverDeclarativeInvalidationHotspot;pub use tree::UiDebugLayerInfo;pub use tree::UiLayerId;pub use tree::UiTree;
Modules§
- action
- cache_
key - canvas
- declarative
- element
- elements
- focus_
visible - frame_
pipeline - host
- input_
modality - internal_
drag - Internal drag routing helpers.
- layout_
constraints - layout_
engine - layout_
pass - overlay_
placement - paint
- pending_
shortcut - pixel_
snap - scroll
- theme
- tree
- virtual_
list
Structs§
Enums§
- Command
Availability - Command availability query result used by
UiTree::is_command_available(ADR 0218). - Invalidation
- SvgSource
Traits§
- UiHost
- Host services required by the retained UI runtime (
fret-ui).
Type Aliases§
- ItemKey
- Stable key type used by keyed element APIs (e.g. lists and cached subtrees).
- UiFrame
Context