Study references
Look at real films before you design. Fill the Taken from section of the brief with frames and three moves.
At the end of this page the brief has a “Taken from” section with 4 to 6 named frames and 3 named moves. This is stage 2 of the loopThe loop is the ten stages that make a film: brief, references, design kit, states, board, draft, motion pass, critique, fix and final.. It comes before the design files, because the frames you take decide the look.
You need the brief from Write the brief and at least two referenceA reference is an existing film that you study or recreate. films. References live outside the repo, in ~/.vawe/refs (or $VAWE_REFS_DIR).
Steps
List the references
bin/vawe refs listAdd a reference id to print the frame paths of that film. To add a film, give refs add an mp4 or a URL and a type (product or brand). --no-measure only downloads the film; measure it later with bin/vawe see <id>.
bin/vawe refs add https://youtu.be/xxxx --type product --title "Linear Agent"Write the frames to disk
bin/vawe refs frames <ref-id>This writes the settled full-size frame of each shot into frames/<id>/, with a frames.json manifest, and prints every absolute path.
Read the frames at full size
Open each frame with the Read tool, or in an image viewer, at full size. The frames are at ~/.vawe/refs/frames/<id>/<shot>.png.
Fill “Taken from”
In films/<name>/brief.md, add 4 to 6 rows to the “Taken from” table. Write the exact path of the frame and what you take from it.
| frame (exact path) | what you take |
|---|---|
| films/examples/colour-sting/assets/taken-match-cut.jpg | one shape holds its place across the cut while the ground and the ink flip |Study how the references move
bin/vawe strip <ref-id> --cuts--cuts writes one strip for each shot cut, centred on the cut. Do this on two references. Read every strip. The output also prints the seconds when a move starts, peaks and settles.
Name three moves
Add three rows to the “move taken” table of “Taken from”: the name of the moveA move is a named, copyable piece of motion, such as mask-rise or whip-pan, with its CSS and Web Animations code, notes, a sound line and a clip. (from prompts/moves), the reference id and the cut second. Also note which of the ten patterns of “The motion grammar” in taste/craft/film-structure.md each reference uses.
| move taken | ref id | cut s |
|---|---|---|
| match-cut | <ref-id> | 0.60 |What you see
Each strip run prints the path of each grid. A grid holds 9 frames by default (--fps 8, --span 1), left to right and top to bottom. Read each grid at full size: the frames show the order in which the parts of the move arrive.

What good looks like
- Each frame row says what you take, not only that you like it. “The name opens from behind the mark on a feathered edge” is a thing you can build.
- Each move row has a reference id and a second. A move with no second cannot be checked.
- The boardThe board is the "Board" section of the brief: a plan for time, with the rhythm of the cuts, the spectacle second, one named move for each cut and the sound. uses the moves later.
bin/vawe shipadvises when a move in “Taken from” is in no cut.
The finished example is films/examples/colour-sting/brief.md.
Common mistakes
| What you see | Why | What to do |
|---|---|---|
The next: line still asks for “Taken from” | Fewer than 4 frame rows hold a path to a png, jpg or webp | Add rows until there are 4 |
The next: line asks for moves | Fewer than 3 rows in “move taken” | Run strip --cuts on a second reference and name more |
| You took a look but no move | You read a contact sheet only | Read the strips of strip --cuts |