From ef631ab848f41da05d32642d27fffcd1b036c58f Mon Sep 17 00:00:00 2001 From: xfy Date: Wed, 15 Jul 2026 15:09:53 +0800 Subject: [PATCH] feat(camera): default to yaw -1.065 / pitch -0.335 framing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- src/camera.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/camera.rs b/src/camera.rs index 34cf86a..3b0a780 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -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 }