LANE 04 / APPS · NORMALLED

App & OS-UI themes

Application/platform-level CVD themes

Whole products shipping first-party colorblind themes (not editor plugins — the app itself). Verified via merged PRs and source files:

ProductWhat shippedMergeCVD typesDark/LightSource
Grafanafour UI themes (Deuteranopia/Protanopia + Tritanopia, dark+light) and a colorblind-safe viz palette optionPR #116953 (2026-03), PR #121385 (2026-04)protan/deutan + tritanboththemeDefinitions
coder/coderfour sitewide colorblind theme palettes; source cites Okabe-Ito and maps destructive→vermilion/orange, success→sky-blue, warning→fuchsiaPR #24672 (2026-05)protan/deutan + tritanbothsite/src/theme
Kilo Code CLI/colorblind toggle theme with high-contrast colors + patternsPR #4936 (2026-01)generaldarkrepo
Daintree IDE“Color vision” appearance mode overriding ~10 semantic tokens (status, github open/closed, terminal ANSI red/green) with live swatch previewPR #3042 (2026-03)deuteran/protan + tritanbothrepo

Grafana is the flagship here — the first major observability platform with built-in CVD themes. The four theme files (deuteranopia_protanopia_{dark,light}.json, tritanopia_{dark,light}.json) override the semantic signal colors: dark success #2EC4B6 (teal) / error #FF7A18 (orange) / warning #FFF899; light success #006F7A / error #FF9900 / warning #FFEE52. The viz palette (fieldColor.ts, PaletteColorblind mode) is Wong (2011) / Okabe–Ito verbatim with black/white for theme-adaptive contrast — the source comment cites Wong directly and states all 8 colors are validated as mutually distinguishable under all three dichromacies.

Grafana colorblind dark mock

Grafana colorblind dark strip

Grafana colorblind light mock

Grafana colorblind light strip

coder/coder’s darkProtanDeuter/roles.ts is unusually well-documented: “Protanopia and deuteranopia compress the red/green channel, so semantic good/bad pairs that rely on green vs red need a different axis. We shift destructive states onto a vermilion/orange hue (Tailwind orange scale, inspired by the Okabe-Ito CVD-safe scheme), positive/active states onto sky-blue, and warning onto fuchsia so it does not collide with destructive states on the orange axis.”

coder colorblind mock

coder colorblind strip

20 more application-level CVD themes (merged, primary-source verified)

A GitHub merged-PR sweep across observability, code hosts, git GUIs, chat, note apps, CAD/3D printing, game clients, and mobile surfaced these (full extraction notes in .research/09-app-level.md):

ProductWhat shippedMergeHexes / approachLink
Gitea (→ Forgejo)six first-party CSS variants: protan/deutan + tritan, dark/light/auto; diff red/green → blue/orange2024-04 PR #30625dark add #58a6ff/del #f0883e, light add #0860cc/del #a84400themes
SimpleCovColorblind toggle in the HTML coverage report (every Ruby project)2026-08 PR #1257covered/missed: green/red → blue/orange, light+darkrepo
plannotatorfull colorblind theme (dark+light), Machado-verified CIEDE2000 ≥ 8.92026-08 PR #1192add #4f83d1/del #c96e12 (dark)repo
GitButlercolorblind diff preview composing with 3 contrast levels × light/dark (12 palettes)2025-09 PR #10146blue/orange diff, full matrixrepo
iamb (Matrix TUI)okabe-ito-dark theme; encrypted indicator deliberately blue, not green2026-10 PR #822full Okabe-Itorepo
tuicrgithub-dark-colorblind theme for the code-review TUI2026-08 PR #523add #58a6ff/del #f0883erepo
Ultimaker CuraColorblind Assist themes (dark+light) for layer-view line types — oldest first-party entry (2019)2019-07 PR #5928teal/yellow/cyan/blue layer colorsrepo
OpenFront.ioColorblind graphics preset; largest published CVD hex pool (96)2026-06 PR #4150Okabe-Ito team colors verbatimrepo
RuneLiteGPU-plugin colorblindness correction — GLSL daltonization shader, not a palette (unique mechanism)2020-11 PR #12744per-deficiency LMS matrices (no hexes by design)repo
Talishar-FEthree distinct palettes, one per dichromacy (rare)live colorblindPresets.tsdeutan #33aaee…, protan #11bbff…, tritan #22eeff…repo
deepinv (PyTorch imaging)colorblind matplotlib cycle + marker cycler (redundant encoding)2026-09 PR #1420Seaborn colorblind verbatimrepo
gEAR (genomics)comprehensive colorblind mode across all plot types2026-10 PR #1341cividis + colorcet glasbey_coolrepo
portico (Filament admin)per-user Okabe-Ito toggle (colorblind_palette column)2026-10 PR #192success #0072B2, danger #D55E00, warning #E69F00repo
steadyfive vision modes with measured ΔE00 floors2026-10 PR #4quantified protan/deutan spacingrepo
nammet-recipe-website“Blue & orange” + “Teal & crimson” themes; Machado test in CI (ΔE ≥ 40)2026-10 PR #12simulation-gatedrepo
OSC_Workout_Applight/dark/colorblind three-theme toggle2026-10 PR #55Okabe-Ito #56b4e9/#e69f00/#f0e442repo
mai-tutor“Dark (colorblind-friendly)” mode2026-10 PR #49Okabe-Ito-derivedrepo
cloudping.colatency colors recolored CVD-safe by default for everyone2026-10 PR #100#38bdf8/#facc15/#dc2626repo
paseocolorblind mode: status green/red differ in lightness not just hue2026-09 PR #5WCAG 1.4.1 luminance strategyrepo
kitty (deuters_delight)curated first-party terminal theme replacing three older CVD attempts2022-04 PR #44per-deficiency namedrepo

Three patterns across all app-level CVD themes:

  1. Okabe-Ito anchoring is dominant — iamb, portico, OpenFront, OSC_Workout, deepinv, mai-tutor, RustySNES all cite or embed the eight canonical hexes. It is the de-facto standard.
  2. Blue/orange is the universal diff/status swap — Gitea, SimpleCov, GitButler, plannotator, tuicr all converge on GitHub’s #58a6ff/#f0883e (dark) or Okabe-Ito’s #0072B2/#D55E00.
  3. Per-deficiency variants are emerging as the highest-fidelity approach — Grafana (4 themes), Talishar (3 palettes), Gitea (2 CSS families), steady (5 modes) ship distinct palettes per CVD type rather than one “universal” palette, matching modus/ef-themes in editor space.

Verified negatives (no first-party CVD theme as of 2026-11-05): DataDog, Prometheus, Kibana, GitLab (first-party — the third-party gitlab-colorblind extension covers it), Bitbucket, Linear, Asana, Monday, Jira, Slack/Discord/Teams/Element/Zulip, Obsidian/Logseq/Joplin (first-party), Godot, Unity, Bitwarden, Anki, Home Assistant, Jellyfin, FreeCAD, KiCad, ArgoCD, k9s, Swagger UI.

First-party product themes (Wireshark, Insomnia, and more)

Including the oldest app-level CVD theme found anywhere (Jenkins, 2012).

Wireshark ships Protanopia & Deuteranopia and Tritan themes (dark + light) — Okabe-Ito/Wong verbatim, gated by test/suite_theme.py which checks every token stays distinguishable under each listed deficiency. The first major network-analysis tool with first-party CVD themes. (themes dir, GPL-2.0)

Wireshark colorblind dark

Wireshark colorblind dark strip

Wireshark colorblind light

Wireshark colorblind light strip

Insomnia (Kong) shipped a Dark Colorblind core theme in 2021 (PR #4081) — days after GitHub’s own colorblind beta, and the only API client with a first-party CVD theme. HTTP-method colors swap to blue/orange: POST/200 #0080FF, DELETE #CC5500 (burnt orange).

Insomnia Dark Colorblind

Insomnia Dark Colorblind strip

Kiro ships a built-in “Color-blind safe” theme pair (dark+light) with a simulation test that measures every status pair under all three dichromacies; Okabe-Ito status hues. (PR #24480)

Kiro colorblind dark

Kiro colorblind strip

Kiro colorblind light

Kiro colorblind light strip

Google’s gemini-cli ships github-dark-colorblind / github-light-colorblind built-ins — Primer colorblind tokens verbatim in a Google first-party CLI. (PR #15504, Apache-2.0)

Gemini CLI colorblind dark

Gemini CLI colorblind strip

Gemini CLI colorblind light

Gemini CLI colorblind light strip

More product themes:

ProductWhat shippedMergeNotesLink
Combodo iTopFullmoon Protanopia/Deuteranopia + Tritanopia backoffice themes (first ITSM/CMDB)2024-04 PR #639danger→orange, success→blue semantic remaprepo
narmi/design_systemcvd-red-green + cvd-tritanopia token modes — first banking design system2026-08 PR #2246design-token-level CVD modesrepo
AREDN firmwarecolor-blind CSS theme for mesh-radio UI (first embedded/network)2024-08 PR #1418positive/negative → blue #3994fd/amber #bb8b00repo
Moira alertingColorBlind theme toggle + icon redundancy2026-06 PR #668OK #00771e, ERROR #ff5722, hue+iconrepo
Jenkins Wall Display.colorblind theme — oldest app-level CVD theme found (2012)2012-02 PR #3blue #BFD4FF / red #FF9180 / yellow #FFF780 on whiterepo
WarpZenburn Colorblind (+ High Contrast) — closes the Warp gap2026-05 PR #151red #ff7070, blue #70b3ffrepo
novelWritertoday_deuteranopia + today_tritanopia — uses simulated hues as the theme2026-03 PR #2694red→#757500 (its deutan-simulated value)repo
Blockly / code.orgtheme-deuteranopia + theme-tritanopia block themes (2019; code.org trio 2023) — education2019-10 PR #3322world’s most-deployed educational block editorrepo
accessible-pygmentsgithub_dark/light_colorblind + blinds_dark/light Pygments styles — fills the doc-site highlighting layer (Sphinx/Jupyter/MkDocs)active 2026Quansight, BSD-3repo
Actual Budget“Color-blind (Dark)” Okabe-Ito theme in the official catalog — first personal-finance app2026-01 PR #6696Okabe-Ito verbatimrepo
GitKraken (kepler)“Blue Is the New Green” first-party theme; success→blue, danger→vermilion2026-10 PR #8OKLCH tokens, statuses differ in lightness toorepo
heatherfield.nvimlightness-separated Neovim theme, no red/green pair2025blue/pink-heavyrepo
OritoneOkabe-Ito-derived multi-target theme + 6 scientific colormaps (Helix/Ghostty/Claude Code/Codex)2026dark+lightrepo
icingaweb2-theme-colourblindIcinga Web 2 monitoring theme — oldest monitoring entry (2017)2017deuteran/protan/tritanrepo
github-colorblind-themeStylus/userstyle for github.com (Tol/IBM palette) — userstyles category filled2020#648FFF #785EF0 #DC267F…repo
Blender (GitHub port)GitHub Dark Colorblind ported to Blender 4 — creative-app category’s lone entry2025Primer tokens in Blender XMLrepo
MeshMonitorColor-blind-friendly themes split per red / green / blue color blindness (protan/deutan/tritan) in the built-in gallery — a Meshtastic mesh-network monitoractive 2026themes are user/DB-defined (screenshots confirm); palette not in static sourcegallery · repo
godhuli-theme (VS Code)CVD-tested theme — changelog: functions/methods/built-ins separated by lightness because they were “indistinguishable under CVD simulation”active 2026CVD-tested, not CVD-designed; lightness-channel approachmarketplace

Verified empty surfaces (checked and confirmed to have no CVD theme): spicetify/Spotify, btop/htop/glances, waybar/polybar/i3/sway, database GUIs (pgAdmin/DBeaver/phpMyAdmin), Postman/ Hoppscotch/Bruno, e-readers (Zathura/KOReader/calibre/Sumatra), email clients (Thunderbird/Mutt), TradingView/finance terminals, Android launchers, GIMP/Krita/darktable. The Wordle-clone long tail (dozens of near-identical student clones) is excluded as noise.

Pitaya Smoothie — the only CVD-designed JupyterLab theme

Tania Allard / Quansight Labs (jupyterlab-accessible-themes, upstream trallard/pitaya_smoothie, BSD-3). “The colour choices… were made taking into consideration accessibility for those with colourblindness — by default the theme is suitable for multiple types of colourblindness, no settings tweaking required.” The README embeds protanopia/deuteranopia/tritanopia simulations and a WCAG AAA contrast grid. Teal/pink axis with yellow warnings: brand teal #1abec2, accent pink #f25a92, warn yellow #fad000, periwinkle #7998f2, lilac #a56cf5, orange #f38672, bg indigo #181036. Dark only; uses the Atkinson Hyperlegible font.

Pitaya Smoothie editor mock

Pitaya Smoothie CVD strip

(Also in the Jupyter ecosystem: jupyterlab_colorblind is a Machado-2009 simulator extension for previewing your own plots under CVD — tooling, not a theme.)

Lx Deep Sea — a KDE Plasma color scheme for red-green CVD

lx21, 2022 (store.kde.org/p/1711107, GPLv3). The only CVD-labelled Plasma color scheme found; the store front is bot-walled but the raw .colors file was fetched via the OCS API. Author’s claim: “high contrasts and at the same time eyefriendly and suitable for red-green colorblindness.” Dark; blue-tinted neutrals, blue links #508ED8, neutral #55AAFF.

Lx Deep Sea editor mock

Lx Deep Sea CVD strip

Honest caveat: its Negative #FF1B13 (pure red) vs Positive #57CF1F (green) still differ mainly by hue — the simulation strip shows them collapsing toward each other under deuteranopia/protanopia. It leans on brightness/saturation separation rather than the orange↔blue hue remap the stronger entries use. Included as the sole KDE desktop entry, with that limitation noted.

Slack, Discord, Teams

The OS-level reality: filters, not themes

No operating system ships a built-in CVD color scheme. KDE (Breeze ships Classic/Dark/Light only), GNOME (Adwaita + high-contrast only), and Windows (four high-contrast presets) all rely on screen-level daltonization/color-correction filters instead:

These correct the whole display rather than re-theming any app, which is why per-app CVD themes (everything above) remain necessary: a global filter can’t fix a palette that was never designed to survive it, and it shifts all colors including the ones already safe.