pub struct Resolver { /* private fields */ }Expand description
An opt-in evaluator that reuses unchanged View evaluation across frames.
Resolver has the same observable result as resolve. It retains only
core reconciliation inputs and materialized output; the current View and
available area still decide layout. Application state, clocks, redraw
scheduling, terminal capabilities, and graphics protocol state stay with
the host that composes those independent capabilities.
The free resolve function remains the ordinary stateless path and does
not construct this cache metadata.
Implementations§
Source§impl Resolver
impl Resolver
Sourcepub fn resolve(
&mut self,
view: &View,
available: Available,
) -> Result<ResolvedView, LayoutError>
pub fn resolve( &mut self, view: &View, available: Available, ) -> Result<ResolvedView, LayoutError>
Resolves one immutable View snapshot, reusing unchanged subtree output.
A changed Viewport origin reprojects its retained child. Changes to content or to a settled layout input invalidate the affected artifact, while independent unchanged subtrees remain reusable.