feat(create): add opt-in studio builder redesign#293
Conversation
An experimental canvas-first rethink of /create behind `?studio=true`, leaving the shipped editor untouched. A persistent axis rail replaces the slide-stack, a wider inspector runs on a macro→micro spine, and a docked AI bar drives the system in natural language. Adds new axes (elevation, motion, surfaces, focus, states, plus shape/spacing depth) and an AI Style front door (prompt-to-system + vibe presets). UI-only: reuses useDesignSystem, the existing config panels, and the preview iframe; new axes are interactive but not yet wired to live tokens.
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Bugbot couldn't run - usage limit reachedBugbot 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_7d513367-0fcc-45a6-b333-a7c3bdae7775) |
Bugbot couldn't run - usage limit reachedBugbot 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_b121ad59-69f0-48bc-ad08-8c64b7a6185c) |
What
An experimental, opt-in rethink of the
/createbuilder at/create?studio=true. The shipped editor and the?labexperience are untouched — this adds a third, parallel experience behind its own flag (same pattern aslab).Why
Today's panel is a 288px slide-stack: every axis is buried behind a back button, controls are cramped, undo is invisible, there's no front door for "just make it look like X", and ~half the axes a real design system needs (elevation, motion, surfaces, focus, spacing) are missing. This explores a canvas-first direction that scales to far more tweaks while staying navigable.
The direction
A canvas-first design tool on a macro → micro spine:
New axes (the "do anything" breadth)
Beyond the existing color / type / icons / radius / density / cursor / charts (all reused as-is): elevation, motion (duration, easing/spring with a play demo, reduced-motion), surfaces (translucency, blur, background style), focus (ring/outline/glow), states (hover/press/transition), plus shape (corner style, border width, hairlines) and spacing (base unit, rhythm, control height) depth.
AI, woven in (there's none in the product today)
Reuse / safety
ColorsConfig,TypographyConfig,ChartColorsConfig, component editors,ExportFooter,CodeOptionsDialog, and the preview iframe — no duplication of working axes.www/src/registry/changes → no registry/reference drift. New code is www-side only (modules/create/studio/+ one route guard).lgit shows a "use a wider screen" notice rather than cramming the 3-zone layout.Verification
pnpm typecheck✅ ·pnpm check✅ (0 errors, 0 new warnings, formatting clean)200at/create?studio=truewith no server errors; all panels render.Follow-ups (not in this PR)
Note
Low Risk
Opt-in behind
?studio=true, www-only with no registry changes; default/createbehavior is preserved aside from the intentional header swap for a builder-specific top bar.Overview
Adds an opt-in canvas-first builder at
/create?studio=true(alongside unchanged default and?lab), plus layout tweaks so/createno longer shows the global site header.Studio shell is a three-zone desktop layout: persistent axis rail, 320px inspector (reuses existing color/type/components/export panels; new elevation/motion/surface/focus/states panels are interactive UI stubs with dashed “not wired yet” notes), and live preview with a docked AI refine bar. Studio top bar adds undo (preset history stack), re-roll, and “Ask dotUI” (⌘K focuses the AI input via a small
ai-focusbridge). Belowlg, studio shows a “use a wider screen” message instead of cramming the layout.Style / “AI” layer (keyword-driven, not a real model): vibes and prompts map to accent/radius/density through existing
setDesignSystem; the docked bar’sapplyDeltatweaks density, radius, contrast algorithm, shuffle, etc., with a short chat log.Default and lab now render
CreateTopBar(logo, GitHub, theme) because_app/route.tsxhides the globalHeaderon/createso builder variants don’t stack two bars.Reviewed by Cursor Bugbot for commit b7bc8e4. Bugbot is set up for automated code reviews on this repo. Configure here.