Thank you for the examples. I think the example of non-arcing weapons correctly shows the issue, but the arcing weapons and the waypoints weapons do not. I've attached an example for an arcing weapon (side view).
As you explained, there's a difference between a "distance between two points" and "trajectory length", I agree with this.
But what I'd like to point out is the difference between "precise trajectory" and "approximate trajectory". The approximate trajectory is trajectory that is approximated to voxels, but otherwise tries to follow the line/curve of the precise trajectory. You've already snown this on your non-arcing example, but just for the sake of clarity, I've attached an edit where I've rearranged the black lines so that we can easily see why the voxel-approximated trajectory length is longer than the simple distance between two points.
Anyway, what I'm trying to argue here is that, a projectile that follows a trajectory, the total distance that it travelled should come from the "precise trajectory" and not from the "approximate trajectory", even though the projectile was drawn following the approximate trajectory.
In case of an arcing trajectory, the distance should be the length of the precise trajectory curve (not the shortest distance). In case of waypoints, the distance should be the sum of line lengths between waypoint voxels.
If we return to the savegame I provided, the starting voxel is 200,207,18 and ending voxel is 359,614,15, right? In this case, the precise trajectory length would be the distance between these two voxels.
sqrt ( (359-200)² + (614-207)² + (15-18)² ) = 436.9657 -> 27.3104 tiles. But if we add up the lengths between voxels in the approximate trajectory, then we get a distance of 29.625 tiles.
Which distance is the correct one?
27.31 tiles of the precise trajectory?
27.86 tiles of the visible distance?
29.62 tiles of the approximate trajectory?
You've convinced me that the trajectory length should be used instead of the visible distance. But then, I think it should be the precise trajectory.
But why? Why should we use the length of the precise trajectory instead of the approximate trajectory? Well, that's because, to begin with, I think the main purpose of the "approximate trajectory" is for graphical drawing and for hit tests. It was never supposed to have been used to measure any distance, because, as an approximation, it can produce weird results.