refactor(camera): store orbit target in f64
Foundation for relative-to-eye rendering: the pivot the camera orbits must stay precise at large offset-relative coordinates so the derived eye (which the RTE path subtracts per vertex) is exact. `Camera::target` is now DVec3 and `eye_f64()` exposes the full-precision eye; `view_proj` still casts to f32 at the matrix, so behaviour is unchanged for now. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
4100044c01
commit
091b8e1805
4 changed files with 44 additions and 34 deletions
|
|
@ -3265,8 +3265,8 @@ impl OpenCADStudio {
|
|||
let aspect = if vh > 0.0 { vw / vh } else { 1.0 };
|
||||
let half_h = cam.ortho_size();
|
||||
let half_w = half_h * aspect;
|
||||
let tx = cam.target.x;
|
||||
let ty = cam.target.y;
|
||||
let tx = cam.target.x as f32;
|
||||
let ty = cam.target.y as f32;
|
||||
drop(cam);
|
||||
find_hit_grip_paper(
|
||||
p,
|
||||
|
|
@ -8259,8 +8259,8 @@ impl OpenCADStudio {
|
|||
let aspect = if vh > 0.0 { vw / vh } else { 1.0 };
|
||||
let half_h = cam.ortho_size();
|
||||
let half_w = half_h * aspect;
|
||||
let tx = cam.target.x;
|
||||
let ty = cam.target.y;
|
||||
let tx = cam.target.x as f32;
|
||||
let ty = cam.target.y as f32;
|
||||
drop(cam);
|
||||
find_hit_grip_paper(
|
||||
p,
|
||||
|
|
|
|||
|
|
@ -93,8 +93,8 @@ impl OpenCADStudio {
|
|||
let aspect = if vh > 0.0 { vw / vh } else { 1.0 };
|
||||
let half_h = cam.ortho_size();
|
||||
let half_w = half_h * aspect;
|
||||
let tx = cam.target.x;
|
||||
let ty = cam.target.y;
|
||||
let tx = cam.target.x as f32;
|
||||
let ty = cam.target.y as f32;
|
||||
drop(cam);
|
||||
grips_to_screen_paper(&tab.selected_grips, tx, ty, half_w, half_h, bounds)
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue