Skip to main content

Resolver

Struct Resolver 

Source
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

Source

pub const fn new() -> Self

Creates an empty retained evaluator.

Source

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.

Source

pub fn clear(&mut self)

Drops every retained evaluation artifact.

Trait Implementations§

Source§

impl Default for Resolver

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.