Bake any Blender camera move into one .svg. Put it in an
<img> and it renders like a picture. Load the player and
the same file animates — sharp at every zoom, recoloured on the fly, and
still clickable while it moves.
Cost follows element count, not resolution — the work is path setup, not filling pixels. A 4K panel costs what a thumbnail costs.
Spin, open, explode a model — then hand off to a still that stays crisp on any display and matches your palette exactly.
Move between two views of the same object. The animation ends on a frame computed from the same data as the state you cut to, so the swap is seamless.
Parts stay real objects mid-motion. Recolour a group when data changes, or hit-test a click while the camera is still moving.
No pixelation when scaled, no re-encode to change a colour, no second file for the poster image.
Hidden-line removal and occlusion order are worked out at bake time and checked by an audit that reports violations, cycle breaks and order flips. What ships is sparse 2D keyframes — no camera, no projection, no depth buffer at runtime.
Choose meshes and a camera move. The add-on projects every vertex, removes what's hidden, resolves paint order and thins keyframes to a pixel tolerance you set.
Animation and both resting states travel inside a real SVG. No new extension, no MIME setup, no build plugin, no broken image if JavaScript never runs.
A custom element, identical in Vue, Svelte, Angular, React and plain HTML. Play, reverse, recolour, hit-test, cut to the static state.
<script type="module" src="https://unpkg.com/lerpa-player"></script>
<lerpa-player src="/anim/scene.svg" autoplay loop></lerpa-player>
Ready-made transitions you can drop straight into a page with the free runtime — no Blender, no bake, no licence to read. Released under CC0: use them anywhere, commercially, without attribution. When you need one of your own model, that's what the add-on is for.
<lerpa-player src="/library/orbit-solid.svg" autoplay loop></lerpa-player>
Cards marked baking are queued. Previews are drawn with the same method the exporter uses — project, sort by depth, fill then stroke — so what you see is what the file will do.
There is one runtime and it is the web one. Every other platform is served by exporting Lottie straight from the add-on, so iOS, Android, React Native and Flutter run on their own mature players — nothing extra for you to install, and nothing extra for us to keep in step.
| Target | Export |
|---|---|
Web
Per-frame occlusion, live recolouring and hit-testing
mid-playback — and the file still renders in a plain
<img> with no player at all. |
.svg |
| iOS · Android · React Native · Flutter The standard Lottie players, within the one limit noted below. | .lottie.json |
Where the Lottie path is lossy: layer order in Lottie is static. Depth collapses to a fixed stack sorted by average depth, so occlusion cannot flip mid-animation. For a modest camera move that is invisible; for a full orbit, where the far side becomes the near side, it is not. Interface transitions sit well inside the safe zone; a product turntable does not — and that gap is the whole reason the native format exists.
| Tier | Price | |
|---|---|---|
| Player The web runtime, open source under AGPL-3.0. Free for open-source work, personal projects and evaluation. | Free | npm install |
| Studio The Blender add-on. Perpetual licence, a year of updates. For anyone making their own animations. | $59 once | Buy |
| Commercial Add-on plus a commercial licence for the player, so it can ship inside a closed-source product. Priority support. | $399 / year | Buy |
| Delivered Send a model and a shot list, get back tuned, themed animations ready to drop in. | from $2,500 | Enquire |
Why the split: the add-on links against Blender's Python API, so it is GPL and always will be — a copy you buy is yours to redistribute. The web player is separate code, and its AGPL terms are the ones a closed-source product cannot meet. That is what the commercial licence buys out.