Unleash your creativity with Pixelorama, a powerful and accessible open-source pixel art multitool. Whether you want to create sprites, tiles, animations, or just express yourself in the language of pixel art, this software will realize your pixel-perfect dreams with a vast toolbox of features. Available on Windows, Linux, macOS and the Web!
An index preview (same as what was used in voxelorama) that displays after the same zoom as pixel grid
NOTE: i attempted to make them visible at all zoom levels but it caused a visual artifact at smaller zoom levels (see video below) so i thought it was best to restrict it up to a given zoom level.
[Index mode] If the color we are drawing is already selected in the palette, then it's index now takes priority (this solves any issues with palettes having multiple instances of the same color)
[Palettes] Fixed more than one swatch selected in grid if the same color available in an earlier swatch.
[Index mode] Fixed wrong index drawn when moved to an empty swatch (when we drag and drop to an empty swatch, after updating palette, we were getting two entries of that color because the last position was not erased)
[Index mode] When populating the palettes array, the color added was slightly wrong (i think the reason is same as https://github.com/Orama-Interactive/Pixelorama/pull/1108). due to this the palette.has(color) check in set_pixelv_custom was almost always false even if the color was there in the palette
Looks pretty good! I think it may be better to not show the indices at all when they are 0. It would make the canvas less noisy, and the pixels with non-zero indices would be easier to read.
Added:
An index preview (same as what was used in voxelorama) that displays after the same zoom as pixel grid NOTE: i attempted to make them visible at all zoom levels but it caused a visual artifact at smaller zoom levels (see video below) so i thought it was best to restrict it up to a given zoom level.
https://github.com/user-attachments/assets/d5bd838f-c25a-4464-a01d-60921b079eb6
Fixes:
palette.has(color)
check inset_pixelv_custom
was almost always false even if the color was there in the palette