The time-lapse era, audited and stable. Everything from v3.61.0 to v3.65.0 in one milestone.
The Time-lapse Studio
- Time-lapse recorder (☰ menu): snap frames with F or the camera button, or turn on auto-record and every change becomes a frame while you work. New: an auto-record grouping window (2s/5s/10s) collapses several quick edits into one keyframe.
- Motion between keyframes: every frame has a hold time and a move time. Elements travel, resize, rotate and recolor into the next frame. Stop-motion is the default: discrete shaky steps with a hand-drawn boil, the true time-lapse feel. Smooth, Snappy, Overshoot and Linear easings are there when a story wants motion design instead. Fps (3 to 25) sets the steps per second of every move.
- Camera keyframes (🎥): frames remember your zoom and position, and the export glides between them while the objects step.
- Onion skin (👻), live preview with scrubber (▶), frame multi-select (Shift and Cmd click) with bulk retiming.
- Recordings persist with the document: they survive reload and travel inside .json files.
- Export as looping GIF (zero-dependency GIF89a encoder with changed-rectangle diffing, streaming memory use, background-tab safe) or .webm video.
- Animated GIF export for pages (⬇ menu): each page a frame with its own duration, now on the same streaming engine.
Audit (this release)
- Hardened .json loading: recording frames capped and normalized, size guard counts recording elements.
- Security review passed: strict CSP (no external scripts, object-src none), no HTML injection sinks, SVG sanitization and font allowlist intact, MCP bridge bound to 127.0.0.1.
Live app: https://karagos.github.io/koralpaper/ (works offline, installable as a PWA)
Prompt library: https://karagos.github.io/koralpaper/docs/prompts.html