Anica logo Anica

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.

MotionLoom Graph

GitHub example

Preview

Canvas 2D pipeline

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.