Move the camera to position and make the move STICK, then wait for a frame.
Aims at options.target when given, else at the current pivot
(getControls().target, NOT the always-undefined__luxarDebug.controls.target); options.up sets camera.up before the
lookAt, for a pose that must not be the default +Y-up one.
Returns where the camera actually ended up (null if the debug interface has
no camera). distance is post-clamp and viaOrbitControls says whether any
controller re-derived the write at all, so a test can PROVE the camera moved
rather than assuming it did — assert on both. Wrap in
withOrbitDistanceLimits only for a distance outside
[D/1000, D×10000] around the framing distance (see
UNCLAMPED_ORBIT_DISTANCE_LIMITS); ordinary placements are nowhere
near it.
Move the camera to
positionand make the move STICK, then wait for a frame.Aims at
options.targetwhen given, else at the current pivot (getControls().target, NOT the always-undefined__luxarDebug.controls.target);options.upsetscamera.upbefore thelookAt, for a pose that must not be the default +Y-up one.Returns where the camera actually ended up (
nullif the debug interface has no camera).distanceis post-clamp andviaOrbitControlssays whether any controller re-derived the write at all, so a test can PROVE the camera moved rather than assuming it did — assert on both. Wrap in withOrbitDistanceLimits only for a distance outside[D/1000, D×10000]around the framing distance (see UNCLAMPED_ORBIT_DISTANCE_LIMITS); ordinary placements are nowhere near it.