Skip to content

OpenIcon: a set may carry several colour styles - #209

Merged
ralyodio merged 2 commits into
masterfrom
openicon-agentic
Sep 24, 2026
Merged

ralyodio merged 2 commits into
masterfrom
openicon-agentic

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

HQ was OpenIcon's first colour style, and it was drawn beside glossy 3D emoji masters — which is exactly what it reads as. Anthony's words: "very early 2000s", and "we need an hq set for the agentic era too, not bubbly but still hq".

So a colour style cannot be one look forever. The reference set now carries four, and the spec grows two rules to say how.

Rules 12 and 13

12. More than one colour style is a map, not a second name. styles lists them, style_info describes each, and each icon carries a styles map whose entries are shaped exactly as rule 9's hq block. A set with an HQ style keeps writing the old top-level hq block and per-icon hq key — the same objects under their older name — so a reader written against the first HQ release keeps working. Every rule about HQ holds for every colour style.

13. A style says what it is for, and a reader may refuse it. The choice between colour styles is a choice of surface: near-black bodies with lit accents are right on a dark terminal and illegible on paper, and only the set knows which is which. label names it, material is one line on what it is made of. A family shares a prefix and the family name alone means its default member, so agentic means agentic-matte.

The gallery

/openicon had a hardcoded simple/HQ switch. It now builds its tabs from the manifest: one per style the set has actually drawn, labelled and explained from style_info, with the material shown under the toolbar. The detail pane shows every style an icon has rather than just HQ, and the downloads follow.

Also ships the hosted set copy for the three new styles: 64 and 128px webp plus brand SVGs, and the updated manifest. Every one of the 1,480 asset paths the gallery can request was checked to resolve on disk.

The styles

Style Material Good for
agentic-matte Flat tonal planes, hard boundaries, one cool edge-light The default: holds at 20px on light and dark
agentic-machined Milled anodized aluminium, hairline chamfers, one anodized accent Hardware and rack UIs, shown large
agentic-emissive Near-black body with the working part lit Dark terminals only

777 drawings, none failed. Set: profullstack/openicon@217994f. Builder: profullstack/cli-tools#95 (merged) and #97.

Note: npx next build fails in this branch on the pre-existing @profullstack/x402-gateway module-not-found, which reproduces identically on master — unrelated to this change. tsc --noEmit on the app reports the same four pre-existing errors as master and none in the gallery.

ralyodio and others added 2 commits September 24, 2026 12:00
Rules 12 and 13. HQ was the first colour style and it was drawn beside
glossy 3D emoji masters, which reads as the decade it borrows from, so
a colour style cannot be one look forever: the reference set now carries
four, HQ plus three flat-material agentic styles.

Rule 12 makes more than one a map rather than a second name: `styles`
lists them, `style_info` describes each, and each icon carries a `styles`
map whose entries are shaped exactly as rule 9's `hq` block. A set with
an HQ style keeps writing the old top-level `hq` block and per-icon `hq`
key as the same objects under their older name, so a reader written
against the first HQ release keeps working.

Rule 13 makes a style say what it is for. The choice between colour
styles is a choice of surface: near-black bodies with lit accents are
right on a dark terminal and illegible on paper, and only the set knows
which is which. A family shares a prefix and the family name alone means
its default member, so `agentic` means `agentic-matte`.

The gallery follows the manifest instead of a simple/HQ switch: one tab
per style the set has actually drawn, labelled and explained from
`style_info`, and the detail pane shows every style an icon has.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The hosted copy of the reference set gets the new styles' 64 and 128px
webp and the brand SVGs, plus the manifest that now lists all four
colour styles, so the gallery's tabs have something behind them.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

25 finding(s)

HIGH/CRITICAL: 3 | MEDIUM: 10 | LOW: 12

Severity Rule Location
HIGH secret-private-key plugins/credential-sharing/src/providers/ssh.ts:129
HIGH js-host-header-trust apps/commandboard-web/server.js:27
HIGH js-ssrf-outbound-request apps/pwa/public/sw.js:45
MEDIUM js-unescaped-html-sink apps/commandboard-web/src/main.ts:19
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/[[...slug]]/page.tsx:55
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/layout.tsx:80
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/app/pricing/page.tsx:42
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/breadcrumbs.tsx:43
MEDIUM js-unescaped-html-sink apps/logicsrc-web/src/components/site-shell.tsx:34
MEDIUM redos-nested-quantifier packages/opencontext/src/ids.ts:10
MEDIUM redos-nested-quantifier packages/opencontext/src/ids.ts:11
MEDIUM js-timing-unsafe-mac-compare packages/opencontext/src/validate.ts:208
MEDIUM redos-nested-quantifier packages/openontology/src/ids.ts:20
LOW secret-generic-credential apps/pwa/test/appbar.test.mjs:10
LOW secret-aws-access-key packages/opencontext/src/permissions.test.ts:260
LOW secret-private-key packages/opencontext/src/permissions.test.ts:261
LOW secret-stripe-key packages/opencontext/src/permissions.test.ts:262
LOW secret-aws-access-key packages/opencontext/src/security.test.ts:228
LOW secret-database-url packages/opencreds/src/categories.test.ts:98
LOW secret-database-url packages/opencreds/src/categories.test.ts:103
LOW secret-generic-credential packages/opencreds/src/import-router.test.ts:121
LOW secret-private-key plugins/credential-sharing/src/providers/ssh.test.ts:7
LOW secret-database-url plugins/credential-sharing/src/rekey.test.ts:33
LOW secret-openai-key plugins/credential-sharing/src/vault-encryption.test.ts:21
LOW secret-generic-credential plugins/credential-sharing/src/vault-encryption.test.ts:21

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit 559c500 into master Sep 24, 2026
6 checks passed
@ralyodio
ralyodio deleted the openicon-agentic branch September 24, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant