Rendering layer
v0.9BetaVirtual Canvas Protocol
A structured drawing surface for AI-generated graphics and layout.
- TypeScript
- Rust
import { Scene } from "@legionedge/vcanvas";
const scene = Scene.parse(modelOutput);
// Generated art stays editable — no flattened pixels
scene.select("logo/mark").scale(1.2);
scene.export("svg");
- Version
- v0.9
- Status
- Beta
- License
- Open specification
- Implementations
- TypeScript · Rust
- Stack layer
- Rendering
What the spec defines
The guarantees, not the vibes.
The Virtual Canvas Protocol defines a structured drawing surface for AI-generated graphics: shapes, paths, and layout expressed as validated scene graphs instead of raw pixels. A generated illustration is data you can query, edit, and re-theme — not a bitmap you regenerate from scratch.
The scene graph shares its constraint-layout vocabulary with the Virtual DOM Protocol, so illustrations and interfaces compose on the same verifiable foundations. An icon generated on the canvas drops into a component tree without translation.
Inside Nokuva, the protocol is what keeps graphic work in the cheap medium: refining a mark or adjusting a composition is a scene-graph edit costing pennies, not a regeneration burning tokens.
The spec is in public beta at v0.9 — the remaining work before stable is the animation timeline section. Implementations ship for TypeScript and Rust, and beta feedback lands in the public tracker.
Proven in production