Traewelling/line-colors

Add support for more complex shapes

DRSchlaubi opened this issue · 13 comments

🥲

So.. if you have an idea, feel free to contribute :D but I guess, these Munich lines are like an edge-case. would be nice if those could be displayed, but I actually dont know how..

I enjoy suffering

Found a way

Yeah, I get what this is doing, but I guess we need to find a way for non-Webapplications to render this correctly and convenient without having parsing issues...

I don't feel like writing my own format for representing gradients

Leipzig uses circles for busses and squares for trams, eg:
image

The square can probably made with a rectangle and short text (just the line number), but I'm unsure about the circles

tsia commented

How about SVG? Could represent all the weird and wonderful shapes and colors that some designers dream up

this idea was provided by @mrpelz

mrpelz commented

SVG representations would basically treat these not as pictograms that are part of the displaying app’s design system but as icons that are ultimately defined by the operator (slightly different definitions for “pill” included).

But that’s fine, because their purpose is making what users encounter on screen resemble offline equivalents as closely as possible.

SVGs are also infinitely scalable, not limited to Web-based rendering and can be rendered without any additional info about predefined shapes, etc.

I think another new shape which would represent a lot of bus lines is the regular hexagon. Examples can be found in Stuttgarts bus map.

I think hexagon already is on the specs (see readme down below) but I think nothing can render it atm (so please dont add it for the moment)

A hexagon is on the specs indeed, but not a regular hexagon. I won't add corresponding lines until the shape is officially supported.

I think hexagon already is on the specs (see readme down below) but I think nothing can render it atm (so please dont add it for the moment)

In my opinion we shouldn't disapprove adding data to the set, just because it can't be rendered. Applications should ideally fallback to methods they support if they encounter unrecognized/non-implemented shapes.

Besides, there might be other use cases apart from rendering, that could benefit from this data nonetheless.