Easy Palette Groups with Labels & Tooltips

Hi! There are a lot of asking for palette groups recently. Here I propose how to implement this functionality in easy-to-implement (for programmers) yet very intuitive and user-friendly manner with extendability and future palette animations and multiple palettes per sprite in mind.

  1. Add in ☰ menu after Large Size option new Grid Mode option which opens dialog to enter grid width (default 4) and then displayed with this value like: Grid Mode (4), scaling all entries depending on palette panel width to fit exactly N colors

  2. In Grid Mode allow 2D Click+Drag selection of palette entries (like drawing) for move(by border)/copy/paste/set shading ink colors + also support Shift+Click (rectangle select) and Ctrl+Click (add single entries) + when moving selected palette entries in 2D mode displace other colors around in 2D manner, not linear like now.

  3. Make Right Click open menu for already selected color entries => Copy Paste Cut Delete Properties, should work in both normal Linear and Grid modes (cut/delete should not shift colors in grid mode).

  4. Palette Entry Properties: :ballot_box_with_check: Color (checkbox) + Name: (empty text by default) + UserData field (extra)

  5. By default all palette entries (for new images) should be created with Color checkbox unchecked (except for transparent color) and displayed as non-entries (no border, just panel background color), this will allow visual separation between colors and non-colors in both Linear and Grid modes, also special palette command may be added to Compact Colors (removing all non-color entries)

  6. When palette entry Name is non-empty it should be used as Tooltip text when hovering mouse over this entry, except for non-colors, which non-empty (!) Name should be displayed as Label icon + text starting from this entry right inside palette. This should also work both for Linear and Grid modes, allowing add non-colors labels in both modes.

  7. For future palette animations and multiple palettes one could use either entries UserData or other special functionality. Palette entries Properties should be same between all multiple palettes i.e. same color/non-color entries and “groups” should be valid for all palettes.

1 Like

could you mock it up?, cause i think there was something similar before

mockup_easygroups

2 Likes

WIthout borders around colors:
mockup_easygroups noborder

2 Likes

Also Gradient, Reverse Colors and etc. sort operations should work for any sequence of selected palette entries. So that you would be able to select any number of single entries with Ctrl+Click and it should still work. This way you can build up vertical, diagonal and any other placement of colors in the palette in comfort way.

Duplicate colors should be eliminatable before exporting with Compact Colors (remove all non-colors and merge duplicate colors + remap image indexes for Indexed color mode) and existing New Palette from Sprite (generate palette from image, it’s NOT same operation!).

Also (!) Exclamation mark operations to Add foreground color to the palette and Add background color to the palette should treat selected non-color entries as destination to allow controllable adding of new colors. Other ways to make color from non-color is either to open Palette Entry properties and modify Mode and Color manually (slow variant) or copy and paste another color to non-color palette entry.

Index 0 entry for Indexed sprites should be locked at Transparent mode (providing color only for Background layer).

And Resizing of palette with movement of vertical lines symbol should add non-color palette entries. At least if there is at least one non-color entry in the palette already.

thhats a major overhaul but a good mix of everything that has been asked about the palette organization, something similar would be very nice

I’d think if you want labelled colour sequences then extending the shade ramps functionality to add naming and an always visible selector would be a better option.

Is it Script? I don’t have too much space on my monitor to keep shade ramps always open. And I want compact display of colors. And I want tooltips. And I want grid sequences with many ends. And vertical ramps whenever needed. And artful grouping of colors, not just list of ramps. So… not really.

Also in Palette Grid Width dialog extra checkbox :ballot_box_with_check: Resize could be added to allow switching between different grid widths (extend width / shrink width) while keeping colors aligned.