Skip to content

Honor still alpha, SIGINT, and Source Media ready timeout in headless render - #21

Merged
lenxism merged 1 commit into
mainfrom
fix/headless-still-followups
Jul 22, 2026
Merged

Honor still alpha, SIGINT, and Source Media ready timeout in headless render#21
lenxism merged 1 commit into
mainfrom
fix/headless-still-followups

Conversation

@lenxism

@lenxism lenxism commented Jul 22, 2026

Copy link
Copy Markdown
Owner

Summary

  • Transparent Stage + PNG/WebP stills now ask the Exporter for alpha (same gate as the editor; JPEG stays opaque).
  • Still capture forwards AbortSignal and maps abort to exit 130, matching video encode.
  • Headless ready gate times out after 30s if bound Source Media never publishes a display aspect (was an unbounded hang).

These were local follow-ups left uncommitted when #20 merged.

Test plan

  • Unit coverage for still transparent, still abort → 130, and ready-gate timeout
  • pnpm test locally (or CI) on this branch
  • Optional smoke: mockstudio render a transparent-Stage PNG and Ctrl+C a still render

Note

Medium Risk
Changes export alpha semantics and CLI interrupt/headless readiness behavior on the render path; risk is mitigated by unit tests and parity with existing video abort handling.

Overview
Headless still rendering now matches the editor for transparency: buildStillExportRequest sets transparent when the Stage is transparent and the format is PNG or WebP (JPEG stays opaque).

Still capture accepts an AbortSignal, passes it through Playwright’s withHeadlessPage, and maps abort to exit 130 with the same interrupted JSON envelope as video encode.

The headless ready gate no longer waits forever when bound Source Media never publishes a display aspect—it rejects after 30s (configurable in tests via displayedMediaTimeoutMs).

Reviewed by Cursor Bugbot for commit e2140bc. Bugbot is set up for automated code reviews on this repo. Configure here.

… render.

Follow-ups left uncommitted when #20 merged: transparent Stage stills match the editor, still capture maps abort to exit 130, and the ready gate no longer hangs forever on missing display aspect.
@vercel

vercel Bot commented Jul 22, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
mockstudio Ready Ready Preview, Comment Jul 22, 2026 4:05pm

@lenxism
lenxism merged commit 98bf0eb into main Jul 22, 2026
5 checks passed
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.

1 participant