instrument: reassign loop-marker role off tertiary, onto secondary
Loop span/markers and the envelope overlay trace shared tertiary purple in the same overlay rect. Loop markers now draw secondary; envelope overlay keeps tertiary. Adds a theme-level distinctness regression guard.
This commit is contained in:
@@ -147,6 +147,16 @@ static void testOverlayAccentSeparatesFromTheWaveformAccent() {
|
||||
CHECK(delta >= 60);
|
||||
}
|
||||
|
||||
// editor_paint_waveform.cpp draws the loop span/markers and the envelope overlay trace into
|
||||
// the SAME overlay rect. Loop markers are secondary (this track's reassignment, off tertiary,
|
||||
// which the envelope overlay now owns exclusively there); a future palette edit that collapses
|
||||
// the two back to one role must fail here rather than silently recreating the finding.
|
||||
static void testLoopMarkerAndEnvelopeOverlayRolesAreDistinct() {
|
||||
const KitColor loopMarker = roleColor(Role::AccentSecondary);
|
||||
const KitColor envelopeOverlay = roleColor(Role::AccentTertiary);
|
||||
CHECK(!(loopMarker == envelopeOverlay));
|
||||
}
|
||||
|
||||
static void testWarnClearsStateFloorOnBackground() {
|
||||
// warn (destructive) must be unmistakable -> clears the state floor on the base.
|
||||
CHECK(contrastRatio(roleColor(Role::Warn), roleColor(Role::BgBase))
|
||||
@@ -264,6 +274,7 @@ int main() {
|
||||
testTextOnHoverSurfaceClearsFloor();
|
||||
testSecondaryTertiaryAreDistinguishable();
|
||||
testOverlayAccentSeparatesFromTheWaveformAccent();
|
||||
testLoopMarkerAndEnvelopeOverlayRolesAreDistinct();
|
||||
testWarnClearsStateFloorOnBackground();
|
||||
testLabelOnActiveSurfaceClearsFloor();
|
||||
testRolesAreDistinctAndElevationMonotonic();
|
||||
|
||||
Reference in New Issue
Block a user