-
Notifications
You must be signed in to change notification settings - Fork 938
feat(gui): source brand marks for 23 providers that rendered a letter tile #3095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -140,3 +140,85 @@ Both directions are enforced in `gui/tests/integration-marks.test.ts`, including | |
| luminance check that fails any single-ink near-neutral mark left as an image. That | ||
| direction was missing until it caught `grok`; the same class of defect had already | ||
| shipped once for `prime`, `opencode` and `kimi`. | ||
|
|
||
| ## Provider marks (2026-09-01) | ||
|
|
||
| Sourced for the providers that were rendering a coloured initial tile. Every | ||
| entry below was fetched from the vendor's own domain, taken from the registry's | ||
| `baseUrl`/`dashboardUrl` rather than guessed. | ||
|
|
||
| Published as SVG and committed with only comments, `<title>`/`<desc>` and | ||
| `data-name` attributes stripped: | ||
|
|
||
| - `digitalocean.svg` — `digitalocean.com` favicon, 32x32. | ||
| - `featherless.svg` — `featherless.ai/favicon.svg`, 256x256. | ||
| - `kilo.svg` — `kilo.ai/favicon/favicon.svg`, 32x32. Keeps its `oklch()` plate. | ||
| - `nanogpt.svg` — `nano-gpt.com/logo.svg`, 181x187, gradient. | ||
| - `nebius.svg` — `nebius.com/favicon/favicon.svg`, 96x96. | ||
| - `neuralwatt.svg` — the site's Webflow-hosted brand asset, 32x32. | ||
| - `parallel.svg` — `parallel.ai/icon.svg`, 96x96. | ||
| - `scaleway.svg` — `scaleway.com/favicon/website/favicon.svg`, 16x16. | ||
| - `synthetic.svg` — `synthetic.new/favicon.svg`, 54x54. | ||
| - `zai.svg` — `z-cdn.chatglm.cn/z-ai/static/logo.svg`, 30x30. | ||
| - `zenmux.svg` — the site's CDN-hosted brand mark, 160x160. | ||
|
|
||
| Traced from raster, because the vendor publishes no square SVG mark. Same | ||
| technique as `hermes-agent.svg` and `gajae-code.svg`: `potrace -s --flat` for a | ||
| single-ink silhouette, k-means colour layers (seeded at 3, largest area first) | ||
| for multi-colour art, downsampled to a 160px box first so the trace does not | ||
| follow every upscaled pixel edge. | ||
|
|
||
| - `cerebras.svg`, `novita.svg`, `siliconflow.svg`, `deepinfra.svg` — single-ink. | ||
| - `baseten.svg`, `hyperbolic.svg`, `sambanova.svg`, `umans.svg`, `venice.svg`, | ||
| `vultr.svg`, `bizrouter.svg`, `orcarouter.svg` — colour-layered. | ||
| - `nous.svg` — traced from `nousresearch.com/apple-touch-icon.png` (180x180). This | ||
|
Comment on lines
+165
to
+174
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Complete provenance for the committed marks. The traced group does not record the source raster URL or capture date for most assets. Add an exact source URL and retrieval date for every mark. Add licensing or trademark notes, and record the input raster source for each traced asset. This makes the asset history reproducible and reviewable. 🤖 Prompt for AI Agents |
||
| is the Nous Research company mark, distinct from `hermes-agent.svg`, which is | ||
| the Hermes product's own icon. Attributing one to the other would be wrong even | ||
| though the same organization ships both. | ||
|
|
||
| Found on a docs subdomain after the vendor's marketing site offered only a | ||
| wordmark: | ||
|
|
||
| - `together.svg` — `docs.together.ai/favicon.svg`, 1.07:1. | ||
| - `litellm.svg` — `docs.litellm.ai/img/logo.svg`, 1:1. The marketing site's SVGs | ||
| are third-party model logos, not LiteLLM's own mark. | ||
|
|
||
| **The plate problem, recorded because the first pass shipped it.** A favicon is | ||
| usually a glyph on a filled rounded square. Tracing luminance alone captured the | ||
| square and produced a solid box: `baseten` came out 97.7% ink, `bizrouter` 89.3%. | ||
| The fix reads the border ring, takes its median colour as the plate when the ring | ||
| is uniform, and masks by distance from that colour instead of by darkness. It | ||
| found real plates behind `baseten` (#19e76e), `cerebras` (#ef5b27), `hyperbolic` | ||
| (#1a1a1a), `umans`/`bizrouter` (#000000) and `orcarouter` (#ffffff). | ||
|
|
||
| ### Rejected, and why | ||
|
|
||
| - **`nousresearch.com/safari-pinned-tab.svg`** — opens with the full 512-unit | ||
| frame as its first path, so it renders as a black square. This is the identical | ||
| candidate the Hermes client mark rejected. The apple-touch-icon was used instead. | ||
| - **LiteLLM's marketing-site SVGs** — third-party model logos, and the favicon | ||
| traces to a muddy blob with no legible silhouette at 19px. The docs logo was | ||
| used instead. | ||
| - **Wordmarks refused** for `cerebras` (843x320 from Sanity CDN), `siliconflow` | ||
| (188x28), `zhipu-bigmodel` (123x25), `vultr` (218x52), `baseten` (1001x151) and | ||
| `chutes` (192x30). A lockup in the rail's 19px box is an illegible smear, so | ||
| each was replaced by a traced square mark or left to the fallback. | ||
|
|
||
| ### Still unmarked, and what was searched | ||
|
|
||
| Six ids keep the fallback tile. Each was probed at its registry `baseUrl` and | ||
| `dashboardUrl`, plus the vendor's docs subdomain and the conventional icon paths | ||
| (`/favicon.svg`, `/favicon.ico`, `/apple-touch-icon.png`, `/logo.svg`, `/icon.svg`): | ||
|
|
||
| - `chutes` — `chutes.ai` and `docs.chutes.ai` serve only the 192x30 wordmark. | ||
| - `nscale` — `nscale.com` and `docs.nscale.com` returned no icon at any path. | ||
| - `volcengine`, `volcengine-coding-plan`, `volcengine-agent-plan` — the Ark | ||
| console's SVGs are UI glyphs rather than a product mark. | ||
| - `tencent-coding-plan` — `cloud.tencent.com` serves a 32x32 favicon whose trace | ||
| is unreadable at 19px. | ||
|
|
||
| These are recorded results, not skipped work. Inventing a mark, or borrowing a | ||
| neighbouring brand's, is a misattribution that outlives the commit. | ||
|
|
||
| `zhipu-bigmodel` and `zhipu-bigmodel-coding` share `zai.svg`: Z.AI and BigModel | ||
| are the same company, and the mainland console publishes only the wordmark. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: lidge-jun/opencodex
Length of output: 16909
🏁 Script executed:
Repository: lidge-jun/opencodex
Length of output: 2103
Use a non-future provenance date for the “Provider marks” section. The section says the assets were “Published as SVG and committed,” but
2026-09-01is after the August 31, 2026 review date. Replace it with the actual publication date, or label the section as planned.🤖 Prompt for AI Agents