From d96476187f70dd83f389a3fffe5e6a3696443f9c Mon Sep 17 00:00:00 2001 From: gianlucafiore <50465150+gianlucafiore@users.noreply.github.com> Date: Fri, 16 Oct 2026 13:34:50 -0300 Subject: [PATCH] diagnostic: trace Extension anchor coordinates on demand --- src/app/view/mod.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/app/view/mod.rs b/src/app/view/mod.rs index 4588fad6e..46526a39f 100644 --- a/src/app/view/mod.rs +++ b/src/app/view/mod.rs @@ -968,6 +968,30 @@ bg={bg_ms:.1}ms n={view_count}" let (base, tip) = ost_project_ray(origin, dir, rot, eye, rect)?; Some(iced::Point::new(tip.x - base.x, tip.y - base.y)) }); + // Temporary visual diagnostic for the Extension-origin drift. + // Enable explicitly with OCS_EXT_DIAG=1; normal rendering is unchanged. + #[cfg(not(target_arch = "wasm32"))] + if std::env::var_os("OCS_EXT_DIAG").is_some() { + static SAMPLES: std::sync::atomic::AtomicUsize = + std::sync::atomic::AtomicUsize::new(0); + if let Some(hit) = tab + .snap_result + .filter(|hit| hit.snap_type == crate::snap::SnapType::Extension) + { + if SAMPLES.fetch_add(1, std::sync::atomic::Ordering::Relaxed) % 12 == 0 { + eprintln!( + "[EXTDIAG] screen={:?} engine_base={:?} drawn_base={:?} origin_world={:?} snap_world={:?} dir_world={:?} captured_points={:?}", + hit.screen, + hit.extension_base, + snap_ext_base, + hit.extension_origin, + hit.world, + hit.extension_dir, + self.snapper.tracking_points + ); + } + } + } let ost_points: Vec = if let Some((view_rot, eye, ob)) = otrack_proj { self.snapper