Skip to content

feat(designer): split mockup screens into designs/screens/*.html - #56

Merged
TheGreatAxios merged 7 commits into
mainfrom
cl-11931-split-the-designers-mockup-into-per-screen-files-under
Nov 2, 2026
Merged

TheGreatAxios merged 7 commits into
mainfrom
cl-11931-split-the-designers-mockup-into-per-screen-files-under

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Closes CL-11931

What changed

  • Moved the starter mockup's <section data-screen="home"> out of workflows/designer/starter/.builder/designs/index.html into workflows/designer/starter/.builder/designs/screens/home.html, leaving designs/index.html with the shared app shell, navigation, <!-- builder:screens --> marker, and router script.
  • Added spliceDesignScreens and syncDesignScreensOnDisk (apps/hub/src/builds/starter.ts, wired into apps/hub/src/builds/sidecar-tools.ts and apps/hub/src/artifacts/design-draft.ts) so every edit to .builder/designs/ re-splices designs/screens/*.html into designs/index.html on disk and in packed design bundles while omitting only the exact untouched starter home.html once another screen exists.
  • Updated mockupPage (apps/web/src/pages/workspace/design-preview.tsx) and check-app (workflows/coder/check/check-app.ts) to match the hub's exact starter home.html predicate so a customized home.html that retains the starter heading and adds copy still assembles.
  • Updated check_design (apps/hub/src/builds/design-check.ts and apps/hub/src/artifacts/design-tools.ts) to automatically pack and file a design_option artifact in Postgres when check-app passes, and enabled fileBeforeDone: true on the designer's compactingDirector (apps/hub/src/workflows/compaction.ts, apps/hub/src/workflows/entries/designer.ts).
  • Updated workflows/designer/src/prompt.ts, workflows/designer/skills/react-ui/SKILL.md, workflows/designer/starter/README.md, and workflows/designer/README.md for per-screen files, the 3-screen cap, and automatic filing on a passing check_design.

How it was verified

  • bun run format:check
  • bun run lint
  • bun run typecheck
  • bun run test (including new tests in apps/hub/src/builds/starter.test.ts, apps/hub/src/artifacts/design-draft.test.ts, apps/hub/src/workflows/compaction.test.ts, workflows/designer/src/prompt.test.ts, and apps/web/src/pages/workspace/preview-interactions.test.tsx)
  • bun run pins:verify
  • bun run vendor:verify

@linear-code

linear-code Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

CL-11931

CL-11870

@corbits-triage corbits-triage Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Triage requests changes:

  • Conventions: added code matches a code pattern

@TheGreatAxios
TheGreatAxios force-pushed the cl-11931-split-the-designers-mockup-into-per-screen-files-under branch from 166c562 to 5eac1e4 Compare November 2, 2026 01:31
@corbits-triage
corbits-triage Bot dismissed their stale review November 2, 2026 01:33

Nothing triage asked to change still fails, so this request no longer stands.

corbits-triage[bot]
corbits-triage Bot previously approved these changes Nov 2, 2026
@TheGreatAxios
TheGreatAxios force-pushed the cl-11931-split-the-designers-mockup-into-per-screen-files-under branch from 5eac1e4 to 816e38a Compare November 2, 2026 02:14
corbits-triage[bot]
corbits-triage Bot previously approved these changes Nov 2, 2026
corbits-triage[bot]
corbits-triage Bot previously approved these changes Nov 2, 2026
@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Per-screen files assemble into the shell, and an old single-file designs/index.html bundle is left unchanged. One predicate does not match the hub.

Preview and check-app drop designs/screens/home.html when it still contains the starter heading, <h1 data-testid="home-title">Hello, world</h1>. The hub only drops that file when its bytes are exactly the untouched starter (withoutUnusedStarterHome). A real Home screen that keeps the starter heading and adds copy is omitted from <main>. check-app then says #/home has no data-screen, so check_design fails and the design cannot be filed.

An exact starter home.html should still be omitted once another screen exists. A home screen whose heading was replaced already assembles. A bundle that is only designs/index.html stays byte-identical.

@corbits-triage corbits-triage Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Triage requests changes:

  • Conventions: added code matches a code pattern
    • apps/web/src/pages/workspace/index.tsx:1038 empty-list-fallback: Invented fallback `?? []`; handle the missing value instead.

@corbits-triage corbits-triage Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Triage requests changes:

  • Conventions: added code matches a code pattern
    • apps/web/src/pages/workspace/index.tsx:1038 empty-list-fallback: Invented fallback `?? []`; handle the missing value instead.

@TheGreatAxios
TheGreatAxios force-pushed the cl-11931-split-the-designers-mockup-into-per-screen-files-under branch from d3c0481 to 4fe8770 Compare November 2, 2026 09:20
@corbits-triage
corbits-triage Bot dismissed stale reviews from themself November 2, 2026 09:24

Nothing triage asked to change still fails, so this request no longer stands.

@corbits-triage corbits-triage Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Triage requests changes:

  • Merge conflicts: merge conflicts with base

@TheGreatAxios
TheGreatAxios force-pushed the cl-11931-split-the-designers-mockup-into-per-screen-files-under branch from 4fe8770 to 8c34d95 Compare November 2, 2026 10:00
@corbits-triage

corbits-triage Bot commented Nov 2, 2026

Copy link
Copy Markdown

Triage: In progress

Triage is waiting for CI to finish before it decides. This comment shows the verdict once it has.

@TheGreatAxios
TheGreatAxios merged commit 0c3528b into main Nov 2, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant