Open imagico opened 8 years ago
Thanks for opening this issue. Good summary of the problems, but a bit too abstract given the state of this project (very few people still active). Something as big as colour management is very unlikely to happen here if it is not provided by an external library. But if we succeed in converging from abstract to concrete I see the possibility for improvements.
Some quick library finds:
https://github.com/gka/chroma.js (already included in carto) https://github.com/hhelwich/c0lor
Based on suggestion by @nebulon42 in https://github.com/gravitystorm/openstreetmap-carto/issues/2492 i am opening this issue here but i am not sure if this is within the scope of this project.
The problem is that the three aims
are mutually exclusive.
The addition of support for husl colors in #422 tries to find a compromise but essentially sacrifices the first aim in favor of the second and third.
In more general terms this is the problem of having a working color space with a much wider gamut than the rendering color space (which in case of Mapnik is apparently always sRGB). This is not an uncommon problem in applications dealing with colors and the usual approach to this is called color management. Color management is not a solution for all of the problems related to this but it is a framework for managing them independent of the specific color spaces actually used.
So if you really want to address this matter in an universal way you will have to look into color management integration. If this is outside the scope of this project you should still consider: