Skip to content

HTML5 WebP capture + Google Font auto-registration on export#116

Merged
dazzatronus merged 4 commits into
mainfrom
fix/html5-playback
May 27, 2026
Merged

HTML5 WebP capture + Google Font auto-registration on export#116
dazzatronus merged 4 commits into
mainfrom
fix/html5-playback

Conversation

@dazzatronus
Copy link
Copy Markdown
Contributor

@dazzatronus dazzatronus commented May 26, 2026

Summary

  • HTML5 clips capture frames as WebP instead of PNG (~30ms vs ~1s/frame), bake in bounded concurrent batches so the editor stays responsive, and show a bottom-edge "Loading video…" indicator while baking.
  • Removed the dead Html5Player duration-detection logic — frame count now bakes the full clip uniformly.
  • getEdit()/export auto-registers catalogued Google Fonts a clip references into timeline.fonts, so an edit built without an explicit add_font still renders with the correct font instead of falling back or failing.

Test plan

  • tsc + build clean; jest 1785/1785 pass (incl. new tests/font-autoregister.test.ts)
  • Render rich-text using a Google Font with no fonts[] entry → correct font in output
  • HTML5 clip bakes without freezing the editor; loading indicator shows; animation plays the full clip

Note

SDK now requires canvas ≥ 2.8.2 (calls computeHtml5FrameCount without detectedDurationMs). Dependency is currently ^2.8.0 — bump the floor to ^2.8.2 before merge.

@dazzatronus dazzatronus self-assigned this May 26, 2026
@dazzatronus dazzatronus merged commit 74a1e58 into main May 27, 2026
1 check passed
@dazzatronus dazzatronus deleted the fix/html5-playback branch May 27, 2026 07:28
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 2.11.1 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant