# llimphi-lottie A thin bridge between `velato` (Linebender's Lottie player) and Llimphi. `llimphi-svg` covers arbitrary *static* vector art (`.desktop` icons, logos). `llimphi-motion` covers motion *generated by code* (tweens over the Elm loop). This crate covers the gap in between: **vector animation authored elsewhere** — the Lottie `.json` files designers export from After Effects / lottiefiles (animated icons, illustrations, empty states, onboarding). It is the twin of `llimphi-svg` with a time axis: `velato` parses the JSON into a `Composition` and, for a given `frame`, emits into the **same** `vello::Scene` that `llimphi-raster` uses. ## Use ```ignore use llimphi_lottie::LottieAsset; use std::time::Duration; // Parse ONCE (when loading the app): let anim = LottieAsset::from_str(include_str!("spinner.json")).expect("valid lottie"); // The app keeps the elapsed time in its state and advances it with the Elm // loop — exactly the pattern of the simulation workers: // handle.spawn_periodic(Duration::from_millis(16), || Msg::Tick); ``` --- Part of **llimphi** — see [llimphi](../README.md).