Thanks everyone for the replies! I'll take a look during my free time over the next couple weeks, and will focus any questions I have on the codeberg site then. It's a deep rabbit hole and I haven't touched C/C++ in ages but it seems feasible 😄
post
The data is based on osm, but a lot of it is removed to reduce map download size. Traffic lights appear to still be there tho. There is already the "routing options" menu where you can set "avoid unpaved roads" for example, so it seems like the routing algorithm they use already supports conditions like this.
Did you check the old (organicmaps) and new git repositories for existing issues about this? That might answer your last question.
The repo for comaps is linked in the community description.
The overall project: https://codeberg.org/comaps
The app: https://codeberg.org/comaps/comaps
It says there that they accept code contributions.
This might be a helpful discussion to start on the git repo :) I dunno if where the project is hosted discussions are a supported feature like github, but it could potentially be opened as a feature request if a discussion isn't an option :)
Personally I think that would be cool :) It'd be nice to be able to check a few boxes and adjust the route for your needs
No idea how effort efficient it would be though, in terms of cost to implement vs helpfulness to the userbase
Today the routing algorythm is quite basic and does not contain penalties for road features like traffic lights, stop signs or turns, that is why the travel time estimates is always unrealistically low, and this can create routes which may not be the most optimal. A contributor is starting work to add penalties:
https://codeberg.org/comaps/comaps/issues/817
If you would like to help out, would be great to have you!
Addendum to my other comment:
The routing and routing_common folders seem to contain what you are interested in. Looking at bicycle_model.cpp it seems like there is lots of weighting going on so adding something for traffic lights shouldnt be impossible.
all 7 comments