Paper Cutout
Make paper cut-out / stop-motion style animated videos (MP4) with code — handmade construction paper, cardstock, kraft, felt and tissue pieces with…
By edenfunf/reelmimic, MIT licence. Shared here with credit.
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
- Scaffold —
bash .claude/skills/paper-cutout/scripts/new_project.sh <project-dir>(add--keep-demoto keep the example). Then readGUIDE.md(in this skill folder) in full, and look atdocs/demo-sheet.jpg,docs/expressions.jpg(13 expressions × both puppets) anddocs/poses.jpg. - 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). - Build one IIFE file per shot in
src/scenes/, each ending withshots([[t0, fn]]); add its<script>tostudio.htmlaftercast.js. Setdurationinsrc/config.js. Start shots on multiples of 1/12 s. - Look —
node render.mjs --sheet=... --cols=4 --w=480 --out=out/check/a.jpg,--strip=a:bfor motion,--crop=x,y,w,h/--crop-at=for faces and hands. Open every image with Read. Fix, re-render. - Render —
node render.mjs --frames --workers=4 && node render.mjs --encode --out=out/video.mp4 [--audio=...].