Skip to content

Themes: clip preview text on its own backing; selected scene row readable (#770) - #775

Merged
CaYatur merged 1 commit into
mainfrom
fix/theme-previews-770
Oct 19, 2026
Merged

CaYatur merged 1 commit into
mainfrom
fix/theme-previews-770

Conversation

@CaYatur

@CaYatur CaYatur commented Oct 19, 2026

Copy link
Copy Markdown
Owner

Follow-up to #774 (#770).

Clip cells with a preview

A clip cell that references a scene shows the scene's background colours at 40% behind the text. An image slot does the same with the image, and the Performance View at 32%. #774 left these cells out of the audit, because the text sits on user content.

Measured live with a white scene, a black scene, a white/yellow/cyan gradient and a white image:

  • the text fell below 3:1 in the dark themes;
  • .cd-meta was not positioned, so the absolutely positioned preview was painted over it.

Fix

  • In a preview cell, .cd-name, .cd-meta and a non-empty .cd-count sit on a var(--card) backing with a 4px radius, and so do the perf- equivalents. The preview stays visible around them.
  • .cd-meta is now position: relative; z-index: 1 like the name.
  • The audit no longer skips any clip or performance cell.

The selected scene row

I ran the audit through every category in every theme, with a profile holding the scenes above, preview cells, a lyric file and every fold open. It found the selected scene's info line, --muted2 on accent-soft, at 3.90:1 in Light. The same line was 4.1–4.4:1 in Midnight and CaYaDev.

The self-test loads its own settings with no saved scenes, so it never drew this row.

  • Fix: .scene-item.active .scene-meta uses --muted.
  • Rules: --text and --muted on --accent-rgb .16 over bg2, card and card2 are now contrast rules, which brings the total to 143.

Tests

  • The clip-cell test adds the preview backings as cases.
  • It requires .cd-name, .cd-meta and .perf-name to be positioned above the preview.
  • It asserts that the audit no longer names a clip or performance cell.
  • It fails on the previous CSS.
  • npm test: 3223 passed.

Verification

  • Populated profile, every category in every theme, clip cells included: 2,966–3,005 texts per theme, 0 below the threshold. Lowest ratios: CaYaDev 4.54, Light 4.96, High Contrast 7.8.
  • Clip deck and Performance View with 3–4 preview cells, all seven themes: 0 below the threshold.
  • --smoke with an isolated profile: PASS.

…w readable (#770)

Clip cells that show a scene preview or an image drew their texts over a 40% picture of user content: on a white scene the text was below 3:1, and .cd-meta was not positioned, so the preview was painted over it. The name, info line and countdown now sit on a --card backing, and the audit no longer skips any clip cell.

Auditing every category with a populated profile (scenes, preview cells, a lyric file, open folds) found the selected scene's info line (--muted2 on accent-soft) at 3.90:1 in Light; the self-test loads its own settings without saved scenes and never saw it. That row uses --muted, and the rules now cover --text and --muted on --accent-rgb .16 (143 rules).

Co-authored-by: caganturgut <271973834+caganturgut@users.noreply.github.com>
@CaYatur
CaYatur merged commit be25023 into main Oct 19, 2026
5 checks passed
@CaYatur
CaYatur deleted the fix/theme-previews-770 branch October 19, 2026 20:44
@cayadraft

cayadraft Bot commented Oct 19, 2026

Copy link
Copy Markdown

@CaYatur

CaYaDraft — pull request

Summary
This pull request improves text readability by adding semi-transparent backing colors to clip and performance preview cells, ensuring they don't obscure underlying metadata. It also fixes contrast issues on the selected scene row in Light theme and expands the audit scope to cover all previously skipped cell types.

Files

  • CHANGELOG.md (updated contrast rule count)
  • ROADMAP.md (minor text updates)
  • src/admin/admin.css (fixed selected scene meta color)
  • src/shared/ui-contrast-audit.js (adjusted skip list for preview cells)
  • src/shared/ui-theme-contrast.js (added new contrast rules)
  • tests/ui-themes.test.js (added test cases for preview backings)

Note
Nothing blocking is visible from the text.


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.

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