feat(camera): default to yaw -1.065 / pitch -0.335 framing

Set the OrbitCamera default to the framing the UI screenshot shows:
yaw -1.065, pitch -0.335, distance 30, fov 1.0 (the latter two were
already the defaults).

The old default (yaw 0, pitch +0.7) was a 3/4 view from above the disk
plane. The new pitch sits the eye just below the disk plane, so the
gravitationally lensed far side of the disk arcs over the top of the
shadow — the iconic Interstellar framing. yaw -1.065 (~-61°) picks a
viewing azimuth that keeps the lensed arc and photon ring balanced in
frame.
This commit is contained in:
xfy 2026-07-15 15:09:53 +08:00
parent e00c37a3ae
commit ef631ab848

View File

@ -16,11 +16,12 @@ pub struct OrbitCamera {
impl Default for OrbitCamera {
fn default() -> Self {
Self {
yaw: 0.0,
// ~0.7 rad (40°) is a comfortable 3/4 view of the disk. The basis()
// no longer has a gimbal pole, so any pitch is safe; this is just a
// nice default angle, not a pole-avoidance choice.
pitch: 0.7,
yaw: -1.065,
// ~0.335 rad (19°) below the disk plane. The lensed far side of the
// disk then arcs over the top of the shadow — the iconic framing. The
// basis() has no gimbal pole, so any pitch is safe; this is just a nice
// default angle, not a pole-avoidance choice.
pitch: -0.335,
distance: 30.0,
fov: 1.0, // radians
}