I think I understand the problem, and it seems to be a bug when you make a calibration using snapping and not snapping. You can easily reproduce this bug. For convenience, I used this project on GitHub: Offline PDF Markup.
Step 1: Make a calibration using snapping (I use meters because I don't understand the imperial system 😁).
Step 2: Make two equal distance measurements using snapping at both ends of the distance measurement.
Step 3: Make a new calibration of the same length as Step 1, but this time without snapping. It needs to be a free measurement calibration.
Step 4: Make two equal distance measurements without using snapping. These need to be free measurements. I made them on the left where I drew the free calibration.
We also encounter the same problem in our production application. A temporary solution is to disable free measurement calibration by using snapper.setSnapToPixel(false);. I hope you can provide us with more information about this problem.
kind regards,
Desmond Robers😁 (NL)