Indeed, very nice work, I agree with Philosopher though: Whenever something is "repeated" in an image, it should not be added, a placeholder will do, and we also don't need separate colors - these things can be done with two lines of Nasal code, so are quicker to do that way than having someone spend even just a minute on adding such details. So better to think in "building blocks": if we need to show a certain symbol/image in different places, just provide it once as a SVG element with its own lookup ID (using a good name will surely help). The same goes for different sizes, colors or fonts obviously - and fonts in general (text) should probably not be added, because we would do that using Canvas, too - to keep it dynamic.
Overall, this is really promising, and I applaud all the people involved in this for making it a positive experience by sharing your skills and contributing them to a common, bigger effort and goal, so that we can all augment each other, rather than doing redundant work, possibly outside our domain of interest/skills/expertise - I just had that exact discussion with the extra500 developers, because some of their recent commits are very much redundant compared to MapStructure, and it would be better if we could overlapping boundaries and integration points, to spend our time and skills in a more efficient fashion.
So thanks again for your efforts here - it really is a very positive experience for someone like me, who usually doesn't "artist" tools like Inkscape, GIMP or even Blender - knowing that there are people dedicating their skills, expertise and time to make our lives easier, is really how open source is supposed to work in my opinion - in a project like FlightGear, with so little manpower, we really need to avoid redundant efforts, or even just efforts that are copying existing features in a sub-optimal fashion, unless of course, it is the learning/research experience that matters most.