Skip to content

@remotion/browser-studio: Add project download - #9812

Merged
JonnyBurger merged 1 commit into
mainfrom
codex/browser-studio-download-project
Jul 28, 2026
Merged

@remotion/browser-studio: Add project download#9812
JonnyBurger merged 1 commit into
mainfrom
codex/browser-studio-download-project

Conversation

@JonnyBurger

Copy link
Copy Markdown
Member

Summary

  • add a typed Browser Studio capability for downloading the current virtual project
  • create a safe ZIP containing project files, binary public assets, and a portable package manifest
  • expose File -> Download project only when the browser capability is available
  • reuse the Studio's browser download helper

Test plan

  • bun run build
  • bun run stylecheck
  • Browser Studio, Studio, and Studio Shared package tests
  • red/green verification of the Browser Studio operation wiring
  • manual Browser Studio download and ZIP manifest inspection

Closes #9806

@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated (UTC)
bugs Ready Ready Preview, Comment Jul 28, 2026 1:03pm
remotion Ready Ready Preview, Comment Jul 28, 2026 1:03pm

Request Review

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

✅ No new issues found.

Reviewed changes — adds a File → Download project menu item in Browser Studio that produces a portable ZIP with resolved dependency versions, public assets, and all project source files.

  • Add makeBrowserStudioProjectArchive — builds a ZIP from a VirtualProject using fflate, with path traversal protection, workspace/catalog: resolution to published versions, a default package.json fallback, and duplicate-path collision detection.
  • Add downloadProject to BrowserStudioOperations — conditional operation gated on dependencyVersions, wrapped in Promise.resolve for async compatibility.
  • Extract downloadBlob into packages/studio/src/helpers/download-blob.ts — moves the blob download logic out of ClientRenderQueueProcessor into a reusable helper, consumed by both the render queue and the new menu item.
  • Wire File → Download project menu — appears only when getBrowserStudioOperations()?.downloadProject is available; converts the Uint8Array ZIP to a Blob via safe buffer.slice(byteOffset, byteOffset + byteLength) to handle potentially view-backed typed arrays.

Pullfrog  | View workflow run | Using DeepSeek Pro (free via Pullfrog for OSS) (Claude Opus not used — the program covers this model; add its provider key to run your pick) | 𝕏

@JonnyBurger
JonnyBurger merged commit a9e0365 into main Jul 28, 2026
19 checks passed
@JonnyBurger
JonnyBurger deleted the codex/browser-studio-download-project branch July 28, 2026 15:17
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.

Allow downloading the project

1 participant