feat: token editor and live canvas (milestone 3) #3
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/m3-editor-and-canvas"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Milestone 3 from
docs/roadmap/v1-remaining-work.md. Design in ADR 0009.Summary
Decisions (ADR 0009):
sandbox="allow-scripts allow-same-origin". A fully opaque origin would need CORS on module scripts and a dev server that accepts thenullorigin.X-Frame-Optionschanges fromDENYtoSAMEORIGIN.packages/preview, with no shadcn package added. The AGENTS.md "no shadcn/ui" rule covers the app's own UI.:rootrule appended last, so it always wins.trail checkflags web files against the "token documents arejson, notjsonb" learning. These are keyword matches only; this PR changes no database schema.Evidence
Done-when scenario:
apps/web/src/features/editor/EditorPage.test.tsxTokenRelations.test.tsxcovers chain and dependents across a three-level chain (component -> semantic -> primitive).PreviewFrame.test.tsxchecks that areadyfrom its own frame gets a render, that other sources and malformed data are ignored, and that a theme change posts again without remounting.runtime.test.tsxchecks the single style element, that a second render replaces it rather than adding one,data-mode, ignored foreign messages, thereadypost, and the light-mode contrast warning.galleries.test.tsxchecks 13 examples per library and that each one renders..bg-primary{background-color:var(--primary)},.btn-primary{--btn-color:var(--color-primary)}). The preview pages were checked in headless Chromium against the built dist with posted render messages: colours, radius and font changed, and light and dark both worked on both libraries.pnpm lintandpnpm typecheckare clean, andpnpm --filter @designbase/web buildemitspreview/shadcn.htmlandpreview/daisyui.html.Merge Danger
Door: two-way
There are no API or database changes. The Caddy header change only loosens framing to the same origin.
Blast Radius: web
🤖 Generated with Claude Code