Repository navigation
icon: three agentic-era colour styles beside HQ - #95
Merged
Merged
Conversation
The HQ style was drawn against glossy 3D emoji masters and reads as the decade it borrows from: specular hotspots, bevels, inflated bodies. This adds three flat-material styles that take no emoji reference at all, so the look comes from the prompt and the hue from one palette: agentic-matte flat tonal planes, no gloss - the general-purpose one agentic-machined milled anodized aluminium - hardware and rack UIs agentic-emissive dark body, lit working part - dark terminals only `agentic` alone means matte: it is the only one of the three that holds its colour coding at 20px on a light ground as well as a dark one, which is where the other two fall apart. The draw and derive engine is now style-aware rather than HQ-shaped, and a set carries every style at once: `styles` lists them, `style_info` describes each, and each icon has a `styles` map. HQ keeps writing the top-level `hq` block and per-icon `hq` key as the same objects under their older name, so a reader from the first HQ release does not break. Two things learned the hard way are now in code. A master is validated by decoding it, not by its existence: a run that fills the disk leaves a truncated file with a plausible mtime, and the mtime skip then carries it forward for good, which is how one HQ webp shipped broken. And drawing a style takes hours, so --draw-only pairs with --no-draw to draw several styles at once and derive them in one pass, keeping a single writer on openicon.json. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ThreatCrush Security Scan23 finding(s) HIGH/CRITICAL: 4 | MEDIUM: 10 | LOW: 9
Snippets are redacted; ThreatCrush never prints matched credential material. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The HQ style was drawn against glossy 3D emoji masters, and it reads as the decade it borrows from: specular hotspots, bevels, inflated bodies. Anthony's words were "very early 2000s", and "an hq set for the agentic era too — not bubbly but still hq".
So this adds three flat-material styles rather than replacing HQ, which stays for the surfaces that want it.
agentic-matteagentic-machinedagentic-emissiveagenticalone meansagentic-matte. All three were judged on the same ten anchors before any of the 259 were drawn, which is what picked matte as the default: at 20px the machined body eats its own accent and the emissive one becomes a coloured outline with nothing inside it.What changed
src/icon-styles.tsis new: what each style looks like, one shared frame, one material paragraph each. The agentic styles take no emoji reference — that reference is where the gloss comes from — so their only pin is the icon's own line glyph.src/icon-palette.tsis new: hue per category and the meaning overrides, in one place, carrying each hue twice. The HQ glass wording is kept verbatim so nothing already drawn would come back different, and the plainaccentform is what the agentic styles put in their own material sentence.src/icon-hq.tsis now the engine rather than the style:drawHq/buildHqtake a style, andwithStylewrites one style intoopenicon.jsonwithout touching the others.bin/icon.ts:icon agentic [matte|machined|emissive|all]andicon style <id>;icon hqstill means what it meant.Manifest shape
Additive.
styleslists them,style_infodescribes each, each icon gets astylesmap. The HQ style keeps writing the top-levelhqblock and the per-iconhqkey as the same objects under their older name, so a reader written against the first HQ release keeps working.Two things learned the hard way, now in code
--draw-onlypairs with--no-draw. Drawing one style is hours of image calls; this is how three are drawn at once and derived in a single pass, keeping one writer onopenicon.json.Spec side: logicsrc rules 12 and 13 (a separate PR).
Tests: 1209 pass, 4 new (agentic prompt has no gloss vocabulary and no emoji refs; each style draws under its own directory; a truncated master is skipped and named; one manifest holds every style with
hqunder both names).