GPU effect engine
MotionLoom
A graph-based video effects and motion graphics engine built on WGPU. This playground shows a real graph execution pipeline — DSL → textures → compute passes → present.
Live playground
Graph → Pipeline → Preview
Edit the full MotionLoom graph below. The browser parses the DSL, builds a texture pipeline, and executes compute passes on your image in real time.
MotionLoom Graph
Preview
Source: demo.jpg (public domain)
If a MotionLoom WASM package is deployed, Scene graphs render through Rust/WASM; otherwise this page falls back to the Canvas 2D showcase.
Pipeline
How it works
MotionLoom graphs describe a directed pipeline: input clips are loaded into textures, passes read and write textures, and the final present node composites the result.
1. Parse
The DSL parser reads the graph, validates connections, and builds a runtime node list.
2. Compile
Textures are allocated, passes are ordered by dependency, and shaders are prepared.
3. Execute
Each pass runs on the GPU. The final texture is blitted to the present target.
Native vs Web
MotionLoom in the browser
This playground uses a Canvas 2D fallback to demonstrate the graph execution model. The real Anica desktop app runs the same MotionLoom DSL through Rust/WGPU with full GPU compute and video export.