nadiiasoshenko-netizen d8ce090f82
fix(brand): stop adjustBrightness collapsing dark color shades to black (#497)
adjustBrightness() added/subtracted a flat 255*percent to every RGB
channel. For a dark base color (channels already close to 0), darkening
by -0.3/-0.45/-0.6 clamped every channel to 0, so shades 700, 800, and
900 all came back as the identical, useless #000000 instead of a graded
dark scale -- reproducible with any sufficiently dark brand primary
(e.g. #4A3228), not just an edge case.

Blend each channel proportionally toward white (percent > 0) or black
(percent < 0) instead, so the shift scales with how much headroom the
channel actually has.

Adds a regression test that syncs a dark brand color and asserts the
700/800/900 shades stay distinct and non-black.


Claude-Session: https://claude.ai/code/session_01MmtTPnoqMrjjhKjod9VTzr

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-15 07:00:09 +07:00
..