scheme: better primary colour

Primary colour is used for layers + accents
Get highest scored bright colour instead of just highest scored
This commit is contained in:
2 * r + 2 * t
2025-04-08 13:33:45 +10:00
parent f9a83990a9
commit e342d2d2dc
2 changed files with 19 additions and 8 deletions
+3 -3
View File
@@ -164,13 +164,13 @@ def get_scheme(scheme: str) -> DynamicScheme:
if __name__ == "__main__":
light = sys.argv[1] == "light"
scheme = sys.argv[2]
colours_in = sys.argv[3]
colours_in = sys.argv[3].split(" ")
base = light_colours if light else dark_colours
chroma_mult = 1.5 if light else 1.2
# Convert to HLS
colours = [hex_to_hls(c) for c in colours_in.split(" ")]
colours = [hex_to_hls(c) for c in colours_in[1:]]
# Sort colours and turn into dict
colours = smart_sort(colours, base)
@@ -200,7 +200,7 @@ if __name__ == "__main__":
# Layers and accents
material = {}
primary_scheme = MatScheme(Hct.from_int(int(f"0xFF{colours_in.split(" ")[0]}", 16)), not light, 0)
primary_scheme = MatScheme(Hct.from_int(int(f"0xFF{colours_in[0]}", 16)), not light, 0)
for colour in vars(MaterialDynamicColors).keys():
colour_name = getattr(MaterialDynamicColors, colour)
if hasattr(colour_name, "get_hct"):