Thanks, that is helpful. I just want to clarify one point so I understand the API correctly.
If I create an ARAnchor using each frame's ARCamera.transform:
let anchor = ARAnchor(transform: frame.camera.transform)
session.add(anchor)
is it correct that:
The anchor initially represents the camera's world-space position and orientation at that frame; and
If ARKit subsequently performs world-map refinement or loop closure, ARKit may change that anchor's transform, effectively giving me a refined historical camera pose; and
There is no separate public API that lets me request the refined historical ARCamera.transform directly — using an ARAnchor in this way is the mechanism available to an app if it needs access to those refined poses?
In other words, is the ARAnchor.transform after refinement effectively the public API for retrieving ARKit's updated version of that historical camera pose?
Thanks — I just want to make sure I have understood your recommendation correctly.