frameTwoTargets

function frameTwoTargets
cinematic.ts:800
frameTwoTargets(camera: UniverseVector, primary: { at: UniverseVector; x: number; y: number }, secondary: { at: UniverseVector; x: number; y: number }, fovDeg: number, aspect: number) → Quat

The orientation that puts two world-space targets at two screen positions — the match-cut solver.

The reference edit specifies compositions as screen coordinates ("planet at (0.66, 0.55), sun at (0.45, 0.43)"), and reproducing one from a camera position is exactly the TRIAD problem: build one basis from the world directions, one from the desired view directions, and the rotation between them is the answer. The primary target lands exactly; the secondary lands exactly only if the camera position gives the pair the same angular separation the screen asks for — position controls separation, orientation controls placement, and the solver deliberately does not blur that split.

cameraUniverseVector
Undocumented
primary{ at: UniverseVector; x: number; y: number }
Undocumented
secondary{ at: UniverseVector; x: number; y: number }
Undocumented
fovDegnumber
Undocumented
aspectnumber
Undocumented
ReturnsQuat