[Icons] Add a Movement semantic color family

A card changing position inside the library is neither a gain, a loss nor
information, so it had no hue. Movement names it with teal and covers the three
library placements (top, bottom, X from top).

It follows the existing ladder: authored roles per theme, scheme defaults
otherwise, an emphasis mapping, palette-editor rows and generator seeding. The
defaults clear the 4.5:1 floor on the representative platform surfaces, keep
strong > base > soft saturation, and keep green > blue > red so teal cannot be
mistaken for the green gain family.
This commit is contained in:
Lukas Brübach 2026-11-08 20:59:41 +01:00
parent 8847da74e2
commit 2567672556
10 changed files with 63 additions and 8 deletions

View file

@ -509,6 +509,15 @@ QColor defaultAppColor(AppColor::Role role, bool dark)
return QColor(dark ? QStringLiteral("#ffb020") : QStringLiteral("#8a4f02"));
case AppColor::MarkedSoft:
return QColor(dark ? QStringLiteral("#c2ab7d") : QStringLiteral("#7b6a4a"));
// Movement is a card changing position without a gain or a loss: the
// library placements (top, bottom, X from top). Teal keeps it apart
// from the green "into play" moves and the blue informational states.
case AppColor::Movement:
return QColor(dark ? QStringLiteral("#4cc2b5") : QStringLiteral("#0e7a72"));
case AppColor::MovementStrong:
return QColor(dark ? QStringLiteral("#2dd4bf") : QStringLiteral("#096b62"));
case AppColor::MovementSoft:
return QColor(dark ? QStringLiteral("#a3c1bc") : QStringLiteral("#4a6b67"));
}
return {};