Hello once again. As usual, fantastic work on wallust.
Context
If I understood the code correctly, currently all colors are sorted only brightness. Taking that into account, I got around to overhauling my Neovim colorscheme to properly use wallust generated palettes. I mapped colors based on what I wanted more attention of, assigning things like functions calls colors of higher brightness and strings colors of lower brightness.
Problem
However, during testing I noticed that some lower-sorted colors dominated my attention compared to higher-sorted colors. Additionally, when generating palettes from different backgrounds, colors shuffle around (ofc same sorting of brightness), but now my attention swaps due to differing saturation and hues. Now instead of my attention being grabbed by functions, it is now grabbed by strings (i.e. functions are now a cool color, strings are warm).
Example
Take a look at this generated color palette. Of the top-row colors, which colors draw your attention the most?
image
{
"special": {
"background": "#080000",
"foreground": "#D6FED2",
"cursor": "#E5AC8E"
},
"colors": {
"color0": "#0A0000",
"color1": "#3965BA",
"color2": "#BE4235",
"color3": "#337F7C",
"color4": "#665E95",
"color5": "#BFA234",
"color6": "#4FBC42",
"color7": "#BDF5B6",
"color8": "#84AB7F",
"color9": "#3070E9",
"color10": "#F44535",
"color11": "#3BA09D",
"color12": "#8A7EC6",
"color13": "#FFD846",
"color14": "#69FB58",
"color15": "#BDF5B6"
}
}
I would say the red, with the right-most colors being close. That red is far on the left, next to the cooler colors (blue, teal). If we instead sorted for attention, it might look like this.
If we instead sorted by attention, it might look something like this.
image
{
"special": {
"background": "#080000",
"foreground": "#D6FED2",
"cursor": "#E5AC8E"
},
"colors": {
"color0": "#0A0000",
"color1": "#665E95",
"color2": "#3965BA",
"color3": "#337F7C",
"color4": "#4FBC42",
"color5": "#BFA234",
"color6": "#BE4235",
"color7": "#BDF5B6",
"color8": "#84AB7F",
"color9": "#8A7EC6",
"color10": "#3070E9",
"color11": "#3BA09D",
"color12": "#69FB58",
"color13": "#FFD846",
"color14": "#F44535",
"color15": "#BDF5B6"
}
}
Here's a side by side comparison (pardon my messy code). First is sort by brightness (current), second is sort by attention (proposed).
2025年10月19日T08:48:09,538647645-07:00
image
My attention ordering is as follows: Top-level Definitions > Comments > Functions > Variables > Data > Context > Punctuation which would map to color 7, 6, 5, 4, 3, 2, 1.
Notice that on the first image, there's high attention on the LABEL keyword which is an enum. It should have less attention than a function, hovering somewhere around the attention of a variable and data.
In the second image, more attention is brought to the comments. LABEL here has less attention than functions and stand besides variables and data.
Proposal
All said, brightness is still the main driver of attention. However, color theory suggests that warmer colors can also attention when compared cool colors. Something like: Red > Orange > Yellow > Green > Blue > Violet. It also suggests a similar phenomena can occur with saturation, though I currently don't know if wallust does saturation adjustments to individual colors aside from the saturation flag.
I think if there was an option to sort by attention rather by brightness, I think it would more intuitive for downstream developers to use. Without being able to predict the exact hue that will be used, they run into issues as mentioned in this thread, where warmer, saturated lower-brightness colors dominate desaturated higher-brightness cool colors.
As to exactly how this sorting would work... let's figure out if you think this is a good idea first.
edit - better sorting of attention example
Hello once again. As usual, fantastic work on wallust.
## Context
If I understood the code correctly, currently all colors are sorted only brightness. Taking that into account, I got around to overhauling my Neovim colorscheme to properly use wallust generated palettes. I mapped colors based on what I wanted more attention of, assigning things like functions calls colors of higher brightness and strings colors of lower brightness.
## Problem
However, during testing I noticed that some lower-sorted colors dominated my attention compared to higher-sorted colors. Additionally, when generating palettes from different backgrounds, colors shuffle around (ofc same sorting of brightness), but now my attention swaps due to differing saturation and hues. Now instead of my attention being grabbed by functions, it is now grabbed by strings (i.e. functions are now a cool color, strings are warm).
## Example
Take a look at this generated color palette. Of the top-row colors, which colors draw your attention the most?

```json
{
"special": {
"background": "#080000",
"foreground": "#D6FED2",
"cursor": "#E5AC8E"
},
"colors": {
"color0": "#0A0000",
"color1": "#3965BA",
"color2": "#BE4235",
"color3": "#337F7C",
"color4": "#665E95",
"color5": "#BFA234",
"color6": "#4FBC42",
"color7": "#BDF5B6",
"color8": "#84AB7F",
"color9": "#3070E9",
"color10": "#F44535",
"color11": "#3BA09D",
"color12": "#8A7EC6",
"color13": "#FFD846",
"color14": "#69FB58",
"color15": "#BDF5B6"
}
}
```
I would say the red, with the right-most colors being close. That red is far on the left, next to the cooler colors (blue, teal). If we instead sorted for attention, it might look like this.
If we instead sorted by attention, it might look something like this.

```json
{
"special": {
"background": "#080000",
"foreground": "#D6FED2",
"cursor": "#E5AC8E"
},
"colors": {
"color0": "#0A0000",
"color1": "#665E95",
"color2": "#3965BA",
"color3": "#337F7C",
"color4": "#4FBC42",
"color5": "#BFA234",
"color6": "#BE4235",
"color7": "#BDF5B6",
"color8": "#84AB7F",
"color9": "#8A7EC6",
"color10": "#3070E9",
"color11": "#3BA09D",
"color12": "#69FB58",
"color13": "#FFD846",
"color14": "#F44535",
"color15": "#BDF5B6"
}
}
```
Here's a side by side comparison (pardon my messy code). First is sort by brightness (current), second is sort by attention (proposed).


My attention ordering is as follows: `Top-level Definitions > Comments > Functions > Variables > Data > Context > Punctuation` which would map to color 7, 6, 5, 4, 3, 2, 1.
Notice that on the first image, there's high attention on the `LABEL` keyword which is an enum. It should have less attention than a function, hovering somewhere around the attention of a variable and data.
In the second image, more attention is brought to the comments. `LABEL` here has less attention than functions and stand besides variables and data.
## Proposal
All said, brightness is still the main driver of attention. However, color theory suggests that warmer colors can also attention when compared cool colors. Something like: `Red > Orange > Yellow > Green > Blue > Violet`. It also suggests a similar phenomena can occur with saturation, though I currently don't know if wallust does saturation adjustments to individual colors aside from the saturation flag.
I think if there was an option to sort by attention rather by brightness, I think it would more intuitive for downstream developers to use. Without being able to predict the exact hue that will be used, they run into issues as mentioned in this thread, where warmer, saturated lower-brightness colors dominate desaturated higher-brightness cool colors.
As to exactly how this sorting would work... let's figure out if you think this is a good idea first.
edit - better sorting of attention example