I was a long time Locus Map and OpenAndroMaps user and I really like the OpenAndroMaps Elevate themes.
I've been using OsmAnd on and off for some time now and while there is no OsmAnd render theme that comes even close to the OpenAndroMaps Elevate theme I always settled for the Touring theme in OsmAnd.
Some things I don't like about the Touring view for hiking (Alpine hiking scale SAC active):
- colors for trail difficulty are way different from what I'm used to.
- trail_visibility is being ignored in Touring view although the default renderer actually processes it.
So I went down the rabbit hole to modify the "Touring-view_(more-contrast-and-details).render.xml" theme with custom additions.
Alas, I didn't find a good and up to date documentation of the render theme syntax.
The only place I found some help is:
https://osmand.net/help/docs/Custom_Rendering_How-To.htmAs far as I know the described syntax in that article is outdated.
There's no useful documentation as to how render files are processed.
The first thing I had to find out is how dependency is working. "Touring-view_(more-contrast-and-details).render.xml" is dependent on "default.render.xml".
The Next thing was that both files use different syntax. Some of this is described in the "default.render.xml".
Then I needed to grasp where to add my modifications - I still don't get how to add trail_visibility in touring view.
Then there are all the different attributes. Most of them not documented.
Just try to work out what "pathEffect_5" means? Or pathEffect_0 through pathEffect_5 for that matter.
Sure, with days of spare time I could reverse engineer most of what I need by searching in the source code - and sometimes even this is not enough.
Is there some place with detailed and up to date documentation for the rendering theme files. If not, should I open an issue at the GitHub repo?
I think with better documentation more users could actually contribute to OsmAnd rather than constantly asking for help and changes for some render theme in the GitHub issues.
Proper documentation would empower more users to do the desired changes themselves. I know I would benefit from better documentation and maybe even contribute my changes to OsmAnd.