← Rive effect workshop

IMPLEMENTATION STATUS · 17 SEPTEMBER 2026

Official GPU Canvas is a real route.
This exporter is still a hybrid.

The distinction is who owns the shader pipeline and what travels inside the file. A browser using the official runtime alongside our WebGL2 passes is not automatically a GPU Canvas .riv.

OFFICIAL CAPABILITY

More than a shader behind a UI.

Rive’s current feature table lists GPU Canvas support in WebGL2 runtime 2.42.0+ and React WebGL2 4.34.0+. The API exposes a canvas image for compositing, render passes and a color view that can be sampled by a later pass. It is not inherently a one-way output. Official runtime support · Official GPUCanvas API.

THIS WORKING EXPORT

Original .riv + official playback + custom GPU.

The HTML includes the source Rive document, pinned official WebGL2 runtime 2.37.8, custom effect programs, settings and captured history. It runs without the desktop tool or a network connection. Its JavaScript allocates the history textures and phosphor buffers. Those programs are not serialized as GPU Canvas objects in the source .riv.

VANILLA .RIV EXPORT

One route works today.

Layered splat snapshots export ordinary Rive ellipses and colors. They reopen in the official runtime with no custom rendering code. This is a static vector snapshot; the interactive source, temporal state and shader processing remain in hybrid HTML.

WHAT STILL BLOCKS A GPU CANVAS .RIV BUTTON

The missing part is authoring and packaging.

The native checkout has the GPU Canvas/ORE APIs and compiled example objects. Its Windows example host still has unresolved D3D/toolchain integration issues. More importantly, our exporter has no verified route to compile and serialize the required GPU shader and scripted-node assets into a .riv, and our browser player is pinned below the GPU Canvas minimum version. Updating a runtime dependency alone would not turn these JavaScript-managed passes into a portable document.

Next validation: author a minimal GPU Canvas .riv with embedded script and shader assets, play it in official WebGL2 2.42+ with no custom effect code, then port one effect and verify that exact artifact. Until that exists, no export control here claims to produce it.

Local source evidence: native ore_canvas_import.cpp explicitly tests Rive 2D → imported GPU texture → ORE shader → Rive composite, including GL/WebGL texture orientation. The existing native audit records compiled example objects and the Windows link/SDK failure. This is evidence of the integration route, not a completed browser export.