How Workshop Works
Workshop converts human-readable .ws scripts into professional motion graphics videos through a three-layer architecture. Each layer has a distinct job and a clean interface to the next.
Layer 1: Authoring
You write a .ws file — or an LLM generates one from a prompt. The .ws format is a declarative language where you describe what you want to say, set a mood, and let the compiler handle design.
Film "Product Launch"
mood: confident
Scene "Problem"
show "Your tools are slowing you down."
size: title
enter: rise
The .ws file is the human-readable authoring layer. It contains content and creative intent but no pixel values, keyframes, or render instructions.
Layer 2: Compilation
The compiler transforms the .ws source through eight stages into a RenderGraph — a JSON specification that describes every frame of the video.
.ws Source → Lexer → Parser → Normalizer → Policy Engine
→ Timing Calculator → Layout Solver → Physics Solver → RenderGraph
Each stage has one input, one output, and one responsibility. The pipeline is fully deterministic — same input always produces the same RenderGraph, with no randomness anywhere.
The Lexer tokenizes raw text. The Parser builds an abstract syntax tree. The Normalizer resolves defaults and expands shorthand. The Policy Engine applies ThemePack overrides and validates brand constraints. The Timing Calculator computes hold durations from syllable counts and reading speed. The Layout Solver positions elements within the frame. The Physics Solver calculates spring dynamics for entrance animations. The final Compiler stage emits the RenderGraph JSON.
Layer 3: Rendering
The RenderGraph is renderer-neutral — it describes what to draw, not how to draw it. Workshop's native renderer reads the RenderGraph and produces an MP4 using a proprietary bare-metal pipeline, bypassing the browser entirely.
The renderer draws each frame programmatically with pixel-perfect typographic precision, deterministic physics calculation, and broadcast-quality H.264 encoding. No browser, no GPU, no X server required.
The RenderGraph as Protocol
The RenderGraph sits at the center of the architecture. It is the contract between compilation and rendering. Any tool that produces a valid RenderGraph can use Workshop's renderer. Any tool that consumes a valid RenderGraph can replace Workshop's renderer.
This makes the RenderGraph a protocol, not just an internal format. See The RenderGraph for the schema.
What Makes This Different
Most AI video tools generate pixels directly from prompts — each generation is a fresh guess with no structural guarantees. Workshop separates reasoning from execution. The LLM (or human author) makes creative decisions in the .ws layer. The compiler enforces structural rules, brand constraints, and timing physics. The renderer produces deterministic output.
This separation means revision is editing text, not re-generating everything. Brand compliance is enforced by the compiler, not by human review. And the same script produces identical output every time it compiles.
Next Steps
- The RenderGraph — the compiled video specification
- Compiler Pipeline — detailed breakdown of all eight stages
- Sandwich Architecture — how LLM reasoning and deterministic compilation work together