Synchronizing scene updates to orbitControls (for head tethering)

Hi there, using THREE.js I tried to create a Head Up Display reticle in 3D by transferring the camera’s matrix information to an HUD object. The camera was controlled by an orbitControls class. This worked as expected EXCEPT there was desynchronization between the object motion and the camera, perhaps a frame of lag. Is there a recommended place to update this information? I tried multiple places including just before the render call but could not synchronize my object update from the camera matrix, to the rendering of scene with that camera. Thanks in advance,

OrbitControls transforms the camera but it does not recompute Object3D.matrix and Object3D.matrixWorld. Depending on what matrix is relevant to you, you have to call camera.updateMatrix() or camera.updateMatrixWorld() before using it for your HUD logic.