feat(input): relative coordinate entry (@/#) and DYN default — #26
Koordinat girişi artık göreli/mutlak ayrımını destekliyor: - `@x,y[,z]` → son girilen noktaya göreli (UCS eksenlerinde döndürülür) - `#x,y[,z]` → her zaman mutlak (DYN durumundan bağımsız) - ön ek yok → DYN açıksa göreli, kapalıysa mutlak İlk noktada referans olmadığından göreli giriş mutlağa düşer. Çözülen WCS noktası last_point olarak saklanıyor, böylece ardışık göreli girişler zincirleniyor. parse_coord artık (Vec3, CoordKind) döndürüyor; relative offset için ucs_rotate_vec eklendi (origin translation olmadan UCS rotasyonu). UCS ORIGIN komutu prefix'i yok sayıp mutlak kalıyor. Ayrıca ViewCube snap refactor'undan kalan kullanılmayan kod temizlendi: angle_close, active_viewport_yaw_pitch, CubeRegion::snap_angles. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
451239c4f9
commit
874226bd43
5 changed files with 77 additions and 81 deletions
|
|
@ -2211,13 +2211,6 @@ impl Scene {
|
|||
self.camera.borrow().view_rotation_mat()
|
||||
}
|
||||
|
||||
/// Return (yaw, pitch) of the active viewport's camera, or None if PSPACE.
|
||||
pub fn active_viewport_yaw_pitch(&self) -> Option<(f32, f32)> {
|
||||
let h = self.active_viewport?;
|
||||
let cam = self.camera_for_viewport(h)?;
|
||||
Some((cam.yaw, cam.pitch))
|
||||
}
|
||||
|
||||
/// Return the handle of the user viewport whose bounding rectangle contains
|
||||
/// the given paper-space point, or `None` if no viewport matches.
|
||||
pub fn viewport_at_paper_point(&self, px: f32, py: f32) -> Option<Handle> {
|
||||
|
|
|
|||
Loading…
Reference in a new issue