Skip to content
ArcadiaDesign
Lookout

Registry

Every glyph is an outline with a filled form for the active state.

Sizes

Five sizes on the icon scale.

SizeSampleTokenValue
KnobTakesDefaultSets
Ref<IconSizeToken>var(--icon-base)Width and height, unless the size prop fixes them.

Brand mark

ArcadiaMark is the Arcadia pine: two arms and a pine, the only filled, multi-path glyph in the kit.

The running indicator is the same three strokes, lit one at a time: see Pine sweep.
Keep half the mark's height clear on every side; beside a wordmark, that is the gap.
The smallest size is 12px wide, the pine sweep in a chat row. Below that the arms close up.
Night and day: the mark takes --brand-mark, an icon rank, so it sits back in the chrome.
KnobTakesDefaultSets
Ref<IconSize>var(--icon-lg)Height; the width follows the mark.

Adding an icon

Every glyph is Arcadia's, drawn into the kit as data. The kit owns the names, so adding one is a kit change, never a product one.

TSX

Draw it on the 24 grid: live area 2 to 22, a 1.5 design stroke, round caps and joins, squircle corners on frames, and the off-slash rule (a full corner-to-corner slash the drawing meets on one side). Paste the stroked drawing as outline and the solid one as filled, with every paint attribute stripped; a glyph that is one solid shape in both states (the send button's stop) is solid. No script, no dependency: glyphs.test.ts holds the grammar. isIconName(value) narrows a string to IconName at runtime, for names that arrive as data. Add the new name's search words to the site's icon aliases so people can find it.

Provider marks

Model providers' marks are one filled path each in src/icons/provider-paths.ts, drawn inside the icon live area and shown in the icon ranks. Use them through ProviderMark.