Skip to content

Commit 16d6f85

Browse files
committed
fix(viz): dim Conway tile intensity in light mode (0.65 -> 0.22)
1 parent 7896b85 commit 16d6f85

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

src/dashboard/src/components/viz/grid/LivingSwarmGrid.tsx

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -450,10 +450,20 @@ export function LivingSwarmGrid(props: LivingSwarmGridProps) {
450450
if (!reducedMotion) tickGol(gol);
451451
}
452452
}
453-
// Higher alpha (0.65) so the chunky tiles read as the primary
454-
// visual texture. Color follows side tint — amber for A, teal
455-
// for B — so the two panels stay distinguishable at a glance.
456-
drawGol(ctx, gol, size.w, size.h, resolvedSide, 0.65);
453+
// Conway tiles paint with the actor's sideColor at variable alpha.
454+
// In dark mode 0.65 is the right intensity for the chunky tiles to
455+
// read as the primary visual texture. In light mode the sideColor
456+
// tokens are deliberately darker (amber #6b4700 vs dark-mode
457+
// #e8b44a) to clear WCAG contrast on cream, so 0.65 painted across
458+
// every alive tile in every cohort panel cumulatively reads as a
459+
// heavy dark wash — that's the "dark gradient" complaint on viz
460+
// cached-run loads, where every panel paints the steady-state
461+
// tile pattern in one frame instead of streaming in. Drop the
462+
// light-mode intensity to 0.22 so tiles still register but don't
463+
// dominate.
464+
const isLightTheme = typeof document !== 'undefined'
465+
&& document.documentElement.classList.contains('light');
466+
drawGol(ctx, gol, size.w, size.h, resolvedSide, isLightTheme ? 0.22 : 0.65);
457467
// DEATHS filter: gray hollow tombstone squares with an X at each
458468
// dead colonist's historical position. BIRTHS filter: green filled
459469
// squares with a "+" glyph at each native-born colonist's position.

0 commit comments

Comments
 (0)