scheme: better colours + parallel generation

Fix some wallpapers not having enough colours by disabling filter (also gives better colours)
Use GNU parallel to run scheme generation in parallel
Also ensure all schemes exist when generating
Cache wallpaper thumbnails
This commit is contained in:
2 * r + 2 * t
2025-04-07 11:38:05 +10:00
parent bf6ddf7963
commit f9a83990a9
4 changed files with 17 additions and 13 deletions
+11 -5
View File
@@ -12,13 +12,19 @@ set -l hash (sha1sum $img | cut -d ' ' -f 1)
# Cache schemes
mkdir -p $C_CACHE/schemes
if ! test -d $C_CACHE/schemes/$hash
# Generate colours
set -l colours ($src/score.py $img)
set -l dirty_variants
if test -d $C_CACHE/schemes/$hash
for variant in $variants
mkdir -p $C_CACHE/schemes/$hash/$variant
$src/autoadjust.py $theme $variant $colours | head -c -1 > $C_CACHE/schemes/$hash/$variant/$theme.txt
test -f $C_CACHE/schemes/$hash/$variant/$theme.txt || set -a dirty_variants $variant
end
else
set dirty_variants $variants
end
if test -n "$dirty_variants"
# Generate schemes for variants that need it
set -l colours ($src/score.py $img)
parallel "mkdir -p $C_CACHE/schemes/$hash/{} && $src/autoadjust.py $theme {} '$colours' | head -c -1 > $C_CACHE/schemes/$hash/{}/$theme.txt" ::: $dirty_variants
end
# Copy schemes from cache
+1 -1
View File
@@ -22,7 +22,7 @@ class Score:
@staticmethod
def score(colors_to_population: dict) -> list[int]:
desired = 14
filter_enabled = True
filter_enabled = False
dislike_filter = True
colors_hct = []