Stepped away from the editor for a bit to add something to the race prototype: a visualization for the objectives. Objectives are next on the chopping block for the editor, so it'd help to be able to see them!
In this(cropped) screen cap I've massively increased the size of the Io objective to test rendering at different sizes, which incidentally means it also shows off the color coding on completion. I tried to pick colors that would work for most forms of colorblindness.
Making the lines look good at any scaling is tricky enough, making them look good at all scalings is going to be an ongoing challenge. Lines are scaled to a fixed number of display pixels in width, which is done to handle the massive width of scales encompassed in the game, but for a line like this it causes visual weirdness as the ratio of circle radius to line width changes dramatically. I think I'm either going to have to have the tiling of the line change at certain breakpoints to avoid the smooshing visible there, or let line width vary a
little with zoom for objectives, or possibly both. Changing the tiling is concerning to me because I don't think I'll like how it looks when it crosses the thresholds, but I could be wrong.
Certain aspects of the unity line render I'm using to draw these that I didn't understand made setting this up more of a headache than I expected. Specifically, setting the tiling of the texture lengthwise along the line is done with respect to worldspace length, rather than being number of times the texture should repeat along the whole line. On the other hand, tiling the other way, widthwise,
is done with respect to the total width of the line. So, a length 20 line set to a texture scale of 2,2 will tile 10 times lengthwise, and only twice widthwise. I didn't stumble across any documentation explaining this, and it took a bit of time to do the right test that illuminated things. Made for some frustration, but now it works! Unfortunately the fact that it works this way does mean that if I ever want to use marks on a line texture to indicate the speed or general motion of an object rather than having them being solid lines I'll probably have to write my own line building script instead of using unity's, since I'll need to have the scale be variable from point to point. But that's a battle for another day!