RIVX / exported hybrid study

ONE DOCUMENT · SEVERAL REPRESENTATIONS

Let a Rive animation become the ink.

Play an actual .riv, turn its live image into oil paint, vector splats, phosphor traces or an orbitable time volume, then export the entire player. The source stays a Rive document throughout.

Loading bundled official Rive runtime…

Faux 3D Game Icons · rishi.kumar.id · CC BY · Rive animation

Choose a timeline, or use state-machine inputs and pointer interaction.
01 / Official Rivefaux.riv
02 / Custom WebGL2Gaussian splats · custom GPU

390 Gaussian marks · 144 presented fps

Adaptive image patches allocate smaller Gaussian marks where color changes. Local gradients orient and narrow marks at edges. This is live 2D image fitting, not trained 3D Gaussian splatting. Compare the same marks with the official Rive layered-ellipse approximation.

KEEP THE WHOLE WORKFLOW

Export a working browser player.

The HTML carries the original .riv, official runtime, WASM, pipeline settings and captured history. Open it directly in a browser. The layered-splat snapshot exports actual ordinary Rive ellipses.

Self-contained player: source, runtime, pipeline and captured image history.
RIVE → TEXTURE → RIVE

The final marks can be Rive too.

Compare fitted Gaussian shader splats with eight concentric translucent ellipses per mark, drawn by the official Rive renderer. Adaptive image patches put smaller marks around color changes; edge-aligned ellipses follow local gradients. Both routes use the same fitted marks and widths; very dark marks are omitted. A fixed ordinary Rive shape pool updates every display frame. It uses 24 or fewer source-derived colors and a bounded mark budget; the static snapshot export keeps full sampled color. This is per-frame 2D image fitting, not a trained 3D Gaussian scene. This illustrates an approximation with a real vector cost, not an arbitrary Gaussian feather feature in vanilla Rive.

IMAGE HISTORY AS A VOLUME

Time becomes the third axis.

Studio mode stores 128 actual 512 × 512 frames and raymarches up to 192 samples per ray. RGB, motion density and iso-sheets share that history. STM uses luminance as height; it is an image relief, not recovered scene depth. Beam traces ordered extracted contours into a decaying phosphor buffer.

RUNTIME OWNERSHIP

A working hybrid, with clear boundaries.

The imported artboard, timelines and state machines use official Rive. Oil, Gaussian splats, beam and space-time use custom WebGL2. The browser extracts image contours; the desktop beam also has original path access. Hybrid HTML is self-contained, but is not a native .rivx or GPU Canvas .riv export. GPU Canvas export status →