When the turtle goes off screen and comes back (in Scratch/Snap), the API's virtual turtle position is no longer in sync with the turtle position that Scratch expects.

To reproduce:
Begin with turtle at origin
Move turtle forward 1000 steps
Point turtle towards origin
Move turtle forward 1000 steps.
Expected behavior: Virtual turtle ends up at origin
Actual behavior: Virtual turtle ends up at (-248.25, 0)
There are additional unintended consequences that relate back to the API's virtual turtle no longer matching the position of the on-screen turtle; this is apparently the root cause.
When the turtle goes off screen and comes back (in Scratch/Snap), the API's virtual turtle position is no longer in sync with the turtle position that Scratch expects.
To reproduce:
Begin with turtle at origin
Move turtle forward 1000 steps
Point turtle towards origin
Move turtle forward 1000 steps.
Expected behavior: Virtual turtle ends up at origin
Actual behavior: Virtual turtle ends up at (-248.25, 0)
There are additional unintended consequences that relate back to the API's virtual turtle no longer matching the position of the on-screen turtle; this is apparently the root cause.