Ok, so it looks like there isn’t a way to get the end point from a GameObject.Line - you have the make a Geom.Line and duplicate any operations (rotations/translations) done to GO.Line, just so you can access the Geom.Line.x2/y2 properties. This is the way to go if you need an actual end point, though it seems a bit heavy handed.
Since I only needed the end point in order to find the direction from start to end of the line, I won’t do the above as there is another way.
The GameObject.Line class already provides an angle property, which is a value in degrees, as well as a rotation property, which is a value in radians. The normalised direction of the line can be found using rotation by:
const dir = new Vec2(
Math.cos(line.rotation) - Math.PI / 2,
Math.sin(line.rotation) - Math.PI / 2,
)
Which does the job, albeit less efficiently than (START - END).normalize().