Skip to content

@remotion/web-renderer: Return canvas/blob/url API from renderStillOnWeb#7013

Merged
JonnyBurger merged 3 commits intomainfrom
web-renderer-still-output-zmf
Apr 6, 2026
Merged

@remotion/web-renderer: Return canvas/blob/url API from renderStillOnWeb#7013
JonnyBurger merged 3 commits intomainfrom
web-renderer-still-output-zmf

Conversation

@JonnyBurger
Copy link
Copy Markdown
Member

@JonnyBurger JonnyBurger commented Apr 6, 2026

Summary

Breaking change (experimental): renderStillOnWeb() no longer takes imageFormat. It resolves to a RenderStillOnWebResult with canvas(), blob(), and url() after the frame is captured—similar to Renoun's screenshot() task.

Closes #6262

Details

  • Removes mandatory encode-at-render-time; encoding options move to blob() / url() via RenderStillOnWebEncodeOptions.
  • Thumbnail artifacts still work; onArtifact receives the OffscreenCanvas as the frame buffer.
  • Updates Studio client still queue, template capture helper, docs, and tests.

The return value is a plain object (not a thenable) so the exclusive render queue does not flatten away the methods.

Breaking change (experimental): remove imageFormat option; resolve to
RenderStillOnWebResult with canvas(), blob(), and url() after capture.

Aligns with Renoun screenshot task pattern (issue #6262).

Updates Studio client still queue, template capture helper, docs, and tests.

Made-with: Cursor
@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Apr 6, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Apr 6, 2026 10:24am
remotion Ready Ready Preview, Comment Apr 6, 2026 10:24am

Request Review

@JonnyBurger JonnyBurger changed the title @remotion/web-renderer: Return canvas/blob/url API from renderStillOnWeb @remotion/web-renderer: Return canvas/blob/url API from renderStillOnWeb Apr 6, 2026
@pullfrog
Copy link
Copy Markdown
Contributor

pullfrog bot commented Apr 6, 2026

Reviewed PR #7013 — approved with no issues. The API change from imageFormat option to deferred canvas()/blob()/url() methods is clean, all 59 changed files are consistent, and the using disposal semantics are safe (composited 2D canvas pixels are independent from the helper WebGL state).

Task list (6/6 completed)
  • Read the full diff and understand the changes
  • Review core implementation: render-still-on-web.tsx and render-still-screenshot-task.ts
  • Review capture-frame.ts and Studio integration changes
  • Review test changes and docs updates
  • Check exports and public API surface
  • Submit review

Pullfrog  | View workflow run | Triggered by Pullfrog | Using Big Pickle (free) | 𝕏

Copy link
Copy Markdown
Contributor

@pullfrog pullfrog bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed — no issues found.

Pullfrog  | View workflow run | Using Big Pickle (free) | 𝕏

@JonnyBurger JonnyBurger merged commit c0e349d into main Apr 6, 2026
19 checks passed
@JonnyBurger JonnyBurger deleted the web-renderer-still-output-zmf branch April 6, 2026 10:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Web Renderer: Don't force an image, also allow returning a canvas

1 participant