feat(create): rebuild the builder as an expand-in-place Spine#294
feat(create): rebuild the builder as an expand-in-place Spine#294mehdibha wants to merge 3 commits into
Conversation
Replace the left-panel customizer + lab with a new builder/ module: a brand-intake first run (seed one colour -> full system) that collapses into a single never-reloading column of expand-in-place axis rows covering colours (simple/advanced, contrast guard, palettes-as- foundations), typography, icons, density, radius, borders, elevation, motion, interaction, appearance and chart colours, plus a searchable per-component editor with real synced-group fan-out and a settable Cmd+K palette. UI-only experiment: real axes drive the live preview, proposed axes are surfaced honestly via binding dots.
|
|
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_4eb147c0-580f-4eee-89f1-6aad8be1f7c7) |
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_f96fba2d-5c5a-403c-84d2-d78507b1fff9) |
What
Removes the old
/createleft panel (customizer-panel.tsxand the in-progresspanel/lab) and rebuilds the experience from scratch as Bloom — a single, never-reloading column ("the Spine") that grows from one decision to two hundred. New module:www/src/modules/create/builder/. The live-preview canvas is unchanged.Why
The brief: feed a brand, walk away with a complete, on-brand component library you can open anywhere — serving two moods at once (clean output fast and tweak every detail), with control over any axis (seed one colour → full system, decide how the colour system is built, expose palettes as foundations or not, tune any component). The design was chosen via a multi-agent judge-panel (5 independent visions → 15 adversarial judges → 1 synthesized blueprint); Bloom won and grafted the best of the runners-up.
Highlights
resolveColorConfigramp + auto-derived status seeds), or feed URL / logo / vibe / starter. Collapses into a header provenance chip.setGroupParam.Wired vs proposed
--ds-*vars and go live the moment a component reads one.Plumbing (outside
builder/)preset/use-design-system.ts— addedsetGroupParam(members, param, value)(atomic group fan-out, single undo entry).components/index.tsx— exportedgetComponentsInGroup,getComponentMeta,getSyncedGroup,allGroups.routes/_app/create.tsx— swapped the panel forBuilderPanel; dropped thepanel/labsearch params.No registry source changed → no generated drift.
Verified
First-run intake + birth animation, starter recolouring the live preview, Build → Spine, toggle/accordion, expand-in-place content, AUTO ghost seeds, synced-group fan-out, palettes bloom, ⌘K open + jump, export footer reflecting the live preset.
pnpm typecheck+pnpm checkgreen.Reviewer notes
/createrebuild in the ongoing bake-off; this one lives inbuilder/(notstudio/) so it doesn't collide with the sibling studio branches, but it does replace the default/createroute (the old panel is deleted).docs/research/2026-06-27-create-builder-redesign.md.Note
Medium Risk
Large UX swap on the primary
/createroute and removal of the old panel/lab paths; preset/undo behavior moved to the page layer but still URL-backed.Overview
Replaces the default
/createleft panel by deletingcustomizer-panel.tsxand the entirepanel/lab (?lab), and shipping a newbuilder/module: brand intake (color/URL/logo/vibe/starters), a single-column Spine with expand-in-place accordion rows, foundation axes + searchable components, and a ⌘K command palette.The create route now uses a dedicated
CreateTopBar(shuffle, undo, ⌘K, system name) instead of the global site header on/create;panel/labsearch params are removed. Undo/shuffle and first-run intake live on the page and sync with the panel.Plumbing:
setGroupParamfor atomic synced-component edits (one undo step); component registry helpers exported for the builder; live vs proposed (--ds-*) axes marked with binding dots (stub controls do not affect export until wired).Adds research doc
docs/research/2026-06-27-create-builder-redesign.md. Preview canvas unchanged; no registry source changes.Reviewed by Cursor Bugbot for commit 7fad9fb. Bugbot is set up for automated code reviews on this repo. Configure here.