Skip to content

Fix Design image export with external stylesheets and improve promo typography - #8118

Merged
shawnmcclelland merged 4 commits into
mainfrom
codex/design-promo-export-mvp
Oct 23, 2026
Merged

shawnmcclelland merged 4 commits into
mainfrom
codex/design-promo-export-mvp

Conversation

@shawnmcclelland

@shawnmcclelland shawnmcclelland commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

PNG and PDF export can reject a fully loaded external stylesheet when the browser blocks CSSOM access, even when the export bridge can fetch and inline it. Preserve those linked stylesheets through mandatory resource inlining, while retaining hard failures for missing resources and inherited export errors.

Update Design’s existing generation guidance for promotional artwork: follow supplied brand tokens, choose type sizes and weights for the canvas, and inspect legibility at the intended display size. Record the corresponding readability pattern in the existing friction report. Also repair a stale core test database mock exposed by CI; production agent behavior is unchanged.

Validation:

  • Replayed five supplied 1000×1000 promo frames using Google Fonts and inline SVGs through the real PNG pipeline: all five failed before the fix and exported successfully on this branch, with no failed resource requests or page errors. Visually inspected all five images.
  • 58 focused export/bridge tests passed, including strict offline replay, unavailable-resource failures, and inherited canvas/embedded-document failure propagation.
  • All 16 terminal-run tracking tests and the runtime-skill trigger test passed.
  • Design and bridge typechecks, formatter, i18n catalogs, changed-copy guard, agent-context guard, and friction detector self-tests passed.

This is a scoped follow-up to #8086. The original reported agent-run causes remain unverified pending authenticated debug access; this change does not alter run budgets.

builder-io-integration[bot]

This comment was marked as outdated.

@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Here's a visual recap of what changed:

Visual recap

Open the full interactive recap

Copy link
Copy Markdown
Contributor Author

Addressed the inherited-error coverage suggestion in f3f661f: both Chromium capture flows now explicitly verify that pre-existing canvas and embedded-document failures return complete: false with export_resources_unavailable and retain their failure markers. Both browser regressions pass; production behavior is unchanged.

builder-io-integration[bot]

This comment was marked as outdated.

builder-io-integration[bot]

This comment was marked as outdated.

Copy link
Copy Markdown
Contributor Author

Replayed five supplied 1000×1000 promo frames with Google Fonts and inline SVGs through the real PNG export pipeline: all five reproduced export_resources_unavailable before this fix despite successful font/resource loads, and all five export successfully on this branch with no failed resource requests or page errors.

For the latest low-severity no-CORS-header coverage suggestion, I’m retaining the existing scoped regression coverage: failed resource fetches remain hard failures and a failed stylesheet is also checked on reprocessing. The change does not bypass CORS or resource validation; no additional runtime change is needed.

@builder-io-integration builder-io-integration 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.

Builder reviewed your changes — looks good ✅

Review Details

Incremental Code Review Summary

Reviewed the latest PR #8118 diff (325 changed lines across nine files). The new change adds a mock for getScopedTransactionDbExec to a run-store test; reviewers confirmed it follows neighboring test patterns and does not alter runtime behavior. Design export continues to preserve CSSOM-opaque stylesheet links for the inlining pass and to surface missing-resource and inherited snapshot failures. The inherited-failure behavior is now explicitly covered. No new actionable bugs were found. Risk remains standard because of the export failure-contract change.

🧪 Browser testing: Not run — browser-test-planner is unavailable in this environment; the dev server is running.

@shawnmcclelland
shawnmcclelland enabled auto-merge (squash) October 23, 2026 16:41
@shawnmcclelland
shawnmcclelland merged commit e147546 into main Oct 23, 2026
225 of 234 checks passed
@shawnmcclelland
shawnmcclelland deleted the codex/design-promo-export-mvp branch October 23, 2026 17:20
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.

2 participants