Crate ailloli_ui_runtime

Source
Expand description

Retained-mode UI engine: element tree, layout, paint, input, and reactivity.

Pipeline for each frame (see Runtime::render_root on app::Runtime):

  1. Reconcile: diff declarative component::View into an element::ElementTree
  2. Layout: measure and position nodes (layout::LayoutEngine, layout::Widget)
  3. Paint: emit scene::DrawCmd lists into a scene::Scene

Input is routed separately via input::InputRouter and widget component::Widget::event.

§Modules

ModuleRole
appRuntime, RuntimeHandle, scheduler, state store
componentView, Signal/Memo/Binding, component builders
elementRetained element tree, keys, reconciliation
inputHit-test, focus, pointer/keyboard routing
layoutLayout context, results, retained LayoutNode
sceneDraw commands, layers, clip stack, paint context

Re-exports§

pub use app::ElementTreeDiagnosticsSnapshot;
pub use app::ElementWorkCounters;
pub use app::FrameWorkPlan;
pub use app::Invalidation;
pub use app::InvalidationDiagnosticsSnapshot;
pub use app::InvalidationRecord;
pub use app::InvalidationSource;
pub use app::UiDrain;
pub use app::UiInbox;
pub use app::UiInboxStats;
pub use app::UiSendError;
pub use app::UiSender;
pub use app::UiWake;
pub use app::UiWakeError;
pub use layout::LayoutDebugInfo;
pub use layout::LayoutCtx;
pub use layout::LayoutPass;
pub use layout::Widget;
pub use scene::BlendMode;
pub use scene::DrawBorder;
pub use scene::DrawBoxShadow;
pub use scene::DrawCmd;
pub use scene::DrawImage;
pub use scene::DrawPolyline;
pub use scene::DrawRRect;
pub use scene::DrawRect;
pub use scene::DrawRingProgress;
pub use scene::DrawText;
pub use scene::IsolatedEffects;
pub use scene::Layer;
pub use scene::PaintCtx;
pub use scene::Painter;
pub use scene::Scene;

Modules§

app
Application runtime, handles, and scheduling. Application loop: runtime instance, handles, scheduler, and shared state.
component
Declarative views, widgets, and reactive state. Declarative UI: views, components, and reactive bindings.
element
Retained element tree and reconciliation. Retained element tree, stable keys, and child reconciliation.
input
Input routing, focus, and hit-testing. Input routing: hit-test, focus, pointer/keyboard, and text editing helpers.
layout
Layout measurement and results. Layout: measurement context, engine, results, and retained layout nodes.
popup
Provider-neutral popup registry, ownership, and dismissal intents. Provider-neutral popup ownership and lifecycle.
popup_mount
Retained popup trees for the provider-neutral fallback overlay. Retained fallback-overlay trees for provider-neutral popup content.
scene
Scene graph and draw commands. Scene graph: draw commands, layered clips, and paint context.