Icon system — today, Lucide, SF Symbols

docs/design-icon-system.md · 15 Oct 2026 · built by experiments/icon-system/build_mockup.py

Artefact — real pixels, product type and CSS Commentary — not the product
web · Inter
mac · SF Pro
How to read this. Section 1 judges ink: the same line of eight icons and words at every candidate stroke, beside Inter (browser) and SF Pro (the SPA inside the Mac app), with real SF Symbols at four weights as the Mac reference. The green row is the rule: stroke = the stem of the text beside it (Inter and SF Pro measure within 2%, so one table serves both). ★ marks today's house stroke (Icon.tsx, 1.4 px); ·L marks Lucide's default at 14 px (2 × 14/24 ≈ 1.17 px). Section 2 is one row per concept: today's drawings lifted from the source (real size, then 3×), the Lucide candidates, the SF Symbol the Mac uses, and each in a real .toolbar-btn. The sliders drive section 2 and the sheet's context buttons; section 1 rows carry fixed strokes. Choices and notes save in this browser; Copy my decisions gives Markdown to paste back. Judge at real size; for pixels use macOS zoom (⌃-scroll), not the 3× column, which redraws vectors. Labels in the buttons are illustrative, not locale keys. SF Symbol PNGs are rendered locally and gitignored — rerun the build if they are missing.

1 · Ink: Lucide stroke against the text

{{STRIP}}

2 · The icons, one row per concept

{{SHEET}}
concepttoday (lifted)LucideSF Symbol · 13 / 15 ptin contextnote

Paste this back into the conversation.