//! Observer point-of-view camera basis shared by every metrics ray-fan.
use crate;
use Vec3;
/// Distance handed to [`Camera::new`] for the basis only: the basis is the normalised
/// direction towards the origin, so any positive distance yields the same frame.
const BASIS_CAMERA_DISTANCE: f32 = 1.0;
/// Builds the observer-PoV view basis (forward, right, up) from camera yaw/pitch.
///
/// Reads the frame straight off [`Camera::new`], the render camera itself, so the
/// gemological metrics are evaluated against the frame that is actually rendered,
/// including its `world_up` choice at and past the poles.