phosphor-animation

Motion runtime + shader-transition runtime with JSON profiles.

Two cooperating runtimes. The motion runtime drives AnimatedValue<T> through curves, springs, easings, and a per-output IMotionClock (QtQuickClock is the Qt Quick adapter). The shader-transition runtime (PhosphorAnimationShaders namespace) discovers transition shader packs from search paths and picks one per event. Both are configured by JSON Profile / ShaderProfile trees keyed on dot-path events (window.open, zone.snapIn); optional fields support inherit/override. Curves, profiles, and shader packs hot-reload from the user data dir without a daemon restart.

Full API →

Key types

AnimatedValue<T>
Typed in-flight animation; pull-model value() reads the clock.
MotionSpec<T>
Runtime call-site bundle: profile, clock, retarget policy.
IMotionClock
Per-output pull-model clock contract.
Profile / ProfileTree
Serialisable curve+duration+stagger bundle with inheritance.
PhosphorProfileRegistry
Process-wide hot-reloading profile registry.
AnimationShaderRegistry
Transition shader-pack registry (PhosphorAnimationShaders).
SurfaceAnimator
ISurfaceAnimator impl that wires both runtimes into phosphor-layer.

Dependencies

See also

References