From 23033265c8ec447707a47b8b2b867db01bb5f2f0 Mon Sep 17 00:00:00 2001 From: Daniel Thwaites Date: Fri, 1 Jul 2022 14:38:10 +0100 Subject: [PATCH] Encourage primary scale to be similar colours :necktie: --- palette-generator/Stylix/Palette.hs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/palette-generator/Stylix/Palette.hs b/palette-generator/Stylix/Palette.hs index 0b1d5974..834898f2 100644 --- a/palette-generator/Stylix/Palette.hs +++ b/palette-generator/Stylix/Palette.hs @@ -57,8 +57,14 @@ instance (Floating a, Real a) => Species (String, (V.Vector (LAB a))) (V.Vector in (generator'', palette // [(index, colour)]) fitness (polarity, _) palette - = realToFrac $ accentDifference - scheme + = realToFrac $ accentDifference - (primarySimilarity/10) - scheme where + -- The primary scale should use similar colours, to an extent. + primarySimilarity = maximum $ do + a <- primary palette + b <- primary palette + return $ deltaE a b + -- The accent colours should be as different as possible. accentDifference = minimum $ do a <- accent palette