---
title: "Changelog"
description: "Release notes for HyperFrames."
rss: true
---

Recent HyperFrames releases, including user-facing features, fixes, and migration notes.

{/* New release entries are prepended by `bun run changelog:draft <version> --write`. */}

<Update
  label="HyperFrames v0.7.33"
  description="Released - 2026-07-04"
  tags={["Release", "Producer"]}
>
This release fixes an HDR compositing regression where hidden or future timed DOM
descendants could be revived during per-layer screenshots and bleed into HDR
frames. DOM-layer masking now preserves those hidden descendants while capturing
the active layer, keeping HDR output aligned with preview timing.

## Fixes

- **Producer:** Avoid reviving hidden DOM in HDR layers ([bb066077b](https://github.com/heygen-com/hyperframes/commit/bb066077b4ecbf4efc021779e37da6475c6f80dd), [#1935](https://github.com/heygen-com/hyperframes/pull/1935))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.32...v0.7.33).
</Update>

<Update
  label="HyperFrames v0.7.32"
  description="Released - 2026-07-04"
  tags={["Release", "Hyperframes Media", "CLI", "Video Workflows"]}
>
This release hardens the CLI validation and browser-install paths: validate now seeks through the runtime player, honors the configured timeout more consistently, and browser installs recover from stale or partial downloads without racing concurrent forced reinstalls. It also closes Windows media setup gaps, scopes `window.__hyperframes` correctly inside sub-compositions, pads transition-tail frame durations, and moves large audio filter graphs out of the command line.

## Fixes

- **Hyperframes Media:** Install MusicGen deps via python3 -m pip, not bare pip ([942080fa8](https://github.com/heygen-com/hyperframes/commit/942080fa8e8e77de93ef6546690b5b5421d80e88), [#1894](https://github.com/heygen-com/hyperframes/pull/1894))
- **Hyperframes Media:** Resolve python3 -\> python/py on Windows ([3388635f1](https://github.com/heygen-com/hyperframes/commit/3388635f1d1431de0b2a2e7d132f834f7614557c), [#1922](https://github.com/heygen-com/hyperframes/pull/1922))
- **CLI:** Validate seeks the runtime player directly, not raw timelines ([3f49f107e](https://github.com/heygen-com/hyperframes/commit/3f49f107eb8fb64b34f621bfcd076391ff06e167), [#1895](https://github.com/heygen-com/hyperframes/pull/1895))
- **CLI:** Validate navigation timeout honors --timeout, hints on CDN scripts ([0338be97f](https://github.com/heygen-com/hyperframes/commit/0338be97fdc548fd4a179561810c0c9320b61388), [#1929](https://github.com/heygen-com/hyperframes/pull/1929))
- **Video Workflows:** Pad the frame's own duration to match the transition tail ([8bc1e5d60](https://github.com/heygen-com/hyperframes/commit/8bc1e5d603bd828511bdc6dddaa96a64ea7a43d3), [#1889](https://github.com/heygen-com/hyperframes/pull/1889))
- **Engine:** Write the audio mix filter graph to a file, not the command line ([8a3227f54](https://github.com/heygen-com/hyperframes/commit/8a3227f5482320907edcb47972c3d7f6e25c6d62), [#1890](https://github.com/heygen-com/hyperframes/pull/1890))
- **CLI:** Purge stale/partial browser installs instead of wedging retries ([78069da14](https://github.com/heygen-com/hyperframes/commit/78069da1403669cb3f68a475da128d0b0ce14a97), [#1913](https://github.com/heygen-com/hyperframes/pull/1913))
- **Core:** Route window.__hyperframes to the scoped variant in sub-comps ([f7c9c35d8](https://github.com/heygen-com/hyperframes/commit/f7c9c35d8b1095037402cc55539084d514691b28), [#1931](https://github.com/heygen-com/hyperframes/pull/1931))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.31...v0.7.32).
</Update>

<Update
  label="HyperFrames v0.7.31"
  description="Released - 2026-07-04"
  tags={["Release", "Core,cli"]}
>
This release makes Figma imports first-class citizens of the shared media inventory: every `hyperframes figma asset` import now regenerates `.media/index.md` (byte-identical with media-use's format), carries `--description`/`--entity` metadata into the manifest, index, and alt text, and the reuse path correctly upserts metadata and dedupes against any prior format/scale/version tuple. media-use's entity lookups now match figma-imported brand marks across the icon/image boundary.

## Features

- **Core,cli:** Media-use interop — shared index.md regen + description/entity on figma imports ([3900caaaa](https://github.com/heygen-com/hyperframes/commit/3900caaaa94443efb01597dac26df1533f8add35), [#1927](https://github.com/heygen-com/hyperframes/pull/1927))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.30...v0.7.31).
</Update>

<Update
  label="HyperFrames v0.7.30"
  description="Released - 2026-07-04"
  tags={["Release", "Studio", "Sdk"]}
>
This release adds a low-volume attempt counter to the resolver-shadow tripwire, giving the SDK-cutover soak gate a real `divergences / attempts` denominator instead of a bare divergence count. It also fixes `moveElement` losing its offset when the target element is under a running GSAP animation.

## Features

- **Studio:** Add resolver-shadow attempt counter for soak-gate denominator ([fe821ff8b](https://github.com/heygen-com/hyperframes/commit/fe821ff8bc9acbb840b4a42153db66790b9419a1), [#1926](https://github.com/heygen-com/hyperframes/pull/1926))

## Fixes

- **Sdk:** MoveElement survives GSAP animation per-axis via runtime delta translate ([74faa4b2a](https://github.com/heygen-com/hyperframes/commit/74faa4b2a42c60c77d1550e7288bf3333c15e25d), [#1875](https://github.com/heygen-com/hyperframes/pull/1875))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.29...v0.7.30).
</Update>

<Update
  label="HyperFrames v0.7.29"
  description="Released - 2026-07-04"
  tags={["Release", "Skills", "Studio", "Core,cli"]}
>
This release ships the Figma integration: import Figma frames as frozen assets, pull brand variables and styles as composition tokens, convert frames to editable brand-linked HTML components, and translate Figma Motion timelines into seekable GSAP — all routed through the new /figma skill and `hyperframes figma` CLI. It also lands a wave of engine extraction-performance work (caching, dedup, one-pass VFR/HDR) and studio persist-failure hardening.

## Features

- **Skills:** Reroute /figma by capability - REST/CLI for phases 1-3, MCP for 4-5 (M4) ([566d49382](https://github.com/heygen-com/hyperframes/commit/566d49382c9cb5c0f690e29f3cd1014b8e69e39a), [#1873](https://github.com/heygen-com/hyperframes/pull/1873))
- **Core,cli:** Figma component import with binding-aware node-to-html mapper (M3) ([ee7a96147](https://github.com/heygen-com/hyperframes/commit/ee7a96147a5d71797ef041e48395ed1918a375a9), [#1872](https://github.com/heygen-com/hyperframes/pull/1872))
- **Core,cli:** Figma tokens import with alias-aware binding records (M2) ([4d60792ad](https://github.com/heygen-com/hyperframes/commit/4d60792adc0cc9c807f5734b492052a8598d6d4e), [#1871](https://github.com/heygen-com/hyperframes/pull/1871))
- **Core,cli:** Figma REST client, asset import command, binding index (M0+M1) ([fb13797d2](https://github.com/heygen-com/hyperframes/commit/fb13797d2f2715dc38649add1aea577d214d42f8), [#1870](https://github.com/heygen-com/hyperframes/pull/1870))
- **Core:** Figma motion → GSAP translator + /figma skill v1 ([e92700acd](https://github.com/heygen-com/hyperframes/commit/e92700acded50469d3fb35da3a8b198d2cdc36d8), [#1869](https://github.com/heygen-com/hyperframes/pull/1869))
- **Core:** Figma module foundations — types, parseFigmaRef, freeze, manifest, asset snippet ([397c3ba7a](https://github.com/heygen-com/hyperframes/commit/397c3ba7a84211bfa52a93a410f34368f7ab5110), [#1868](https://github.com/heygen-com/hyperframes/pull/1868))

## Fixes

- **Studio:** Surface persist failures with toast and guarded revert ([e6e0d97cc](https://github.com/heygen-com/hyperframes/commit/e6e0d97cc560ebca57a28f5c0872e706679f568d), [#1910](https://github.com/heygen-com/hyperframes/pull/1910))
- **Studio:** Per-child patch op builders and persist-seam harness ([22942280b](https://github.com/heygen-com/hyperframes/commit/22942280b61c3b6d40dae6ca00a401969684e234), [#1909](https://github.com/heygen-com/hyperframes/pull/1909))
- **Studio Server:** Child-scoped patch operations with batch abort ([23f67da5e](https://github.com/heygen-com/hyperframes/commit/23f67da5e236fa9b5c5838786b48378e7704b67d), [#1908](https://github.com/heygen-com/hyperframes/pull/1908))
- **Studio:** Make canvas selection hit intended elements ([02e9d6142](https://github.com/heygen-com/hyperframes/commit/02e9d6142d8e3d812c1d8525753355793a3b9988), [#1907](https://github.com/heygen-com/hyperframes/pull/1907))

## Performance

- **Engine:** Superset extraction for overlapping trims of one source ([1a7002f20](https://github.com/heygen-com/hyperframes/commit/1a7002f208353239f0e10596fa1decc897fed34f), [#1885](https://github.com/heygen-com/hyperframes/pull/1885))
- **Engine:** One-pass SDR-to-HDR extraction with cache-key transform ([48f158a0c](https://github.com/heygen-com/hyperframes/commit/48f158a0c2cd27bfc114903a37560cd4db872fe8), [#1902](https://github.com/heygen-com/hyperframes/pull/1902))
- **Engine:** Extraction cache on by default with atomic publish and LRU gc ([34590649a](https://github.com/heygen-com/hyperframes/commit/34590649a05594914b98d4cc6198a2e5aac953c6), [#1901](https://github.com/heygen-com/hyperframes/pull/1901))
- **Engine:** Dedupe identical extractions within one render ([8d64d48e4](https://github.com/heygen-com/hyperframes/commit/8d64d48e4a9ae620771e331d83bd74eb1716d66b), [#1900](https://github.com/heygen-com/hyperframes/pull/1900))
- **Engine:** One-pass VFR extraction with -fps_mode cfr ([786058334](https://github.com/heygen-com/hyperframes/commit/78605833415e9f80097a773b949c146f4e1a5e9d), [#1899](https://github.com/heygen-com/hyperframes/pull/1899))
- **Engine:** Write PNG frames at compression_level 1 ([557a27027](https://github.com/heygen-com/hyperframes/commit/557a270271372d458d5adb944473a485d47e3079), [#1898](https://github.com/heygen-com/hyperframes/pull/1898))

## Internal

- **Studio:** Agent-browser e2e smoke for the design panel ([08c0a0351](https://github.com/heygen-com/hyperframes/commit/08c0a03510aaa86f1acc848ab75d0b24557dbf7e), [#1912](https://github.com/heygen-com/hyperframes/pull/1912))
- **Studio:** Cover persist-failure hook behavior ([64688ddaf](https://github.com/heygen-com/hyperframes/commit/64688ddaf2e5bb17d203b0d28f02e3142ac0035c), [#1911](https://github.com/heygen-com/hyperframes/pull/1911))
- **Studio:** Add design-panel QA fixture and triage matrix ([4d199c0f3](https://github.com/heygen-com/hyperframes/commit/4d199c0f3ab8bec55e32eff197e12eca796bf172), [#1906](https://github.com/heygen-com/hyperframes/pull/1906))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.28...v0.7.29).
</Update>

<Update
  label="HyperFrames v0.7.28"
  description="Released - 2026-07-03"
  tags={["Release", "Engine", "Producer"]}
>
This release fixes a render/preview mismatch where sub-composition root styles could diverge in producer renders. It also scales static-frame dedup verification with longer runs so repeated-frame optimizations stay reliable across longer outputs.

## Fixes

- **Engine:** Scale static-dedup verification density with run length ([df221c1f](https://github.com/heygen-com/hyperframes/commit/df221c1fd685862b62e3057438203f79eedae111), [#1903](https://github.com/heygen-com/hyperframes/pull/1903))
- **Producer:** Render diverges from preview for sub-composition root styling ([7e8a1466](https://github.com/heygen-com/hyperframes/commit/7e8a1466c3b058071c5ed89241ed70e2d0878645), [#1886](https://github.com/heygen-com/hyperframes/pull/1886))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.27...v0.7.28).
</Update>

<Update
  label="HyperFrames v0.7.27"
  description="Released - 2026-07-03"
  tags={["Release", "Capture", "Hyperframes Media", "Producer"]}
>
This release adds three new capture-extraction categories (gradient washes, glass panels, nav CTAs) and migrates cloud-render uploads to the higher-capacity direct-uploads endpoint. Also includes reliability fixes across CLI (Chrome install races, media validation), producer (audio-mix failures now surface instead of shipping silently video-only), lint (several false-positive fixes), and slideshow presenter mode over screen share.

## Features

- **Capture:** Extract gradient washes, glass panels, and nav CTAs ([dd774b369](https://github.com/heygen-com/hyperframes/commit/dd774b3692e71656b038cb2d5a11f05ba52c2880), [#1879](https://github.com/heygen-com/hyperframes/pull/1879))
- **CLI:** Migrate cloud-render upload to /v3/assets/direct-uploads (200MB) ([a59ff0d91](https://github.com/heygen-com/hyperframes/commit/a59ff0d91b4074bd16b7e4d41fb9a9ffbc9eab8e), [#1844](https://github.com/heygen-com/hyperframes/pull/1844))

## Fixes

- **Hyperframes Media:** Npx spawn without shell:true fails silently on Windows ([3b6791824](https://github.com/heygen-com/hyperframes/commit/3b67918242ab0d74b37241b059fa54a792977067), [#1845](https://github.com/heygen-com/hyperframes/pull/1845))
- **Hyperframes Media:** Fall back to ffmpeg when ffprobe is missing ([e2b43583f](https://github.com/heygen-com/hyperframes/commit/e2b43583fc2480aa9511cd5e606a58841c4f211e), [#1877](https://github.com/heygen-com/hyperframes/pull/1877))
- **Hyperframes Media:** Cap TTS synthesis concurrency instead of firing every line at once ([2e9a33ca7](https://github.com/heygen-com/hyperframes/commit/2e9a33ca719a2b28bd8bb51083df32b8f74ca437), [#1862](https://github.com/heygen-com/hyperframes/pull/1862))
- **Producer:** Surface the reason when audio mixing fails instead of silently shipping video-only ([f40dbd86c](https://github.com/heygen-com/hyperframes/commit/f40dbd86cf2df77a26004578a66b4035e4d742c5), [#1854](https://github.com/heygen-com/hyperframes/pull/1854))
- **CLI:** Lock chrome-headless-shell install against concurrent extraction races ([638c33bc0](https://github.com/heygen-com/hyperframes/commit/638c33bc01965247614af67875644e2e18a8e4a3), [#1866](https://github.com/heygen-com/hyperframes/pull/1866))
- **CLI:** Validate stops misreporting slow-loading media as unreadable ([b087f1e3c](https://github.com/heygen-com/hyperframes/commit/b087f1e3c09d24e3a339ec4bf2f129af39f0a915), [#1849](https://github.com/heygen-com/hyperframes/pull/1849))
- **Engine:** Name the fix in the ffmpeg encode-timeout error message ([eef469075](https://github.com/heygen-com/hyperframes/commit/eef469075299439c0c79b38d8488639106a42dca), [#1858](https://github.com/heygen-com/hyperframes/pull/1858))
- **Lint:** Stop scene-exit hard-kill rules from contradicting gsap_animates_clip_element ([c7b34d5c6](https://github.com/heygen-com/hyperframes/commit/c7b34d5c6536129e5589377e7e4c9a0b763b4494), [#1846](https://github.com/heygen-com/hyperframes/pull/1846))
- **Lint:** Stop a leading \<svg\> defs block from being mistaken for the composition root ([8ee4b7dfd](https://github.com/heygen-com/hyperframes/commit/8ee4b7dfda8f884076f4844136611c886d8e8107), [#1867](https://github.com/heygen-com/hyperframes/pull/1867))
- **Lint:** Recognize computed-key window.__timelines registrations ([d2f1adc2a](https://github.com/heygen-com/hyperframes/commit/d2f1adc2affea69e33550d60945a237e92602eb5), [#1874](https://github.com/heygen-com/hyperframes/pull/1874))
- **Lint:** Mention src: local() for system fonts in font_family_without_font_face ([b7eb0dfb5](https://github.com/heygen-com/hyperframes/commit/b7eb0dfb5a87d53bb542f5f70723110ea60c6990), [#1859](https://github.com/heygen-com/hyperframes/pull/1859))
- **Slideshow:** Make presenter mode work over Google Meet/Zoom screen share ([a7c3cc7d6](https://github.com/heygen-com/hyperframes/commit/a7c3cc7d689b13c5bb96559f9bad713205edb194))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.26...v0.7.27).
</Update>

<Update
  label="HyperFrames v0.7.26"
  description="Released - 2026-07-02"
  tags={["Release", "Producer", "CLI", "Studio"]}
>
v0.7.26 makes imported designs more reliable by normalizing host-system primary font stacks to deterministic web fonts before distributed plan validation. It also adds render-reliability telemetry for preflight rejections, transient retries, and OOM classification, plus Studio controls and fixes around automatic keyframe recording.

## Features

- **CLI:** Emit render_preflight_rejected telemetry for P1-3 pre-flight saves ([9b41891f](https://github.com/heygen-com/hyperframes/commit/9b41891f3a39e73a0b91bd97bb00fa6767a4769e), [#1856](https://github.com/heygen-com/hyperframes/pull/1856))
- **Producer,cli:** Render-reliability telemetry counters for capture hardening ([733f88cb](https://github.com/heygen-com/hyperframes/commit/733f88cb1f10bdbe31c924c4e0f1f8359f19e7d9), [#1850](https://github.com/heygen-com/hyperframes/pull/1850))
- **Studio:** Add a global toggle to stop manual edits from auto-recording keyframes ([636d5dd6](https://github.com/heygen-com/hyperframes/commit/636d5dd6c52083a6c10a25eb00580c207b164534))

## Fixes

- **Producer:** Normalize system-primary font stacks ([e10e61ce](https://github.com/heygen-com/hyperframes/commit/e10e61ceb2cfb9664915548b4b8d42456d636aa1), [#1857](https://github.com/heygen-com/hyperframes/pull/1857))
- **Studio:** Don't crash resizing an element whose keyframes were removed ([dff3634e](https://github.com/heygen-com/hyperframes/commit/dff3634ea89d8834a41f2fd935111d9f5530a637))
- **Studio:** Re-sync soft-reloaded timelines to the studio's own scrub time ([70606f84](https://github.com/heygen-com/hyperframes/commit/70606f840df92549afdc85824fdc58d319b93819))
- **Studio:** Fix array-form keyframe writes, diamond click-deselect, and nested video sync ([1b8b2ac4](https://github.com/heygen-com/hyperframes/commit/1b8b2ac425703e4ea3600b6656f7fc67bb7cd7b2))
- **Studio:** Resolve recent timeline regressions ([9b311588](https://github.com/heygen-com/hyperframes/commit/9b311588be7e72ab7627c55a001fa63ae5c8307c))

## Internal

- **CLI:** De-flake cold-import tests under CI contention via vitest timeouts ([438474c9](https://github.com/heygen-com/hyperframes/commit/438474c968e1c094cb3a01453d6309c099502666), [#1855](https://github.com/heygen-com/hyperframes/pull/1855))

## Other Changes

- Keep Codex plugin category as Creativity ([bf8b3d97](https://github.com/heygen-com/hyperframes/commit/bf8b3d9796a740ff93015d4723b486bfcc5935a1), [#1860](https://github.com/heygen-com/hyperframes/pull/1860))
- **Studio:** Make the auto-keyframe toggle icon a diamond with a record dot ([ae50327b](https://github.com/heygen-com/hyperframes/commit/ae50327bdb4a80123ff3b099ff067310a59b85c3))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.25...v0.7.26).
</Update>

<Update
  label="HyperFrames v0.7.25"
  description="Released - 2026-07-02"
  tags={["Release", "CLI", "Engine", "Render"]}
>
v0.7.25 adds the `hyperframes keyframes` command for inspecting GSAP, CSS, Anime.js, and 3D onion-skin shots from the CLI. It also improves first-time render reliability with Linux/WSL dependency checks, actionable preset preflight failures, transient capture retries with OOM guidance, and isolated forced-screenshot workers for parallel renders.

## Features

- **CLI:** Keyframes command (surface GSAP/CSS/Anime keyframes + 3D onion-skin --shot) ([a908af11](https://github.com/heygen-com/hyperframes/commit/a908af11a814d6fd2c9d3b65d8311e5c3f3742b9), [#1603](https://github.com/heygen-com/hyperframes/pull/1603))

## Fixes

- **Engine:** Parallelize forced screenshot workers ([145c71e8](https://github.com/heygen-com/hyperframes/commit/145c71e837f208d382462f0dfe5d8840f3c33414), [#1848](https://github.com/heygen-com/hyperframes/pull/1848))
- **Render:** Pre-flight aspect-ratio / alpha preset mismatch with actionable guidance ([6be46813](https://github.com/heygen-com/hyperframes/commit/6be46813a213cdd1ef605f2efd93c76bb18deda9), [#1843](https://github.com/heygen-com/hyperframes/pull/1843))
- **Producer:** Harden capture against timeouts, transient tab deaths, and OOM ([c0c3abf0](https://github.com/heygen-com/hyperframes/commit/c0c3abf0f16ca41e5dfebcf6b70bd6845127130c), [#1842](https://github.com/heygen-com/hyperframes/pull/1842))
- **CLI:** Detect missing Chrome libs & ffmpeg on Linux/WSL in doctor ([180f368a](https://github.com/heygen-com/hyperframes/commit/180f368af1dd6b4d949d182805644077feaa81bc), [#1841](https://github.com/heygen-com/hyperframes/pull/1841))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.24...v0.7.25).
</Update>

<Update
  label="HyperFrames v0.7.24"
  description="Released - 2026-07-01"
  tags={["Release", "Studio"]}
>
Follow-up to v0.7.23's resolver-shadow filter extension: single-flights the reorder source read (one fetch per batch instead of one per unresolved target) and tags loose-match `sourceHfIdCount: 0` events so they're distinguishable on the telemetry dashboard.

## Fixes

- **Studio:** Single-flight reorder source read, tag loose-match sourceHfIdCount, brace style ([69b927a30](https://github.com/heygen-com/hyperframes/commit/69b927a300c9c9f8f74cd9cc55dff98abc0e5974))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.23...v0.7.24).
</Update>

<Update
  label="HyperFrames v0.7.23"
  description="Released - 2026-07-01"
  tags={["Release", "Studio", "Player", "Runtime"]}
>
This release unifies CLI and Studio telemetry identity, extends the resolver-shadow noise filter to cover timing/GSAP/reorder edits, and auto-infers composition duration for CSS/WAAPI/Lottie compositions so `data-duration` is no longer required. Also includes pre-flight validation for malformed sub-compositions and a batch of CLI/lint reliability fixes.

## Features

- **Telemetry:** Unify CLI and Studio PostHog identity (Layer 1) ([9c4d9e50a](https://github.com/heygen-com/hyperframes/commit/9c4d9e50a01e0e139d95a80f6c2216867036d905), [#1829](https://github.com/heygen-com/hyperframes/pull/1829))
- **Capture:** Extract chips/stat-cells/tabs, detect icon fonts, transparent grounds ([6cc87312d](https://github.com/heygen-com/hyperframes/commit/6cc87312d4dffba9df531f6f156c0d0d1462aa82))

## Fixes

- **Studio:** Extend resolver-shadow runtime-node filter to timing/GSAP/reorder chokepoints ([c215a20c8](https://github.com/heygen-com/hyperframes/commit/c215a20c8e43c1966e92b42eddb45534922a6fae), [#1839](https://github.com/heygen-com/hyperframes/pull/1839))
- **Player:** Rescale on cross-origin timeline ready, guard warn spam ([e5ec4cf53](https://github.com/heygen-com/hyperframes/commit/e5ec4cf53243a19a8a34f029c3139abaf07315c3), [#1840](https://github.com/heygen-com/hyperframes/pull/1840))
- **Runtime:** Auto-infer composition duration for CSS/WAAPI/Lottie so data-duration is optional ([24edb1509](https://github.com/heygen-com/hyperframes/commit/24edb15095d2343fcd20c0468d2591b075810507), [#1830](https://github.com/heygen-com/hyperframes/pull/1830))
- **Core,producer,cli:** Pre-flight validation for empty/malformed sub-compositions ([cf573f7f3](https://github.com/heygen-com/hyperframes/commit/cf573f7f3f8bfcc68b99c514afba4de0655436fc), [#1831](https://github.com/heygen-com/hyperframes/pull/1831))
- **Engine:** Retry probe on pollHfReady zero-duration timeout ([b33d54f54](https://github.com/heygen-com/hyperframes/commit/b33d54f54b362b754d0b32427e31ba6a8bf3f49b), [#1824](https://github.com/heygen-com/hyperframes/pull/1824))
- **Skills:** Clear two Snyk Fails and harden the network + supply-chain surface ([535297280](https://github.com/heygen-com/hyperframes/commit/535297280aabdd55005682d4774cbde2c5f1ef4b), [#1804](https://github.com/heygen-com/hyperframes/pull/1804))
- **Skills:** Make hyperframes package version resolution non-fatal and overridable ([060889f84](https://github.com/heygen-com/hyperframes/commit/060889f84c430ad8d8d90fe1b7fd74ef4485a705), [#1825](https://github.com/heygen-com/hyperframes/pull/1825))
- **CLI:** Keep doctor resilient to a corrupt browser cache ([0d202ea77](https://github.com/heygen-com/hyperframes/commit/0d202ea77921e123c3df35133d4919bcf02a94e7), [#1822](https://github.com/heygen-com/hyperframes/pull/1822))
- **CLI:** Exclude clip-path-hidden text from inspect layout and contrast audits ([a7d0ab2d6](https://github.com/heygen-com/hyperframes/commit/a7d0ab2d61a0c7b1f60a9782981d8852af046a78), [#1821](https://github.com/heygen-com/hyperframes/pull/1821))
- **Lint:** Catch visible markup comments ([d1038918b](https://github.com/heygen-com/hyperframes/commit/d1038918bb92307d62ed7edfbb6c9b3ed37e41cb), [#1819](https://github.com/heygen-com/hyperframes/pull/1819))
- **CLI:** Don't run unbounded ffprobe on remote snapshot inputs ([1a36b2abb](https://github.com/heygen-com/hyperframes/commit/1a36b2abb4298ac20e5c842ac2b06e0230ff5a5e))
- **CLI:** Extract snapshot video frames from remote http(s) srcs ([1f377f732](https://github.com/heygen-com/hyperframes/commit/1f377f732b73a376b4371e9aa4347e7315e0a774))

## Docs & Examples

- Clarify transparent WebM shows as yuv420p under ffprobe (alpha is a VP9 side-channel) ([534d6177b](https://github.com/heygen-com/hyperframes/commit/534d6177b65bfd7aadc74d1a0632410e03b1d8ac), [#1823](https://github.com/heygen-com/hyperframes/pull/1823))
- **Sdk:** Republish SDK tab pages (Mintlify incremental deploy skipped the new files) ([bd27ea31a](https://github.com/heygen-com/hyperframes/commit/bd27ea31adcee07736f6a2c244acda77a4215975))
- **Sdk:** Pin editing-affordances availability to @hyperframes/sdk@0.7.22 ([9140ee51b](https://github.com/heygen-com/hyperframes/commit/9140ee51b3109b97346cda083714e0b13b1270cf))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.22...v0.7.23).
</Update>

<Update
  label="HyperFrames v0.7.22"
  description="Released - 2026-06-30"
  tags={["Release", "Sdk", "Editing", "CLI"]}
>
This release makes `@hyperframes/sdk` a first-class editing engine: a new shared `resolveEditingAffordances` API (with a browser SDK adapter) tells custom editors what's editable on any element, backed by comprehensive SDK reference docs and guides. The storyboard view is now on by default, plus encode, lint, and CLI reliability fixes.

## Features

- **Editing:** Shared resolveEditingAffordances (core) + studio re-point + SDK adapter ([5915590b0](https://github.com/heygen-com/hyperframes/commit/5915590b069a2e3144ae1e1bfb49478b72240894), [#1814](https://github.com/heygen-com/hyperframes/pull/1814))
- **CLI:** Add --public flag to publish ([856bb0980](https://github.com/heygen-com/hyperframes/commit/856bb0980fc9f85244cd1d0c8233cb7390642b0b), [#1815](https://github.com/heygen-com/hyperframes/pull/1815))
- **CLI:** File a GitHub issue with a published repro from feedback ([010df6a0a](https://github.com/heygen-com/hyperframes/commit/010df6a0a4edbf7179d634fb12805f47ef89ec6e), [#1816](https://github.com/heygen-com/hyperframes/pull/1816))
- **Studio:** Make storyboard view default available (remove FF) ([f24a1a9ce](https://github.com/heygen-com/hyperframes/commit/f24a1a9ce7250965df8e89ece4403d373c9d01e9), [#1794](https://github.com/heygen-com/hyperframes/pull/1794))

## Fixes

- **Lint:** Recognize Three.js loaded via ESM URL/path imports ([27a7f3749](https://github.com/heygen-com/hyperframes/commit/27a7f37494f9b3e315bb8b89196d71b6f541b31f), [#1805](https://github.com/heygen-com/hyperframes/pull/1805))
- **Lint:** Stop font_family_without_font_face flagging system-ui stacks and var() ([11432ea8c](https://github.com/heygen-com/hyperframes/commit/11432ea8ce82571c8473244f56edc06a8decf531), [#1796](https://github.com/heygen-com/hyperframes/pull/1796))
- **Engine:** Pad odd output dimensions up to even for H.264/H.265 encode ([3a2f05288](https://github.com/heygen-com/hyperframes/commit/3a2f0528890c0de4ac0bb31629323ed7f00133d9), [#1802](https://github.com/heygen-com/hyperframes/pull/1802))
- **Examples:** Host the kinetic-type A-roll so the video actually renders ([c01d1ae03](https://github.com/heygen-com/hyperframes/commit/c01d1ae03d710022f7fbabd21991eba9faea1eb3), [#1799](https://github.com/heygen-com/hyperframes/pull/1799))
- **Lint:** Stop overlapping_gsap_tweens flagging distinct unresolved targets ([036e3660c](https://github.com/heygen-com/hyperframes/commit/036e3660cd1bd15ded7300ef2623f26aa1179faa), [#1798](https://github.com/heygen-com/hyperframes/pull/1798))
- **CLI:** Never print "[object Object]" from validate/inspect errors ([a5c2636e8](https://github.com/heygen-com/hyperframes/commit/a5c2636e8c35043e89d476300019e37dfe0cb24c), [#1810](https://github.com/heygen-com/hyperframes/pull/1810))
- **CLI:** Skip AI skills install when git is unavailable ([23adfdc49](https://github.com/heygen-com/hyperframes/commit/23adfdc496f2187c8eb3632d0a69e053930680f5), [#1803](https://github.com/heygen-com/hyperframes/pull/1803))
- **CLI:** Omit render duration when feedback command has none ([db61509dd](https://github.com/heygen-com/hyperframes/commit/db61509ddcdc9897768a9d242855956d21d5dd5b), [#1797](https://github.com/heygen-com/hyperframes/pull/1797))
- **CLI:** Show output video length in render summary, not render time ([e7939ccd5](https://github.com/heygen-com/hyperframes/commit/e7939ccd5309f6c31045d4ebd11f1912e2bd969c), [#1812](https://github.com/heygen-com/hyperframes/pull/1812))
- **CLI:** Serve project media with HTTP Range so validate reads WAV duration ([466ee08ff](https://github.com/heygen-com/hyperframes/commit/466ee08ffa540755a430bd54f078a3764ca4b4ef), [#1811](https://github.com/heygen-com/hyperframes/pull/1811))
- Storyboard-angle review follow-ups (M1 bg-on-clip, B3 slideshow, parser guard, CLI fixes) ([a4303137c](https://github.com/heygen-com/hyperframes/commit/a4303137cbce5164f1663996b3c3b2f5921c5485), [#1791](https://github.com/heygen-com/hyperframes/pull/1791))
- **Studio:** Filter runtime-generated nodes from resolver-shadow telemetry ([a4eacaec3](https://github.com/heygen-com/hyperframes/commit/a4eacaec37e79d8b3fcdbe514b59bf1e4035f4f8), [#1795](https://github.com/heygen-com/hyperframes/pull/1795))

## Docs & Examples

- **Sdk:** Comprehensive SDK reference + guides ([26e9283f6](https://github.com/heygen-com/hyperframes/commit/26e9283f6b7c660c0f76a3b82143a226cde70702), [#1817](https://github.com/heygen-com/hyperframes/pull/1817))
- Root composition duration is compile-time, not script/--variables parameterizable ([bdd0084c2](https://github.com/heygen-com/hyperframes/commit/bdd0084c2a778b541b89af09689fd7a997408cdc), [#1818](https://github.com/heygen-com/hyperframes/pull/1818))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.21...v0.7.22).
</Update>

<Update
  label="HyperFrames v0.7.21"
  description="Released - 2026-06-30"
  tags={["Release", "Lint", "Skills", "Core"]}
>
Adds a lint rule that errors on `crossorigin` on media (it renders fine but shows blank in preview) and fixes the root cause of id-less media rendering as a blank wash in the timing compiler.

## Features

- **Lint:** Error on crossorigin on media (breaks preview) ([1faeba4a](https://github.com/heygen-com/hyperframes/commit/1faeba4aa5e309c1ea688e37e833ffaba60429eb), [#1793](https://github.com/heygen-com/hyperframes/pull/1793))

## Fixes

- **Core:** Root-cause id-less media wash in timingCompiler getAttr, drop the band-aid ([0dfedd11](https://github.com/heygen-com/hyperframes/commit/0dfedd111c49948c531f2e2b0b290e50024176e7), [#1792](https://github.com/heygen-com/hyperframes/pull/1792))

## Docs & Examples

- **Skills:** Instruct agents to run `hyperframes feedback` after render ([04700ea9](https://github.com/heygen-com/hyperframes/commit/04700ea9c51d6b29f8512e2ae4c2655054acf20b), [#1785](https://github.com/heygen-com/hyperframes/pull/1785))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.20...v0.7.21).
</Update>

<Update
  label="HyperFrames v0.7.20"
  description="Released - 2026-06-30"
  tags={["Release", "Producer,lint", "Producer", "Core"]}
>
This release fixes a render-correctness bug where a video or audio element identified only by a `data-hf-id` (no real `id`) rendered as a blank white wash with dropped audio. It also restores Studio keyframe retiming (drag-to-retime and Move to Playhead) and ships capture and runtime reliability improvements.

## Features

- **Studio:** Restore keyframe retiming — drag-to-retime + Move to Playhead (closes #1782) ([b403c54a](https://github.com/heygen-com/hyperframes/commit/b403c54ae7b8d3f58808600f7cc69a004fbd93f5), [#1784](https://github.com/heygen-com/hyperframes/pull/1784))
- **CLI:** Expose Studio selection through preview ([9983f37c](https://github.com/heygen-com/hyperframes/commit/9983f37c13dc7d8fbd35da21e88229e3500cee9a), [#1777](https://github.com/heygen-com/hyperframes/pull/1777))

## Fixes

- **Producer,lint:** Id-less media renders blank wash instead of footage ([74f9c31b](https://github.com/heygen-com/hyperframes/commit/74f9c31b3fdeacf3a5700b17cbe718d7b00e54d2), [#1790](https://github.com/heygen-com/hyperframes/pull/1790))
- **Producer:** Keep video captures viewport-bound on software ([c9613cd8](https://github.com/heygen-com/hyperframes/commit/c9613cd8260563d92e4e87b4e68e27e836214398), [#1788](https://github.com/heygen-com/hyperframes/pull/1788))
- **Core:** Publish runtime inline artifact ([e73076e9](https://github.com/heygen-com/hyperframes/commit/e73076e93c7d4dbcec779943fb0a801e8d10e31f), [#1787](https://github.com/heygen-com/hyperframes/pull/1787))
- **Studio:** Keyframe/position editing correctness + thumbnail cache busting + local-studio preview discovery ([0a9555a0](https://github.com/heygen-com/hyperframes/commit/0a9555a0f7176583c1ac04d0f3cd4db977e0c023), [#1781](https://github.com/heygen-com/hyperframes/pull/1781))
- **Render:** Avoid empty WAAPI scans and llvmpipe auto GPU ([fc0f8c31](https://github.com/heygen-com/hyperframes/commit/fc0f8c315102812a9629bcdeec09f75e26027da2), [#1775](https://github.com/heygen-com/hyperframes/pull/1775))

## Performance

- **Engine:** Reduce init overhead in headless capture sessions ([35a01d90](https://github.com/heygen-com/hyperframes/commit/35a01d9058fca2c4f5e9a4aa13a86d2eafc77c68), [#1718](https://github.com/heygen-com/hyperframes/pull/1718))

## Docs & Examples

- Trim README motion hero ([38c6cd11](https://github.com/heygen-com/hyperframes/commit/38c6cd1113738a95f2f360dc9d70571a47629151), [#1780](https://github.com/heygen-com/hyperframes/pull/1780))

## Internal

- **Skills:** Rebuild faceless-explainer + pr-to-video on the shot-sequence architecture ([7cb83865](https://github.com/heygen-com/hyperframes/commit/7cb83865390d642e4e09bc162ad8c4a002545c6b), [#1778](https://github.com/heygen-com/hyperframes/pull/1778))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.17...v0.7.20).
</Update>

<Update
  label="HyperFrames v0.7.19"
  description="Released - 2026-06-29"
  tags={["Release", "Core", "Studio", "Skills"]}
>
This release fixes the `@hyperframes/core` package by publishing the generated
runtime inline module required by the top-level entrypoint. It also improves
Studio keyframe editing and retiming, refreshes bundled skills, and trims the
README motion preview.

## Features

- **Studio:** Restore keyframe retiming — drag-to-retime + Move to Playhead (closes #1782) ([b403c54a](https://github.com/heygen-com/hyperframes/commit/b403c54ae7b8d3f58808600f7cc69a004fbd93f5), [#1784](https://github.com/heygen-com/hyperframes/pull/1784))

## Fixes

- **Core:** Publish runtime inline artifact ([e73076e9](https://github.com/heygen-com/hyperframes/commit/e73076e93c7d4dbcec779943fb0a801e8d10e31f), [#1787](https://github.com/heygen-com/hyperframes/pull/1787))
- **Studio:** Keyframe/position editing correctness + thumbnail cache busting + local-studio preview discovery ([0a9555a0](https://github.com/heygen-com/hyperframes/commit/0a9555a0f7176583c1ac04d0f3cd4db977e0c023), [#1781](https://github.com/heygen-com/hyperframes/pull/1781))

## Docs & Examples

- Trim README motion hero ([38c6cd11](https://github.com/heygen-com/hyperframes/commit/38c6cd1113738a95f2f360dc9d70571a47629151), [#1780](https://github.com/heygen-com/hyperframes/pull/1780))

## Internal

- **Skills:** Rebuild faceless-explainer + pr-to-video on the shot-sequence architecture ([7cb83865](https://github.com/heygen-com/hyperframes/commit/7cb83865390d642e4e09bc162ad8c4a002545c6b), [#1778](https://github.com/heygen-com/hyperframes/pull/1778))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.18...v0.7.19).
</Update>

<Update
  label="HyperFrames v0.7.18"
  description="Released - 2026-06-28"
  tags={["Release", "CLI", "Render", "Engine"]}
>
This release targets the reported render regression by removing per-frame empty
animation scans, fixing software WebGL auto-detection on CPU render hosts, and
reducing headless capture setup overhead. It also exposes Studio selection state
through `hyperframes preview` so coding agents can inspect and edit the active
composition more directly.

## Features

- **CLI:** Expose Studio selection through preview ([9983f37c](https://github.com/heygen-com/hyperframes/commit/9983f37c13dc7d8fbd35da21e88229e3500cee9a), [#1777](https://github.com/heygen-com/hyperframes/pull/1777))

## Fixes

- **Render:** Avoid empty WAAPI scans and llvmpipe auto GPU ([fc0f8c31](https://github.com/heygen-com/hyperframes/commit/fc0f8c315102812a9629bcdeec09f75e26027da2), [#1775](https://github.com/heygen-com/hyperframes/pull/1775))

## Performance

- **Engine:** Reduce init overhead in headless capture sessions ([35a01d90](https://github.com/heygen-com/hyperframes/commit/35a01d9058fca2c4f5e9a4aa13a86d2eafc77c68), [#1718](https://github.com/heygen-com/hyperframes/pull/1718))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.17...v0.7.18).
</Update>

<Update
  label="HyperFrames v0.7.17"
  description="Released - 2026-06-27"
  tags={["Release"]}
>
`@hyperframes/lint` can now run **fully in the browser** — validate compositions client-side with no Node.js and no server round-trip — and it now depends only on `@hyperframes/parsers`, so installing the validator no longer pulls the studio server or other unrelated packages.

## Features

- **Lint:** New `@hyperframes/lint/browser` entry — a node-free, client-side rule engine (`lintHyperframeHtml`, `lintMediaUrls`, `shouldBlockRender`) for browser-only editors and tools ([6aaab32c](https://github.com/heygen-com/hyperframes/commit/6aaab32ccb4de355abca8310c2d4fd69ea95e47b), [#1773](https://github.com/heygen-com/hyperframes/pull/1773))

## Internal

- **Lint:** Depend only on `@hyperframes/parsers` (dropped `@hyperframes/core`); relocated the shared URL/asset-path, font-alias, and slideshow-parser utilities into `@hyperframes/parsers` with back-compat stubs in core, and hardened the CSS `url()` regex against polynomial-ReDoS ([6aaab32c](https://github.com/heygen-com/hyperframes/commit/6aaab32ccb4de355abca8310c2d4fd69ea95e47b), [#1773](https://github.com/heygen-com/hyperframes/pull/1773))

## Docs & Examples

- Add package pages for parsers, lint, and studio-server ([7e0a4cd0](https://github.com/heygen-com/hyperframes/commit/7e0a4cd02edc6a5e7229cdb914ea159618dd29cd), [#1772](https://github.com/heygen-com/hyperframes/pull/1772))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.16...v0.7.17).
</Update>

<Update
  label="HyperFrames v0.7.16"
  description="Released - 2026-06-27"
  tags={["Release", "Studio", "Gsap"]}
>
Studio gains **element groups**: select multiple elements and group them into a single editable unit — on the canvas and in the timeline — then ungroup back to their original positions. This release also reads inline-authored GSAP timelines and fixes keyframe commit routing, 3D-transform edits, and ungroup positioning.

## Features

- **Studio:** Expand sub-composition groups + children in the timeline ([6a729b7e](https://github.com/heygen-com/hyperframes/commit/6a729b7e035e79ef08d41ec55e5df5623c98cbfa), [#1761](https://github.com/heygen-com/hyperframes/pull/1761))
- **Gsap:** Read timelines authored inline (acorn read path) ([2e02bcf7](https://github.com/heygen-com/hyperframes/commit/2e02bcf77af55db4b60e4504bcd2dd0033dc337a), [#1760](https://github.com/heygen-com/hyperframes/pull/1760))
- **Studio:** Element groups — studio UI ([1eed7a9b](https://github.com/heygen-com/hyperframes/commit/1eed7a9b1f8bf7b93ad8cc22bcc7125c644c43d9), [#1759](https://github.com/heygen-com/hyperframes/pull/1759))
- **Studio:** Element groups — source mutations ([4c461b4a](https://github.com/heygen-com/hyperframes/commit/4c461b4a55dbd3a200386f3efa724cf251cf6f37), [#1758](https://github.com/heygen-com/hyperframes/pull/1758))

## Fixes

- **Studio:** Keep useGsapTweenCache under the size cap + correct non-sticky drill test ([a44ef47e](https://github.com/heygen-com/hyperframes/commit/a44ef47e1aabea7369ad98ea95ec7358111f7028), [#1770](https://github.com/heygen-com/hyperframes/pull/1770))
- **Studio:** Bake the group transform into members on ungroup ([bc5a51a6](https://github.com/heygen-com/hyperframes/commit/bc5a51a6ee3277ad1f86bc542388a87b0252348a), [#1764](https://github.com/heygen-com/hyperframes/pull/1764))
- **Studio:** Remove keyframe dragging from the timeline ([cf8f8aa5](https://github.com/heygen-com/hyperframes/commit/cf8f8aa568e751ccb18d5929bc2a9568724715a3), [#1763](https://github.com/heygen-com/hyperframes/pull/1763))
- **Studio:** Keyframe commit routing for 3D and cross-group edits ([2d3b19d2](https://github.com/heygen-com/hyperframes/commit/2d3b19d2559d93ef5623bbd155573d10f695de05), [#1762](https://github.com/heygen-com/hyperframes/pull/1762))

## Internal

- **Studio:** Remove debug logging ([de42af43](https://github.com/heygen-com/hyperframes/commit/de42af438aab6b145dfe2727d1611df567cc8bf7), [#1765](https://github.com/heygen-com/hyperframes/pull/1765))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.15...v0.7.16).
</Update>

<Update
  label="HyperFrames v0.7.15"
  description="Released - 2026-06-27"
  tags={["Release", "CLI"]}
>
This CLI release keeps `hyperframes init` on the GitHub-backed skills
freshness path while the skills.sh registry catches up, with a CI-only escape
hatch and offline-safe best-effort install behavior. It also publishes the newly
extracted parser, lint, and studio-server packages as part of the fixed-version
package set.

## Fixes

- **CLI:** Always check GitHub skills on init while skills.sh syncs ([bf630bfe](https://github.com/heygen-com/hyperframes/commit/bf630bfe1ee9998429d73f109f242903634891df), [#1768](https://github.com/heygen-com/hyperframes/pull/1768))

## Internal

- Extract @hyperframes/studio-server from core ([7a4853df](https://github.com/heygen-com/hyperframes/commit/7a4853dfe6e7e55effca57314011cec322c13a23), [#1757](https://github.com/heygen-com/hyperframes/pull/1757))
- Extract @hyperframes/lint from core ([98d0bdd7](https://github.com/heygen-com/hyperframes/commit/98d0bdd73c7551abeb6962bd82eedc1c44e3d953), [#1756](https://github.com/heygen-com/hyperframes/pull/1756))
- Extract @hyperframes/parsers from core ([cdf9c817](https://github.com/heygen-com/hyperframes/commit/cdf9c817e1c0c396a5c24c75ea08a8dba72e3528), [#1755](https://github.com/heygen-com/hyperframes/pull/1755))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.14...v0.7.15).
</Update>

<Update
  label="HyperFrames v0.7.14"
  description="Released - 2026-06-27"
  tags={["Release", "CLI"]}
>
This CLI release makes HyperFrames skills self-healing: installs now keep a
freshness manifest, install once globally, and mirror only HyperFrames-owned
skills into detected agent stores.

## Features

- **CLI:** Skills freshness — version check, manifest, global install + multi-agent mirror ([bf961d12](https://github.com/heygen-com/hyperframes/commit/bf961d1268427997a9e0a909d13198f50d1ab8c5), [#1753](https://github.com/heygen-com/hyperframes/pull/1753))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.13...v0.7.14).
</Update>

<Update
  label="HyperFrames v0.7.13"
  description="Released - 2026-06-26"
  tags={["Release", "Lint"]}
>
This lint reliability release catches malformed generated HTML that leaves CSS
or code-looking text between the document head and the composition root, where a
browser would render it as visible video text.

## Fixes

- **Lint:** Catch visible css before composition root ([c7830b54](https://github.com/heygen-com/hyperframes/commit/c7830b54c617f1435a97575b9a7eaa104594c835), [#1751](https://github.com/heygen-com/hyperframes/pull/1751))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.12...v0.7.13).
</Update>

<Update
  label="HyperFrames v0.7.12"
  description="Released - 2026-06-26"
  tags={["Release", "Lint", "CLI", "Skills"]}
>
This release unblocks Zephyr and other producer-backed generation flows that use
Google Fonts: those imports now warn instead of hard-failing lint when the
producer can resolve them. It also keeps HyperFrames skills installs targeted to
the agents a project actually uses and adds a product-launch video skill.

## Features

- **Skills:** Product-launch-video skill + consolidate motion knowledge into hyperframes-animation ([05af482f](https://github.com/heygen-com/hyperframes/commit/05af482f22a3df534c38056f7d7894b9e469d655), [#1745](https://github.com/heygen-com/hyperframes/pull/1745))

## Fixes

- **Lint:** Allow producer-resolved google fonts ([aacce27a](https://github.com/heygen-com/hyperframes/commit/aacce27a33140857a3ee2d6384cb9c5d44a556fe), [#1750](https://github.com/heygen-com/hyperframes/pull/1750))
- **CLI:** Scope skill installs to relevant agents, not all ~70 via --all ([70a03f78](https://github.com/heygen-com/hyperframes/commit/70a03f788bac97a04342a4db2310204766a0eacd), [#1748](https://github.com/heygen-com/hyperframes/pull/1748))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.11...v0.7.12).
</Update>

<Update
  label="HyperFrames v0.7.11"
  description="Released - 2026-06-26"
  tags={["Release", "CLI", "Runtime", "Producer"]}
>
This release keeps the `hyperframes skills` CLI honest about what's installed. `skills check` now flags skills that were renamed or dropped upstream, `skills update` prunes them and installs with `--copy` so a freshly installed set matches the published manifest, and login persists and shows a friendly user identity. It also lands producer and runtime reliability work: render fps is honored when seeking, `/health` is served from a worker thread so probes survive main-thread stalls, and binary file responses now stream.

## Features

- **CLI:** Persist + show friendly user identity; preserve unknown credential fields ([b9b578039](https://github.com/heygen-com/hyperframes/commit/b9b57803969c3fd02f80682e11d6190496cbb4eb), [#1741](https://github.com/heygen-com/hyperframes/pull/1741))
- **CLI:** Surface and prune skills removed upstream ([88fffb04d](https://github.com/heygen-com/hyperframes/commit/88fffb04d1f1b5e564c88ac92b8b3cddd6340b5e), [#1740](https://github.com/heygen-com/hyperframes/pull/1740))
- **CLI:** Add skills version check, update, and freshness manifest ([d70ee134c](https://github.com/heygen-com/hyperframes/commit/d70ee134cc132cae868fe68d61e0b25cf2ebcf31), [#1738](https://github.com/heygen-com/hyperframes/pull/1738))

## Fixes

- **CLI:** Install skills with --copy so check sees a faithful, correctly-placed set ([51f8231eb](https://github.com/heygen-com/hyperframes/commit/51f8231eb57f887f4647a7e859de69e314beb30b), [#1744](https://github.com/heygen-com/hyperframes/pull/1744))
- **CLI:** Close skills removed-detection power-user gaps (follow-up to #1740) ([13b115e00](https://github.com/heygen-com/hyperframes/commit/13b115e00684a8b6ed1ebed952b6fec2868d5c86), [#1743](https://github.com/heygen-com/hyperframes/pull/1743))
- **Runtime:** Honor render fps when seeking ([c9e8dd386](https://github.com/heygen-com/hyperframes/commit/c9e8dd38624a2eec6a89469e33d596dba254c8a2), [#1739](https://github.com/heygen-com/hyperframes/pull/1739))
- **Producer:** Serve /health from a worker_thread so probes survive main-thread stalls ([01a10cdc5](https://github.com/heygen-com/hyperframes/commit/01a10cdc539c10b3cda6675f38a4a481380ce2f8), [#1733](https://github.com/heygen-com/hyperframes/pull/1733))

## Performance

- **Producer:** Stream binary file responses, async-read HTML ([ca9e1316b](https://github.com/heygen-com/hyperframes/commit/ca9e1316be598b0d93343c66500af455c1ea2678), [#1735](https://github.com/heygen-com/hyperframes/pull/1735))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.10...v0.7.11).
</Update>

<Update
  label="HyperFrames v0.7.10"
  description="Released - 2026-06-26"
  tags={["Release", "Producer"]}
>
This producer reliability release blocks impossible distributed plans before they
fan out to chunk workers, preventing unbounded runtime timelines from turning
into runaway render work. It also fixes distributed frame-path indexing so
reconstructed extracted-frame assets resolve from the correct zero-based keys.

## Fixes

- **Producer:** Reject impossible distributed durations ([dca5fa90](https://github.com/heygen-com/hyperframes/commit/dca5fa90cb230adddbb2c9a02da80fa6a209c88b), [#1732](https://github.com/heygen-com/hyperframes/pull/1732))
- **Producer:** RebuildExtractedFramesFromPlanDir off-by-one in framePaths key indexing ([7db84fc0](https://github.com/heygen-com/hyperframes/commit/7db84fc0ad9e642c4890dd0d99e32b1126c065d8), [#1730](https://github.com/heygen-com/hyperframes/pull/1730))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.9...v0.7.10).
</Update>

<Update
  label="HyperFrames v0.7.9"
  description="Released - 2026-06-26"
  tags={["Release", "Studio", "Core", "Engine"]}
>
A reliability release for Studio authoring: Enable-keyframes now works (and auto-tracks endpoints) on statically-positioned elements backed by a global `gsap.set`, and manually dragging such elements no longer flings them off-canvas — the position is migrated cleanly onto GSAP. Rounded out with composition-lint and clip hold-frame fixes.

## Fixes

- **Studio:** Enable keyframes works (and auto-tracks) on elements with a global gsap.set ([226a741c](https://github.com/heygen-com/hyperframes/commit/226a741c9dd282a4a4aa88d173bc0a5cfd0f8ea9), [#1728](https://github.com/heygen-com/hyperframes/pull/1728))
- **Core:** Lint leaked head text in compositions ([bafed1fc](https://github.com/heygen-com/hyperframes/commit/bafed1fc9a913f5f9b58bb6f48b354859e810d8b), [#1727](https://github.com/heygen-com/hyperframes/pull/1727))
- **Engine:** Hold last frame when a clip's media is shorter than its slot ([92385711](https://github.com/heygen-com/hyperframes/commit/92385711dccbe89a6673357a6f39da7379d68528), [#1726](https://github.com/heygen-com/hyperframes/pull/1726))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.8...v0.7.9).
</Update>

<Update
  label="HyperFrames v0.7.8"
  description="Released - 2026-06-25"
  tags={["Release", "Studio", "Producer", "Registry"]}
>
Headlining this release is a draggable 3D-transform cube in the Studio design panel — tilt an element in X/Y/Z, dial in perspective and scale right on the canvas, and keyframe it like any other property. It ships alongside per-slide slideshow autoplay, new lower-thirds catalog blocks, and producer reliability and security fixes.

## Features

- **Studio:** Draggable 3D-transform cube in the design panel ([37ac1380](https://github.com/heygen-com/hyperframes/commit/37ac1380418961f4bee0c582cb585d2b28796d46), [#1710](https://github.com/heygen-com/hyperframes/pull/1710))
- **Slideshow:** Per-slide autoplay (manual-advance, opt-in) ([7517f6ac](https://github.com/heygen-com/hyperframes/commit/7517f6ac86496fa422e1dd918482f10b3fe4a546), [#1708](https://github.com/heygen-com/hyperframes/pull/1708))

## Fixes

- **Producer:** Stop retrying capture attempts that made zero progress ([690cf1b7](https://github.com/heygen-com/hyperframes/commit/690cf1b7a5ae0acff709e86b68fd2fce7c4bc039), [#1725](https://github.com/heygen-com/hyperframes/pull/1725))
- **Media Use:** Kill shell command injection in probe/heygen-search/eval ([041f2fa1](https://github.com/heygen-com/hyperframes/commit/041f2fa196f830bbb7215e3da6c6f991ab695a2d))

## Catalog

- **Registry:** Add lower thirds catalog blocks ([ab818a2f](https://github.com/heygen-com/hyperframes/commit/ab818a2f1d97f1fc4ca06443aab821ce77441f60), [#1134](https://github.com/heygen-com/hyperframes/pull/1134))
- Add 19-skills catalog to README, CLAUDE.md, and Mintlify docs ([f7bc0384](https://github.com/heygen-com/hyperframes/commit/f7bc0384f062fa6d9142ac06119b14729644f237), [#1722](https://github.com/heygen-com/hyperframes/pull/1722))

## Internal

- **Skills:** Run skills/**/*.test.mjs in CI ([0c05025c](https://github.com/heygen-com/hyperframes/commit/0c05025c04f9a18761ccdd4ca9f1a64ee8655556), [#1724](https://github.com/heygen-com/hyperframes/pull/1724))
- **Skills:** Rename graphic-overlays skill to talking-head-recut ([56859b61](https://github.com/heygen-com/hyperframes/commit/56859b618f45f646835c717a8a6dfaabbbda636d), [#1720](https://github.com/heygen-com/hyperframes/pull/1720))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.7...v0.7.8).
</Update>

<Update
  label="HyperFrames v0.7.7"
  description="Released - 2026-06-25"
  tags={["Release", "Plugin", "Producer", "Slideshow"]}
>
This release ships the post-0.7.6 fixes that unblock stable adoption: producer probe navigation timeouts now retry, and the Claude plugin fixture no longer trips compression guards during install. It also improves slideshow player interactivity and includes the latest Studio motion-editing and media-use provider work.

## Features

- **Slideshow:** Auto-set interactive on inner player ([64eaad7d](https://github.com/heygen-com/hyperframes/commit/64eaad7d69b3c11b9e95b912f2c0b5070994078b), [#1712](https://github.com/heygen-com/hyperframes/pull/1712))
- **Studio:** Motion editing — speed-curve editor, class-tween attribution, per-keyframe size & ease ([36499220](https://github.com/heygen-com/hyperframes/commit/364992203e39288b92d60c044c2849866ef02976), [#1705](https://github.com/heygen-com/hyperframes/pull/1705))
- **Studio:** Redesign Asset tab + fix beat analysis auto-trigger ([92befea3](https://github.com/heygen-com/hyperframes/commit/92befea305e923f081d51592abfdc0278a7e840b), [#1684](https://github.com/heygen-com/hyperframes/pull/1684))
- **Media Use:** Resolve engine + BGM/SFX/image/icon providers ([b2dc3537](https://github.com/heygen-com/hyperframes/commit/b2dc353725049a0ccecc45db4db8dc8629dc5f5c), [#1683](https://github.com/heygen-com/hyperframes/pull/1683))
- **Media Use:** Core infrastructure — manifest, cache, adopt, probe ([73f6d3e5](https://github.com/heygen-com/hyperframes/commit/73f6d3e5bed284f80e7a865e4cf2142817f1160c), [#1682](https://github.com/heygen-com/hyperframes/pull/1682))

## Fixes

- **Plugin:** Avoid high compression silence fixture ([96ab4b18](https://github.com/heygen-com/hyperframes/commit/96ab4b18a4f20ff2b7961e64a3771092f92f78fb), [#1717](https://github.com/heygen-com/hyperframes/pull/1717))
- **Producer:** Retry probe navigation timeouts ([0558b876](https://github.com/heygen-com/hyperframes/commit/0558b8761e48683887816cc1c290f46dc4c32745), [#1713](https://github.com/heygen-com/hyperframes/pull/1713))
- **Skills:** Make media-use frontmatter valid YAML so `skills add` works ([814c96ce](https://github.com/heygen-com/hyperframes/commit/814c96cefaa149d397a18184ed244178a6f1e46d), [#1709](https://github.com/heygen-com/hyperframes/pull/1709))

## Internal

- **Media Use:** Resolve tests + eval harness ([34bb4965](https://github.com/heygen-com/hyperframes/commit/34bb496566bc1fcccd06a2c9c3f099a5b41d585c), [#1685](https://github.com/heygen-com/hyperframes/pull/1685))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.6...v0.7.7).
</Update>

<Update
  label="HyperFrames v0.7.6"
  description="Released - 2026-06-25"
  tags={["Release", "Runtime", "CLI", "Engine"]}
>
This release sharpens Studio's animation editing — per-keyframe ease presets, velocity fitting, gesture smoothing, and marquee multi-selection — and adds `.srt`/`.vtt` caption export to the CLI. It also improves preview and render fidelity: document-flow layouts now preview WYSIWYG, project-root-relative assets resolve in the preview iframe, and the CLI ships its player/slideshow bundles so `present`/`play` work from npm.

## Features

- **CLI:** Export .srt/.vtt caption sidecars from a transcript ([821bf292](https://github.com/heygen-com/hyperframes/commit/821bf2921a264538b90cb323e4248f29ffaa5d19), [#1704](https://github.com/heygen-com/hyperframes/pull/1704))
- **Studio:** Per-keyframe ease presets, velocity fitting, gesture smoothing ([97db811a](https://github.com/heygen-com/hyperframes/commit/97db811a2f7e7261c555b2d9915ecf10e057d726), [#1694](https://github.com/heygen-com/hyperframes/pull/1694))
- **Studio:** Marquee multi-selection + off-canvas indicators ([8ae010bf](https://github.com/heygen-com/hyperframes/commit/8ae010bf51ff577fcbf6a723b7078f10bef268d7), [#1693](https://github.com/heygen-com/hyperframes/pull/1693))
- **CLI:** Shared TTS/BGM auth preflight + caption and skill-workflow fixes ([54cab331](https://github.com/heygen-com/hyperframes/commit/54cab331d0f4b88e9ffe73036f842d41d473cf32), [#1697](https://github.com/heygen-com/hyperframes/pull/1697))
- **Telemetry:** Attribute renders to the authoring workflow skill ([5242dde2](https://github.com/heygen-com/hyperframes/commit/5242dde2dc82607051316aea2a91e7420b13433c), [#1695](https://github.com/heygen-com/hyperframes/pull/1695))

## Fixes

- **Runtime:** Keep stamped flow children in document flow in preview ([9bf1e1c2](https://github.com/heygen-com/hyperframes/commit/9bf1e1c298cdd346c923bbda09a098d7459dcd76), [#1702](https://github.com/heygen-com/hyperframes/pull/1702))
- **CLI:** Ship player + slideshow bundles so present/play work from npm ([1c389983](https://github.com/heygen-com/hyperframes/commit/1c389983de16f73ce9f272f5d6e6ae4314ac9e17), [#1706](https://github.com/heygen-com/hyperframes/pull/1706))
- **Engine:** Defend macOS regular Chrome screenshots ([89ff299a](https://github.com/heygen-com/hyperframes/commit/89ff299a11bd65213e583068622a9677d1d39008))
- **Runtime:** ImmediateRender for set tweens + array timeline normalization ([6987447a](https://github.com/heygen-com/hyperframes/commit/6987447a75d897be493f4bd4992c4145efffa2c8), [#1692](https://github.com/heygen-com/hyperframes/pull/1692))
- **Studio:** Resolve project-root-relative asset URLs in preview iframe ([c7b9bf33](https://github.com/heygen-com/hyperframes/commit/c7b9bf338676c48766a1a88e5c887f8eec74ea92), [#1698](https://github.com/heygen-com/hyperframes/pull/1698))

## Docs & Examples

- **Skills:** Route /slideshow as a workflow, not a domain capability ([ae8b94c5](https://github.com/heygen-com/hyperframes/commit/ae8b94c51841be8c4b53fe861adae9371db5eff3), [#1701](https://github.com/heygen-com/hyperframes/pull/1701))

## Internal

- **Studio:** Remove all console.* calls from studio package ([adb40321](https://github.com/heygen-com/hyperframes/commit/adb40321d675ed6058960803a99996c53f8248f0), [#1691](https://github.com/heygen-com/hyperframes/pull/1691))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.5...v0.7.6).
</Update>

<Update
  label="HyperFrames v0.7.5"
  description="Released - 2026-06-24"
  tags={["Release", "Player", "Producer"]}
>
This stable release fixes cross-origin player readiness so hosted HyperFrames
previews can play through the runtime bridge without app-origin blob wrappers.
It also improves render robustness by retrying transient producer probe crashes
and preventing visible GSAP transition overlays from leaking into output.

## Fixes

- **Player:** Treat runtime timeline as cross-origin ready ([ea23e630](https://github.com/heygen-com/hyperframes/commit/ea23e6309f5516897cebe6b95b1157d703de8dee), [#1690](https://github.com/heygen-com/hyperframes/pull/1690))
- **Producer:** Retry probe stage on transient browser errors ([546b2d77](https://github.com/heygen-com/hyperframes/commit/546b2d770bdc7e02d5c834f786c098f7d40f2749), [#1688](https://github.com/heygen-com/hyperframes/pull/1688))
- Flag visible GSAP transition overlays ([899b8faa](https://github.com/heygen-com/hyperframes/commit/899b8faa1203c4fb95ed39a38896426311312f22), [#1686](https://github.com/heygen-com/hyperframes/pull/1686))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.4...v0.7.5).
</Update>

<Update
  label="HyperFrames v0.7.4"
  description="Released - 2026-06-24"
  tags={["Release", "Producer", "Core", "Studio"]}
>
This stable release improves render reliability and skill authoring: producer duration
now falls back to sub-composition timing, empty sub-composition files no longer abort
renders, and Studio timeline styling handles missing tags safely. It also ships
music-to-video workflow updates, per-skill telemetry, and clearer CLI install/debug
guidance.

## Features

- **CLI:** Per-skill usage telemetry ([4961e4e4](https://github.com/heygen-com/hyperframes/commit/4961e4e4770a9b38eb34fef957c0ac8764614ce8))
- **Skills:** Unify bgm-to-video flows into music-to-video ([a34d3dba](https://github.com/heygen-com/hyperframes/commit/a34d3dba4d15b3d6830bc546b7b6c423a1304477))
- **Skills:** Add bgm-to-video skill ([d596379e](https://github.com/heygen-com/hyperframes/commit/d596379e52536672366e889602004a65bc8136d9))
- **Skills:** Guide install when a matched workflow isn't installed ([08328b04](https://github.com/heygen-com/hyperframes/commit/08328b04e63e16c7bea469237552c1d9587dcfec), [#1647](https://github.com/heygen-com/hyperframes/pull/1647))

## Fixes

- **Producer:** Derive duration from sub-composition timing when root has no data-duration ([45a9440c](https://github.com/heygen-com/hyperframes/commit/45a9440c61073314dd8d3ac34813d108c1e051e7), [#1680](https://github.com/heygen-com/hyperframes/pull/1680))
- **Core:** Skip empty sub-composition files instead of aborting render ([656c1200](https://github.com/heygen-com/hyperframes/commit/656c1200ee2e42fe2affa9641af8fcf0ccbb5683), [#1678](https://github.com/heygen-com/hyperframes/pull/1678))
- **Studio:** Guard against null tag in timeline track style ([d4aa5f93](https://github.com/heygen-com/hyperframes/commit/d4aa5f93e16c564d5248da99cd22101b314d3d63), [#1679](https://github.com/heygen-com/hyperframes/pull/1679))
- **CLI:** Improve whisper-cpp install guidance and add doctor check ([344618e2](https://github.com/heygen-com/hyperframes/commit/344618e22aaf27b526d16ef219dfe193ae8920fd), [#1681](https://github.com/heygen-com/hyperframes/pull/1681))
- **Engine:** Restore fast screenshot path for viewport captures ([f622e5a7](https://github.com/heygen-com/hyperframes/commit/f622e5a7ba3f840bda2703a93784ea0105d21fef), [#1670](https://github.com/heygen-com/hyperframes/pull/1670))
- **CLI:** Install skills into project dir on non-interactive init ([bf4f34b3](https://github.com/heygen-com/hyperframes/commit/bf4f34b359c252bfac25061d19bd178b28da5588), [#1671](https://github.com/heygen-com/hyperframes/pull/1671))
- **CLI:** Expose render debug mode ([7133c396](https://github.com/heygen-com/hyperframes/commit/7133c396eb29f4d28f3d25b8dc8dcf017bc70618))
- Unblock music video ci checks ([5d1bff51](https://github.com/heygen-com/hyperframes/commit/5d1bff51b5a21145b9d84c95d21447ebb90efc13))
- **Producer:** Store css-var-fonts baseline as raw binary, not LFS pointer ([119284d3](https://github.com/heygen-com/hyperframes/commit/119284d377878e38df60469a6bbeaf6d6a8ed857))
- **Producer:** Restore css-var-fonts regression baseline ([f012b8b8](https://github.com/heygen-com/hyperframes/commit/f012b8b84691c6a5989e11c0d228c5320d8d6843))
- **Lint:** Catch CSS↔GSAP transform conflicts in scoped selectors and frame sub-compositions ([9ccae863](https://github.com/heygen-com/hyperframes/commit/9ccae8637291262b8a2e1a1779e4ee7ad186f675))

## Docs & Examples

- **Skills:** Add music-source brief to music-to-video Step 0 ([7a464689](https://github.com/heygen-com/hyperframes/commit/7a4646894f0d3d5edcc185f1e1a61dcce11345ed))
- **Skills:** Register music-to-video in the hyperframes router ([44b04324](https://github.com/heygen-com/hyperframes/commit/44b04324b1576d80a2fb5a1bdf8dda0fd049a6ff))
- **Skills:** Add beat-synced montage authoring recipe ([0dcf914e](https://github.com/heygen-com/hyperframes/commit/0dcf914e14ae74ddfe6e8c6118113929bcfb894f))

## Catalog

- Refine music-to-video planning catalogs ([a23ca348](https://github.com/heygen-com/hyperframes/commit/a23ca3487f712d9df9ed72e1d6b16683dfc4bd2f))

## Internal

- **Lint:** Keep the fallow audit gate green ([4a8e2f1c](https://github.com/heygen-com/hyperframes/commit/4a8e2f1cd0a1d156ac485fd084230da8c407b152))

## Other Changes

- Merge pull request #1672 from heygen-com/fix/skill-authoring-fixes ([26810856](https://github.com/heygen-com/hyperframes/commit/2681085624056aeac851b03fd46efe512017c2a7))
- **Skills:** Apply oxfmt to music-to-video and router docs ([265b0273](https://github.com/heygen-com/hyperframes/commit/265b02738e35d21b5455a640323551f0e3cf3c6e))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.3...v0.7.4).
</Update>

<Update
  label="HyperFrames v0.7.3"
  description="Released - 2026-06-23"
  tags={["Release", "Producer"]}
>
This stable release fixes a production render visibility leak where timed descendants could remain visible after their parent clip ended. It also includes producer render performance cleanup and documentation coverage for package entrypoints.

## Fixes

- Hide descendants of inactive render clips ([11d6227d0](https://github.com/heygen-com/hyperframes/commit/11d6227d06fff50145d26a8382585ad95f44e54c), [#1662](https://github.com/heygen-com/hyperframes/pull/1662))

## Performance

- **Producer:** Skip wasted Chrome media work + injector page.evaluates during render ([b651a9d21](https://github.com/heygen-com/hyperframes/commit/b651a9d218b6a1d2649bfb7d8595ea83a04e69a5), [#1651](https://github.com/heygen-com/hyperframes/pull/1651))

## Docs & Examples

- Add missing package pages ([e4058e8bb](https://github.com/heygen-com/hyperframes/commit/e4058e8bbf4630a58cfa5587224f4452b82cb828), [#1660](https://github.com/heygen-com/hyperframes/pull/1660))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.2...v0.7.3).
</Update>

<Update
  label="HyperFrames v0.7.2"
  description="Released - 2026-06-22"
  tags={["Release", "Compiler", "Producer", "Engine"]}
>
Fixes several production-rendering edge cases: shader transitions now survive the producer capture path, audio muxing preserves full stream duration, and CSS variable font declarations no longer trip deterministic font resolution.

## Fixes

- **Compiler:** Skip CSS var() in font resolver ([468f7ec3](https://github.com/heygen-com/hyperframes/commit/468f7ec35b823e281590fc6967ea1a6ee86a5789), [#1655](https://github.com/heygen-com/hyperframes/pull/1655))
- **Producer:** Capture page-side shader composites via screenshot ([8c13a726](https://github.com/heygen-com/hyperframes/commit/8c13a72696c47d1435d1f4ec80d58cc78a59779a), [#1656](https://github.com/heygen-com/hyperframes/pull/1656))
- **Producer:** Split capture average timing ([4976b5e0](https://github.com/heygen-com/hyperframes/commit/4976b5e0362e7bf6d49eea8b7b5a7b8addf8ed43), [#1657](https://github.com/heygen-com/hyperframes/pull/1657))
- **Engine:** Remove -shortest from muxVideoWithAudio (#1648) ([e9957eca](https://github.com/heygen-com/hyperframes/commit/e9957ecaf46902eaadc1a8139e4961c85307e5b6), [#1650](https://github.com/heygen-com/hyperframes/pull/1650))

## Internal

- **Producer:** Add stream duration parity check to regression harness ([60d3eeb1](https://github.com/heygen-com/hyperframes/commit/60d3eeb1f7f59787b77bbce08df987ed59bfd87d), [#1652](https://github.com/heygen-com/hyperframes/pull/1652))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.1...v0.7.2).
</Update>

<Update
  label="HyperFrames v0.7.1"
  description="Released - 2026-06-22"
  tags={["Release", "Studio", "Producer"]}
>
Fixes gesture recording selection sync and video-heavy render base64 frame injection.

## Fixes

- **Studio:** `selectedGsapAnimations` empty after gesture recording — motion path nodes non-interactive, timeline diamonds missing. Root cause: animation fetch dedup key didn't include the selection target, and the preview sync didn't re-run after soft reloads ([82a5298](https://github.com/heygen-com/hyperframes/commit/82a529805), [#1646](https://github.com/heygen-com/hyperframes/pull/1646))
- **Producer:** Inline base64 frames in injector to unblock video-heavy renders ([4be81b4](https://github.com/heygen-com/hyperframes/commit/4be81b4fb), [#1630](https://github.com/heygen-com/hyperframes/pull/1630))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.7.0...v0.7.1).
</Update>

<Update
  label="HyperFrames v0.7.0"
  description="Released - 2026-06-22"
  tags={["Release", "Studio", "Core", "Skills"]}
>
Studio GSAP keyframe and motion-path editing, instant flicker-free manual editing, sub-composition rendering fixes, and frame-preset foundation for skills.

## Features

- **Studio:** GSAP keyframe + motion-path editing — drag to add keyframes, Alt+drag to move entire animation path, click-to-add waypoints on motion paths, canvas shortcuts panel ([091137e](https://github.com/heygen-com/hyperframes/commit/091137e3c), [#1605](https://github.com/heygen-com/hyperframes/pull/1605))
- **Studio:** Instant, flicker-free manual editing — soft-reload preserves inline styles, stale-ID guard prevents duplicate tweens, resize delete+add pattern ([091137e](https://github.com/heygen-com/hyperframes/commit/091137e3c), [#1605](https://github.com/heygen-com/hyperframes/pull/1605))
- **Skills:** Frame-preset library + shared audio engine foundation ([d0f0ec2](https://github.com/heygen-com/hyperframes/commit/d0f0ec29e), [#1632](https://github.com/heygen-com/hyperframes/pull/1632))
- **Skills:** Product-launch, pr-to-video, faceless-explainer moved to script-driven architecture ([1967901](https://github.com/heygen-com/hyperframes/commit/1967901b5), [#1635](https://github.com/heygen-com/hyperframes/pull/1635))

## Fixes

- **Studio:** Preview freeze after ~10s — clock duration no longer shrinks during playback ([1f5dbdb](https://github.com/heygen-com/hyperframes/commit/1f5dbdbc4), [#1636](https://github.com/heygen-com/hyperframes/pull/1643))
- **Studio:** `crypto.randomUUID` fallback for plain HTTP preview ([1f5dbdb](https://github.com/heygen-com/hyperframes/commit/1f5dbdbc4), [#1637](https://github.com/heygen-com/hyperframes/pull/1643))
- **Producer:** ENOTEMPTY race on worker directory cleanup ([1f5dbdb](https://github.com/heygen-com/hyperframes/commit/1f5dbdbc4), [#1644](https://github.com/heygen-com/hyperframes/pull/1643))
- **Core:** Register sub-composition timelines after async build ([4db708e](https://github.com/heygen-com/hyperframes/commit/4db708eb4), [#1638](https://github.com/heygen-com/hyperframes/pull/1638))
- **Core:** Render standalone sub-composition previews + surface captured video assets ([0e75eb2](https://github.com/heygen-com/hyperframes/commit/0e75eb251), [#1631](https://github.com/heygen-com/hyperframes/pull/1631))
- **CLI:** Classify missing whisper-cpp as a setup gap, not a command error ([f12754f](https://github.com/heygen-com/hyperframes/commit/f12754f5a), [#1628](https://github.com/heygen-com/hyperframes/pull/1628))
- **Skills:** Reject empty/partial scene files at assembly, not at render ([a843b2a](https://github.com/heygen-com/hyperframes/commit/a843b2acb), [#1629](https://github.com/heygen-com/hyperframes/pull/1629))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.121...v0.7.0).
</Update>

<Update
  label="HyperFrames v0.6.121"
  description="Released - 2026-06-21"
  tags={["Release", "CLI"]}
>
This hotfix restores `hyperframes skills` on Windows by invoking npm's `npx.cmd`
shim through `cmd.exe`, while preserving direct `npx` execution on Linux and macOS.
The same resolver also covers the local Studio preview's `npx vite` path and is
verified by CI on all three operating systems.

## Fixes

- **CLI:** Resolve npx shims on Windows ([25b717dd](https://github.com/heygen-com/hyperframes/commit/25b717dd9c0e1777adafa23dcfb4ad87c4989d91), [#1626](https://github.com/heygen-com/hyperframes/pull/1626))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.120...v0.6.121).
</Update>

<Update
  label="HyperFrames v0.6.120"
  description="Released - 2026-06-21"
  tags={["Release", "Shader Transitions"]}
>
This hotfix restores Node-compatible package entrypoints for published HyperFrames
packages, so npm consumers load built JavaScript and declaration files instead of
source TypeScript. It also improves page-side rendering so shader transitions paint
correctly and final-scene content remains visible through the end of the render.

## Fixes

- Publish Node-compatible package entrypoints ([2612b9bd](https://github.com/heygen-com/hyperframes/commit/2612b9bdfe6d2a224e93406efc831658cb2f6caf), [#1622](https://github.com/heygen-com/hyperframes/pull/1622))
- **Shader Transitions:** Page-side render dropped shader transitions and final-scene content ([a85a507c](https://github.com/heygen-com/hyperframes/commit/a85a507cdcce4deb2a55472208176753abec152b))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.119...v0.6.120).
</Update>

<Update
  label="HyperFrames v0.6.119"
  description="Released - 2026-06-21"
  tags={["Release", "Slideshow"]}
>
This hotfix makes slideshow presenter decks more reliable when they contain interactive
media. Presenter and audience views now keep media controls, muted autoplay fallback,
global mute, editable speaker notes, and first-load navigation chrome in sync.

## Fixes

- **Slideshow:** Harden media controls in present decks ([341e65aea](https://github.com/heygen-com/hyperframes/commit/341e65aea2773235d2cd3482846bcd6ed7d24638), [#1619](https://github.com/heygen-com/hyperframes/pull/1619))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.118...v0.6.119).
</Update>

<Update
  label="HyperFrames v0.6.117"
  description="Released - 2026-06-20"
  tags={["Release", "Core"]}
>
This hotfix restores the published `@hyperframes/core` subpath contract used by Studio,
SDK, and CLI consumers. Installed packages can now resolve the `beats`, `storyboard`,
HTML attribute safety, package metadata, and clip tree entry points that already existed
in source.

## Fixes

- **Core:** Publish missing subpath exports ([960690e8e](https://github.com/heygen-com/hyperframes/commit/960690e8e5b64d9cd10c815819e1bf7b010970cd), [#1616](https://github.com/heygen-com/hyperframes/pull/1616))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.116...v0.6.117).
</Update>

<Update
  label="HyperFrames v0.6.116"
  description="Released - 2026-06-20"
  tags={["Release", "Engine"]}
>
This hotfix improves render reliability across WebM and MP4 outputs: VP9 encodes now use a shared, tunable speed default across render paths, and MP4 muxing preserves AAC start offsets so audio stays aligned.

## Fixes

- **Engine:** Preserve AAC start time during MP4 mux ([0473254b](https://github.com/heygen-com/hyperframes/commit/0473254bdd8a545991a52d0e547d7d62e2b1f5a6), [#1615](https://github.com/heygen-com/hyperframes/pull/1615))
- **Engine:** Tune VP9 cpu-used across render paths ([8408a447](https://github.com/heygen-com/hyperframes/commit/8408a4474553307f8b82e65d8847922f482bd9c7), [#1614](https://github.com/heygen-com/hyperframes/pull/1614))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.115...v0.6.116).
</Update>

<Update
  label="HyperFrames v0.6.115"
  description="Released - 2026-06-20"
  tags={["Release", "Slideshow", "Core", "Core,studio"]}
>
Full slideshow stack: schema, parser, controller, `<hyperframes-slideshow>` web component, presenter mode, branching editor panel, and `hyperframes present` CLI command. SDK gains element add/remove ops, elastic timing, keyframe writers, variables/brand model, and image-alpha hit-testing. Fixes cross-realm iframe media handling, per-element audio muting, querySelector injection, and DOM edit parity.

## Features

- **Studio:** Slideshow branching editor panel UI ([04a775b5](https://github.com/heygen-com/hyperframes/commit/04a775b58a2e0272d294b4e6f2c7b1f4aed794cb), [#1592](https://github.com/heygen-com/hyperframes/pull/1592))
- **Studio:** Slideshow manifest persistence + panel helpers ([b74020fa](https://github.com/heygen-com/hyperframes/commit/b74020fa56ba4382d18f3ca23de349cf8c63e130), [#1591](https://github.com/heygen-com/hyperframes/pull/1591))
- **Player:** \<hyperframes-slideshow\> web component + presenter ([075302cd](https://github.com/heygen-com/hyperframes/commit/075302cd0312e0c14f049d50f011c958140af540), [#1590](https://github.com/heygen-com/hyperframes/pull/1590))
- **Player:** Slideshow controller state machine ([6938d6ac](https://github.com/heygen-com/hyperframes/commit/6938d6acf2d8ee9a4b01fe541f38a9a8b00dc0c6), [#1589](https://github.com/heygen-com/hyperframes/pull/1589))
- **Studio:** Slideshow branching editor panel ([3861e8e9](https://github.com/heygen-com/hyperframes/commit/3861e8e9fc0f0b6660c31b3668bd71172aced38f), [#1582](https://github.com/heygen-com/hyperframes/pull/1582))
- **Player:** Slideshow controller + \<hyperframes-slideshow\> component ([7af3eb8f](https://github.com/heygen-com/hyperframes/commit/7af3eb8f80945e880138570d49aee585a5346e19), [#1581](https://github.com/heygen-com/hyperframes/pull/1581))
- **Core:** Slideshow schema, parser, and lint rule ([83764579](https://github.com/heygen-com/hyperframes/commit/83764579898b9df4a7880761870faa983fc927bf), [#1580](https://github.com/heygen-com/hyperframes/pull/1580))
- **Sdk:** Image-alpha hit-test phase 1 (WS-G) ([37efbcb9](https://github.com/heygen-com/hyperframes/commit/37efbcb9553eacba3797a2de32ee7c7100ca4cb6), [#1574](https://github.com/heygen-com/hyperframes/pull/1574))
- **Sdk:** Ws-3c — addWithKeyframes + replaceWithKeyframes SDK ops (acorn writer) ([418f198b](https://github.com/heygen-com/hyperframes/commit/418f198b3391a44728433a788c7c34f9b280ca6c), [#1572](https://github.com/heygen-com/hyperframes/pull/1572))
- **Sdk:** AddElement forward op — mint hf-id, inverse = removeElement (WS-D) ([0ca01c88](https://github.com/heygen-com/hyperframes/commit/0ca01c88cfbaedad3a5493a8185e37eb7559fdb7), [#1571](https://github.com/heygen-com/hyperframes/pull/1571))
- **Sdk:** Ws-c elastic timing + word-alignment resolver (WS-C) ([f65e2296](https://github.com/heygen-com/hyperframes/commit/f65e229663c40376456ad32f37e1b29e5a877f9c), [#1570](https://github.com/heygen-com/hyperframes/pull/1570))
- **Sdk:** Ws-b variables/brand — object-valued font/image + B1 JSON model ([d0e520db](https://github.com/heygen-com/hyperframes/commit/d0e520dbd950aa56c56b752c25db8b751a9bf1ea), [#1569](https://github.com/heygen-com/hyperframes/pull/1569))

## Fixes

- **Slideshow:** Present media controls ([f0c4dee7](https://github.com/heygen-com/hyperframes/commit/f0c4dee70584f02a546c0cdb6d02d8b5542a4a4b), [#1601](https://github.com/heygen-com/hyperframes/pull/1601))
- **Core:** Mute preview audio per-element so a slow-decoding track isn't silenced ([cd832f01](https://github.com/heygen-com/hyperframes/commit/cd832f01ac953cad793da4e379302d2f1c60dc6a), [#1602](https://github.com/heygen-com/hyperframes/pull/1602))
- **Core:** Import cssSelector test from vitest, not bun:test ([82b6ccde](https://github.com/heygen-com/hyperframes/commit/82b6ccde7934836c100c47206bacca5455c8b3d8), [#1599](https://github.com/heygen-com/hyperframes/pull/1599))
- **Core,studio:** Escape user values in querySelector attribute selectors ([c0ffdc0f](https://github.com/heygen-com/hyperframes/commit/c0ffdc0fb0d5adc4bf9df0afe07f4f5a23d2fb51))
- **Sdk,studio:** Restore DOM edit cutover parity ([758eda99](https://github.com/heygen-com/hyperframes/commit/758eda995c9c2dedb4d7939769f149209663f841), [#1565](https://github.com/heygen-com/hyperframes/pull/1565))
- **Slideshow:** Finish remaining split-PR review findings ([f05b3f9c](https://github.com/heygen-com/hyperframes/commit/f05b3f9c7c07a08cbe917f1293fe31e3b0e9f9d6), [#1594](https://github.com/heygen-com/hyperframes/pull/1594))
- **Slideshow:** Address code-review findings #1580-1584 ([cc2220e5](https://github.com/heygen-com/hyperframes/commit/cc2220e59ec7e0b48c0991445ca0857d3ac752d3), [#1585](https://github.com/heygen-com/hyperframes/pull/1585))
- **Release:** Scope tag-monotonicity guard to tags reachable from HEAD ([3a28d3f6](https://github.com/heygen-com/hyperframes/commit/3a28d3f6b8395112950d58f940b2670d870e91b7))
- **Sdk:** Code-review follow-ups (WS-B/C/3.C, #1569/#1570/#1572) ([dd6fad6b](https://github.com/heygen-com/hyperframes/commit/dd6fad6bb2c77828f841430afd777dbb9e199798), [#1588](https://github.com/heygen-com/hyperframes/pull/1588))
- **Engine:** Hold the last video frame at the inclusive clip end ([fdb8f33f](https://github.com/heygen-com/hyperframes/commit/fdb8f33fc099f0c7ba5ef3dfb033def561234e92), [#1564](https://github.com/heygen-com/hyperframes/pull/1564))

## Docs & Examples

- **Skill:** Slideshow authoring guidance + standalone harness reference ([b7a11637](https://github.com/heygen-com/hyperframes/commit/b7a1163753adc7efff0f15ba79ef0caaf0f06aa4), [#1583](https://github.com/heygen-com/hyperframes/pull/1583))

## Internal

- **Examples:** Slideshow demos — airbnb deck, startup pitch, fixture ([ae404984](https://github.com/heygen-com/hyperframes/commit/ae40498433de266999031d8230a232f89f4a9cad), [#1584](https://github.com/heygen-com/hyperframes/pull/1584))
- **Core:** Gate acorn GSAP writer behind cutover flag; keep recast default (WS-3F) ([967bf9f9](https://github.com/heygen-com/hyperframes/commit/967bf9f9ed0303154c755e3ee8f9b829f6f41174), [#1573](https://github.com/heygen-com/hyperframes/pull/1573))
- **Publish:** Publish @hyperframes/sdk to npm ([7607a714](https://github.com/heygen-com/hyperframes/commit/7607a714a6c46407bb42cff1ed754ea8997035df), [#1587](https://github.com/heygen-com/hyperframes/pull/1587))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.112...v0.6.115).
</Update>

<Update
  label="HyperFrames v0.6.114"
  description="Released - 2026-06-19"
  tags={["Release", "Slideshow", "Examples", "Skill"]}
>
Adds slideshow support end-to-end: a player-side controller state machine and `<hyperframes-slideshow>` web component, a Studio branching-editor panel with manifest persistence, plus authoring-skill guidance and example decks.

## Features

- **Studio:** Slideshow branching editor panel UI ([04a775b5](https://github.com/heygen-com/hyperframes/commit/04a775b58a2e0272d294b4e6f2c7b1f4aed794cb), [#1592](https://github.com/heygen-com/hyperframes/pull/1592))
- **Studio:** Slideshow manifest persistence + panel helpers ([b74020fa](https://github.com/heygen-com/hyperframes/commit/b74020fa56ba4382d18f3ca23de349cf8c63e130), [#1591](https://github.com/heygen-com/hyperframes/pull/1591))
- **Player:** \<hyperframes-slideshow\> web component + presenter ([075302cd](https://github.com/heygen-com/hyperframes/commit/075302cd0312e0c14f049d50f011c958140af540), [#1590](https://github.com/heygen-com/hyperframes/pull/1590))
- **Player:** Slideshow controller state machine ([6938d6ac](https://github.com/heygen-com/hyperframes/commit/6938d6acf2d8ee9a4b01fe541f38a9a8b00dc0c6), [#1589](https://github.com/heygen-com/hyperframes/pull/1589))
- **Studio:** Slideshow branching editor panel ([3861e8e9](https://github.com/heygen-com/hyperframes/commit/3861e8e9fc0f0b6660c31b3668bd71172aced38f), [#1582](https://github.com/heygen-com/hyperframes/pull/1582))
- **Player:** Slideshow controller + \<hyperframes-slideshow\> component ([7af3eb8f](https://github.com/heygen-com/hyperframes/commit/7af3eb8f80945e880138570d49aee585a5346e19), [#1581](https://github.com/heygen-com/hyperframes/pull/1581))

## Fixes

- **Slideshow:** Finish remaining split-PR review findings ([f05b3f9c](https://github.com/heygen-com/hyperframes/commit/f05b3f9c7c07a08cbe917f1293fe31e3b0e9f9d6), [#1594](https://github.com/heygen-com/hyperframes/pull/1594))
- **Slideshow:** Address code-review findings #1580-1584 ([cc2220e5](https://github.com/heygen-com/hyperframes/commit/cc2220e59ec7e0b48c0991445ca0857d3ac752d3), [#1585](https://github.com/heygen-com/hyperframes/pull/1585))

## Docs & Examples

- **Skill:** Slideshow authoring guidance + standalone harness reference ([b7a11637](https://github.com/heygen-com/hyperframes/commit/b7a1163753adc7efff0f15ba79ef0caaf0f06aa4), [#1583](https://github.com/heygen-com/hyperframes/pull/1583))

## Internal

- **Examples:** Slideshow demos — airbnb deck, startup pitch, fixture ([ae404984](https://github.com/heygen-com/hyperframes/commit/ae40498433de266999031d8230a232f89f4a9cad), [#1584](https://github.com/heygen-com/hyperframes/pull/1584))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.113...v0.6.114).
</Update>

<Update
  label="HyperFrames v0.6.113"
  description="Released - 2026-06-19"
  tags={["Release", "Release", "Core", "Sdk"]}
>
Brings the AI Studio (Pacific) SDK integration surface online — object-valued font/image variables, elastic timing with word-alignment, element insertion, and keyframe animation ops — all on the acorn GSAP writer, now gated behind the cutover flag with recast kept as the default. Also adds a slideshow schema/parser/lint rule and phase-1 image-alpha hit-testing, so clicks on transparent image pixels fall through to the layer behind.

## Features

- **Core:** Slideshow schema, parser, and lint rule ([83764579](https://github.com/heygen-com/hyperframes/commit/83764579898b9df4a7880761870faa983fc927bf), [#1580](https://github.com/heygen-com/hyperframes/pull/1580))
- **Sdk:** Image-alpha hit-test phase 1 (WS-G) ([37efbcb9](https://github.com/heygen-com/hyperframes/commit/37efbcb9553eacba3797a2de32ee7c7100ca4cb6), [#1574](https://github.com/heygen-com/hyperframes/pull/1574))
- **Sdk:** Ws-3c — addWithKeyframes + replaceWithKeyframes SDK ops (acorn writer) ([418f198b](https://github.com/heygen-com/hyperframes/commit/418f198b3391a44728433a788c7c34f9b280ca6c), [#1572](https://github.com/heygen-com/hyperframes/pull/1572))
- **Sdk:** AddElement forward op — mint hf-id, inverse = removeElement (WS-D) ([0ca01c88](https://github.com/heygen-com/hyperframes/commit/0ca01c88cfbaedad3a5493a8185e37eb7559fdb7), [#1571](https://github.com/heygen-com/hyperframes/pull/1571))
- **Sdk:** Ws-c elastic timing + word-alignment resolver (WS-C) ([f65e2296](https://github.com/heygen-com/hyperframes/commit/f65e229663c40376456ad32f37e1b29e5a877f9c), [#1570](https://github.com/heygen-com/hyperframes/pull/1570))
- **Sdk:** Ws-b variables/brand — object-valued font/image + B1 JSON model ([d0e520db](https://github.com/heygen-com/hyperframes/commit/d0e520dbd950aa56c56b752c25db8b751a9bf1ea), [#1569](https://github.com/heygen-com/hyperframes/pull/1569))

## Fixes

- **Release:** Scope tag-monotonicity guard to tags reachable from HEAD ([3a28d3f6](https://github.com/heygen-com/hyperframes/commit/3a28d3f6b8395112950d58f940b2670d870e91b7))
- **Sdk:** Code-review follow-ups (WS-B/C/3.C, #1569/#1570/#1572) ([dd6fad6b](https://github.com/heygen-com/hyperframes/commit/dd6fad6bb2c77828f841430afd777dbb9e199798), [#1588](https://github.com/heygen-com/hyperframes/pull/1588))
- **Engine:** Hold the last video frame at the inclusive clip end ([fdb8f33f](https://github.com/heygen-com/hyperframes/commit/fdb8f33fc099f0c7ba5ef3dfb033def561234e92), [#1564](https://github.com/heygen-com/hyperframes/pull/1564))

## Internal

- **Core:** Gate acorn GSAP writer behind cutover flag; keep recast default (WS-3F) ([967bf9f9](https://github.com/heygen-com/hyperframes/commit/967bf9f9ed0303154c755e3ee8f9b829f6f41174), [#1573](https://github.com/heygen-com/hyperframes/pull/1573))
- **Publish:** Publish @hyperframes/sdk to npm ([7607a714](https://github.com/heygen-com/hyperframes/commit/7607a714a6c46407bb42cff1ed754ea8997035df), [#1587](https://github.com/heygen-com/hyperframes/pull/1587))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.112...v0.6.113).
</Update>

<Update
  label="HyperFrames v0.6.112"
  description="Released - 2026-06-18"
  tags={["Release", "Engine", "Studio", "Sdk"]}
>
Static-frame dedup is now on by default for screenshot capture (with render telemetry), the SDK gains a `reorderElements` op for batch z-index updates, and the resolver-parity shadow tripwire stops emitting false `element_not_found` divergences for elements inside inlined sub-compositions.

## Features

- **Engine:** Static-frame dedup default-on + render telemetry ([7310223b6](https://github.com/heygen-com/hyperframes/commit/7310223b664df3fc3d083f08375883e06ae8623a), [#1549](https://github.com/heygen-com/hyperframes/pull/1549))
- **Sdk:** Ws-3 — reorderElements op (batch z-index update) ([28bfe09f2](https://github.com/heygen-com/hyperframes/commit/28bfe09f2101447423c46c17b15a7288b6ed2556), [#1502](https://github.com/heygen-com/hyperframes/pull/1502))

## Fixes

- **Studio:** Shadow resolves bare leaf via dispatch path, not getElement ([5fb5153e4](https://github.com/heygen-com/hyperframes/commit/5fb5153e4e9f0e02820cee9a204e65c53ae0422c), [#1552](https://github.com/heygen-com/hyperframes/pull/1552))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.111...v0.6.112).
</Update>

<Update
  label="HyperFrames v0.6.111"
  description="Released - 2026-06-18"
  tags={["Release", "Studio", "Core", "Sdk,studio"]}
>
This release lands the bulk of the Studio→SDK editing cutover — style, text, timing, delete, and GSAP ops now route through the SDK behind a default-off dark-launch flag — alongside a resolver-parity shadow tripwire that reports any SDK/server resolution divergence as telemetry. It also ships the storyboard editor (view modes, markdown source, frame focus) and asset-readiness adapters for three.js, map, and visualization libraries.

## Features

- **Studio:** Resolver-parity shadow tripwire (decoupled telemetry) ([933b88ec3](https://github.com/heygen-com/hyperframes/commit/933b88ec334f5ad474c465ea730219f24e50421e), [#1547](https://github.com/heygen-com/hyperframes/pull/1547))
- **Core:** Add readiness adapters for map and visualization libraries ([75d92b55e](https://github.com/heygen-com/hyperframes/commit/75d92b55e0f41d0503a03bd47f5ce0b5d2e08d11), [#1548](https://github.com/heygen-com/hyperframes/pull/1548))
- **Sdk,core:** Ws-3 — unrollDynamicAnimations acorn port + SDK op ([09cefc1bb](https://github.com/heygen-com/hyperframes/commit/09cefc1bb7ca2c38d27cbf1ea291e58c08f89fb9), [#1501](https://github.com/heygen-com/hyperframes/pull/1501))
- **Sdk:** Stage 6 — arc path ops (setArcPath, updateArcSegment, removeArcPath) ([1612d18fd](https://github.com/heygen-com/hyperframes/commit/1612d18fdfb7aacef7ac61632a4b8f2d8bb69e48), [#1500](https://github.com/heygen-com/hyperframes/pull/1500))
- **Sdk,core:** Ws-3 prerequisites — acorn keyframe-collapse foundation + removeAllKeyframes ([a746db601](https://github.com/heygen-com/hyperframes/commit/a746db6017c1d2f098b39ee3b4dde3d90bd4fd32), [#1499](https://github.com/heygen-com/hyperframes/pull/1499))
- **Sdk,studio:** Ws-1.2 — percentage-based removeGsapKeyframe ([ceb815c31](https://github.com/heygen-com/hyperframes/commit/ceb815c3180ebebf06bbf7872086fbe0ad367ce1), [#1498](https://github.com/heygen-com/hyperframes/pull/1498))
- **Sdk,studio:** Ws-1.1 — add set method to GsapTweenSpec; route addGsapAnimation(set) through sdk ([a5016ed41](https://github.com/heygen-com/hyperframes/commit/a5016ed4168d0af8287bed151d53492dfa89f71f), [#1497](https://github.com/heygen-com/hyperframes/pull/1497))
- **Sdk,studio:** Ws-4 — add history:false option; disable unused sdk undo in studio ([e35846176](https://github.com/heygen-com/hyperframes/commit/e35846176e0bc336c82d37e77d077022c48ca139), [#1496](https://github.com/heygen-com/hyperframes/pull/1496))
- **Sdk:** Ws-a2 — applyDraft/commitPreview/cancelPreview → moveElement op ([53717a77f](https://github.com/heygen-com/hyperframes/commit/53717a77f4bd49ea506dfe92a4dc5b216183dd79), [#1490](https://github.com/heygen-com/hyperframes/pull/1490))
- **Sdk:** Ws-a1 — iframe preview adapter (hit-test + selection) ([b96e8a307](https://github.com/heygen-com/hyperframes/commit/b96e8a3072f05530a6ff08c16abbc5879daf22e5), [#1489](https://github.com/heygen-com/hyperframes/pull/1489))
- **Studio:** Route GSAP keyframe add through SDK (§3.5 PR2) ([7ca449032](https://github.com/heygen-com/hyperframes/commit/7ca4490328c149b6a87d16cb92a6412cc815c54e), [#1470](https://github.com/heygen-com/hyperframes/pull/1470))
- **Studio:** Route GSAP tween add/update/delete through SDK (§3.5 PR1) ([592f7c775](https://github.com/heygen-com/hyperframes/commit/592f7c775d435c324473fc9a861dc22618705a9b), [#1469](https://github.com/heygen-com/hyperframes/pull/1469))
- **Studio:** Route timeline trim/move through SDK setTiming (§3.2) ([39f37e8aa](https://github.com/heygen-com/hyperframes/commit/39f37e8aa807add1b31ce32178c775d3c8fc0b25), [#1466](https://github.com/heygen-com/hyperframes/pull/1466))
- **Studio:** Route element delete through SDK removeElement (§3.1) ([bce571c2a](https://github.com/heygen-com/hyperframes/commit/bce571c2a14358c30fd2d151542e4bc96cbba57c), [#1465](https://github.com/heygen-com/hyperframes/pull/1465))
- **Studio:** S7.5 — delete shadow scaffolding; keep cutover flag (dark launch) ([ca1a8a687](https://github.com/heygen-com/hyperframes/commit/ca1a8a6879dd0cf341ac690ce735bb6cb70bcb33), [#1462](https://github.com/heygen-com/hyperframes/pull/1462))
- **Studio:** Stage 7 step 3c — sdk cutover for inline-style ops ([ab7145ad9](https://github.com/heygen-com/hyperframes/commit/ab7145ad9ea1504fb8f1dc6fbf3aef7354f99f1b), [#1522](https://github.com/heygen-com/hyperframes/pull/1522))
- **Studio:** Storyboard frame focus + voiceover iteration ([c8fd16f2d](https://github.com/heygen-com/hyperframes/commit/c8fd16f2d3f83eaffb3212d8d7b23d443b428a58), [#1532](https://github.com/heygen-com/hyperframes/pull/1532))
- **Studio:** Storyboard markdown source editor (raw + live preview) ([29809069c](https://github.com/heygen-com/hyperframes/commit/29809069c818b79b338fcc2e2db08e8dd7d2311c), [#1531](https://github.com/heygen-com/hyperframes/pull/1531))
- **Lint:** Warn when a sub-composition slot blanks before the host ([13af5540c](https://github.com/heygen-com/hyperframes/commit/13af5540c13df4475ef250519db856a0e1dd3d75), [#1542](https://github.com/heygen-com/hyperframes/pull/1542))
- **Studio:** Storyboard frame contact-sheet grid ([015529e66](https://github.com/heygen-com/hyperframes/commit/015529e6630c8c9330960c9810bc9f92cb36acac), [#1530](https://github.com/heygen-com/hyperframes/pull/1530))
- **Studio:** Storyboard view-mode toggle and shell ([195d7aa7b](https://github.com/heygen-com/hyperframes/commit/195d7aa7bddbf999b2409beed05ce2fbf410d215), [#1529](https://github.com/heygen-com/hyperframes/pull/1529))
- **Studio:** Add storyboard manifest contract, parser, and read API ([8a13a0707](https://github.com/heygen-com/hyperframes/commit/8a13a07074b6ae66b37390d71d5ce9e5e67fc8e8), [#1528](https://github.com/heygen-com/hyperframes/pull/1528))

## Fixes

- **Core:** Auto-detect three.js asset readiness via adapter contract ([bb5f5f8c5](https://github.com/heygen-com/hyperframes/commit/bb5f5f8c5cf9ff96c9b584c9dd105362b1e4efcd), [#1543](https://github.com/heygen-com/hyperframes/pull/1543))
- **Sdk,studio:** R5 cutover review fixes (on top of #1539) ([e57e75b9b](https://github.com/heygen-com/hyperframes/commit/e57e75b9b41a18f87c775fcb0fd71a8e0fe1907c), [#1545](https://github.com/heygen-com/hyperframes/pull/1545))
- **Studio:** Restore timeline move/resize fallback parity (review #1466) ([8c981a451](https://github.com/heygen-com/hyperframes/commit/8c981a451a79b5e0ee794f8f9ab084fc5b41e92c), [#1539](https://github.com/heygen-com/hyperframes/pull/1539))
- **Studio,core:** Resolve SDK-cutover review findings ([377b0368b](https://github.com/heygen-com/hyperframes/commit/377b0368bd3e1cdcae144fd32a8950efe6a034ff), [#1471](https://github.com/heygen-com/hyperframes/pull/1471))
- **Studio:** Wire onTrySdkPersist to sdkCutoverPersist (cutover was unwired) ([8585fffc9](https://github.com/heygen-com/hyperframes/commit/8585fffc92f2111e840484e4e26984fa4f1998ab), [#1463](https://github.com/heygen-com/hyperframes/pull/1463))
- **Studio:** Force-reload sdk session after undo/redo bypasses suppress window ([0ca1a8a9d](https://github.com/heygen-com/hyperframes/commit/0ca1a8a9d1e36bd2cf202bfda58dc5a2df283f96), [#1524](https://github.com/heygen-com/hyperframes/pull/1524))
- **Studio:** Storyboard polish — a11y, preview, and edit-race fixes ([e662fcdea](https://github.com/heygen-com/hyperframes/commit/e662fcdea2d7be19d89f7f8a54fb6a0602a175e7), [#1544](https://github.com/heygen-com/hyperframes/pull/1544))
- **Lint:** Match @font-face when a comment inside the block holds a brace ([f72ea25b3](https://github.com/heygen-com/hyperframes/commit/f72ea25b3b702d85f12679f0e70ccea06602fad5), [#1538](https://github.com/heygen-com/hyperframes/pull/1538))

## Internal

- **Studio:** Document CSS-path position cut-over; GSAP-path deferred (§3.3) ([e65c3c791](https://github.com/heygen-com/hyperframes/commit/e65c3c7918d1995e8be83270150fedd39daa8458), [#1467](https://github.com/heygen-com/hyperframes/pull/1467))
- **Core:** Recast-vs-acorn differential suite for GSAP writer ops (+ fixes) ([c040e4973](https://github.com/heygen-com/hyperframes/commit/c040e4973a27f8a327e9cae918b94be0d463fd26), [#1533](https://github.com/heygen-com/hyperframes/pull/1533))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.110...v0.6.111).
</Update>

<Update
  label="HyperFrames v0.6.110"
  description="Released - 2026-06-17"
  tags={["Release", "Studio", "CLI", "Player", "SDK"]}
>
A fixes-only release. Studio rendering no longer 503s when ffmpeg lives outside the server's PATH (the common GUI-launch case on macOS), plus correctness fixes across the CLI, player, and SDK.

## Fixes

- **Studio:** Resolve ffmpeg outside PATH so render doesn't 503 ([ff25058c5](https://github.com/heygen-com/hyperframes/commit/ff25058c5), [#1536](https://github.com/heygen-com/hyperframes/pull/1536))
- **Studio:** Apply split-bounds epsilon in razor split-all ([66dde0898](https://github.com/heygen-com/hyperframes/commit/66dde0898), [#1404](https://github.com/heygen-com/hyperframes/pull/1404))
- **Studio:** Add GSAP 3D inspector metadata ([937ba2ceb](https://github.com/heygen-com/hyperframes/commit/937ba2ceb), [#1250](https://github.com/heygen-com/hyperframes/pull/1250))
- **CLI:** Validate init flags before creating the project directory ([a4ae3c92a](https://github.com/heygen-com/hyperframes/commit/a4ae3c92a), [#1207](https://github.com/heygen-com/hyperframes/pull/1207))
- **CLI:** Default capture output to `./capture/` (auto-suffix `capture-2/`, `capture-3/` on re-run) ([969d6a334](https://github.com/heygen-com/hyperframes/commit/969d6a334))
- **Player:** Reject non-finite composition dimensions from attributes and stage-size ([513819ee8](https://github.com/heygen-com/hyperframes/commit/513819ee8), [#1205](https://github.com/heygen-com/hyperframes/pull/1205))
- **SDK:** Resolve composition-id targets and emit canonical `data-hf-id` for GSAP tweens ([6e3214233](https://github.com/heygen-com/hyperframes/commit/6e3214233), [#1526](https://github.com/heygen-com/hyperframes/pull/1526))
- **Release:** Stop advising `git push --tags` in release next-steps ([9cc3550f7](https://github.com/heygen-com/hyperframes/commit/9cc3550f7), [#1521](https://github.com/heygen-com/hyperframes/pull/1521))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.109...v0.6.110).
</Update>

<Update
  label="HyperFrames v0.6.109"
  description="Released - 2026-06-17"
  tags={["Release", "Lint"]}
>
Promotes 21 lint rules from warnings to errors, with exemptions for registry source and installed blocks. Includes false-positive fixes across fonts, GSAP, captions, and composition rules.

## Catalog

- **Lint:** Promote rules to errors with registry exemptions and false-positive fixes ([386df23a7](https://github.com/heygen-com/hyperframes/commit/386df23a742bdfd4f61c30f27bf5e224fe0ec840), [#1495](https://github.com/heygen-com/hyperframes/pull/1495))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.108...v0.6.109).
</Update>

<Update
  label="HyperFrames v0.6.108"
  description="Released - 2026-06-17"
  tags={["Release", "Core,sdk", "Cloud", "Studio"]}
>
Adds **color grading** — a LUT-based color pipeline (schema + `.cube` parsing) applied consistently in both preview and render, with Studio inspector controls. Also rebuilds the SDK's acorn GSAP keyframe writer to match the server writer (fixing a keyframe-parity bug) and ships a managed cloud-rendering guide.

## Features

- **Studio:** Add color grading inspector controls ([8b92f3763](https://github.com/heygen-com/hyperframes/commit/8b92f3763563fb6cb9dc869beb57164c60e119a8))
- **Runtime:** Apply color grading in preview and render ([1ad158d2f](https://github.com/heygen-com/hyperframes/commit/1ad158d2f052cb9432eca7aeb8b852de70638eca))
- **Core:** Add color grading schema and lut parsing ([3109acb88](https://github.com/heygen-com/hyperframes/commit/3109acb88a9396a6ac696ddade32cc7690c79f6e))

## Fixes

- **Core,sdk:** Rebuild acorn GSAP keyframe writer for recast parity ([b5ad51895](https://github.com/heygen-com/hyperframes/commit/b5ad518957508f792f670a7a40da2f8ddb0b3347), [#1520](https://github.com/heygen-com/hyperframes/pull/1520))
- **Release:** Annotate version tag + correct release push instructions ([ca3cab340](https://github.com/heygen-com/hyperframes/commit/ca3cab340baadae4a91bab4546068eb5e95aba15), [#1517](https://github.com/heygen-com/hyperframes/pull/1517))

## Docs & Examples

- **Cloud:** Add managed cloud rendering guide + fix flag reference ([0ba52fc13](https://github.com/heygen-com/hyperframes/commit/0ba52fc130b39e4afdd0a16a8b9ed180ce1212b8), [#1518](https://github.com/heygen-com/hyperframes/pull/1518))

## Internal

- **Studio:** Simplify color grading controls ([12955869e](https://github.com/heygen-com/hyperframes/commit/12955869ec22fab37d5eadc193cc18148307134b))
- **Studio:** Simplify color grading inspector ([3661d51e6](https://github.com/heygen-com/hyperframes/commit/3661d51e6d771e6b00020d003afc6b5a6a5468e6))
- **Runtime:** Trim color grading api ([d1162cd1b](https://github.com/heygen-com/hyperframes/commit/d1162cd1b1b58d2163b4c4e4de8f1dd416b4a252))
- **Runtime:** Trim color grading helpers ([48fb42e5f](https://github.com/heygen-com/hyperframes/commit/48fb42e5f0d067997aef90410e53dab7362bce71))
- **Core:** Trim color grading api surface ([8aaaaf181](https://github.com/heygen-com/hyperframes/commit/8aaaaf1812638258e4ac4a2fe2c083ddea03e8ed))
- **Core:** Trim color grading helpers ([90582d7fa](https://github.com/heygen-com/hyperframes/commit/90582d7faa1b4129a762b45cdddbaa60cd8c1385))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.107...v0.6.108).
</Update>

<Update
  label="HyperFrames v0.6.107"
  description="Released - 2026-06-16"
  tags={["Release", "Studio", "Sdk"]}
>
Hardens the Studio's SDK shadow-parity telemetry — adds GSAP keyframe-op coverage and clears false-positive mismatches from float precision, selector form, and live typing. Also fixes two SDK correctness bugs the telemetry surfaced: `setStyle` now removes hyphenated properties, and `removeElement`/`getElement` agree on which element a duplicated bare id targets.

## Features

- **Studio:** Shadow telemetry for GSAP keyframe ops (gsap_keyframe) ([4b4a3eb63](https://github.com/heygen-com/hyperframes/commit/4b4a3eb63dbffe47e2ed19358e2a3b6ce2d19d8a), [#1509](https://github.com/heygen-com/hyperframes/pull/1509))

## Fixes

- **Studio:** Serialize GSAP script commits per file (shadow request race) ([4ee57d550](https://github.com/heygen-com/hyperframes/commit/4ee57d55056af319631a860ed9752e31ce161f91), [#1512](https://github.com/heygen-com/hyperframes/pull/1512))
- **Sdk:** Agree removeElement/getElement on duplicate bare ids ([cc055f318](https://github.com/heygen-com/hyperframes/commit/cc055f318d59623741fffa96e816ed68a635c2ef), [#1511](https://github.com/heygen-com/hyperframes/pull/1511))
- **Sdk:** SetStyle removes hyphenated properties (was kebab/camel key mismatch) ([066ea798b](https://github.com/heygen-com/hyperframes/commit/066ea798b4140ec04bbfd54216c08bc2af60b5a3), [#1510](https://github.com/heygen-com/hyperframes/pull/1510))
- **Studio:** Suppress shadow-parity false positives in timing + text ([5aca3ad77](https://github.com/heygen-com/hyperframes/commit/5aca3ad770852d795cc85bc80a7a68c2a95edfeb), [#1508](https://github.com/heygen-com/hyperframes/pull/1508))
- **Studio:** Kill false-positive shadow GSAP fidelity mismatches ([c096ff3af](https://github.com/heygen-com/hyperframes/commit/c096ff3afa8a848d2b817415ad2329a2d7ab5dc8), [#1507](https://github.com/heygen-com/hyperframes/pull/1507))

## Internal

- **Studio:** Dedup shadow numeric-equal + GSAP script extraction ([0e5caa453](https://github.com/heygen-com/hyperframes/commit/0e5caa453a119faeddc20b3c5cbed8576f9a8bdc), [#1516](https://github.com/heygen-com/hyperframes/pull/1516))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.106...v0.6.107).
</Update>

<Update
  label="HyperFrames v0.6.106"
  description="Released - 2026-06-16"
  tags={["Release", "Studio", "Core"]}
>
Studio now resolves and displays keyframes for computed GSAP timelines (helper functions, bounded loops) at their true positions, with Arc Motion activation for MotionPath tweens. Drag improvements fix tween selection and outside-range keyframe creation.

## Features

- **Core:** Static evaluation pre-pass inlines helper-built and bounded-loop timelines so the read parser resolves true positions and motionPath arcs ([b9bd9ed](https://github.com/heygen-com/hyperframes/commit/b9bd9ed91), [#1506](https://github.com/heygen-com/hyperframes/pull/1506))
- **Studio:** Runtime-authoritative keyframe display with correct clip-relative conversion and arcPath extraction for dynamic timelines
- **Studio:** "Unroll to edit" action converts helper/loop tweens into literal tweens for direct editing
- **Studio:** Provenance-based editability classifier surfaces per-tween editing strategy in the Animation panel

## Fixes

- **Studio:** GSAP drag intercept picks the position tween closest to the playhead instead of the one with the most keyframes
- **Studio:** Dragging outside all tweens' ranges creates a new keyframed tween instead of destructively replacing the nearest one
- **Studio:** Convert-to-keyframes reads runtime position at tween start time for correct interpolation from preceding tweens
- **Core:** Lint rule uses the acorn parser (with inlining) so `overlapping_gsap_tweens` reflects true positions

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.105...v0.6.106).
</Update>

<Update
  label="HyperFrames v0.6.105"
  description="Released - 2026-06-16"
  tags={["Release", "CLI", "Engine"]}
>
Restores `remove-background` by moving `sharp` and `onnxruntime-node` back to regular dependencies (they were skipped as optional deps, so the command's required native modules weren't installed). Also fixes the Linux GPU render path (deprecated EGL + NVENC probe failure on data-center GPUs).

## Fixes

- **CLI:** Restore sharp + onnxruntime-node as dependencies (unbreak remove-background) ([322147aef](https://github.com/heygen-com/hyperframes/commit/322147aef9ef7d13c58bb95f0b628dba821aed28), [#1505](https://github.com/heygen-com/hyperframes/pull/1505))
- **Engine:** Linux GPU path uses deprecated EGL + NVENC probe fails on data-center GPUs ([e5346afdd](https://github.com/heygen-com/hyperframes/commit/e5346afdd84b99806dcdc828fc3318c3ef63d290), [#1504](https://github.com/heygen-com/hyperframes/pull/1504))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.104...v0.6.105).
</Update>

<Update
  label="HyperFrames v0.6.103"
  description="Released - 2026-06-16"
  tags={["Release", "Telemetry"]}
>
Fixes telemetry attribution for studio-triggered renders: render completion and error events are now logged under the browser user who started the render instead of the preview-server process, so render outcomes correlate with the session that triggered them.

## Fixes

- **Telemetry:** Attribute studio renders to the browser user (joinable funnel) ([121cdd2d9](https://github.com/heygen-com/hyperframes/commit/121cdd2d9fbc11c25cd8ea000a3946fc3494d8b7), [#1492](https://github.com/heygen-com/hyperframes/pull/1492))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.102...v0.6.103).
</Update>

<Update
  label="HyperFrames v0.6.102"
  description="Released - 2026-06-16"
  tags={["Release", "Sdk,studio", "CLI", "Skills"]}
>
Sharpens the Studio↔SDK shadow with GSAP update/delete and value-fidelity parity, adds a video-frame format render option, and lands command-failure telemetry so CLI failures (browser / info) report their cause. Plus a Studio keyframe-cache fix and new catalog/skill docs.

## Features

- **Sdk,studio:** Populate animationIds; shadow GSAP update/delete + value fidelity ([7593aac5e](https://github.com/heygen-com/hyperframes/commit/7593aac5efd9975921f6ebbe702d23279f220ea9), [#1474](https://github.com/heygen-com/hyperframes/pull/1474))
- **CLI:** Report command failure reasons to telemetry (de-blind browser/info) ([5f6ced116](https://github.com/heygen-com/hyperframes/commit/5f6ced116dee6c2da22d182b54ce9ae3941a7282), [#1484](https://github.com/heygen-com/hyperframes/pull/1484))
- Add video frame format render option ([36b24acf2](https://github.com/heygen-com/hyperframes/commit/36b24acf20bed1a88ecb90f9e5288c3c69bd6500), [#1481](https://github.com/heygen-com/hyperframes/pull/1481))

## Fixes

- **Studio:** Clear the bare keyframe-cache key when an element loses its keyframes ([e812fc889](https://github.com/heygen-com/hyperframes/commit/e812fc889516265afadc596b3c084d041cb708b1), [#1482](https://github.com/heygen-com/hyperframes/pull/1482))

## Docs & Examples

- **Skills:** Surface Code Animations blocks to agents ([d59501038](https://github.com/heygen-com/hyperframes/commit/d5950103884a37501dbab870a399a37c5e07039e), [#1485](https://github.com/heygen-com/hyperframes/pull/1485))

## Catalog

- Add Video Components catalog page ([897692be6](https://github.com/heygen-com/hyperframes/commit/897692be6504e2ed4debd6619fa28f43c7785f6e), [#1486](https://github.com/heygen-com/hyperframes/pull/1486))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.101...v0.6.102).
</Update>

<Update
  label="HyperFrames v0.6.101"
  description="Released - 2026-06-16"
  tags={["Release", "CLI", "Core", "Studio"]}
>
Hardens the CLI across diverse installs — `sharp` and `onnxruntime-node` are now optional, `transcribe` failures report their cause, and capture captioning gains an OpenRouter vision provider. Also lands Studio timeline inline expansion, an SDK shadow expansion, a render path-safety chokepoint, and a Code Animations catalog section.

## Features

- **CLI:** Support OpenRouter as an alternative vision provider for capture captioning ([646ffff92](https://github.com/heygen-com/hyperframes/commit/646ffff92798fa542dcc8c596c2e22a0143544df), [#1478](https://github.com/heygen-com/hyperframes/pull/1478))
- **Studio:** Timeline inline expansion + __clipTree runtime primitive ([8cbf4384e](https://github.com/heygen-com/hyperframes/commit/8cbf4384e1e03b098276f72c63f0dd8e3bd39b83))
- **Studio:** Extend SDK shadow to delete/timing/gsap-add + default on ([8f15e9f09](https://github.com/heygen-com/hyperframes/commit/8f15e9f09b02a3e44241ce045164fdc8f82ba0b5), [#1473](https://github.com/heygen-com/hyperframes/pull/1473))

## Fixes

- **Core:** Route renders/file serving through resolveWithinProject chokepoint ([fada39953](https://github.com/heygen-com/hyperframes/commit/fada399539cb944ee4542c935f7395301e72ed98), [#1477](https://github.com/heygen-com/hyperframes/pull/1477))
- **CLI:** Report transcribe failure reasons via cli_error (command_error) ([40b49d402](https://github.com/heygen-com/hyperframes/commit/40b49d4024be664c8980808eb72bf2a93670e8a6), [#1479](https://github.com/heygen-com/hyperframes/pull/1479))
- **Producer:** Guard fileServer.close in all render cleanup paths ([1f9c70cf1](https://github.com/heygen-com/hyperframes/commit/1f9c70cf157fd9bcc13dcff0d6695e9b3c057f0a), [#1406](https://github.com/heygen-com/hyperframes/pull/1406))
- **CLI:** Make native modules (sharp, onnxruntime) optional + soften inspect overlap ([8f7137818](https://github.com/heygen-com/hyperframes/commit/8f71378185c6f8608038f8db0fb651456a0b4fcc), [#1476](https://github.com/heygen-com/hyperframes/pull/1476))

## Docs & Examples

- Add Typeframe to adopters ([2d48369c7](https://github.com/heygen-com/hyperframes/commit/2d48369c767ee806266ecb59b89eaa5d7e2d0901), [#1059](https://github.com/heygen-com/hyperframes/pull/1059))

## Catalog

- **Registry:** Add Code Animations catalog section (9 blocks, incl. GPU) ([07030294e](https://github.com/heygen-com/hyperframes/commit/07030294e0a011c42130c43b0400598871ec209e))

## Internal

- Sync bun.lock with workspace package.json ([cf4b90115](https://github.com/heygen-com/hyperframes/commit/cf4b9011555f2be19db7f8705cea36aa3d9e4c3f), [#1480](https://github.com/heygen-com/hyperframes/pull/1480))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/f03dfaa59...v0.6.101).
</Update>

<Update
  label="HyperFrames v0.6.100"
  description="Released - 2026-06-15"
  tags={["Release", "CLI", "Studio", "Sdk,studio"]}
>
Wires the SDK session into Studio (stage 7 steps 1-3b), adding shadow dispatch parity mode, persist-path reload, selection API, and HTTP persist adapter. Also adds motion verification and text occlusion detection to `inspect`.

## Features

- **Studio:** Stage 7 step 3b — SDK shadow dispatch parity mode ([69aa595f](https://github.com/heygen-com/hyperframes/commit/69aa595f383d7124c71a0eb2f77edef76fcdef2a), [#1450](https://github.com/heygen-com/hyperframes/pull/1450))
- **Sdk,studio:** Stage 7 step 3a — persistPath + SDK session reload-on-change ([5fe87cc3](https://github.com/heygen-com/hyperframes/commit/5fe87cc39bcf154aa2d937908700d8c1a6b44013), [#1449](https://github.com/heygen-com/hyperframes/pull/1449))
- **Studio:** Stage 7 step 1 — wire SDK session into Studio ([92e2c8ce](https://github.com/heygen-com/hyperframes/commit/92e2c8ce6a0b6702f779dc3c50eb37fd3b84492e), [#1443](https://github.com/heygen-com/hyperframes/pull/1443))
- **Sdk:** Stage 7 step 2 — setSelection API ([30ce1f35](https://github.com/heygen-com/hyperframes/commit/30ce1f35a2e27351ad365467d8da8b8e2e90df24), [#1442](https://github.com/heygen-com/hyperframes/pull/1442))
- **Sdk:** Stage 7 step 1 — http persist adapter ([c19898e7](https://github.com/heygen-com/hyperframes/commit/c19898e799d5d64b1a6af8e62e59e1bcee3df4bd), [#1441](https://github.com/heygen-com/hyperframes/pull/1441))
- **CLI:** Declarative motion verification in inspect (#1437) ([9175eced](https://github.com/heygen-com/hyperframes/commit/9175eced45f22683b6fcf09807e8aae2270ff248), [#1459](https://github.com/heygen-com/hyperframes/pull/1459))
- **CLI:** Flag text occluded by opaque elements in inspect ([1e548279](https://github.com/heygen-com/hyperframes/commit/1e54827957c719ddceba9cbfe46a2a37d692cec9), [#1435](https://github.com/heygen-com/hyperframes/pull/1435))

## Fixes

- **CLI:** Restore `hyperframes capture \<url\>`; move video download to `--video` flag ([f8d9f512](https://github.com/heygen-com/hyperframes/commit/f8d9f51245908d64b74a8df96bc80e901fd1f5cf))
- **Core:** Stop transport re-seek from clobbering Studio drag drafts ([1ab7dcfe](https://github.com/heygen-com/hyperframes/commit/1ab7dcfe477d526cb153c0e73f113d4de0cbd190), [#1464](https://github.com/heygen-com/hyperframes/pull/1464))

## Docs & Examples

- Reconcile skills surface; rename read-first entry skill to /hyperframes ([3b3ece81](https://github.com/heygen-com/hyperframes/commit/3b3ece81d1a0b36038e67e58d9ca620e4a3122e9), [#1461](https://github.com/heygen-com/hyperframes/pull/1461))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.99...v0.6.100).
</Update>

<Update
  label="HyperFrames v0.6.99"
  description="Released - 2026-06-15"
  tags={["Release", "Sdk", "CLI", "Core"]}
>
Introduces the HyperFrames SDK (session API, undo/redo, adapters, sub-composition scoped IDs), per-property-group keyframes with gesture recording and beat-snapping, batch rendering with variables, and the acorn-based GSAP parser.

## Features

- **Sdk:** Stage 6 — sub-composition scoped ids (F9) ([b158870d](https://github.com/heygen-com/hyperframes/commit/b158870d8f1cd2241d00eb46fa0d2d1c2aa9dfb7), [#1434](https://github.com/heygen-com/hyperframes/pull/1434))
- **Sdk:** Stage 5 — export adapter factories from package root ([f10f3425](https://github.com/heygen-com/hyperframes/commit/f10f3425a502c6026a34eca443c466a169896a9a), [#1432](https://github.com/heygen-com/hyperframes/pull/1432))
- **Sdk:** Stage 4 — canUndo/canRedo, removeElement GSAP cascade, override-set cleanup ([9627e03f](https://github.com/heygen-com/hyperframes/commit/9627e03fa743c0bf60d0fc76d2fdcf6fe02e8ceb), [#1431](https://github.com/heygen-com/hyperframes/pull/1431))
- **Sdk:** Can() returns CanResult; T4 dispatch-boundary tests ([5ecaac1f](https://github.com/heygen-com/hyperframes/commit/5ecaac1fcb6f38d6342c8523393b72d8ed997b89), [#1426](https://github.com/heygen-com/hyperframes/pull/1426))
- **Sdk:** File-backed fs adapter + setTiming GSAP sync; sdk-playground workspace ([577a6898](https://github.com/heygen-com/hyperframes/commit/577a6898604c0da819240c12830b0f1a71db9daa), [#1458](https://github.com/heygen-com/hyperframes/pull/1458))
- **CLI:** Capture-video on-demand fetcher + capture pipeline robustness ([6a024a36](https://github.com/heygen-com/hyperframes/commit/6a024a367b007d837827e9a5d01cdb2ce76619d5))
- **Sdk,core:** Phase 3b — 8 gsap/label ops + setClassStyle ([6dcbb553](https://github.com/heygen-com/hyperframes/commit/6dcbb5530e4e9311896143fa18b145133f60c36a), [#1379](https://github.com/heygen-com/hyperframes/pull/1379))
- **Core:** Parse-parity suite for acorn parser (T6d) ([8b56e558](https://github.com/heygen-com/hyperframes/commit/8b56e558c65961002428df846c369ef095c3a822), [#1370](https://github.com/heygen-com/hyperframes/pull/1370))
- **Core:** Acorn GSAP write path — magic-string offset-splice (T6c) ([0fbda8ac](https://github.com/heygen-com/hyperframes/commit/0fbda8acffb3e55f494380731a0f02a09b038d60), [#1369](https://github.com/heygen-com/hyperframes/pull/1369))
- **Core:** Acorn GSAP read path with T6b differential corpus tests ([be4a28ae](https://github.com/heygen-com/hyperframes/commit/be4a28ae72c685c1027dd91df2cfd132ae730275), [#1368](https://github.com/heygen-com/hyperframes/pull/1368))
- **Studio:** Scale GSAP positions on clip resize + shift on drag + diamond fixes ([11b050de](https://github.com/heygen-com/hyperframes/commit/11b050de9a30eaecfca5f2512c90cbaf4e686b54), [#1448](https://github.com/heygen-com/hyperframes/pull/1448))
- **CLI:** Flag overlapping text blocks in inspect ([abaf6717](https://github.com/heygen-com/hyperframes/commit/abaf67176cbec4b1afeab5c7a97ea2a87d6ce59d), [#1436](https://github.com/heygen-com/hyperframes/pull/1436))
- **Studio:** Drag keyframes with live beat snapping ([e6da47d8](https://github.com/heygen-com/hyperframes/commit/e6da47d8f8bf604b2de2efcb03e4b6a7fb0515cb), [#1439](https://github.com/heygen-com/hyperframes/pull/1439))
- **Studio,cli:** Music beat detection with timeline guides + headless beats CLI ([d9f69f61](https://github.com/heygen-com/hyperframes/commit/d9f69f61e7bc538ae2f3b20c6a53d460b178d8d0), [#1424](https://github.com/heygen-com/hyperframes/pull/1424))
- **Skills:** Video-creation workflow suite — routable workflows ([211e0adb](https://github.com/heygen-com/hyperframes/commit/211e0adbe873fa7efe2152a0d352cc7c86ec4e08), [#1349](https://github.com/heygen-com/hyperframes/pull/1349))
- **CLI:** Batch rendering — one output per variables row with manifest ([e5a78ef6](https://github.com/heygen-com/hyperframes/commit/e5a78ef6a26035fd3c797afc4e45f7f12d45c172), [#1336](https://github.com/heygen-com/hyperframes/pull/1336))
- **CLI:** Add --at-transitions to inspect for sampling at tween boundaries ([6364281b](https://github.com/heygen-com/hyperframes/commit/6364281ba0226a97953b6be88f29efa5b6b0170d), [#1386](https://github.com/heygen-com/hyperframes/pull/1386))
- **Lint:** Add gsap_studio_edit_blocked rule for manual timeline + GSAP element targeting ([511665b9](https://github.com/heygen-com/hyperframes/commit/511665b93ace7a22fa488d81365d229cba71c8c5), [#1345](https://github.com/heygen-com/hyperframes/pull/1345))
- **Sdk:** Session API, optional history + persist-queue, adapters — Phase 3a complete ([7010edac](https://github.com/heygen-com/hyperframes/commit/7010edac85e9684b1cc115920e614515a5cb03a1), [#1325](https://github.com/heygen-com/hyperframes/pull/1325))
- **Sdk:** Scaffold @hyperframes/sdk — engine layer (model, RFC 6902 patches, mutate, apply-patches) ([22bb6737](https://github.com/heygen-com/hyperframes/commit/22bb6737c546e910bfdc0bbe6f459bfe01e6bfa6), [#1324](https://github.com/heygen-com/hyperframes/pull/1324))
- **Core:** Expose hf-ids as subpath export for @hyperframes/sdk ([2c64f996](https://github.com/heygen-com/hyperframes/commit/2c64f9969442914a2a8813cc60e5e57646742336), [#1323](https://github.com/heygen-com/hyperframes/pull/1323))

## Fixes

- **Sdk:** Fs adapter flush() tracks in-flight writes; add to T13 contract suite ([0a30011a](https://github.com/heygen-com/hyperframes/commit/0a30011abd18165f793b07b65d872843b7b8be45), [#1425](https://github.com/heygen-com/hyperframes/pull/1425))
- **Studio:** Delete only the active element's selected keyframes ([f1a50e03](https://github.com/heygen-com/hyperframes/commit/f1a50e03eada59c4e8bfbdc3b0846ab47e948b66), [#1453](https://github.com/heygen-com/hyperframes/pull/1453))
- **Core,player,studio:** Bound trimmed audio playback to the clip window ([a95e49db](https://github.com/heygen-com/hyperframes/commit/a95e49dbdabfb4cd5f697f9ee08a324a832a51ed), [#1430](https://github.com/heygen-com/hyperframes/pull/1430))
- **Studio:** Route rotation field edits through the animation like X/Y/W/H ([5c8b6373](https://github.com/heygen-com/hyperframes/commit/5c8b637369f8c1772945f8ed4d9d6608fbdfcb1f), [#1427](https://github.com/heygen-com/hyperframes/pull/1427))
- **Studio:** Break all 7 circular dependency cycles and fix rules-of-hooks violation ([a241f259](https://github.com/heygen-com/hyperframes/commit/a241f2591e7786a4586afb623c1242ccfc1a6510), [#1422](https://github.com/heygen-com/hyperframes/pull/1422))
- **Player:** Replace or clear the audio-src proxy instead of stacking ([fbc3cdf2](https://github.com/heygen-com/hyperframes/commit/fbc3cdf2fd43379838eaf858c111a119d9a997a3), [#1409](https://github.com/heygen-com/hyperframes/pull/1409))
- **Studio:** Disable the rotation field when the element can't be rotated ([3c560706](https://github.com/heygen-com/hyperframes/commit/3c5607063f90bd03b834113f3f61d7695c239484), [#1412](https://github.com/heygen-com/hyperframes/pull/1412))
- **Render:** Make WebGL video textures deterministic in headless render ([d580f2a1](https://github.com/heygen-com/hyperframes/commit/d580f2a1d8ff8b5c5185ea6037725b4a6e9bb72e), [#1403](https://github.com/heygen-com/hyperframes/pull/1403))
- **Player:** Clean up controls on destroy ([a0375051](https://github.com/heygen-com/hyperframes/commit/a0375051762726797a6d907f586d233b61f53bbb), [#1407](https://github.com/heygen-com/hyperframes/pull/1407))
- **Studio:** Surface gesture recording controls ([5b6c62e1](https://github.com/heygen-com/hyperframes/commit/5b6c62e151e0877e32b56f199719f627729a3ae2), [#1390](https://github.com/heygen-com/hyperframes/pull/1390))
- **Core:** Block symlink-based path escape in studio-api isSafePath ([953bab31](https://github.com/heygen-com/hyperframes/commit/953bab319bf9a0b7efa1c9486c7c15dfcac195e4), [#1397](https://github.com/heygen-com/hyperframes/pull/1397))
- **Studio:** Reject unsafe keyframe values ([3bcab3dc](https://github.com/heygen-com/hyperframes/commit/3bcab3dc29ff1d786d525a7aedef0b5afa5a75e9), [#1389](https://github.com/heygen-com/hyperframes/pull/1389))
- **Studio:** Save retries, mutation queue circuit breaker, save_failure diagnostics ([5f12e692](https://github.com/heygen-com/hyperframes/commit/5f12e692d5b2009022db42efc6c8c9b4630cb1df), [#1366](https://github.com/heygen-com/hyperframes/pull/1366))
- **Sdk:** Bridge preview selection into session state ([84a56986](https://github.com/heygen-com/hyperframes/commit/84a56986c6cc86316be7c987ed4d21a3467c7596), [#1362](https://github.com/heygen-com/hyperframes/pull/1362))
- **Core:** Exclude dot-directories and node_modules from studio composition discovery and lint ([b952dc9c](https://github.com/heygen-com/hyperframes/commit/b952dc9ce0fe60c6574ce013a2f3eef7937dcbc3), [#1385](https://github.com/heygen-com/hyperframes/pull/1385))
- **Studio:** Journal source writebacks ([aec3c3b5](https://github.com/heygen-com/hyperframes/commit/aec3c3b58c88de284f9efc76ca48313c2541ae88), [#1388](https://github.com/heygen-com/hyperframes/pull/1388))
- **CLI:** Validate project directory before starting preview ([2ec00629](https://github.com/heygen-com/hyperframes/commit/2ec006297f0fb99f567187d3301bd9d0662cb1da), [#1394](https://github.com/heygen-com/hyperframes/pull/1394))
- **Runtime:** Respect hidden ancestor clips in Studio preview (#1387) ([7fa36961](https://github.com/heygen-com/hyperframes/commit/7fa369610112358c4abe197ed995228c1603658b), [#1395](https://github.com/heygen-com/hyperframes/pull/1395))
- Address review feedback from #1333 and #1335 ([28e2ab9d](https://github.com/heygen-com/hyperframes/commit/28e2ab9d5bef27a2d17acbbadf35c24fa4e6bd35), [#1343](https://github.com/heygen-com/hyperframes/pull/1343))
- **Studio:** Stabilize manual drag targets ([1ea0ed55](https://github.com/heygen-com/hyperframes/commit/1ea0ed55e3768fa59cddd17cddb5155c0077b65a), [#1393](https://github.com/heygen-com/hyperframes/pull/1393))
- **Studio:** Remove motion tab from right panel ([d0a7f7d8](https://github.com/heygen-com/hyperframes/commit/d0a7f7d839dd1d93dcd2a04226d3111928e213a5), [#1391](https://github.com/heygen-com/hyperframes/pull/1391))
- **Release:** Include sdk in fixed-version bump ([ad5229af](https://github.com/heygen-com/hyperframes/commit/ad5229af8348d4d08b4498b0c669734109f9a110), [#1363](https://github.com/heygen-com/hyperframes/pull/1363))
- **Core:** Honor root data-duration when GSAP timeline ends short ([7a99ccec](https://github.com/heygen-com/hyperframes/commit/7a99ccec6db6037030aafcdf264cb8951dd88a3a), [#1378](https://github.com/heygen-com/hyperframes/pull/1378))
- **Engine:** Respect cgroup memory limits in low-memory detection ([2ce5b421](https://github.com/heygen-com/hyperframes/commit/2ce5b421f1eefee125dd97988a1cc25f7e94aaad), [#1373](https://github.com/heygen-com/hyperframes/pull/1373))
- **Engine:** Real back-pressure in StreamingEncoder.writeFrame ([c609850b](https://github.com/heygen-com/hyperframes/commit/c609850b419e56289a4a257c5bc97142091f90ba), [#1372](https://github.com/heygen-com/hyperframes/pull/1372))
- **Producer:** Pass resolved engine config through every encode path ([5917c038](https://github.com/heygen-com/hyperframes/commit/5917c0382d30d9cb901155936516db5ac355de2d), [#1371](https://github.com/heygen-com/hyperframes/pull/1371))
- **Studio:** Remove unused onSelectElementById after indicator removal ([9e5b3d64](https://github.com/heygen-com/hyperframes/commit/9e5b3d644f8788214c0b47c431e0e860bc49abd0), [#1377](https://github.com/heygen-com/hyperframes/pull/1377))
- **Studio:** Remove off-screen element indicators for UX redesign ([3ba01129](https://github.com/heygen-com/hyperframes/commit/3ba01129e7fc3a5c6d0efe308704ef2d3a0c2901), [#1376](https://github.com/heygen-com/hyperframes/pull/1376))
- **CLI:** Verify browser/ffmpeg binaries exist before render starts ([cee6fd02](https://github.com/heygen-com/hyperframes/commit/cee6fd02d6dbc6bdc0aa0466ab6cf33f3f5d1ba1), [#1365](https://github.com/heygen-com/hyperframes/pull/1365))
- **Studio:** Disable keyframes feature flag by default, release v0.6.93 ([c3554dcf](https://github.com/heygen-com/hyperframes/commit/c3554dcffe04aff8976dcd8bcc753db4d6c56cae))
- **Studio:** Update drag intercept test for true default ([6babf5be](https://github.com/heygen-com/hyperframes/commit/6babf5be7dca35ee7bbc0d8ca339e164adfda793))
- **Studio:** Trim PropertyPanel to 600-line limit ([a433d83f](https://github.com/heygen-com/hyperframes/commit/a433d83fec63a84928d8f1bf1c57cf6a39b4eb70))
- **Studio:** Gesture recording replaces existing position keyframes ([d49ee416](https://github.com/heygen-com/hyperframes/commit/d49ee416a3420258ffd9247a0793a427fb49cc89), [#1360](https://github.com/heygen-com/hyperframes/pull/1360))
- **Studio:** Gesture recording replaces existing position keyframes ([191a33dc](https://github.com/heygen-com/hyperframes/commit/191a33dc2cc4e63f4ab413d1cc68bedd981d1e8f), [#1359](https://github.com/heygen-com/hyperframes/pull/1359))
- **Studio:** Property panel group-aware keyframe routing ([c435a4ee](https://github.com/heygen-com/hyperframes/commit/c435a4ee46adf0ce8cd6c0dbae876bfc0a171010), [#1358](https://github.com/heygen-com/hyperframes/pull/1358))
- **Studio:** Keyframe cache propertyGroup tagging + timeline UI ([caf23eff](https://github.com/heygen-com/hyperframes/commit/caf23eff8a6b16dbfe3e20735ebcf913ae22526c), [#1357](https://github.com/heygen-com/hyperframes/pull/1357))
- **Studio:** Per-property-group intercept routing + drag/resize fixes ([95029e08](https://github.com/heygen-com/hyperframes/commit/95029e083e5066a62de5420861cf4a859c1ce914), [#1356](https://github.com/heygen-com/hyperframes/pull/1356))
- **Core:** Split-into-property-groups and replace-with-keyframes mutations ([b6bf1b11](https://github.com/heygen-com/hyperframes/commit/b6bf1b11909335869a79204b183ceb4cc0bd081b), [#1355](https://github.com/heygen-com/hyperframes/pull/1355))
- **Core:** Per-property-group keyframe foundations ([889e9f09](https://github.com/heygen-com/hyperframes/commit/889e9f09ade583f21a5b150d1e7b65cced6babe8), [#1354](https://github.com/heygen-com/hyperframes/pull/1354))
- **Core:** Actionable error for empty sub-composition HTML in compile ([8802c3fd](https://github.com/heygen-com/hyperframes/commit/8802c3fdf8c8385613d4662e70ae807e50be8fe9), [#1364](https://github.com/heygen-com/hyperframes/pull/1364))
- **Sdk,core:** Css tokenizer, override-set replay, setattribute safety, persist errors ([a0ee9721](https://github.com/heygen-com/hyperframes/commit/a0ee97210b4cfd4d4e8658fef607467ae88383b7), [#1350](https://github.com/heygen-com/hyperframes/pull/1350))
- **Studio:** Watch external project dirs so preview ETag invalidates ([69d67f1d](https://github.com/heygen-com/hyperframes/commit/69d67f1d69826039d22952859229580aee368492), [#1347](https://github.com/heygen-com/hyperframes/pull/1347))
- **Studio,core:** Persist manual position edits for GSAP-owned elements ([fc3ab76c](https://github.com/heygen-com/hyperframes/commit/fc3ab76ce80277e6b4832b85d875a2f14c1f28b6), [#1346](https://github.com/heygen-com/hyperframes/pull/1346))
- **Studio:** Accept razor splits at the canvas clamp boundary ([c52165d1](https://github.com/heygen-com/hyperframes/commit/c52165d1b63cf11955ceb4e2265cbe34b0718852), [#1340](https://github.com/heygen-com/hyperframes/pull/1340))

## Docs & Examples

- Add changelog entries for v0.6.92-v0.6.95 ([740f244c](https://github.com/heygen-com/hyperframes/commit/740f244c030496e09fc0290943679befbcea976a))

## Catalog

- **CLI:** Resolve and install transitive registry dependencies ([8eac7e1c](https://github.com/heygen-com/hyperframes/commit/8eac7e1cda89e45ae189405ec5ba3acb17026d13), [#1396](https://github.com/heygen-com/hyperframes/pull/1396))
- **CLI:** Respect registry compatibility metadata ([583b47b0](https://github.com/heygen-com/hyperframes/commit/583b47b0390e5368193b9de8214cf22ce0cb99f5), [#1251](https://github.com/heygen-com/hyperframes/pull/1251))

## Internal

- **Core:** Swap studio-api read path from recast to acorn parser (T6e) ([b8fa4b5d](https://github.com/heygen-com/hyperframes/commit/b8fa4b5dd271b30ec1a8d093d37a2d0ab683265a), [#1392](https://github.com/heygen-com/hyperframes/pull/1392))
- Stop tracking lefthook-local.yml ([2002aa2c](https://github.com/heygen-com/hyperframes/commit/2002aa2c07960cfcdd0d5bb7cf127ab2dc728d52), [#1454](https://github.com/heygen-com/hyperframes/pull/1454))
- **Producer:** Simplify — extract HDR compositor, delete dead code, consolidate patterns ([a0d72953](https://github.com/heygen-com/hyperframes/commit/a0d7295367362576ebea611426a591af8a2478b6), [#1414](https://github.com/heygen-com/hyperframes/pull/1414))
- **Studio:** Simplify hooks, split contexts, remove dead code ([7bff49ec](https://github.com/heygen-com/hyperframes/commit/7bff49ecf0f3c5515e8a7aa0394514e9e764f562), [#1416](https://github.com/heygen-com/hyperframes/pull/1416))
- **Core:** Simplify packages/core — dead code, dedup, type safety ([6f677292](https://github.com/heygen-com/hyperframes/commit/6f677292ae352079dca58acc91ea37ad20a66924), [#1413](https://github.com/heygen-com/hyperframes/pull/1413))
- **Core:** Route project paths through a single resolveWithinProject chokepoint ([1c47ba99](https://github.com/heygen-com/hyperframes/commit/1c47ba998177e686947bd54b84a049f11f27a8b8), [#1398](https://github.com/heygen-com/hyperframes/pull/1398))
- **Core:** Align file-tree test with backup-only hiding (#1366) ([ab7f69c1](https://github.com/heygen-com/hyperframes/commit/ab7f69c1f5e049cfc919ea8479717e31e12703f8), [#1400](https://github.com/heygen-com/hyperframes/pull/1400))
- **Core:** Fix contradictory composition-discovery file-tree test (#1385) ([e2cc134c](https://github.com/heygen-com/hyperframes/commit/e2cc134c7765d81ad0803999a4b9a0fa891a46be), [#1399](https://github.com/heygen-com/hyperframes/pull/1399))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.91...v0.6.99).
</Update>

<Update
  label="HyperFrames v0.6.98"
  description="Released - 2026-06-15"
  tags={["Release", "Studio", "CLI", "Core"]}
>
Keyframe-aware timeline editing with proportional scaling on resize, music beat detection, and diamond rendering fixes.

## Features

- **Studio:** Scale GSAP positions on clip resize + shift on drag + diamond edge fixes ([#1448](https://github.com/heygen-com/hyperframes/pull/1448))
- **Studio:** Drag keyframes with live beat snapping ([#1439](https://github.com/heygen-com/hyperframes/pull/1439))
- **Studio, CLI:** Music beat detection with timeline guides + headless beats CLI ([#1424](https://github.com/heygen-com/hyperframes/pull/1424))
- **CLI:** Flag overlapping text blocks in inspect ([#1436](https://github.com/heygen-com/hyperframes/pull/1436))
- **Skills:** Video-creation workflow suite — routable workflows ([#1349](https://github.com/heygen-com/hyperframes/pull/1349))

## Fixes

- **Studio:** Delete only the active element's selected keyframes ([#1453](https://github.com/heygen-com/hyperframes/pull/1453))
- **Studio:** Route rotation field edits through the animation like X/Y/W/H ([#1427](https://github.com/heygen-com/hyperframes/pull/1427))
- **Studio:** Break all 7 circular dependency cycles and fix rules-of-hooks violation ([#1422](https://github.com/heygen-com/hyperframes/pull/1422))
- **Core, Player, Studio:** Bound trimmed audio playback to the clip window ([#1430](https://github.com/heygen-com/hyperframes/pull/1430))
- **Player:** Replace or clear the audio-src proxy instead of stacking ([#1409](https://github.com/heygen-com/hyperframes/pull/1409))
- **Studio:** Disable the rotation field when the element can't be rotated ([#1412](https://github.com/heygen-com/hyperframes/pull/1412))

## Refactors

- **Producer:** Simplify — extract HDR compositor, delete dead code, consolidate patterns ([#1414](https://github.com/heygen-com/hyperframes/pull/1414))
- **Studio:** Simplify hooks, split contexts, remove dead code ([#1416](https://github.com/heygen-com/hyperframes/pull/1416))
- **Core:** Simplify packages/core — dead code, dedup, type safety ([#1413](https://github.com/heygen-com/hyperframes/pull/1413))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.97...v0.6.98).
</Update>

<Update
  label="HyperFrames v0.6.97"
  description="Released - 2026-06-13"
  tags={["Release", "CLI", "Studio", "Core", "Engine", "Player"]}
>
Batch rendering, WebGL determinism, studio resilience, and security hardening.

## Features

- **CLI:** Batch rendering — one output per variables row with manifest ([#1336](https://github.com/heygen-com/hyperframes/pull/1336))
- **CLI:** Add `--at-transitions` to inspect for sampling at tween boundaries ([#1386](https://github.com/heygen-com/hyperframes/pull/1386))

## Fixes

- **Render:** Make WebGL video textures deterministic in headless render ([#1403](https://github.com/heygen-com/hyperframes/pull/1403))
- **Player:** Clean up controls on destroy ([#1407](https://github.com/heygen-com/hyperframes/pull/1407))
- **Core:** Route project paths through a single `resolveWithinProject` chokepoint ([#1398](https://github.com/heygen-com/hyperframes/pull/1398))
- **Core:** Block symlink-based path escape in studio-api `isSafePath` ([#1397](https://github.com/heygen-com/hyperframes/pull/1397))
- **Core:** Exclude dot-directories and node_modules from studio composition discovery and lint ([#1385](https://github.com/heygen-com/hyperframes/pull/1385))
- **Studio:** Surface gesture recording controls ([#1390](https://github.com/heygen-com/hyperframes/pull/1390))
- **Studio:** Reject unsafe keyframe values ([#1389](https://github.com/heygen-com/hyperframes/pull/1389))
- **Studio:** Save retries, mutation queue circuit breaker, save_failure diagnostics ([#1366](https://github.com/heygen-com/hyperframes/pull/1366))
- **Studio:** Journal source writebacks ([#1388](https://github.com/heygen-com/hyperframes/pull/1388))
- **SDK:** Bridge preview selection into session state ([#1362](https://github.com/heygen-com/hyperframes/pull/1362))
- **CLI:** Validate project directory before starting preview ([#1394](https://github.com/heygen-com/hyperframes/pull/1394))
- **CLI:** Resolve and install transitive registry dependencies ([#1396](https://github.com/heygen-com/hyperframes/pull/1396))
- **CLI:** Respect registry compatibility metadata ([#1251](https://github.com/heygen-com/hyperframes/pull/1251))
- **Runtime:** Respect hidden ancestor clips in Studio preview ([#1387](https://github.com/heygen-com/hyperframes/pull/1387))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.95...v0.6.97).
</Update>

<Update
  label="HyperFrames v0.6.95"
  description="Released - 2026-06-12"
  tags={["Release", "Engine"]}
>
Engine: adaptive memory-aware encoding with system memory monitoring, chunked encoder improvements, and streaming encoder resilience.

## Features

- **Engine:** Adaptive memory-aware encoding with system memory monitoring and dynamic chunk sizing
- **Engine:** Chunked encoder improvements for parallel coordination
- **Engine:** Streaming encoder resilience with better error recovery

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.94...v0.6.95).
</Update>

<Update
  label="HyperFrames v0.6.94"
  description="Released - 2026-06-12"
  tags={["Release", "Studio"]}
>
Remove off-screen element indicators for UX redesign. The NLELayout unclipped overlay split remains for selection handle interaction near composition edges.

## Fixes

- **Studio:** Remove off-screen element indicators (UX redesign pending) ([#1376](https://github.com/heygen-com/hyperframes/pull/1376))
- **Studio:** Clean up unused `onSelectElementById` prop ([#1377](https://github.com/heygen-com/hyperframes/pull/1377))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.93...v0.6.94).
</Update>

<Update
  label="HyperFrames v0.6.93"
  description="Released - 2026-06-12"
  tags={["Release", "Studio"]}
>
Hotfix: disable keyframes feature flag by default. The flag was accidentally shipped as enabled in v0.6.92.

## Fixes

- **Studio:** Set `STUDIO_KEYFRAMES_ENABLED` default to `false`

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.92...v0.6.93).
</Update>

<Update
  label="HyperFrames v0.6.92"
  description="Released - 2026-06-12"
  tags={["Release", "Studio", "Core"]}
>
Per-property-group keyframe architecture: the keyframe system redesign ships across 7 stacked PRs. Each GSAP tween now targets a single property group (position, scale, rotation, etc.), eliminating cross-property contamination during drag, resize, and gesture recording.

## Features

- **Core:** Per-property-group type system (`PropertyGroupName`, `PROPERTY_GROUPS`, `classifyPropertyGroup`) ([#1354](https://github.com/heygen-com/hyperframes/pull/1354))
- **Core:** `split-into-property-groups` and `replace-with-keyframes` server mutations ([#1355](https://github.com/heygen-com/hyperframes/pull/1355))
- **Core:** `delete-all-for-selector` atomic mutation for bulk animation removal
- **Studio:** GSAP drag intercept enabled by default with per-property-group routing ([#1356](https://github.com/heygen-com/hyperframes/pull/1356))
- **Studio:** Gesture recording merges into existing position tweens instead of replacing ([#1359](https://github.com/heygen-com/hyperframes/pull/1359))
- **Studio:** Unclipped overlay for off-screen element interaction ([#1360](https://github.com/heygen-com/hyperframes/pull/1360))

## Fixes

- **Studio:** Keyframe cache tags with `propertyGroup` for group-aware operations ([#1357](https://github.com/heygen-com/hyperframes/pull/1357))
- **Studio:** Property panel routes keyframe diamonds to correct animation per property ([#1358](https://github.com/heygen-com/hyperframes/pull/1358))
- **Studio:** Context menus portaled to `document.body` with smart overflow positioning
- **Studio:** Delete All Keyframes uses atomic server mutation (no stale ID race)
- **Studio:** Block CSS drag on GSAP-animated elements to prevent keyframe corruption
- **Studio:** `onMoveKeyframe` percentage-space conversion (clip-relative to tween-relative)

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.91...v0.6.92).
</Update>

<Update
  label="HyperFrames v0.6.91"
  description="Released - 2026-06-11"
  tags={["Release", "Studio", "Core"]}
>
Razor/blade tool for splitting timeline clips with GSAP-aware keyframe preservation, plus GSAP drag intercept is now behind a feature flag (off by default) to fix buggy drag behavior on animated elements.

## Features

- **Studio:** Razor/blade tool UI for timeline clip splitting ([ef186139](https://github.com/heygen-com/hyperframes/commit/ef186139758e237633af77bbf9956272b064a1a5), [#1331](https://github.com/heygen-com/hyperframes/pull/1331))
- **Core:** GSAP-aware split engine for timeline clip splitting ([45d4a71e](https://github.com/heygen-com/hyperframes/commit/45d4a71ed0761364fdb983b7a04d559e5f331327), [#1330](https://github.com/heygen-com/hyperframes/pull/1330))

## Fixes

- **Studio:** Add GSAP drag intercept feature flag, disabled by default ([a5bc52ba](https://github.com/heygen-com/hyperframes/commit/a5bc52bad19158cedeed21fbb1f8ee465bd2f57d), [#1341](https://github.com/heygen-com/hyperframes/pull/1341))

## Internal

- **Studio:** Extract shared timeline components and deduplicate code ([ab082602](https://github.com/heygen-com/hyperframes/commit/ab08260201620277eca8baafeae330ac24342acb), [#1329](https://github.com/heygen-com/hyperframes/pull/1329))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.90...v0.6.91).
</Update>

<Update
  label="HyperFrames v0.6.90"
  description="Released - 2026-06-11"
  tags={["Release", "Producer,core", "CLI", "Cli,producer"]}
>
GIF support: render to GIF with two-pass palette encoding, and animated GIF inputs now play frame-synced via VP9 transcode. Plus new agent detection for Windsurf, Cline, Gemini CLI, and Crush.

## Features

- **Producer,core:** Play animated GIF inputs frame-synced via prep-time VP9 transcode ([edd85473](https://github.com/heygen-com/hyperframes/commit/edd85473e7b9273a85f0f842f2dd54ce9b8eca78), [#1335](https://github.com/heygen-com/hyperframes/pull/1335))
- **Cli,producer:** Add gif output format with two-pass palette encode ([e6b8d66c](https://github.com/heygen-com/hyperframes/commit/e6b8d66c2da1df4f42628dbeef09de5255f20dea), [#1333](https://github.com/heygen-com/hyperframes/pull/1333))
- **CLI:** Detect Windsurf, Cline, Gemini CLI, and Crush agents ([e0ecd4d2](https://github.com/heygen-com/hyperframes/commit/e0ecd4d2d11076e6701327c23cab4f4179331e7a), [#1328](https://github.com/heygen-com/hyperframes/pull/1328))
- **Producer:** Optional targetChunkFrames to bound per-chunk frames ([9b18fadc](https://github.com/heygen-com/hyperframes/commit/9b18fadccd01929073da2856678acddfaa1a85ba), [#1332](https://github.com/heygen-com/hyperframes/pull/1332))
- **Producer:** Stage wall-clock split in chunk perf telemetry ([69eac249](https://github.com/heygen-com/hyperframes/commit/69eac249d583fb4314738b0c6f4b815544802b05), [#1327](https://github.com/heygen-com/hyperframes/pull/1327))
- **CLI:** Detect Gemini managed-agent sandbox in detectAgentRuntime ([0766eb81](https://github.com/heygen-com/hyperframes/commit/0766eb8144772cd072eb9746b2f2b35a8e0712c7), [#1294](https://github.com/heygen-com/hyperframes/pull/1294))

## Internal

- **CLI:** Restore exact-match Cursor rule (revert unsourced loosening) ([30fcede4](https://github.com/heygen-com/hyperframes/commit/30fcede44e64aea5f9e6c3a6dedeae6c7bfe5a72), [#1334](https://github.com/heygen-com/hyperframes/pull/1334))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.89...v0.6.90).
</Update>

<Update
  label="HyperFrames v0.6.89"
  description="Released - 2026-06-10"
  tags={["Release", "Runtime", "Studio", "Engine"]}
>
Fixes audio dropout during playback (WebAudio source cleanup), muted video audio leak in renders, IEEE 754 frame-index precision, and keyframe editing stability.

## Fixes

- **Runtime:** Preserve authored muted attr; clean up WebAudio on end ([036b991c](https://github.com/heygen-com/hyperframes/commit/036b991cbbe21312b7a03abf03f01c28fa046978), [#1319](https://github.com/heygen-com/hyperframes/pull/1319))
- **Studio:** Keyframe bug fixes — gate delete hooks, fix value corruption, gesture recording ([f0b499b5](https://github.com/heygen-com/hyperframes/commit/f0b499b582a552df08abf4d222acb599fe0f8285), [#1314](https://github.com/heygen-com/hyperframes/pull/1314))
- **Engine:** Add epsilon to frame index floor to prevent IEEE 754 boundary duplicates ([3a72aa52](https://github.com/heygen-com/hyperframes/commit/3a72aa528dfa742209c6565654b23c96bb81536a), [#1318](https://github.com/heygen-com/hyperframes/pull/1318))
- **Producer:** Don't mix audio from muted videos into the render ([8133d934](https://github.com/heygen-com/hyperframes/commit/8133d9346e312beedd0fdc28faf491d46d46cc87), [#1322](https://github.com/heygen-com/hyperframes/pull/1322))

## Docs & Examples

- **README:** Swap hero media to hyperframes-logo-motion ([8fcbb63a](https://github.com/heygen-com/hyperframes/commit/8fcbb63a371752932027f3495dbc6ae6b5daf0f7), [#1315](https://github.com/heygen-com/hyperframes/pull/1315))

## Internal

- Shrink repo — untrack failure frames, recompress backgrounds, harden LFS ([e845793c](https://github.com/heygen-com/hyperframes/commit/e845793ce1d480e19780d74aa2d0259c6bb9e455), [#1326](https://github.com/heygen-com/hyperframes/pull/1326))
- **Studio:** Split oversized files to pass 600-line check ([81416ab3](https://github.com/heygen-com/hyperframes/commit/81416ab3c9b04ca87d399e9b558ec7227b7d641c), [#1313](https://github.com/heygen-com/hyperframes/pull/1313))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.88...v0.6.89).
</Update>

<Update
  label="HyperFrames v0.6.88"
  description="Released - 2026-06-09"
  tags={["Release", "Core"]}
>
Fixes a regression where Studio's element stamping code ran during production renders, causing sub-composition elements to become incorrectly visible.

## Fixes

- **Core:** Guard element stamping to iframe-only (Studio preview) ([192417b7](https://github.com/heygen-com/hyperframes/commit/192417b7cd7384c2001b2be926246260bd728367))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.85...v0.6.88).
</Update>

<Update
  label="HyperFrames v0.6.87"
  description="Released - 2026-06-09"
  tags={["Release"]}
>
Studio keyframe system, render queue improvements, and GSAP parser arc path mutations. Feature-gated behind `VITE_STUDIO_ENABLE_KEYFRAMES`.

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.85...v0.6.87).
</Update>

<Update
  label="HyperFrames v0.6.86"
  description="Released - 2026-06-09"
  tags={["Release", "Runtime,player"]}
>
Fixes a race condition where `audio-locked` (and other bridge controls) were silently dropped on warm-cache reloads of claude.ai and inside the Claude desktop Electron client. The runtime now emits a `ready` handshake once its message listener is installed; the player replays current bridge state on receipt.

## Fixes

- **Runtime,player:** Replay bridge state on iframe ready to repair race ([5a0966df](https://github.com/heygen-com/hyperframes/commit/5a0966dfeb5c43f7551c8d8d20eb5c939c6655be))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.85...v0.6.86).
</Update>

<Update
  label="HyperFrames v0.6.85"
  description="Released - 2026-06-09"
  tags={["Release", "Player", "Core,studio", "Core"]}
>
Fixes `audio-locked` attribute not surviving into the rendered DOM on Claude Desktop. Also ships the GCP Cloud Run distributed render adapter, font self-bundling for compositions, and several stability fixes.

## Features

- **Player:** Force audio lock on Claude desktop via UA fallback ([cc45b1fa](https://github.com/heygen-com/hyperframes/commit/cc45b1fa336bec7cd2b1ce54e208d07ab019dd2c))
- **Core:** Implement createPreviewAdapter (R7, Task 3) ([1a23938b](https://github.com/heygen-com/hyperframes/commit/1a23938befbdd9d4d5a58a8a2a0b49df25bb9ef2), [#1291](https://github.com/heygen-com/hyperframes/pull/1291))
- **Core:** Hf-id write-back to disk + serve-time surfacing (R7, Tasks 1-2) ([740a83ab](https://github.com/heygen-com/hyperframes/commit/740a83abb370cb7bc6d81d19f0a8b4dd37260717), [#1289](https://github.com/heygen-com/hyperframes/pull/1289))
- **Core:** SourceMutation data-hf-id targeting (R1, T7) ([1cd4ad6a](https://github.com/heygen-com/hyperframes/commit/1cd4ad6ab8d7a0979a79ce5557cc28b8a2e5e99d), [#1272](https://github.com/heygen-com/hyperframes/pull/1272))
- **Studio:** SourcePatcher data-hf-id targeting (R1, T3) ([42c247d2](https://github.com/heygen-com/hyperframes/commit/42c247d28fc1d40feb21f739a28631008bb21280), [#1271](https://github.com/heygen-com/hyperframes/pull/1271))
- **Core:** Clip-model hf- ids minted at parse, emitted as data-hf-id (R1) ([8d6b7cf5](https://github.com/heygen-com/hyperframes/commit/8d6b7cf51574bab44226620879baac2cfeab6cfe), [#1270](https://github.com/heygen-com/hyperframes/pull/1270))
- **Core:** EnsureHfIds node-id pass + shared hf- mint helper (R1) ([c12854b4](https://github.com/heygen-com/hyperframes/commit/c12854b47c9cb9a43a5e9ae7837ca0987788eb1b), [#1269](https://github.com/heygen-com/hyperframes/pull/1269))
- Font resolution pipeline — compositions capture and embed their own fonts ([0bf15119](https://github.com/heygen-com/hyperframes/commit/0bf15119f8e2423f43a619dad314f8c029994903), [#1255](https://github.com/heygen-com/hyperframes/pull/1255))
- **Gcp Cloud Run:** Google Cloud Run + Workflows distributed render adapter ([4da567df](https://github.com/heygen-com/hyperframes/commit/4da567df22ad2857a8773bf61e425548447967e6), [#1253](https://github.com/heygen-com/hyperframes/pull/1253))

## Fixes

- **Core:** Apply playbackRate to all media duration resolution sites ([908b455e](https://github.com/heygen-com/hyperframes/commit/908b455e5eed94f6c6d1e6a27b2a6c99a8032394), [#1288](https://github.com/heygen-com/hyperframes/pull/1288))
- **Core:** Account for playbackRate in media duration resolution ([7b6c87fa](https://github.com/heygen-com/hyperframes/commit/7b6c87fa88d8faac2cf37a36cd35e617c88b549d), [#1287](https://github.com/heygen-com/hyperframes/pull/1287))
- **Producer:** Revert Proxy-based wrapTimeline to plain-object approach ([c12987e3](https://github.com/heygen-com/hyperframes/commit/c12987e30145205e505b90679321dc2cbcff10a5), [#1284](https://github.com/heygen-com/hyperframes/pull/1284))
- **Release:** Guard against non-monotonic tags ([24279c8c](https://github.com/heygen-com/hyperframes/commit/24279c8c76e6f052dc9d688b4f52ecb28de19f6d), [#1283](https://github.com/heygen-com/hyperframes/pull/1283))
- **Core:** Re-register hf-timelines-built listener in maybePublishRenderReady ([1bcd6ec3](https://github.com/heygen-com/hyperframes/commit/1bcd6ec3b3544f1e6c114f7c65b408bbba581db5), [#1279](https://github.com/heygen-com/hyperframes/pull/1279))

## Docs & Examples

- **Mcp:** Add Grok as a supported host ([b4210f65](https://github.com/heygen-com/hyperframes/commit/b4210f6567bd1c5b42aada9bd6f1fea104a52af4), [#1280](https://github.com/heygen-com/hyperframes/pull/1280))
- **Mcp:** Remove voiceover/TTS references and surface MCP guide in sidebar ([b2be289d](https://github.com/heygen-com/hyperframes/commit/b2be289d9049237f67b65034a1790c318d59ee28), [#1278](https://github.com/heygen-com/hyperframes/pull/1278))

## Catalog

- **Catalog:** Add motion-blur component ([1fd1b316](https://github.com/heygen-com/hyperframes/commit/1fd1b3164a87221fbb5c9e01557125d13e829554), [#1274](https://github.com/heygen-com/hyperframes/pull/1274))
- **Registry:** Add morph-text component and text-effects catalog section ([48fcf4ad](https://github.com/heygen-com/hyperframes/commit/48fcf4ada5ee67f8931a43dc54c3337fa615300c), [#1247](https://github.com/heygen-com/hyperframes/pull/1247))

## Internal

- **Core,studio:** Extract draft-marker constants + R7 code-review fixes (Task 4) ([3d7d7c02](https://github.com/heygen-com/hyperframes/commit/3d7d7c029133c9e22b22a38b6d796457678deb53), [#1292](https://github.com/heygen-com/hyperframes/pull/1292))
- **Core:** PreviewAdapter contract failing tests (T10 spec for R7) ([72e4f1a0](https://github.com/heygen-com/hyperframes/commit/72e4f1a0f6d25fadfdc776cfecea740c4394c572), [#1286](https://github.com/heygen-com/hyperframes/pull/1286))
- Skip ffmpeg-static CDN download on ubuntu; retry Windows FFmpeg install ([25420bf4](https://github.com/heygen-com/hyperframes/commit/25420bf4cfc37b179b4efeace9db25a7178b61bf), [#1275](https://github.com/heygen-com/hyperframes/pull/1275))
- **Core:** Address review feedback on T6a / T10 / T7 stubs ([63fd322d](https://github.com/heygen-com/hyperframes/commit/63fd322df13538ac09d70f95cdee6585048ad711), [#1268](https://github.com/heygen-com/hyperframes/pull/1268))
- **Core,studio:** Add T3+T7 hfId targeting stubs (spec for R1) ([1e705b11](https://github.com/heygen-com/hyperframes/commit/1e705b1107408d75d8e83dddd6c8fd5e8aec58fb), [#1267](https://github.com/heygen-com/hyperframes/pull/1267))
- **Core:** Add T6a GSAP parser golden baselines (Recast/Babel snapshot) ([184ef033](https://github.com/heygen-com/hyperframes/commit/184ef03317b91d8c9eb69401f0c7a769662d9357), [#1263](https://github.com/heygen-com/hyperframes/pull/1263))
- **Core:** Add T10 PreviewAdapter contract stubs (spec for R7) ([1fdce71c](https://github.com/heygen-com/hyperframes/commit/1fdce71c8b174ced98d0010bb79f31bcc6cf34b7), [#1262](https://github.com/heygen-com/hyperframes/pull/1262))
- **Core:** Extract maxEndTime+serialize to parsers/test-utils.ts (TU) ([ffc54c78](https://github.com/heygen-com/hyperframes/commit/ffc54c7867b7963e8138cdc24d8b81a323c56c1a), [#1261](https://github.com/heygen-com/hyperframes/pull/1261))
- **Studio:** Add T5c review-fix gaps in manualEditsDomPatches characterization ([5b29bea0](https://github.com/heygen-com/hyperframes/commit/5b29bea0b12537434728b20eb6556b3f512d881a), [#1259](https://github.com/heygen-com/hyperframes/pull/1259))
- **Studio:** Add T5b rotation+motion build-patches characterization ([63ff0c16](https://github.com/heygen-com/hyperframes/commit/63ff0c16c3e1f49878576e9d3fd49a6be6f1f07b), [#1258](https://github.com/heygen-com/hyperframes/pull/1258))
- **Studio:** Add T5a pathOffset+boxSize build-patches characterization ([19f46cd1](https://github.com/heygen-com/hyperframes/commit/19f46cd19a6bdc26de4a6d0f000e7f58f0bfa9e9), [#1257](https://github.com/heygen-com/hyperframes/pull/1257))
- Remove plan docs and gitignore docs/plans/ ([fc01717c](https://github.com/heygen-com/hyperframes/commit/fc01717c8219fd766e2b3fd8b6ea550457f03095), [#1265](https://github.com/heygen-com/hyperframes/pull/1265))
- **Core:** Add T9 CompositionVariable font/image parse spec (before R1) ([806b226b](https://github.com/heygen-com/hyperframes/commit/806b226b349897cb69618a2d706de6c9455c7226), [#1246](https://github.com/heygen-com/hyperframes/pull/1246))
- **Core:** Add T2 stable id spec for parse-to-hf id contract (before R1) ([a890d093](https://github.com/heygen-com/hyperframes/commit/a890d093e19ce9c51183af741b5e335d9348bc3c), [#1245](https://github.com/heygen-com/hyperframes/pull/1245))
- **Studio:** Add T4 op-contract stubs for editor dispatch boundary ([bdbd8b1d](https://github.com/heygen-com/hyperframes/commit/bdbd8b1db013dd1064c46261a690288e711bfd78), [#1243](https://github.com/heygen-com/hyperframes/pull/1243))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.80...v0.6.85).
</Update>

<Update
  label="HyperFrames v0.6.84"
  description="Released - 2026-06-09"
  tags={["Release", "Core"]}
>
Completes the playbackRate fix across all media duration resolution sites — visibility, timeline payload, and auto-calculated duration now all respect `defaultPlaybackRate`.

## Fixes

- **Core:** Apply playbackRate to all media duration resolution sites ([908b455e](https://github.com/heygen-com/hyperframes/commit/908b455e5eed94f6c6d1e6a27b2a6c99a8032394), [#1288](https://github.com/heygen-com/hyperframes/pull/1288))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.83...v0.6.84).
</Update>

<Update
  label="HyperFrames v0.6.83"
  description="Released - 2026-06-09"
  tags={["Release", "Core", "Producer", "Release"]}
>
Fixes media elements with custom playback rates being clipped to the raw source duration instead of the rate-adjusted timeline duration. Also adds a release tag monotonicity guard.

## Fixes

- **Core:** Account for playbackRate in media duration resolution ([7b6c87fa](https://github.com/heygen-com/hyperframes/commit/7b6c87fa88d8faac2cf37a36cd35e617c88b549d), [#1287](https://github.com/heygen-com/hyperframes/pull/1287))
- **Producer:** Revert Proxy-based wrapTimeline to plain-object approach ([c12987e3](https://github.com/heygen-com/hyperframes/commit/c12987e30145205e505b90679321dc2cbcff10a5), [#1284](https://github.com/heygen-com/hyperframes/pull/1284))
- **Release:** Guard against non-monotonic tags ([24279c8c](https://github.com/heygen-com/hyperframes/commit/24279c8c76e6f052dc9d688b4f52ecb28de19f6d), [#1283](https://github.com/heygen-com/hyperframes/pull/1283))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.82...v0.6.83).
</Update>

<Update
  label="HyperFrames v0.6.82"
  description="Released - 2026-06-08"
  tags={["Release", "Core", "Mcp", "Catalog"]}
>
Fixes a render-ready listener race and adds Grok MCP support, a motion-blur catalog component, and improved CI reliability.

## Fixes

- **Core:** Re-register hf-timelines-built listener in maybePublishRenderReady ([1bcd6ec3](https://github.com/heygen-com/hyperframes/commit/1bcd6ec3b3544f1e6c114f7c65b408bbba581db5), [#1279](https://github.com/heygen-com/hyperframes/pull/1279))

## Docs & Examples

- **Mcp:** Add Grok as a supported host ([b4210f65](https://github.com/heygen-com/hyperframes/commit/b4210f6567bd1c5b42aada9bd6f1fea104a52af4), [#1280](https://github.com/heygen-com/hyperframes/pull/1280))
- **Mcp:** Remove voiceover/TTS references and surface MCP guide in sidebar ([b2be289d](https://github.com/heygen-com/hyperframes/commit/b2be289d9049237f67b65034a1790c318d59ee28), [#1278](https://github.com/heygen-com/hyperframes/pull/1278))

## Catalog

- **Catalog:** Add motion-blur component ([1fd1b316](https://github.com/heygen-com/hyperframes/commit/1fd1b3164a87221fbb5c9e01557125d13e829554), [#1274](https://github.com/heygen-com/hyperframes/pull/1274))

## Internal

- Skip ffmpeg-static CDN download on ubuntu; retry Windows FFmpeg install ([25420bf4](https://github.com/heygen-com/hyperframes/commit/25420bf4cfc37b179b4efeace9db25a7178b61bf), [#1275](https://github.com/heygen-com/hyperframes/pull/1275))
- **Core:** Address review feedback on T6a / T10 / T7 stubs ([63fd322d](https://github.com/heygen-com/hyperframes/commit/63fd322df13538ac09d70f95cdee6585048ad711), [#1268](https://github.com/heygen-com/hyperframes/pull/1268))
- **Core,studio:** Add T3+T7 hfId targeting stubs (spec for R1) ([1e705b11](https://github.com/heygen-com/hyperframes/commit/1e705b1107408d75d8e83dddd6c8fd5e8aec58fb), [#1267](https://github.com/heygen-com/hyperframes/pull/1267))
- **Core:** Add T6a GSAP parser golden baselines (Recast/Babel snapshot) ([184ef033](https://github.com/heygen-com/hyperframes/commit/184ef03317b91d8c9eb69401f0c7a769662d9357), [#1263](https://github.com/heygen-com/hyperframes/pull/1263))
- **Core:** Add T10 PreviewAdapter contract stubs (spec for R7) ([1fdce71c](https://github.com/heygen-com/hyperframes/commit/1fdce71c8b174ced98d0010bb79f31bcc6cf34b7), [#1262](https://github.com/heygen-com/hyperframes/pull/1262))
- **Core:** Extract maxEndTime+serialize to parsers/test-utils.ts (TU) ([ffc54c78](https://github.com/heygen-com/hyperframes/commit/ffc54c7867b7963e8138cdc24d8b81a323c56c1a), [#1261](https://github.com/heygen-com/hyperframes/pull/1261))
- **Studio:** Add T5c review-fix gaps in manualEditsDomPatches characterization ([5b29bea0](https://github.com/heygen-com/hyperframes/commit/5b29bea0b12537434728b20eb6556b3f512d881a), [#1259](https://github.com/heygen-com/hyperframes/pull/1259))
- **Studio:** Add T5b rotation+motion build-patches characterization ([63ff0c16](https://github.com/heygen-com/hyperframes/commit/63ff0c16c3e1f49878576e9d3fd49a6be6f1f07b), [#1258](https://github.com/heygen-com/hyperframes/pull/1258))
- **Studio:** Add T5a pathOffset+boxSize build-patches characterization ([19f46cd1](https://github.com/heygen-com/hyperframes/commit/19f46cd19a6bdc26de4a6d0f000e7f58f0bfa9e9), [#1257](https://github.com/heygen-com/hyperframes/pull/1257))
- Remove plan docs and gitignore docs/plans/ ([fc01717c](https://github.com/heygen-com/hyperframes/commit/fc01717c8219fd766e2b3fd8b6ea550457f03095), [#1265](https://github.com/heygen-com/hyperframes/pull/1265))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.81...v0.6.82).
</Update>

<Update
  label="HyperFrames v0.6.81"
  description="Released - 2026-06-07"
  tags={["Release", "Gcp Cloud Run", "Core", "Registry"]}
>
Adds Google Cloud Run + Cloud Workflows as a distributed-render target (`@hyperframes/gcp-cloud-run`) — the GCP counterpart to the AWS Lambda adapter, sharing the same `plan → renderChunk → assemble` primitives. Also lands a font-resolution pipeline so compositions capture and embed their own fonts for deterministic rendering.

## Features

- Font resolution pipeline — compositions capture and embed their own fonts ([0bf15119](https://github.com/heygen-com/hyperframes/commit/0bf15119f8e2423f43a619dad314f8c029994903), [#1255](https://github.com/heygen-com/hyperframes/pull/1255))
- **Gcp Cloud Run:** Google Cloud Run + Workflows distributed render adapter ([4da567df](https://github.com/heygen-com/hyperframes/commit/4da567df22ad2857a8773bf61e425548447967e6), [#1253](https://github.com/heygen-com/hyperframes/pull/1253))

## Catalog

- **Registry:** Add morph-text component and text-effects catalog section ([48fcf4ad](https://github.com/heygen-com/hyperframes/commit/48fcf4ada5ee67f8931a43dc54c3337fa615300c), [#1247](https://github.com/heygen-com/hyperframes/pull/1247))

## Internal

- **Core:** Add T9 CompositionVariable font/image parse spec (before R1) ([806b226b](https://github.com/heygen-com/hyperframes/commit/806b226b349897cb69618a2d706de6c9455c7226), [#1246](https://github.com/heygen-com/hyperframes/pull/1246))
- **Core:** Add T2 stable id spec for parse-to-hf id contract (before R1) ([a890d093](https://github.com/heygen-com/hyperframes/commit/a890d093e19ce9c51183af741b5e335d9348bc3c), [#1245](https://github.com/heygen-com/hyperframes/pull/1245))
- **Studio:** Add T4 op-contract stubs for editor dispatch boundary ([bdbd8b1d](https://github.com/heygen-com/hyperframes/commit/bdbd8b1db013dd1064c46261a690288e711bfd78), [#1243](https://github.com/heygen-com/hyperframes/pull/1243))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.80...v0.6.81).
</Update>

<Update
  label="HyperFrames v0.6.80"
  description="Released - 2026-06-07"
  tags={["Release", "Render", "Studio", "Core"]}
>
Fixes a main-thread hang on compositions with thousands of GSAP tween calls by batching timeline construction through `requestAnimationFrame`, and adds `innerText` support to the GSAP inspector for counter animations.

## Features

- **Gsap:** Add innerText support to GSAP inspector for counter animations ([05aac941](https://github.com/heygen-com/hyperframes/commit/05aac941fc93e569d5eefdb53440f102f046494b), [#1244](https://github.com/heygen-com/hyperframes/pull/1244))

## Fixes

- Batch GSAP timeline construction to prevent main-thread hang (#1231) ([ebd156bc](https://github.com/heygen-com/hyperframes/commit/ebd156bcc145e0d144e22f80ff0b98098ee8ad64), [#1249](https://github.com/heygen-com/hyperframes/pull/1249))
- **Render:** Add end-to-end observability ([29d6f1ea](https://github.com/heygen-com/hyperframes/commit/29d6f1eac9915f435a6dd72cf9ed96431c6afaf8), [#1248](https://github.com/heygen-com/hyperframes/pull/1248))

## Internal

- **Studio:** Add T11 history coalescing and cross-prop separation suite ([9aebc8db](https://github.com/heygen-com/hyperframes/commit/9aebc8db70cf373875b9b685a68722b78eb33c03), [#1242](https://github.com/heygen-com/hyperframes/pull/1242))
- **Core:** Add T8 override-set merge semantics suite for getVariables ([37d02f26](https://github.com/heygen-com/hyperframes/commit/37d02f26a2388fd770e124f9e9dee16174b03763), [#1241](https://github.com/heygen-com/hyperframes/pull/1241))
- **Core:** Add T1 round-trip idempotence suite for parse/serialize ([dd956744](https://github.com/heygen-com/hyperframes/commit/dd9567446bce28dff9f8a163b03a0071870eb07b), [#1240](https://github.com/heygen-com/hyperframes/pull/1240))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.79...v0.6.80).
</Update>

<Update
  label="HyperFrames v0.6.79"
  description="Released - 2026-06-06"
  tags={["Release", "Engine"]}
>
Switches the parity harness page navigation to `domcontentloaded` instead of `load`, preventing timeouts caused by slow video preload on compositions with large or numerous media sources.

## Fixes

- **Engine:** Use domcontentloaded to avoid video preload navigation timeout ([62b7137e](https://github.com/heygen-com/hyperframes/commit/62b7137e723c3e3ef590950eed99ec5a671749cd), [#1239](https://github.com/heygen-com/hyperframes/pull/1239))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.78...v0.6.79).
</Update>

<Update
  label="HyperFrames v0.6.78"
  description="Released - 2026-06-06"
  tags={["Release", "Engine"]}
>
Adds detailed diagnostics around page navigation timeouts — captures failed requests, HTTP errors, and timing context to help debug environment-specific render failures.

## Internal

- **Engine:** Add capture navigation timeout diagnostics ([dc71f411](https://github.com/heygen-com/hyperframes/commit/dc71f411c770b5ee2a758959e84655ac10a7fcb5), [#1238](https://github.com/heygen-com/hyperframes/pull/1238))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.77...v0.6.78).
</Update>

<Update
  label="HyperFrames v0.6.77"
  description="Released - 2026-06-06"
  tags={["Release", "Producer"]}
>
Ensures the probe stage respects low-memory mode by threading the `forceScreenshot` flag, preventing BeginFrame probe failures on memory-constrained systems.

## Fixes

- **Producer:** Thread forceScreenshot to probe stage for low-memory mode ([ca3bdd14](https://github.com/heygen-com/hyperframes/commit/ca3bdd149bdf07240b26f0863cbda4024a9493ab), [#1237](https://github.com/heygen-com/hyperframes/pull/1237))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.76...v0.6.77).
</Update>

<Update
  label="HyperFrames v0.6.76"
  description="Released - 2026-06-06"
  tags={["Release", "Player", "Producer", "AWS Lambda"]}
>
Adds the `audio-locked` player attribute for embedding contexts that need force-muted playback, a full GSAP keyframe system (parsing → runtime bridge → design panel), Figma-quality snap guides in Studio, and reliability improvements for low-memory render environments.

## Features

- **Player:** Add audio-locked attribute (force-mute + hide controls) ([f39b5988](https://github.com/heygen-com/hyperframes/commit/f39b5988cc8e810e03c3ceead662729d9156ccb2), [#1234](https://github.com/heygen-com/hyperframes/pull/1234))
- **Studio:** Draggable layer reorder with z-index persistence ([7a0cb085](https://github.com/heygen-com/hyperframes/commit/7a0cb085bbc4eb4cfd45ee798800e90a0f998717), [#1216](https://github.com/heygen-com/hyperframes/pull/1216))
- **Producer:** Auto low-memory safe render profile ([bacfb175](https://github.com/heygen-com/hyperframes/commit/bacfb17538ae2c79343e816dd03d6a62f2d0163c), [#1225](https://github.com/heygen-com/hyperframes/pull/1225))
- **Studio:** Add fit-to-children button in property panel ([4d968866](https://github.com/heygen-com/hyperframes/commit/4d968866551fe3a32b71688b7c69f3d1d9c66660), [#1224](https://github.com/heygen-com/hyperframes/pull/1224))
- **Studio:** Wire snap engine into preview drag and resize gestures ([0a965dc4](https://github.com/heygen-com/hyperframes/commit/0a965dc4ad51e03f867df481b99e39443993f8dd), [#1223](https://github.com/heygen-com/hyperframes/pull/1223))
- **Studio:** Add snap guide overlay, toolbar, grid, and target collection ([f8bf039a](https://github.com/heygen-com/hyperframes/commit/f8bf039a09dd0117ff70be4afc2260e331e26723), [#1228](https://github.com/heygen-com/hyperframes/pull/1228))
- **Studio:** Add stateless snap engine with alignment computation ([1863831a](https://github.com/heygen-com/hyperframes/commit/1863831a4dc0f4cc33cd7e73ea336233026c0a13), [#1227](https://github.com/heygen-com/hyperframes/pull/1227))
- **Studio:** Runtime-synced design panel + 3D props + split polish ([1bdb2d4e](https://github.com/heygen-com/hyperframes/commit/1bdb2d4ec0f18f1f196f912fd5d5ca118b47039e), [#1188](https://github.com/heygen-com/hyperframes/pull/1188))
- **Studio:** Runtime-first dynamic keyframe system [8/10] ([c1699ec9](https://github.com/heygen-com/hyperframes/commit/c1699ec98b6e3ff03438cfbd4109e3768427b965), [#1190](https://github.com/heygen-com/hyperframes/pull/1190))
- **Studio:** Split clip at playhead for media elements [7/10] ([d1aad77f](https://github.com/heygen-com/hyperframes/commit/d1aad77fd789968e682f4c78820b793703c5f6e3), [#1189](https://github.com/heygen-com/hyperframes/pull/1189))
- **Studio:** Design panel, timeline polish, feature flag [6/6] ([a5211954](https://github.com/heygen-com/hyperframes/commit/a5211954ea270cefc2edb260bab12b039e8ccf82), [#1172](https://github.com/heygen-com/hyperframes/pull/1172))
- **Studio:** Keyframe hooks wiring — session, cache, toolbar [5/6] ([7a088326](https://github.com/heygen-com/hyperframes/commit/7a0883264d697396d80f51352094a995ddaa378e), [#1171](https://github.com/heygen-com/hyperframes/pull/1171))
- **Studio:** Keyframe diamonds, navigation, context menu [4/6] ([5984c588](https://github.com/heygen-com/hyperframes/commit/5984c58846abd9c9068d67db1da8b119455dc6fc), [#1170](https://github.com/heygen-com/hyperframes/pull/1170))
- **Studio:** GSAP runtime bridge + optimistic updates [3/6] ([12e87e05](https://github.com/heygen-com/hyperframes/commit/12e87e05b464323e0148c7bfa7314f0a5d872e32), [#1169](https://github.com/heygen-com/hyperframes/pull/1169))
- **Core:** Spring physics solver + runtime fixes [2/6] ([aab73774](https://github.com/heygen-com/hyperframes/commit/aab737740030cf19a761689a94456bb86e2235bb), [#1168](https://github.com/heygen-com/hyperframes/pull/1168))
- **Core:** GSAP keyframe parsing, mutations, and API routes ([e639a163](https://github.com/heygen-com/hyperframes/commit/e639a1638fb157b71feb9470e87e3d972ce6894f), [#1167](https://github.com/heygen-com/hyperframes/pull/1167))

## Fixes

- **Producer:** Restore calibration timeout ceiling + add pipeline observability ([1d16216a](https://github.com/heygen-com/hyperframes/commit/1d16216a24a6163640ce5f5462cc6f4ff700f693), [#1233](https://github.com/heygen-com/hyperframes/pull/1233))
- **AWS Lambda:** Validate event S3 URIs against render bucket (F-004) ([65888840](https://github.com/heygen-com/hyperframes/commit/65888840fa748d80f56db717b11ac89ed94a2e9e), [#1213](https://github.com/heygen-com/hyperframes/pull/1213))
- **CLI:** Re-validate SSRF denylist on redirects + harden isPrivateUrl ([1f37920f](https://github.com/heygen-com/hyperframes/commit/1f37920fe15e6ab18d6a58ad7a9cec7937da7d24), [#1212](https://github.com/heygen-com/hyperframes/pull/1212))
- **Studio:** Fix PropertyPanel format and file size regression ([2c73fa9c](https://github.com/heygen-com/hyperframes/commit/2c73fa9c8fb61c3b8ea57b3a5b71c7fcd78da6c4), [#1229](https://github.com/heygen-com/hyperframes/pull/1229))
- **CLI:** Bind studio preview server to loopback by default ([1324de54](https://github.com/heygen-com/hyperframes/commit/1324de54a8ba79aa76944d79efa158f4289572ca), [#1210](https://github.com/heygen-com/hyperframes/pull/1210))
- **Runtime:** Make audio/media sync boundary inclusive to match visibility fix ([b6a14ea9](https://github.com/heygen-com/hyperframes/commit/b6a14ea9f5cc2d338cff76051c740ca8da4b37fa), [#1173](https://github.com/heygen-com/hyperframes/pull/1173))
- Add progress logging during silent render pipeline stages ([6bd1e764](https://github.com/heygen-com/hyperframes/commit/6bd1e764e55ab38a1f14d6ea19f47e019147eced), [#1220](https://github.com/heygen-com/hyperframes/pull/1220))
- Respect user timeouts on low-memory systems ([20894ab9](https://github.com/heygen-com/hyperframes/commit/20894ab9a3e293020b283b4c4f72833b729f8175), [#1221](https://github.com/heygen-com/hyperframes/pull/1221))

## Docs & Examples

- Add reap as HyperFrames adopter ([4b51cc64](https://github.com/heygen-com/hyperframes/commit/4b51cc646861cbdc00fd67856deb2993eb2eb874), [#876](https://github.com/heygen-com/hyperframes/pull/876))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.73...v0.6.76).
</Update>

<Update
  label="HyperFrames v0.6.74"
  description="Released - 2026-06-05"
  tags={["Release", "Studio", "CLI", "Runtime"]}
>
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](https://github.com/heygen-com/hyperframes/commit/4d968866551fe3a32b71688b7c69f3d1d9c66660), [#1224](https://github.com/heygen-com/hyperframes/pull/1224))
- **Studio:** Wire snap engine into preview drag and resize gestures ([0a965dc4](https://github.com/heygen-com/hyperframes/commit/0a965dc4ad51e03f867df481b99e39443993f8dd), [#1223](https://github.com/heygen-com/hyperframes/pull/1223))
- **Studio:** Add snap guide overlay, toolbar, grid, and target collection ([f8bf039a](https://github.com/heygen-com/hyperframes/commit/f8bf039a09dd0117ff70be4afc2260e331e26723), [#1228](https://github.com/heygen-com/hyperframes/pull/1228))
- **Studio:** Add stateless snap engine with alignment computation ([1863831a](https://github.com/heygen-com/hyperframes/commit/1863831a4dc0f4cc33cd7e73ea336233026c0a13), [#1227](https://github.com/heygen-com/hyperframes/pull/1227))
- **Studio:** Runtime-synced design panel + 3D props + split polish ([1bdb2d4e](https://github.com/heygen-com/hyperframes/commit/1bdb2d4ec0f18f1f196f912fd5d5ca118b47039e), [#1188](https://github.com/heygen-com/hyperframes/pull/1188))
- **Studio:** Runtime-first dynamic keyframe system [8/10] ([c1699ec9](https://github.com/heygen-com/hyperframes/commit/c1699ec98b6e3ff03438cfbd4109e3768427b965), [#1190](https://github.com/heygen-com/hyperframes/pull/1190))
- **Studio:** Split clip at playhead for media elements [7/10] ([d1aad77f](https://github.com/heygen-com/hyperframes/commit/d1aad77fd789968e682f4c78820b793703c5f6e3), [#1189](https://github.com/heygen-com/hyperframes/pull/1189))
- **Studio:** Design panel, timeline polish, feature flag [6/6] ([a5211954](https://github.com/heygen-com/hyperframes/commit/a5211954ea270cefc2edb260bab12b039e8ccf82), [#1172](https://github.com/heygen-com/hyperframes/pull/1172))
- **Studio:** Keyframe hooks wiring — session, cache, toolbar [5/6] ([7a088326](https://github.com/heygen-com/hyperframes/commit/7a0883264d697396d80f51352094a995ddaa378e), [#1171](https://github.com/heygen-com/hyperframes/pull/1171))
- **Studio:** Keyframe diamonds, navigation, context menu [4/6] ([5984c588](https://github.com/heygen-com/hyperframes/commit/5984c58846abd9c9068d67db1da8b119455dc6fc), [#1170](https://github.com/heygen-com/hyperframes/pull/1170))
- **Studio:** GSAP runtime bridge + optimistic updates [3/6] ([12e87e05](https://github.com/heygen-com/hyperframes/commit/12e87e05b464323e0148c7bfa7314f0a5d872e32), [#1169](https://github.com/heygen-com/hyperframes/pull/1169))
- **Core:** Spring physics solver + runtime fixes [2/6] ([aab73774](https://github.com/heygen-com/hyperframes/commit/aab737740030cf19a761689a94456bb86e2235bb), [#1168](https://github.com/heygen-com/hyperframes/pull/1168))
- **Core:** GSAP keyframe parsing, mutations, and API routes ([e639a163](https://github.com/heygen-com/hyperframes/commit/e639a1638fb157b71feb9470e87e3d972ce6894f), [#1167](https://github.com/heygen-com/hyperframes/pull/1167))
- **Docs:** Add weekly update drafts ([1abe69f3](https://github.com/heygen-com/hyperframes/commit/1abe69f3e479b41a804ee651e2874f31b150a4e8), [#1183](https://github.com/heygen-com/hyperframes/pull/1183))
- **Docs:** Add changelog release workflow ([248f6407](https://github.com/heygen-com/hyperframes/commit/248f64073464a74a01792cba70298508c8ea4a49), [#1164](https://github.com/heygen-com/hyperframes/pull/1164))

## Fixes

- **Studio:** Fix PropertyPanel format and file size regression ([2c73fa9c](https://github.com/heygen-com/hyperframes/commit/2c73fa9c8fb61c3b8ea57b3a5b71c7fcd78da6c4), [#1229](https://github.com/heygen-com/hyperframes/pull/1229))
- **CLI:** Bind studio preview server to loopback by default ([1324de54](https://github.com/heygen-com/hyperframes/commit/1324de54a8ba79aa76944d79efa158f4289572ca), [#1210](https://github.com/heygen-com/hyperframes/pull/1210))
- **Runtime:** Make audio/media sync boundary inclusive to match visibility fix ([b6a14ea9](https://github.com/heygen-com/hyperframes/commit/b6a14ea9f5cc2d338cff76051c740ca8da4b37fa), [#1173](https://github.com/heygen-com/hyperframes/pull/1173))
- Add progress logging during silent render pipeline stages ([6bd1e764](https://github.com/heygen-com/hyperframes/commit/6bd1e764e55ab38a1f14d6ea19f47e019147eced), [#1220](https://github.com/heygen-com/hyperframes/pull/1220))
- Respect user timeouts on low-memory systems ([20894ab9](https://github.com/heygen-com/hyperframes/commit/20894ab9a3e293020b283b4c4f72833b729f8175), [#1221](https://github.com/heygen-com/hyperframes/pull/1221))
- **Runtime:** Don't restart non-loop media that has naturally ended ([faa3f588](https://github.com/heygen-com/hyperframes/commit/faa3f588fbc37b3c1d55e3b3e96bbda39ab05ae9), [#1203](https://github.com/heygen-com/hyperframes/pull/1203))
- **CLI:** Report available memory instead of free memory in doctor ([96795031](https://github.com/heygen-com/hyperframes/commit/967950315876bfbdd792a152089c7de699acaef4), [#1204](https://github.com/heygen-com/hyperframes/pull/1204))
- **CLI:** Reject directory --composition and add --browser-timeout (#1199) ([6affe2d2](https://github.com/heygen-com/hyperframes/commit/6affe2d212296f81fc67cfd8aeaf7650a7a23ffe), [#1200](https://github.com/heygen-com/hyperframes/pull/1200))
- **Scripts:** Make release change-guard robust to git status prefix ([8228932e](https://github.com/heygen-com/hyperframes/commit/8228932e17e3371d5cf77ac5d5988f5322892dad), [#1198](https://github.com/heygen-com/hyperframes/pull/1198))
- **Producer:** Localize remote \<img\> sources + await image readiness ([72c461d8](https://github.com/heygen-com/hyperframes/commit/72c461d86a8d24a82d03267262d7cd7a9a373c1e), [#1197](https://github.com/heygen-com/hyperframes/pull/1197))
- **CLI:** Support arm64 hosts for `--docker` render ([2be41937](https://github.com/heygen-com/hyperframes/commit/2be41937a94bea6e3ebc9e253f26cfd5609b61df), [#1196](https://github.com/heygen-com/hyperframes/pull/1196))
- **Engine:** Fast-fail on zero duration instead of 45s timeout ([efb8d90f](https://github.com/heygen-com/hyperframes/commit/efb8d90f727885e141d2707e2567e539efeb334d), [#1186](https://github.com/heygen-com/hyperframes/pull/1186))
- **CLI:** Lazy-load @puppeteer/browsers to prevent debug package crash ([8c6faa45](https://github.com/heygen-com/hyperframes/commit/8c6faa45b5076d313d66962e818d26f10ba910f7), [#1185](https://github.com/heygen-com/hyperframes/pull/1185))
- **CLI:** Suppress EPIPE crashes in piped agent environments ([cabd0616](https://github.com/heygen-com/hyperframes/commit/cabd0616ea8c194988a1010ff4182a8b72cbe68e), [#1184](https://github.com/heygen-com/hyperframes/pull/1184))
- Delay ObjectURL revocation and silence TS5 baseUrl deprecations ([6de6ea53](https://github.com/heygen-com/hyperframes/commit/6de6ea53498ddebcfb4c242602dd5b8f75b5e846), [#1181](https://github.com/heygen-com/hyperframes/pull/1181))
- **Engine:** Add --autoplay-policy=no-user-gesture-required to headless Chrome args ([9e5adafd](https://github.com/heygen-com/hyperframes/commit/9e5adafd7af9fe7c1b25ca86eb8cabdf844ed2c5), [#1177](https://github.com/heygen-com/hyperframes/pull/1177))
- **Runtime:** Apply parent composition offset to WebAudio scheduling for sub-comp audio ([ac73cbbc](https://github.com/heygen-com/hyperframes/commit/ac73cbbcd0965d33b64e171272873579ae8adf9c), [#1175](https://github.com/heygen-com/hyperframes/pull/1175))
- **Runtime:** Show elements at exact end of their duration (inclusive boundary) ([b652c0a2](https://github.com/heygen-com/hyperframes/commit/b652c0a235ef32663f894b536116da0a90861b89), [#1166](https://github.com/heygen-com/hyperframes/pull/1166))
- **CLI:** Localize external assets in publish archive ([a4706da5](https://github.com/heygen-com/hyperframes/commit/a4706da513a1509d097f8179d04d995f038469b3), [#1160](https://github.com/heygen-com/hyperframes/pull/1160))

## Docs & Examples

- Add reap as HyperFrames adopter ([4b51cc64](https://github.com/heygen-com/hyperframes/commit/4b51cc646861cbdc00fd67856deb2993eb2eb874), [#876](https://github.com/heygen-com/hyperframes/pull/876))
- **README:** Add Frame.md design template gallery ([1a617d30](https://github.com/heygen-com/hyperframes/commit/1a617d30ff07d6b4e2dc7236b373ebe50874dfec), [#1182](https://github.com/heygen-com/hyperframes/pull/1182))
- **Skills:** Prefer frame.md over design.md for video specs ([fcff442a](https://github.com/heygen-com/hyperframes/commit/fcff442ab741b1176f619807c61701367836ad04), [#1180](https://github.com/heygen-com/hyperframes/pull/1180))

## Catalog

- **Registry:** Add 14 missing blocks to registry manifest ([d8ed343d](https://github.com/heygen-com/hyperframes/commit/d8ed343d71cb088b7ad6ebdbeb3f08cf0be70260), [#1163](https://github.com/heygen-com/hyperframes/pull/1163))
- **Registry:** Add Apple Terminal blocks to registry manifest ([e9949d76](https://github.com/heygen-com/hyperframes/commit/e9949d76ec8f35ffe6131a2ac2b09056abcdbf1e), [#1162](https://github.com/heygen-com/hyperframes/pull/1162))
- **Registry:** Add Apple Terminal theme code snippet blocks ([689deaf4](https://github.com/heygen-com/hyperframes/commit/689deaf4b82d40fd8c3010c014517f8627281e38), [#1161](https://github.com/heygen-com/hyperframes/pull/1161))

## Internal

- **CLI:** Cover the cloud client 401-refresh-retry decorator ([0870394d](https://github.com/heygen-com/hyperframes/commit/0870394d20cf6dcd2af7c3b7c3ab6a1f30ddebf9), [#1202](https://github.com/heygen-com/hyperframes/pull/1202))
- **Producer:** Regenerate stale style-7-prod baseline in Docker ([1aa651bd](https://github.com/heygen-com/hyperframes/commit/1aa651bd1ecc130f4e35498f41ca9cedbed55527), [#1178](https://github.com/heygen-com/hyperframes/pull/1178))
- Add release prepare command ([17b0db1d](https://github.com/heygen-com/hyperframes/commit/17b0db1d3e29428c46767c38402ca96eac406cac), [#1165](https://github.com/heygen-com/hyperframes/pull/1165))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.69...v0.6.74).
</Update>

<Update
  label="HyperFrames v0.6.73"
  description="Released - 2026-06-04"
  tags={["Release", "Runtime", "CLI", "Scripts"]}
>
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](https://github.com/heygen-com/hyperframes/commit/faa3f588fbc37b3c1d55e3b3e96bbda39ab05ae9), [#1203](https://github.com/heygen-com/hyperframes/pull/1203))
- **CLI:** Report available memory instead of free memory in doctor ([96795031](https://github.com/heygen-com/hyperframes/commit/967950315876bfbdd792a152089c7de699acaef4), [#1204](https://github.com/heygen-com/hyperframes/pull/1204))
- **CLI:** Reject directory --composition and add --browser-timeout (#1199) ([6affe2d2](https://github.com/heygen-com/hyperframes/commit/6affe2d212296f81fc67cfd8aeaf7650a7a23ffe), [#1200](https://github.com/heygen-com/hyperframes/pull/1200))
- **Scripts:** Make release change-guard robust to git status prefix ([8228932e](https://github.com/heygen-com/hyperframes/commit/8228932e17e3371d5cf77ac5d5988f5322892dad), [#1198](https://github.com/heygen-com/hyperframes/pull/1198))
- **Producer:** Localize remote \<img\> sources + await image readiness ([72c461d8](https://github.com/heygen-com/hyperframes/commit/72c461d86a8d24a82d03267262d7cd7a9a373c1e), [#1197](https://github.com/heygen-com/hyperframes/pull/1197))
- **CLI:** Support arm64 hosts for `--docker` render ([2be41937](https://github.com/heygen-com/hyperframes/commit/2be41937a94bea6e3ebc9e253f26cfd5609b61df), [#1196](https://github.com/heygen-com/hyperframes/pull/1196))

## Internal

- **CLI:** Cover the cloud client 401-refresh-retry decorator ([0870394d](https://github.com/heygen-com/hyperframes/commit/0870394d20cf6dcd2af7c3b7c3ab6a1f30ddebf9), [#1202](https://github.com/heygen-com/hyperframes/pull/1202))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.72...v0.6.73).
</Update>

<Update
  label="HyperFrames v0.6.72"
  description="Released - 2026-06-04"
  tags={["Release", "Producer", "CLI"]}
>
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](https://github.com/heygen-com/hyperframes/commit/72c461d86a8d24a82d03267262d7cd7a9a373c1e), [#1197](https://github.com/heygen-com/hyperframes/pull/1197))
- **CLI:** Support arm64 hosts for `--docker` render ([2be41937](https://github.com/heygen-com/hyperframes/commit/2be41937a94bea6e3ebc9e253f26cfd5609b61df), [#1196](https://github.com/heygen-com/hyperframes/pull/1196))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.71...v0.6.72).
</Update>

<Update
  label="HyperFrames v0.6.71"
  description="Released - 2026-06-04"
  tags={["Release", "Engine", "CLI", "Docs"]}
>
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

- **Docs:** Add weekly update drafts ([1abe69f3](https://github.com/heygen-com/hyperframes/commit/1abe69f3e479b41a804ee651e2874f31b150a4e8), [#1183](https://github.com/heygen-com/hyperframes/pull/1183))

## Fixes

- **Engine:** Fast-fail on zero duration instead of 45s timeout ([efb8d90f](https://github.com/heygen-com/hyperframes/commit/efb8d90f727885e141d2707e2567e539efeb334d), [#1186](https://github.com/heygen-com/hyperframes/pull/1186))
- **CLI:** Lazy-load @puppeteer/browsers to prevent debug package crash ([8c6faa45](https://github.com/heygen-com/hyperframes/commit/8c6faa45b5076d313d66962e818d26f10ba910f7), [#1185](https://github.com/heygen-com/hyperframes/pull/1185))
- **CLI:** Suppress EPIPE crashes in piped agent environments ([cabd0616](https://github.com/heygen-com/hyperframes/commit/cabd0616ea8c194988a1010ff4182a8b72cbe68e), [#1184](https://github.com/heygen-com/hyperframes/pull/1184))
- Delay ObjectURL revocation and silence TS5 baseUrl deprecations ([6de6ea53](https://github.com/heygen-com/hyperframes/commit/6de6ea53498ddebcfb4c242602dd5b8f75b5e846), [#1181](https://github.com/heygen-com/hyperframes/pull/1181))

## Docs & Examples

- **README:** Add Frame.md design template gallery ([1a617d30](https://github.com/heygen-com/hyperframes/commit/1a617d30ff07d6b4e2dc7236b373ebe50874dfec), [#1182](https://github.com/heygen-com/hyperframes/pull/1182))
- **Skills:** Prefer frame.md over design.md for video specs ([fcff442a](https://github.com/heygen-com/hyperframes/commit/fcff442ab741b1176f619807c61701367836ad04), [#1180](https://github.com/heygen-com/hyperframes/pull/1180))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.70...v0.6.71).
</Update>

<Update
  label="HyperFrames v0.6.70"
  description="Released - 2026-06-03"
  tags={["Release", "Producer", "Engine", "Runtime"]}
>
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](https://github.com/heygen-com/hyperframes/commit/248f64073464a74a01792cba70298508c8ea4a49), [#1164](https://github.com/heygen-com/hyperframes/pull/1164))
- **CLI:** Validate cloud render aspect/composition/format before upload ([42ad3050](https://github.com/heygen-com/hyperframes/commit/42ad305073c710d8614374f418eb713dc4cb91d6), [#1156](https://github.com/heygen-com/hyperframes/pull/1156))

## Fixes

- **Engine:** Add --autoplay-policy=no-user-gesture-required to headless Chrome args ([9e5adafd](https://github.com/heygen-com/hyperframes/commit/9e5adafd7af9fe7c1b25ca86eb8cabdf844ed2c5), [#1177](https://github.com/heygen-com/hyperframes/pull/1177))
- **Runtime:** Apply parent composition offset to WebAudio scheduling for sub-comp audio ([ac73cbbc](https://github.com/heygen-com/hyperframes/commit/ac73cbbcd0965d33b64e171272873579ae8adf9c), [#1175](https://github.com/heygen-com/hyperframes/pull/1175))
- **Runtime:** Show elements at exact end of their duration (inclusive boundary) ([b652c0a2](https://github.com/heygen-com/hyperframes/commit/b652c0a235ef32663f894b536116da0a90861b89), [#1166](https://github.com/heygen-com/hyperframes/pull/1166))
- **CLI:** Localize external assets in publish archive ([a4706da5](https://github.com/heygen-com/hyperframes/commit/a4706da513a1509d097f8179d04d995f038469b3), [#1160](https://github.com/heygen-com/hyperframes/pull/1160))
- **Producer:** Localize remote @font-face src URLs before render ([b1b03782](https://github.com/heygen-com/hyperframes/commit/b1b03782a1364f160b5504d46ad36cef277cca91), [#1155](https://github.com/heygen-com/hyperframes/pull/1155))
- **Core:** Emit mediaVolumeEnvelope in tsc lib output ([e7c874cc](https://github.com/heygen-com/hyperframes/commit/e7c874ccb3f733514afbff27dd776dae46073244), [#1159](https://github.com/heygen-com/hyperframes/pull/1159))
- **Producer:** Honor variables + outputResolution in HTTP render server ([8b6d35e2](https://github.com/heygen-com/hyperframes/commit/8b6d35e2267ddc43fc33e7478ac741ebcdfabfb4), [#1152](https://github.com/heygen-com/hyperframes/pull/1152))
- **CLI:** Mock findFFmpeg in render tests for CI without ffmpeg ([a01a266e](https://github.com/heygen-com/hyperframes/commit/a01a266efa871b687725573c3eea8857d01e5a4d), [#1154](https://github.com/heygen-com/hyperframes/pull/1154))

## Catalog

- **Registry:** Add 14 missing blocks to registry manifest ([d8ed343d](https://github.com/heygen-com/hyperframes/commit/d8ed343d71cb088b7ad6ebdbeb3f08cf0be70260), [#1163](https://github.com/heygen-com/hyperframes/pull/1163))
- **Registry:** Add Apple Terminal blocks to registry manifest ([e9949d76](https://github.com/heygen-com/hyperframes/commit/e9949d76ec8f35ffe6131a2ac2b09056abcdbf1e), [#1162](https://github.com/heygen-com/hyperframes/pull/1162))
- **Registry:** Add Apple Terminal theme code snippet blocks ([689deaf4](https://github.com/heygen-com/hyperframes/commit/689deaf4b82d40fd8c3010c014517f8627281e38), [#1161](https://github.com/heygen-com/hyperframes/pull/1161))

## Internal

- **Producer:** Regenerate stale style-7-prod baseline in Docker ([1aa651bd](https://github.com/heygen-com/hyperframes/commit/1aa651bd1ecc130f4e35498f41ca9cedbed55527), [#1178](https://github.com/heygen-com/hyperframes/pull/1178))
- Add release prepare command ([17b0db1d](https://github.com/heygen-com/hyperframes/commit/17b0db1d3e29428c46767c38402ca96eac406cac), [#1165](https://github.com/heygen-com/hyperframes/pull/1165))

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.66...v0.6.70).
</Update>

<Update
  label="HyperFrames v0.6.52"
  description="Released - 2026-05-27"
  tags={["Release", "Studio", "Producer", "Core"]}
>
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.

[View the full commit range](https://github.com/heygen-com/hyperframes/compare/v0.6.51...v0.6.52).
</Update>
