
New
2Export a design system out of a generated design.
The preview's share menu gains *Design system (tokens + DESIGN.md)*, which serves the page, measures what it actually renders — palette, type, radii, shadow, motion — and writes an importable package: design-system.json, tokens.css, tokens.json, direction.json, DESIGN.md, components.html, a thumbnail and its measurement reports. Import it in Systems to start the next brief from the look you already have, instead of describing it again in prose. The result line names the token and colour counts and any contrast repairs. It is a metered render, and it is refused on codebase projects, where the design lives behind your own dev server and Build mode's Tokens tab covers it.
Measurement and token generation are shared.
extract-style.mjs and tokens.mjs now build on lib-style-dna.mjs and lib-tokens.mjs, so an extracted package and a tokens.mjs run cannot disagree about the same design.
Improved
2The prompt bubble renders markdown.
A brief dispatched over MCP arrives as markdown — headings, lists, fenced code, #rrggbb swatches — and the bubble showed it raw, with no line breaks, so a long one collapsed into a single unreadable paragraph. It now goes through the same escape-first renderer the agent's replies use, and the source tag (via MCP · <connection>) and version tag sit on their own line above it rather than running into the first sentence.
A long prompt clamps behind a toggle.
Rendered markdown is taller than the paragraph it replaced, so a prompt past roughly sixteen lines fades out at the clamp and offers *Show full prompt*. The measurement follows the chat column as it is dragged, and *Copy* still copies the markdown source.
Fixed
2The device stage scrolls properly (BUG-129).
The host-drawn indicator on a device stage is a real draggable scrollbar now, because the artifact's own bar is suppressed there. A second fit measurement stops viewer chrome sizing the device taller than its room and nesting a second scroller inside it, and the artboards strip is capped so it can no longer crowd out the stage.
The composer footer and Talk cards stop overflowing (BUG-128).
Home's pickers wrap into their own block, so a linked repo cannot push the Start buttons off the row; a linked-code chip shows the basename alone, capped at 18 characters; Talk card titles wrap their decision text and chips into two zones.