mapbox / carto

fast CSS-like map stylesheets
https://cartocss.readthedocs.io/
Apache License 2.0
652 stars 129 forks source link

Working color space vs. rendering color space #453

Open imagico opened 7 years ago

imagico commented 7 years ago

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:

nebulon42 commented 7 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