Introduction
Vawe is a framework for agent-native motion graphics. One HTML page in, one film out.
Vawe turns one HTML page into one film. You write the page in what you already know: HTML, CSS, Web Animations, SVG, canvas, three.js. There is no private format to learn. If something you would naturally write fails, that is a framework bug.
The renderer does not play the page. It seeks the page to a time, takes a picture, and moves to the next time. Then it mixes the audio offline and writes an mp4.
bin/vawe new hello # writes films/hello/page.html and brief.md
bin/vawe dev films/hello/page.html
# draft: out/hello-draft.mp4Two ideas
A film is a page. It is films/<name>/page.html plus its own assets/ folder. A <meta name="duration"> sets the length. Read The page for the whole contract.
Time is the seek, never the clock. Every frame is a function of the time t. A virtual clock owns Date, requestAnimationFrame, timers and Math.random, so the same page gives the same frames on every run. Read Determinism.
The loop
Brief or reference, then stills, then a draft, then a critique in a fresh session, then a fix of only the seconds the critique names, then the final.
| If you want to | Read |
|---|---|
| render a film in ten minutes | Quickstart |
| describe a film and let an agent build it | Prompting |
| know what a page must contain | The page |
| make it move well | Motion, Recipes |
| set the look, the sound and the aspect | Backgrounds and images, Audio, Aspect ratios |
| judge whether it is any good | Reading your film |
| find out why it came out wrong | When it looks wrong |
| match a real brand | Brand reflection |
| see every command | CLI, Quality gates |