124 Commits

Author SHA1 Message Date
terencecho 0986bd9e48 fix(player): drive composition ticks from widget-frame rAF via postMessage (#739)
* fix(player): drive composition ticks from widget-frame rAF via postMessage

Chromium throttles requestAnimationFrame in deeply nested cross-origin
iframes. In Claude desktop (Electron), the composition iframe's own rAF
loop stalls, so GSAP is never seeked and animation freezes even when
TransportClock.isPlaying() is true.

The correct fix is to drive ticks from the widget-frame rAF, which lives
one level up and is not subject to the same throttling. When play() takes
the runtime bridge path (no direct timeline adapter), the player now starts
a parent-frame rAF loop that sends "tick" postMessages to the composition
iframe on every frame. The runtime's control bridge handles "tick" by calling
seekTimelineAndAdapters(clock.now()) if the clock is playing — identical to
what transportTick does on each rAF, just driven from outside.

The composition iframe's own rAF loop is unchanged and keeps running
normally in standard browsers. Seeking GSAP twice per frame is idempotent,
so there is no regression on claude.ai or any other non-throttled environment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(player): address review issues in parent tick clock

- _paused must be false before _startParentTickClock runs; otherwise
  the first RAF callback sees _paused=true and self-terminates immediately

- Guard _startParentTickClock behind this._ready && !this._directTimelineAdapter
  so tick messages aren't sent into an uninitialized iframe when play() is
  called before the composition probe has resolved

- Add clock.reachedEnd() check to onTick so end-of-composition handling
  (pause, seek-to-end, postState) runs even when the composition iframe
  RAF is fully throttled

- Stop the parent tick clock in seek() alongside _stopDirectTimelineClock
  to avoid burning CPU frames while paused after a scrub

- Add onTick to bridge.test.ts createMockDeps() and add a dispatch test

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore: bump versions to 0.6.5-alpha.0 for testing

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 14:01:53 -07:00
Miguel Ángel 1c518db376 chore: release v0.6.0-alpha.13
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-12 03:58:18 +00:00
Miguel Ángel fd5fdfdbe4 chore: release v0.6.0-alpha.12 2026-05-11 15:17:54 -07:00
Miguel Ángel 0e0f1dd6df chore: release v0.6.0-alpha.11 2026-05-11 11:18:53 -07:00
Miguel Ángel 3174848d73 chore: release v0.6.0-alpha.10 2026-05-11 10:58:26 -07:00
Miguel Ángel f57b8cfeb4 chore: release v0.6.0-alpha.9 2026-05-10 20:45:10 +00:00
Miguel Ángel 6ef33be647 chore: release v0.6.0-alpha.8 2026-05-10 19:42:53 +00:00
Miguel Ángel fcf8c17740 chore: release v0.6.0-alpha.7 2026-05-10 19:36:07 +00:00
Miguel Ángel b68658441b chore: release v0.6.0-alpha.6 2026-05-10 18:41:10 +00:00
Miguel Ángel 06c12e7b71 chore: release v0.6.0-alpha.5 2026-05-10 18:41:02 +00:00
Miguel Ángel d5ee383ee2 chore: release v0.6.0-alpha.4 2026-05-10 18:40:58 +00:00
Miguel Ángel c147077b0d chore: release v0.6.0-alpha.3 2026-05-10 18:40:43 +00:00
Miguel Ángel 79b6948996 chore: release v0.6.0-alpha.2 2026-05-10 18:40:17 +00:00
Miguel Ángel 69c8966b40 chore: release v0.6.0-alpha.1 2026-05-10 18:40:17 +00:00
Miguel Ángel d4876b4e5b chore: release v0.5.0-alpha.15 2026-05-10 18:39:53 +00:00
Miguel Ángel 57ea5641fe chore: release v0.5.7 2026-05-10 18:34:43 +00:00
Miguel Ángel bd7bbae42d chore: release v0.5.6 2026-05-10 05:40:30 +00:00
Miguel Ángel ae343bfdc8 chore: release v0.5.5
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-08 15:00:29 +00:00
Miguel Ángel 8de7ad7f61 chore: release v0.5.4 2026-05-07 23:22:15 -07:00
Miguel Ángel aa524f43c9 chore: release v0.5.3 2026-05-06 11:45:59 -07:00
Miguel Ángel 7174c4cdcd chore: release v0.5.2 2026-05-06 10:27:07 -07:00
Miguel Ángel 64f3a4ed5f chore: release v0.5.1 2026-05-06 10:14:00 -07:00
James 94b8acf3b0 chore: release v0.5.0 2026-05-06 16:12:18 +00:00
James 584627546a chore: release v0.4.45 2026-05-05 04:41:23 +00:00
Miguel Ángel 20895eecdd chore: release v0.4.44 2026-05-04 14:37:16 -07:00
James Russo aeae676d20 Merge pull request #612 from heygen-com/feat/cli-remove-background
feat(cli): add remove-background command for transparent video
2026-05-04 12:40:48 -07:00
Miguel Ángel 1d15845a13 chore: release v0.4.43 2026-05-03 22:53:04 -07:00
James d2ca45ef75 feat(cli): add remove-background command for transparent video
Adds `hyperframes remove-background` — a local-AI subcommand that mattes a
video or image with the u2net_human_seg ONNX model and emits a transparent
WebM (VP9-alpha), ProRes 4444 .mov, or RGBA PNG. Drops directly into any
composition's <video> tag — no green screen, no API keys, no upload.

Auto-picks the fastest available execution provider via onnxruntime-node:
CoreML on Apple Silicon, CUDA when HYPERFRAMES_CUDA=1, CPU otherwise.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 04:17:51 +00:00
Miguel Ángel db9cffb203 chore: release v0.4.42 2026-05-01 21:35:29 -07:00
Miguel Ángel 8b8dcf543e chore: release v0.4.41 2026-04-30 22:52:55 -04:00
Miguel Ángel 4fa2633e82 chore: release v0.4.40 2026-04-30 13:04:39 -04:00
Miguel Ángel 2045e21f70 chore: release v0.4.39 2026-04-30 01:18:15 -04:00
Miguel Ángel 4ab304e22f chore: release v0.4.38 2026-04-29 21:10:23 -04:00
Miguel Ángel b9a9998ff0 chore: release v0.4.37 2026-04-29 16:02:09 -04:00
Miguel Ángel 857b870459 chore: release v0.4.36 2026-04-29 14:55:45 +00:00
Miguel Ángel eb065260dc chore: release v0.4.35 2026-04-29 13:47:22 +00:00
Miguel Ángel 31c4f974ea chore: release v0.4.34 2026-04-28 23:39:28 +00:00
Miguel Ángel 46a4cacea2 chore: release v0.4.33 2026-04-28 12:45:02 -04:00
James Russo 4d0e262eb3 Merge pull request #511 from heygen-com/renovate/google-genai-1.x
chore(deps): update dependency @google/genai to ^1.50.1
2026-04-27 22:34:28 -07:00
Miguel Ángel 37827cdaec chore: release v0.4.32 2026-04-27 21:18:36 -04:00
renovate[bot] 2ed47eb076 chore(deps): update dependency @google/genai to ^1.50.1 2026-04-27 07:39:37 +00:00
Miguel Ángel 6e19d88e5f chore: release v0.4.31 2026-04-26 19:41:11 -04:00
James 2b836cc224 chore: release v0.4.30 2026-04-26 05:17:13 +00:00
Miguel Ángel 970367f5e6 chore: release v0.4.29 2026-04-25 19:11:53 -04:00
Miguel Ángel 34c710c44a chore: release v0.4.28 2026-04-25 17:20:25 -04:00
Miguel Ángel a65c0ce22e chore: release v0.4.27 2026-04-25 16:53:48 -04:00
Miguel Ángel 45f70004a1 chore: release v0.4.26 2026-04-25 11:14:36 -04:00
Miguel Ángel 8ac46b4596 chore: release v0.4.25 2026-04-25 10:59:45 -04:00
Miguel Ángel 82fab98e69 chore: release v0.4.24 2026-04-25 00:39:03 -04:00
Miguel Ángel c427619cff chore: release v0.4.23 2026-04-24 17:24:53 -04:00