The length of a diagonal piece of way is measured by it's center. This makes a lot of sense since most vehicles use the center of the road, and even when not, in sum diagonal pieces in different directions cancel each other in terms of total way length.
However, it leads to cars and especially pedestrians to "teleport" whenever they travel on a curve (change from straight to diagonal direction),
since they, too, move along the center of their way and have just an offset graphic.
Less jumping by changing the actual travel distance and time on diagonal roads.
Start by getting rid of the graphical offset and replace it with a parameter.
The parameter should be a number that gives the offset in pixel in NE/SW direction. This is because that offset would be the biggest number, NW/SE would be half that number, and NS/EW half of both of those in the respective directions.
However, this is not for each vehicle, but once for the pakset settings or for each road. The vehicles who are to be offsetted automatically gain "use_auto_offset = 1" or something (backwards-compatibility)
Whenever a vehicle traverses a NE/SW diagonal, instead of the usual diagonal length, it uses that length plus/minus offset parameter.
Whenever a vehicle traverses a NW/SE diagonal, instead of the usual diagonal length, it uses that length plus/minus 2x offset parameter.
Further implications one might realize based on this:
slightly different offset for each invidiual vehicle to not drive them exactly the same amount of pixels away from the edge (but probably only useful in really high-scale paks)
Similarly, using the same alterations of offset for pedestrians makes them use the full sidewalk
someday, if multilane-ways are realized, they might profit from centered car images.
...but that's just the future.
For now, the idea is getting rid of teleporting vehicles. Pretty please!