Expand description
Wire types for the animation bridge — the Reanimated-style surface a React app declares once and the Bevy side drives every frame.
These are bevy-free and Deserialize-only: they travel JS → Bevy through
the op_animate op (the main crate registers it), exactly like protocol::Op
travels through op_flush. The JS side (js/src/animated.ts) hand-writes
matching JSON shapes — keep the two in sync, just like bridge.ts ↔ Op.
Structs§
- Animated
Bindings - The per-node
animatedStyle: which style properties are animation-driven and by what. An open property→Bindingmap (mirrors the JS object shape: every camelCase style key maps to a binding). Decodes the same opaque-object wayStyledoes — unknown keys are skipped (warn-and-continue) so a newer JS bundle never breaks an older binary’s whole node. ABTreeMapkeeps iteration deterministic (stable transform-group rebuild and test assertions).
Enums§
- Animatable
Property - Identity of one continuous, animation-driveable style property. This is the
open set the generic apply layer dispatches on — adding a new animatable
property is a new variant here plus a row in the apply table (
crate::animations), not a new named field on a fixed struct. The wire key is camelCase (seeAnimatableProperty::from_wire); the JS side mirrors this set injs/src/animated.ts’sAnimatablePropertyunion. - Animation
Command - An imperative animation command, carried by
op_animate. Drains into thecrate::animations::SharedValuestable each frame. - Binding
- Binds one animated style property to a shared value. Lives in the reconciler
Props.animated(seeAnimatedBindings); evaluated each frame by the orchestration system. - Driver
- How a shared value should evolve over time — the thing assigned to
sharedValue.value(withTiming,withSpring,withRepeat,withSequence). Drivers compose:Repeat/Sequencewrap other drivers. - Easing
- Easing curve for
Driver::Timing. Cubic in/out variants. - Value
Kind - How an animated value resolves and where it lands. Pure metadata shared by the
imperative apply layer and (for identity/precedence) the CSS-
transitionengine incore.
Type Aliases§
- Shared
Id - Identity of a shared value (Reanimated’s
useSharedValue). Allocated on the JS side; lives in thecrate::animations::SharedValuestable on the Bevy side. Its own namespace, unrelated to reconciler node ids.