Here we attempt to use arrowhead symbols in SVGs to allow artists to specify the orientation of attached symbols, rather than attempting to auto-detect it via projecting the circles onto the shape and using the normal as we did in #2.
It seems like this logic is both much simpler and less error-prone, especially around corners. It also gives artists much more control over the placement of attachments.
The one fragile aspect of the implementation is that we assume the first point of the arrow shape is its tip, and that the third point is its indented bottom. This appears to be consistent across all of Nina's SVGs, so far at least...
This auto-detects the direction of normals on which to attach attachments.
Right now it's getting very confused by corners, but otherwise it seems to mostly work.