Every number a lens carries, finite and positive where it has to be.
The guard belongs to the object rather than to any one writer of it, because
a lens reaches the projection matrix from four directions — a slider, a
restored preference, a cutscene script and window.engine — and only the
first two pass through lensForFov or a storage predicate. A NaN focal
length is a NaN vertical field and a frame that draws nothing anywhere; a
zero one is floored to MIN_FOCAL, which is a 179.99° field rather than an
error. The expensive case is the observatory: framingDistance of NaN
survives clampDistance — both of its comparisons are false — and focus
stores the standoff it solves, so one bad assignment parks the planetarium
at a NaN position permanently, with nothing in the console.
focus is the one field that is legitimately infinite. A lens racked to the
stop is where this camera spends its whole life.
- lensLens
- Undocumented