Dumb question: how do Adobe, et al. do it when creating the standard color wheel/color picker? Would there not be some kind of Levenshteinesque mapping possible, against something like `FlattenedColorLine = Circle2LineProjection(GenerateColorWheel())`? (Is this projection what's being accomplished with Hilbert curves?)<p>I recall toying with this problem in my early programming days, when I was just learning about sorting and RGB values. A first-pass solution (RGB?) gave me results like this[1], my least-favorite color-picker UI. I decided that maybe the devs weren't stupid and bad after all, and this made sense to someone smarter than me, at least on some level. (I still groan when I see it in the wild, though)<p>How/when/why did we improve from this layout to the "standard" color-picker interface we see everywhere, like Adobe or a Google search for "color picker"?<p>(ETA: I'm talking about the awful sort order, not the end of using only "web-safe" colors)<p>[1] <a href="https://shemeerns.gallerycdn.vsassets.io/extensions/shemeerns/colorpicker/3.0.4.5/1670234719532/cP__2.png" rel="nofollow noreferrer">https://shemeerns.gallerycdn.vsassets.io/extensions/shemeern...</a>
Before I reached the hilbert curve section my best guess for a visually pleasing sorting would be using a 3D hilbert curve in LAB color space. So I’m very disappointed that the idea wasn’t explored in more depth. Such promising results for 2D curve in RGB space, and it wasn’t even extended to HSV?