Skip to content

Themes: clip cells readable in any slot colour; audit reads color-mix; full CaYaDev change list (#770) - #774

Merged
CaYatur merged 2 commits into
mainfrom
fix/theme-notes-770
Oct 19, 2026
Merged

CaYatur merged 2 commits into
mainfrom
fix/theme-notes-770

Conversation

@CaYatur

@CaYatur CaYatur commented Oct 19, 2026

Copy link
Copy Markdown
Owner

Follow-up to #771 (#770).

Why

After #771, four restyled surfaces had not been looked at:

  • the Performance View;
  • the Auto VJ conflict note;
  • the lyric editor;
  • the MCP setup.

I opened all four in all seven themes (isolated profile, a clip deck seeded with extreme slot colours) and ran the audit with clip cells included. Both the self-test and the static tests had missed the following.

Where Theme Was
Clip cell info line, white slot, hover CaYaDev 3.30:1
Clip cell info line, white slot, hover Dark 3.73:1
Clip cell info line, white slot, hover Midnight 3.98:1
Countdown on a black slot Light 3.55:1
Countdown on a black slot Sepia 3.48:1
Name of a slot with no source (opacity .65) CaYaDev 3.25:1

Root causes:

  • The audit skipped .cd-cell and .perf-cell because the slot colour is user content.
  • It also parsed color(srgb …), the computed form of color-mix(), as nothing. Any such background was ignored and the text was measured against the card underneath.

Changes

  • Cell tint. .cd-cell.filled tint goes from 14% to 10%. On hover it goes from 22% to 12%, and the border goes to 75% to show the hover.

  • Countdowns. .cd-count and .perf-count use --warn-text. They used --warn and --cue-armed, which are fill colours.

  • Slot with no source. .cd-cell.filled.noref has a dashed border, no tint and --muted text, instead of opacity: .65.

  • Audit. ui-contrast-audit.js parses color(srgb r g b / a), in gradients too. SKIP now covers only cells with a scene preview: .cd-cell:has(> .cd-thumb) and .perf-cell:has(> .perf-thumb).

  • Tests.

    • The same-rule CSS pair test now handles color-mix(in srgb, var(--a) N%, var(--b)). For --slot it uses nine extreme colours plus --slot-default.
    • A new test checks every text in a clip or performance cell, in every state (filled, hover, armed, active, no source), on those colours. It also fails if a cell is dimmed with opacity. It fails on the previous CSS with 18+ cases.
    • Audit helper tests cover color(srgb …).
  • Docs. CHANGELOG and ROADMAP now list every visible CaYaDev change, found by reading the pre-Interface themes: CaYaDev, Dark, Light, Device default, High Contrast and more (#770) #771 CSS:

    • near-identical status shades merged;
    • the Performance View moved from neutral greys to panel surfaces;
    • the lyric and MCP snippets moved to the code-editor colours;
    • Studio's solid danger button changed;
    • the mapping guide line changed from cyan to info blue;
    • the selected tempo marker changed.

    The Interface themes: CaYaDev, Dark, Light, Device default, High Contrast and more (#770) #771 text said that only four colours had changed.

Verification

  • npm test: 3223 passed (+1).
  • Live audit with clip cells included. The four surfaces in 7 themes: 0 below threshold. Lowest ratios are 4.54 in CaYaDev, 4.96 in Light and 7.8 in High Contrast. The theme was picked through the panel's picker. The first attempt called SVUiTheme.set, which a category switch reverts.
  • --smoke on this head with an isolated profile and the seeded deck: PASS. About 2,680 texts per theme, none below the threshold. Lowest ratios: CaYaDev 4.54, Dark 4.54, Light 4.96, High Contrast 7.8, Midnight 4.54, Sepia 5.12, Neon 4.54.

Not changed

Clip cells showing a scene preview put their text over a 40% picture of the scene's colours. That is content, so they stay out of the audit, as before.

…; honest CaYaDev change list (#770)

Measuring the Performance View, the Auto VJ conflict note, the lyric editor and the MCP setup in all seven themes found the clip cells the self-test had skipped. On a white slot the info line fell to 3.3:1 on hover (CaYaDev), the countdown to 3.5:1 in Light, and a sourceless slot's name to 3.3:1 under opacity. Slot tint is now 10% (12% on hover with a stronger border), countdowns use --warn-text, and the sourceless slot is dimmed with colour instead of opacity.

The runtime audit parsed color(srgb ...) (the computed form of color-mix) as nothing and measured text against the card underneath. It now parses it and measures clip cells; only cells with a scene preview are skipped. A new test measures every text in a cell, in every state, on nine extreme slot colours, and the same-rule CSS pair test handles color-mix backgrounds.

CHANGELOG and ROADMAP now list every visible CaYaDev change found by reading the old CSS. Test count 3223.

Co-authored-by: caganturgut <271973834+caganturgut@users.noreply.github.com>
Co-authored-by: caganturgut <271973834+caganturgut@users.noreply.github.com>
@cayadraft

cayadraft Bot commented Oct 19, 2026

Copy link
Copy Markdown

@CaYatur

CaYaDraft — pull request

Summary
This pull request fixes low-contrast issues in four restyled surfaces (Performance View, Auto VJ conflict note, lyric editor, and MCP setup) across seven themes by adjusting cell tints, countdown colors, and slot opacity handling. It also updates the contrast audit tool to parse color-mix() results and expands tests to cover extreme slot colours and various text states.

Files

  • CHANGELOG.md (updated with full CaYaDev change list)
  • README.md & README.tr.md (minor badge fixes)
  • ROADMAP.md (test count update)
  • src/admin/admin.css (cell tint and border adjustments)
  • src/shared/ui-contrast-audit.js (enhanced color-mix() parsing logic)
  • tests/ui-themes.test.js (expanded contrast testing for extreme colours and states)

Note
Nothing blocking is visible from the text; the changes are focused on accessibility audits and documentation updates.


Stopping here. I will not merge, push, or change this pull request until you ask.

/caya explain describes the diff. /caya plan previews the next edit. /caya revise adds a commit.

@CaYatur
CaYatur merged commit 35791ae into main Oct 19, 2026
5 checks passed
@CaYatur
CaYatur deleted the fix/theme-notes-770 branch October 19, 2026 20:29
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