Calibrating the cameras on a projection rig usually starts with a printed checkerboard, and the standard OpenCV solve assumes the board is flat. Ours wasn't, and the solve didn't notice.
We measured it while building the Lens step for GodotSpacePlane. A paper print on card had about 1.1 mm of twist, and a print on particle board flexed by 0.4 to 0.7 mm, depending on how it was held. A flat-board solve puts that error into the camera's focal length without telling you, so the same camera came out 1.2 to 1.5% different from one session to the next. OpenCV's own error estimate was 3.6 to 4.4 times too small to warn us. Solving for the board's shape as well as the lens brought sessions within about 0.2% of each other.
If you're calibrating cameras for a projection rig, two cheap things help: mount the print on something stiff (we're moving to 9 mm MDF), and hold it by opposite corners. And don't trust a single solve's error bar. Run the calibration twice and compare the focal lengths. If they're more than a few tenths of a percent apart, the board is probably the problem.

