Skip to content

[2/7] Check the edit before encoding and fail on placeholders - #225

Merged
dazzatronus merged 2 commits into
mainfrom
derk/export-2-checks
Oct 21, 2026
Merged

dazzatronus merged 2 commits into
mainfrom
derk/export-2-checks

Conversation

@dazzatronus

@dazzatronus dazzatronus commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

A host can only fall back to a cloud render if the export tells it the browser can't draw the edit faithfully. The exporter encoded whatever was on the canvas: grey placeholders for failed loads, the pending animation for prompt-only AI clips, unkeyed chroma key. Before encoding, it now checks the edit and the browser and rejects with phase unsupported and a list of issues (codes in the readme). During export, a clip still showing a placeholder, or a load still pending after 30 s, rejects with phase assets. String font weights are read the way RichTextPlayer reads them, so weight: "bold" doesn't raise a false font issue.

About 550 lines, more than half tests: one per issue code.

# PR Adds Why separate
1 #224 exportBlob as the export engine (merged, 2.26.0) The new API
2 (this PR) #225 Pre-flight issues; fail on placeholders Routing depends on it
3 #226 Off-screen frames Stops the page jumping
4 #227 Clip speed in frames and audio Its own fix
5 #228 Size and bitrate from the edit Its own fix
6 #229 Refuse or correct the remaining wrong exports Found in the whole-stack review
7 #230 Release 2.27.0 Mechanical

Verify: npm run verify:ci; in a browser, a faithful edit exports in Safari and Firefox, and prompt-assets.json rejects with ai-pending and clip ids matching getEdit({ includeIds: true }).
Risk: export() refuses edits it used to encode best-effort; the changelog in [7/7] says so.

@dazzatronus
dazzatronus merged commit 7052756 into main Oct 21, 2026
1 check passed
@dazzatronus
dazzatronus deleted the derk/export-2-checks branch October 21, 2026 22:24
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.26.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