Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

Working color space vs. rendering color space #453

Open
imagico opened this issue Dec 6, 2016 · 1 comment
Open

Working color space vs. rendering color space #453

imagico opened this issue Dec 6, 2016 · 1 comment
Labels

Comments

@imagico
Copy link

imagico commented Dec 6, 2016

Based on suggestion by @nebulon42 in gravitystorm/openstreetmap-carto#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

  • designing colors in a perceptually uniform color space
  • not having to deal with the color representation limitations of the rendering output as a designer
  • being able to use the full range of colors that can be represented in the output color space

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:

  • providing the option to specify colors in perceptually uniform color spaces
  • performing color operations, in particular interpolation between colors of different chroma, in Lab color space by default.
@nebulon42
Copy link
Collaborator

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants