This will probably never happen, but anyway, I am aware that the tagging translation is not so easy to follow in the code due to that it's made per layer and in-place, some parts left to later passes and then refined in multiple steps.
It would be easier to follow if we first just merge all layers and keep all NVDB tags. The SHP-files have only 8 character tag names which collide between layers so one would have to make a translation table, but it would be quite easy.
And then use that merged NVDB geometry as "read-only" tag-wise and write OSM tags to another, instead of like now translating in-place.
This will probably never happen, but anyway, I am aware that the tagging translation is not so easy to follow in the code due to that it's made per layer and in-place, some parts left to later passes and then refined in multiple steps.
It would be easier to follow if we first just merge all layers and keep all NVDB tags. The SHP-files have only 8 character tag names which collide between layers so one would have to make a translation table, but it would be quite easy.
And then use that merged NVDB geometry as "read-only" tag-wise and write OSM tags to another, instead of like now translating in-place.