Skip to main content

AnimRegistry

Struct AnimRegistry 

Source
pub struct AnimRegistry { /* private fields */ }
Expand description

Registro de animaciones implícitas, vivo entre frames. El runtime mantiene una instancia y llama Self::reconcile en cada redraw.

Implementations§

Source§

impl AnimRegistry

Source

pub fn new() -> AnimRegistry

Source

pub fn reconcile<Msg>( &mut self, mounted: &mut Mounted<Msg>, now: Instant, ) -> bool

Reconcilia el árbol montado con el estado retenido. Para cada nodo con Anim: detecta si el objetivo cambió (arranca tween), interpola y escribe el valor del frame de vuelta en el nodo (fill/radius). Las keys que no aparecieron este frame se descartan (un nodo que se va deja de animar). Devuelve true si alguna animación sigue en curso.

Llamar DESPUÉS de compute y ANTES de paint. now es el instante del frame (el runtime pasa Instant::now(); los tests pasan instantes controlados).

Source

pub fn live_exit_nodes<Msg>( &self, mounted: &Mounted<Msg>, ) -> Vec<(usize, usize, u64)>

Nodos exit presentes este frame que el runtime debe capturar: por cada uno devuelve (idx, subtree_end, key) para pintar su subárbol en una subescena con crate::paint_range y entregarla a Self::store_live_exit. Llamar DESPUÉS de paint (cuando el árbol y la geometría ya están firmes).

Source

pub fn store_live_exit( &mut self, key: u64, scene: Scene, duration: Duration, easing: fn(f32) -> f32, )

Guarda (o refresca) la subescena retenida de un nodo exit presente. El runtime la captura con crate::paint_range tras el paint. duration y easing se heredan al fantasma cuando la key desaparezca.

Source

pub fn replay_ghosts( &mut self, scene: &mut Scene, now: Instant, w: f32, h: f32, ) -> bool

Reproduce los fantasmas activos sobre scene, cada uno con su opacidad decreciente, clipeados al viewport (w, h). Llamar DESPUÉS del paint principal (van por encima). Devuelve true si queda algún fantasma vivo (el runtime ya lo sabe por Self::reconcile, pero es cómodo).

Trait Implementations§

Source§

impl Default for AnimRegistry

Source§

fn default() -> AnimRegistry

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> Downcast<T> for T

Source§

fn downcast(&self) -> &T

Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> NoneValue for T
where T: Default,

Source§

type NoneType = T

Source§

fn null_value() -> T

The none-equivalent value.
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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.
Source§

impl<T> Upcast<T> for T

Source§

fn upcast(&self) -> Option<&T>

Source§

impl<T> WasmNotSend for T
where T: Send,

Source§

impl<T> WasmNotSendSync for T

Source§

impl<T> WasmNotSync for T
where T: Sync,

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more