Lottie is a small animation-focused repository with four reusable packages:
Lottie: a Skottie-powered control for playing .json Lottie assets in Avalonia.AnimationControl: a lightweight base class for custom animations driven by RequestAnimationFrame.CompositionAnimatedControl: a composition-backed Skia host for animated or static redraw scenarios.ShaderAnimatedControl: a shader-oriented control that loads SKSL and exposes a draw callback for uniform binding.Avalonia applications often need animation surfaces at different abstraction levels:
DrawingContext rendering,This repository keeps those layers in one place so the packages can build on each other instead of duplicating scheduling and rendering code.
| Package | Depends on | Best for |
|---|---|---|
AnimationControl |
Avalonia |
Basic custom controls that animate with Avalonia drawing primitives |
CompositionAnimatedControl |
Avalonia, Avalonia.Skia, SkiaSharp |
Custom Skia rendering with playback, seek, repeat, and redraw support |
Lottie |
CompositionAnimatedControl, SkiaSharp.Skottie |
Playing Lottie/Skottie JSON animations |
ShaderAnimatedControl |
CompositionAnimatedControl, SkiaSharp |
Running SKSL shaders with app-controlled uniforms |
Lottie and ShaderAnimatedControl reuse the scheduling and rendering pipeline in CompositionAnimatedControl.SKCanvas.Lottie player and move down to base controls only when you need custom drawing behavior.samples/ so the authored docs stay grounded in working code.