super-prototyping 1.2.0
·
316 commits
to main
since this release
2026-09-12. A board stops being something only the canvas can show: it has a
web page of its own, at an address a link or a Figma importer can reach. A
glyph traced off a capture can be fitted back into a drawing. Two more
example canvases.
The canvas
- A board is a web page with an address. The button in the corner of the
inspector's preview opens the board it is showing as an ordinary document at
/board/<slug>/<file>.html, and the top bar opens every board of a page in
one scrolling document atsheet.html?canvas=<slug>, laid out in
layout.json's rows with the canvas's own captions. This is where to read
type at the size it ships at rather than at whatever the canvas is zoomed to.
They are real addresses rather than theblob:URLs the first version handed
out, so a page can be linked, copied, reloaded, and read by the browser
extensions that refuse a generated page outright. The sheet is its own entry
in the build too, so reading a board no longer downloads tldraw to do it. - Export to Figma is a button that says so. The top bar's external-link
arrow is now a chip with Figma's mark, and the sheet it opens walks through
the route that works: install the html.to.design extension, capture the page
with it, then paste into a file. The extension is what the route turns on,
because the Figma plugin's own servers cannot reach localhost. The sheet
leaves the Foundations row out, because a token sheet is evidence behind the
screens rather than a screen to import beside them.
The toolkit and the skills
refkit refitturns a traced contour back into a drawing. A glyph traced
off a capture has the right shape and the wrong object: hundreds of implicit
linetos, visibly faceted where a board draws it large, while every delta
reads 0, because a mean delta cannot see faceting that stays inside a pixel.
refitresamples the contour, finds its corners by turning angle and fits
each run as a line, an arc or a cubic, leaving the file'sviewBox
byte-identical.clone-prototypesays when a glyph has to be redrawn, and how far to take
it. The half that cannot ship as code is nowreferences/glyphs.md: most
interface glyphs are a composition of primitives, because that is how they
were drawn, so the drawing is written with its dimensions as parameters and
the parameters are fitted against the trace, and the reference says how to
find what the glyph actually is and where to stop. Two pitfalls join the
list, both of which cost a run here: shipping a trace on a board that draws
it large, and measuring a stroke off a diagonal edge, where a 45° bar traces
about √2 thicker than it is.
Example canvases
- The
notion-iosexample canvas gains nine screens and a generator. The
four-screen flow for adding a data source to a database, and the five-screen
flow for adding an account, both measured against native @3x captures. The
folder's boards were hand-written HTML before, so a token could not be
changed in one place;gen.pyis now the only source of truth for all
sixteen. Two tokens moved with the re-measurement: the sheet inset is 68
rather than 71, and the type stack names SF Pro's Text cut outright, since
-apple-systemresolves to the Display cut and renders about 4% narrow. - And three more: the Plus & Notion AI purchase sheet. Monthly selected,
yearly selected, and the StoreKit "You're all set" alert over the dimmed
sheet with the subscribe button spinning. The sheet is Apple's paywall
rather than one of the app's own, so its metrics sit in a board-local block
after the shared tokens. The cat and the sparkle strokes on the feature card
are the folder's firstartgenassets:gpt-image-2redraws of the
capture's crops, keyed and scored inart-gen.json. apple-app-store, nine iOS 26 App Store screens. Native iPhone 16 Pro
captures rebuilt as onegen.py, with a token board and two evidence boards
behind 80 tokens. The app icons are the originals from the iTunes lookup API
and the editorial art is a crop at its measured box, including an Arcade hero
that ends at the photograph's own fade and is filled, where the headline
covered it, from EA's published key art registered onto the page. The status
bar istemplates/gen.py's byte for byte, moved as a group for the wider
frame, which is now what the skill asks for. It is the head of Apple's own
row on the welcome page.grok-ios, fifteen Grok iOS screens. The widget and its guide, the
paywall, the Terms update and its sign-out, the Grok Bot sheets, the home
with its composer, the voice picker and the Settings sheet at three scroll
positions, in the order the app walks them. Every icon is a crop of the
capture but seven: the three side glyphs on 04, and the four marks on 07's
chips, which are the publishers' own SVGs placed on a box fitted against the
capture rather than anything traced or redrawn.