Figma-quality snap lines, grid overlay, and fit-to-children for the Studio preview canvas. Also ships the GSAP keyframe system (parsing, runtime bridge, diamonds, dynamic keyframes, design panel) and a batch of CLI reliability fixes.
Features
- Studio: Add fit-to-children button in property panel (4d968866, #1224)
- Studio: Wire snap engine into preview drag and resize gestures (0a965dc4, #1223)
- Studio: Add snap guide overlay, toolbar, grid, and target collection (f8bf039a, #1228)
- Studio: Add stateless snap engine with alignment computation (1863831a, #1227)
- Studio: Runtime-synced design panel + 3D props + split polish (1bdb2d4e, #1188)
- Studio: Runtime-first dynamic keyframe system [8/10] (c1699ec9, #1190)
- Studio: Split clip at playhead for media elements [7/10] (d1aad77f, #1189)
- Studio: Design panel, timeline polish, feature flag [6/6] (a5211954, #1172)
- Studio: Keyframe hooks wiring — session, cache, toolbar [5/6] (7a088326, #1171)
- Studio: Keyframe diamonds, navigation, context menu [4/6] (5984c588, #1170)
- Studio: GSAP runtime bridge + optimistic updates [3/6] (12e87e05, #1169)
- Core: Spring physics solver + runtime fixes [2/6] (aab73774, #1168)
- Core: GSAP keyframe parsing, mutations, and API routes (e639a163, #1167)
- Docs: Add weekly update drafts (1abe69f3, #1183)
- Docs: Add changelog release workflow (248f6407, #1164)
Fixes
- Studio: Fix PropertyPanel format and file size regression (2c73fa9c, #1229)
- CLI: Bind studio preview server to loopback by default (1324de54, #1210)
- Runtime: Make audio/media sync boundary inclusive to match visibility fix (b6a14ea9, #1173)
- Add progress logging during silent render pipeline stages (6bd1e764, #1220)
- Respect user timeouts on low-memory systems (20894ab9, #1221)
- Runtime: Don’t restart non-loop media that has naturally ended (faa3f588, #1203)
- CLI: Report available memory instead of free memory in doctor (96795031, #1204)
- CLI: Reject directory —composition and add —browser-timeout (#1199) (6affe2d2, #1200)
- Scripts: Make release change-guard robust to git status prefix (8228932e, #1198)
- Producer: Localize remote <img> sources + await image readiness (72c461d8, #1197)
- CLI: Support arm64 hosts for
--dockerrender (2be41937, #1196) - Engine: Fast-fail on zero duration instead of 45s timeout (efb8d90f, #1186)
- CLI: Lazy-load @puppeteer/browsers to prevent debug package crash (8c6faa45, #1185)
- CLI: Suppress EPIPE crashes in piped agent environments (cabd0616, #1184)
- Delay ObjectURL revocation and silence TS5 baseUrl deprecations (6de6ea53, #1181)
- Engine: Add —autoplay-policy=no-user-gesture-required to headless Chrome args (9e5adafd, #1177)
- Runtime: Apply parent composition offset to WebAudio scheduling for sub-comp audio (ac73cbbc, #1175)
- Runtime: Show elements at exact end of their duration (inclusive boundary) (b652c0a2, #1166)
- CLI: Localize external assets in publish archive (a4706da5, #1160)
Docs & Examples
- Add reap as HyperFrames adopter (4b51cc64, #876)
- README: Add Frame.md design template gallery (1a617d30, #1182)
- Skills: Prefer frame.md over design.md for video specs (fcff442a, #1180)
Catalog
- Registry: Add 14 missing blocks to registry manifest (d8ed343d, #1163)
- Registry: Add Apple Terminal blocks to registry manifest (e9949d76, #1162)
- Registry: Add Apple Terminal theme code snippet blocks (689deaf4, #1161)
Internal
- CLI: Cover the cloud client 401-refresh-retry decorator (0870394d, #1202)
- Producer: Regenerate stale style-7-prod baseline in Docker (1aa651bd, #1178)
- Add release prepare command (17b0db1d, #1165)
Runtime stability and CLI improvements: fixes audio stuttering in the preview player when a media file ends before the composition does, adds a configurable browser navigation timeout, localizes remote
<img> sources before render to eliminate image flicker, and adds ARM64 Docker render support for Apple Silicon.Fixes
- Runtime: Don’t restart non-loop media that has naturally ended (faa3f588, #1203)
- CLI: Report available memory instead of free memory in doctor (96795031, #1204)
- CLI: Reject directory —composition and add —browser-timeout (#1199) (6affe2d2, #1200)
- Scripts: Make release change-guard robust to git status prefix (8228932e, #1198)
- Producer: Localize remote <img> sources + await image readiness (72c461d8, #1197)
- CLI: Support arm64 hosts for
--dockerrender (2be41937, #1196)
Internal
View the full commit range.A render-reliability release: the producer now localizes remote
<img> sources and waits for them to load before capturing frames, fixing blank-frame flicker in compositions that reference remote (S3) images. --docker renders also now run on arm64 hosts.Fixes
- Producer: Localize remote <img> sources + await image readiness (72c461d8, #1197)
- CLI: Support arm64 hosts for
--dockerrender (2be41937, #1196)
Fixes three production-observed CLI and engine errors: EPIPE crashes in piped agent environments,
@puppeteer/browsers import failures that blocked all commands when the debug package was missing, and zero-duration composition timeouts reduced from 45s to ~11s with an actionable diagnostic.Features
Fixes
- Engine: Fast-fail on zero duration instead of 45s timeout (efb8d90f, #1186)
- CLI: Lazy-load @puppeteer/browsers to prevent debug package crash (8c6faa45, #1185)
- CLI: Suppress EPIPE crashes in piped agent environments (cabd0616, #1184)
- Delay ObjectURL revocation and silence TS5 baseUrl deprecations (6de6ea53, #1181)
Docs & Examples
- README: Add Frame.md design template gallery (1a617d30, #1182)
- Skills: Prefer frame.md over design.md for video specs (fcff442a, #1180)
Runtime audio and rendering stability improvements: fixes audio in sub-compositions playing at the wrong timeline position, elements showing blank at the exact last frame, and a headless Chrome deadlock when GSAP tweens audio volume. Includes Apple Terminal catalog blocks and registry manifest fixes.
Features
- Docs: Add changelog release workflow (248f6407, #1164)
- CLI: Validate cloud render aspect/composition/format before upload (42ad3050, #1156)
Fixes
- Engine: Add —autoplay-policy=no-user-gesture-required to headless Chrome args (9e5adafd, #1177)
- Runtime: Apply parent composition offset to WebAudio scheduling for sub-comp audio (ac73cbbc, #1175)
- Runtime: Show elements at exact end of their duration (inclusive boundary) (b652c0a2, #1166)
- CLI: Localize external assets in publish archive (a4706da5, #1160)
- Producer: Localize remote @font-face src URLs before render (b1b03782, #1155)
- Core: Emit mediaVolumeEnvelope in tsc lib output (e7c874cc, #1159)
- Producer: Honor variables + outputResolution in HTTP render server (8b6d35e2, #1152)
- CLI: Mock findFFmpeg in render tests for CI without ffmpeg (a01a266e, #1154)
Catalog
- Registry: Add 14 missing blocks to registry manifest (d8ed343d, #1163)
- Registry: Add Apple Terminal blocks to registry manifest (e9949d76, #1162)
- Registry: Add Apple Terminal theme code snippet blocks (689deaf4, #1161)
Internal
- Producer: Regenerate stale style-7-prod baseline in Docker (1aa651bd, #1178)
- Add release prepare command (17b0db1d, #1165)
This release focuses on stability improvements across Studio rendering, producer telemetry, and core timeline handling.
Fixed
- Studio: Added an FFmpeg pre-flight check before rendering so setup issues fail earlier with a clearer path to resolution.
- Producer: Normalized structured error messages so telemetry and logs no longer collapse details into
[object Object]. - Core: Guarded timeline method calls for non-conformant timeline-like objects.
- Release: Removed a stale marketplace version field from packaged release metadata.