Blender → Web · Vector Animation

move to look around · click a compartment · click away to go back

One file · renders anywhere · animates on cue

Press a 3D move into a single SVG.

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.

That is this Apollo–Soyuz. 91 parts, one .svg, no 3D on the page — the turn is a baked orbit your pointer scrubs, and every compartment is a real element you can hit test.

Measured — the butterfly below and the ship above
Butterfly5.5 KB11 elements, gzipped
This ship1.6 MB16,164 elements, gzipped
Runtime7 KBminified, gzipped, no deps
Fallback100%renders without JS

Cost follows the drawing. The butterfly holds the display's refresh rate at every canvas size up to 4K. This ship is the heavy end: about 25 repaints a second under a moving pointer on a mid-range laptop. The runtime is 7 KB through a bundler; the unpkg tag below serves the source, 20 KB.

What it's for

Any scene you'd otherwise export as video.

Product reveals

Spin, open, explode a model — then hand off to a still that stays crisp on any display and matches your palette exactly.

Interface transitions

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.

Diagrams that respond

Parts stay real objects mid-motion. Recolour a group when data changes, or hit-test a click while the camera is still moving.

Anywhere video is too heavy

No pixelation when scaled, no re-encode to change a colour, no second file for the poster image.

The trick

All the 3D happens once, before the page ever loads.

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.

FIRST

Bake

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.

THEN

One file

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.

FINALLY

Play

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>
Library · free, CC0

Start with a move already baked.

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/butterfly/butterfly-side.svg" autoplay loop></lerpa-player>

Cards marked CC0 are the real file, playing through the same runtime you would ship — what you see is the download, not a picture of it. Cards marked baking are queued, and show a canvas stand-in drawn the way the exporter works: project, sort by depth, fill then stroke.

Reach

The web gets the whole file. Everywhere else gets Lottie.

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.

TargetExport
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.

Get it

Free and open source. Both halves.

PieceLicence
Player The web runtime. Use it anywhere, closed-source and commercial products included. MIT npm install
Commission Send a model and a shot list, get back tuned, themed animations ready to drop in. by quote Enquire

The licence page settles it in a minute: the artwork you bake is yours, the player is MIT, the add-on is GPL.