Files
zeekay 8bb0d5591b scatter: each lab's own mark, in its own colour
The dots were inconsistent because the chart could never colour them. The logo
files are fill="currentColor", and currentColor inside <image href> resolves
against the IMAGE's document, not the host page — so no CSS here could reach
them. They rendered black on the light measured disc and vanished into the dark
reported one. public/logos/color/ carries the same canonical bodies with each
lab's brand hex substituted at generation time, because the one thing the host
cannot supply is the one thing an <image> has to carry itself.

The map covered 8 vendors against 13 in the data, and spent two of those on
xAI and Mistral, which the snapshot does not contain — NVIDIA, Meta, Zhipu,
Xiaomi and MiniMax had no mark at all. All 13 are now named; the five with no
file in hanzoai/icons get their initial in their own colour until one lands.

The disc is light behind every mark now, so provenance rides the RING alone:
solid white measured, dashed grey reported. The dark reported disc was the
thing swallowing the near-black marks, and a distinction carried in two places
is a distinction that can disagree with itself. Both captions say ring.

Label placement becomes one rule. It de-collided labels against other LABELS,
per side, which says nothing about the DOTS the text sweeps past: qwen3.5's
label cleared kimi-k2.6's label by exactly the required gap and ran straight
through kimi's dot. Fixing dots in a second pass then let a right-anchored
label meet a left-anchored one — a pair that belonged to neither pass. So
every obstacle, discs and labels alike, is a box in one list tested by one
overlap, and labels settle top-to-bottom so only the one being placed moves.

Verified in the rendered DOM over all 144 ordered pairs: zero text/text and
zero text/dot overlaps. The check that filtered by side reported clean while
the collision was on screen, which is why it now filters by nothing.
2026-08-06 21:14:33 -07:00

2.4 KiB