Skip to content

feat(create): rebuild builder as a workspace studio#287

Open
mehdibha wants to merge 2 commits into
mainfrom
claude/cool-ptolemy-7691fd
Open

feat(create): rebuild builder as a workspace studio#287
mehdibha wants to merge 2 commits into
mainfrom
claude/cool-ptolemy-7691fd

Conversation

@mehdibha

@mehdibha mehdibha commented Jun 27, 2026

Copy link
Copy Markdown
Owner

Summary

Replaces the /create left panel (the drill-down CustomizerPanel) with a new workspace studio, and makes several builder axes genuinely live in the preview. UI-only experiment — no registry source touched.

Studio

  • Rail of workspaces — Start, Color, Typography, Shape, Spacing, Surface, Motion, Icons, Interaction, Components — over the live ?preset= channel.
  • Start: one-color-in magic seed, curated vibes, foundations-at-a-glance.
  • ⌘K command palette jumps to any control (deep-link scroll + highlight).
  • Color: simple/advanced, per-palette seeds, generation algorithm, gray strategy, status families, palettes-as-foundations, knobs, generated ramps + WCAG contrast, chart colors, and hue-derived harmonies.
  • Components: searchable list with synced-group awareness + the per-component param editor.
  • Export dock (CLI + v0) and the code-style modal carried over.

Live preview bridge

preview/bridge.tsx maps --ds-* builder tokens to real CSS inside the preview iframe. Verified live by measuring real elements:

Axis Status
Display + body fonts (on-demand Google Fonts loading) ✅ verified
Border width ✅ verified
Motion (animations on/off + duration) ✅ verified
Elevation / style family (flat · soft · 3D · glass) ✅ verified
Base size · letter spacing ✅ correct CSS (renders in real browsers)

Radius, density and the full color recipe were already live through the provider. Axes that don't repaint reliably in this pipeline (semantic color overrides, spacing scale, icon stroke) stay token controls captured for export and resolved by the publisher; the honesty dots reflect what's live today.

UX

  • Per-workspace "modified" dots on the rail; scoped per-section reset (resets only that workspace's axes — e.g. resetting Color leaves a changed radius intact).
  • Workspace enter transitions; tactile vibe-card press feedback.

Reviewer notes

  • No registry source touched → no build:registry needed.
  • ?lab=true still renders the prior panel-lab exploration, untouched.
  • pnpm typecheck and pnpm check pass; verified live in the browser preview with no console errors.

Note

Medium Risk
Large /create UI refactor and preview-only global CSS (!important on shadows/motion) could cause subtle preview regressions, but changes stay in www create modules with no registry or auth impact.

Overview
Replaces the drill-down CustomizerPanel on /create with a workspace studio: a left rail (Start, Color, Typography, Shape, Spacing, Surface, Motion, Icons, Interaction, Components) and a wider panel that still writes the same ?preset= channel. StudioTopBar replaces the global site header on this route (layout skips Header when pathname === '/create'), and hoists undo, reset, surprise-me, editable system name, and ⌘K search.

Start adds brand seed controls, curated vibes, and glance tiles that jump into other workspaces. Color expands into simple/advanced modes, harmonies, and richer ramp tooling; foundation workspaces consolidate typography through interaction controls with LiveDot honesty for preview wiring. ⌘K command palette deep-links to anchored controls (scroll + highlight). Per-workspace dirty dots and scoped reset land in divergence.

preview/bridge.tsx is new: it injects preview-only CSS (and Google Fonts) so many --ds-* tokens (fonts, base size, letter spacing, border width, motion, style family / shadows / glass blur) visibly affect the iframe; the preview route mounts PreviewBridge and bridgeAttrs. Export footer and code options are unchanged, carried in StudioFooter. ?lab=true still shows LabExperience inside the same provider/chrome.

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

Replace the /create left panel (the drill-down CustomizerPanel) with a new
workspace-based studio, and make several builder axes genuinely live in the
preview.

Studio:
- Rail of workspaces (Start, Color, Typography, Shape, Spacing, Surface,
  Motion, Icons, Interaction, Components) over the live ?preset= channel.
- Start: one-color-in magic seed, curated vibes, foundations-at-a-glance.
- Cmd-K command palette jumps to any control, with deep-link scroll + highlight.
- Color: simple/advanced, seeds, algorithm, gray strategy, status families,
  palettes-as-foundations, knobs, ramps + WCAG contrast, chart colors, and
  hue-derived harmonies.
- Components: searchable list with synced-group awareness + the per-component
  param editor.
- Export dock (CLI + v0) and the code-style modal carried over.

Live preview bridge (preview/bridge.tsx):
- Maps --ds-* builder tokens to real CSS inside the preview iframe so fonts
  (with on-demand Google Fonts loading), border weight, motion (on/off +
  duration) and style family (flat/soft/3D/glass) actually render.
- Axes that don't repaint reliably in this pipeline (semantic color overrides,
  spacing scale, icon stroke) stay token controls captured for export and
  resolved by the publisher; the honesty dots reflect what is live today.

UX:
- Per-workspace "modified" dots on the rail; scoped per-section reset.
- Workspace enter transitions; tactile vibe-card press feedback.

Notes for reviewer:
- UI-only experiment; no registry source touched (no build:registry needed).
- ?lab=true still renders the prior panel-lab exploration, untouched.
- pnpm typecheck and pnpm check pass; verified live in the browser preview.
@changeset-bot

changeset-bot Bot commented Jun 27, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 38eaaa0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel

vercel Bot commented Jun 27, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
dotui Ready Ready Preview, Comment Jun 27, 2026 10:59pm

@cursor

cursor Bot commented Jun 27, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_fde0f474-1f39-40ee-8d12-95fa88d317ff)

@cursor

cursor Bot commented Jun 27, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_57c0d48b-9b39-4837-8e9d-3e50ec9f2a4c)

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