gioser

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 660Markdown 302TOML 157RON 312382 Sutichaykuna

⎇ main llimphi-lottie/README.md Markdown · 31 siq'ikuna · 1.1 KB Ñawpa willay ch'uya

chore: refresco desde el monorepo — 27 crates nuevos (anim, lottie, svg, mesh, image, layer, test, wire-view, widgets rag-sidebar/router/lazy-list/rive-button) y sync de los 95 existentes 93253cc22 · Sergio ·

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

README.md

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

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.