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
impl AnimRegistry
pub fn new() -> Self
Sourcepub fn reconcile<Msg>(
&mut self,
mounted: &mut Mounted<Msg>,
now: Instant,
) -> bool
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).
Sourcepub fn live_exit_nodes<Msg>(
&self,
mounted: &Mounted<Msg>,
) -> Vec<(usize, usize, u64)>
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).
Sourcepub fn store_live_exit(
&mut self,
key: u64,
scene: Scene,
duration: Duration,
easing: fn(f32) -> f32,
)
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.
Sourcepub fn replay_ghosts(
&mut self,
scene: &mut Scene,
now: Instant,
w: f32,
h: f32,
) -> bool
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).