SCEE icon indicating copy to clipboard operation
SCEE copied to clipboard

Display "*colour" tags as that color in custom overlays

Open pkoby opened this issue 7 months ago • 3 comments

Use case I have made a few custom overlays featuring colors, notably building:colour and roof:colour, but have also looked at bench colour. Instead of a displaying the color that is tagged, the overlays uses an arbitrary color (I'm sure there's logic, but I'm not sure how they're determined).

Proposed Solution I think it would be very nice and useful to display the actual color tagged. So if I'm using an overlay for building:colour, I could compare the color on the app to the color in real life without have to click on the building to see how it's tagged. It's also a useful way to verify that the correct color is added. Also, as some tags like building:colour and roof:colour can have a lot of similar colors, these similar shades would appear similar on the app instead of being very different. For instance, $${\color{beige}beige}$$ and $${\color{tan}tan}$$ are currently show as $${\color{fuchsia}fuchsia}$$ and $${\color{peru}light orange}$$ respectively.

pkoby avatar May 27 '25 16:05 pkoby

Since this is only possible if there is only one key used for coloring, I'd suggest the following logic: If the key is !<key> and <key> ends with :colour this color is used.

Unresolved:

  • How to handle unknown colors (not hex and not css name)? E.g. roof:colour=rot or building:colour:gelb.
  • How to show missing?

rusty-snake avatar May 27 '25 16:05 rusty-snake

Good points. It crossed my mind that the default color of whatever you're displaying (e.g. buildings) would be indistinguishable from anything tagged with that exact color. That is if you're not displaying missing data. I considered using a dashed display for missing data, but I don't know if that would work for nodes or areas, only ways... So likewise, anything tagged with red would look the same as missing data. So I don't have a solution, but I think the benefits of showing colors might outweigh the exceptional cases.

Should unknown colors be displayed? As I understand it, if they're not named CSS colors or hex values, they're incorrectly tagged anyway.

pkoby avatar May 27 '25 16:05 pkoby

Should unknown colors be displayed? As I understand it, if they're not named CSS colors or hex values, they're incorrectly tagged anyway.

Code implementing this feature needs to handle such cases. And we should decide what a good way to handle them is rather than looking and fixing and fixing again. Other overlays (like surface) display unknown as black (roof:color=black ... not a solution).

Do we want to display them at all? Yes I think so. I want to see "this data is invalid, please check and correct". We could display them with an "some color" and a ⚠️ icon in the center.

a dashed display for missing data

dashed or dotted or checked or gradient

or with a border or ...

rusty-snake avatar May 27 '25 16:05 rusty-snake