Files
Jungfraujoch/viewer
leonarski_fandClaude Opus 4.8 54b1699d1f viewer: coalesce overlay rebuilds from navigation events
updateOverlay() tears down and recreates every overlay item (spots,
predictions, hkl labels, rings, ROIs). It was called directly from every
scroll, wheel, pan and resize event. A single pan step emits valueChanged
on both scrollbars (each -> onScroll -> updateOverlay) plus a direct call,
so one visual change triggered ~3 full overlay rebuilds.

Route the navigation hot paths through scheduleOverlayUpdate(), which sets
a dirty flag and defers the rebuild to the next event-loop pass via
QTimer::singleShot(0). Bursts within one handler collapse to a single
rebuild. The synchronous one-offs (image load, ROI edit, viewport-lock
apply, setZoom) keep calling updateOverlay() directly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-23 11:02:35 +02:00
..
2026-06-23 20:29:49 +02:00
2026-06-08 08:30:35 +02:00
2026-06-25 22:01:48 +02:00
2026-06-23 20:29:49 +02:00
2026-07-19 09:39:28 +02:00
2026-07-19 09:39:28 +02:00
2026-07-12 19:42:29 +02:00
2026-06-23 20:29:49 +02:00
2025-11-28 16:22:18 +01:00
2026-07-12 19:42:29 +02:00
2026-07-12 19:42:29 +02:00
2026-07-12 19:42:29 +02:00
2026-07-11 07:19:11 +02:00
2026-06-23 20:29:49 +02:00
2026-07-12 19:42:29 +02:00
2026-06-23 20:29:49 +02:00
2026-07-11 07:19:11 +02:00
2026-07-11 07:19:11 +02:00
2026-06-23 20:29:49 +02:00
2026-06-23 20:29:49 +02:00
2026-07-11 07:19:11 +02:00
2026-07-11 07:19:11 +02:00
2026-06-25 22:01:48 +02:00
2026-06-23 20:29:49 +02:00
2025-11-09 12:42:27 +01:00