Expand description
Retained-mode UI engine: element tree, layout, paint, input, and reactivity.
Pipeline for each frame (see Runtime::render_root on app::Runtime):
- Reconcile: diff declarative
component::Viewinto anelement::ElementTree - Layout: measure and position nodes (
layout::LayoutEngine,layout::Widget) - Paint: emit
scene::DrawCmdlists into ascene::Scene
Input is routed separately via input::InputRouter and widget component::Widget::event.
§Modules
| Module | Role |
|---|---|
app | Runtime, RuntimeHandle, scheduler, state store |
component | View, Signal/Memo/Binding, component builders |
element | Retained element tree, keys, reconciliation |
input | Hit-test, focus, pointer/keyboard routing |
layout | Layout context, results, retained LayoutNode |
scene | Draw 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.