paper-cutout

Installation
SKILL.md

Paper cut-out (stop-motion paper) engine

Every frame is a pure function of time t. studio.html loads src/kit.js (shared ReelMimic runtime: timeline, motion helpers, camera, render hooks), src/cutout.js (this look: materials, cut/torn pieces, shadows, set dressing, props, transitions, captions, the photographed finish), src/cast.js (the puppets) and one scene file per shot. render.mjs drives headless Chrome for contact sheets, strips, crops and the final frames.

Workflow

  1. Scaffold — bash .claude/skills/paper-cutout/scripts/new_project.sh <project-dir> (add --keep-demo to keep the example). Then read GUIDE.md (in this skill folder) in full, and look at docs/demo-sheet.jpg, docs/expressions.jpg (13 expressions × both puppets) and docs/poses.jpg.
  2. Storyboard with reads (what the viewer must understand, when) — the same discipline as painted-animation's ANIMATION_GUIDE.md (timing, one read at a time, anticipation → action → follow-through, transitions at every seam).
  3. Build one IIFE file per shot in src/scenes/, each ending with shots([[t0, fn]]); add its <script> to studio.html after cast.js. Set duration in src/config.js. Start shots on multiples of 1/12 s.
  4. Look — node render.mjs --sheet=... --cols=4 --w=480 --out=out/check/a.jpg, --strip=a:b for motion, --crop=x,y,w,h / --crop-at= for faces and hands. Open every image with Read. Fix, re-render.
  5. Render — node render.mjs --frames --workers=4 && node render.mjs --encode --out=out/video.mp4 [--audio=...].
Installs
70
GitHub Stars
2.0K
First Seen
Oct 5, 2026