+89
−34
+73
−6
File changed.
Preview size limit exceeded, changes collapsed.
Loading
- WebSocket tile-request path: magnifier tile requests use the existing
/web/socket connection instead of per-hover HTTP fetches; REST remains
as fallback when WS is not yet open.
- Module-level FITS cache in fits_image.py (mtime-invalidated): shared
between tile-request handler and stream broadcast loop, eliminating
redundant disk reads.
- Overlay canvas (cv-overlay) added to both layout variants in
viewer_panel.html; public setOverlayDrawer/clearOverlayDrawer/imageToCanvas
API on FitsViewer.
- PNG cap at 512 px (longest side) in /png endpoint.
- Throttle with trailing edge replaces debounce for magnifier updates:
leading edge fires immediately every 30 ms while moving (~33 fps),
trailing edge captures final cursor position on stop.
- fits-viewer.js fully commented in English with named variables and
single-responsibility methods.
Co-Authored-By:
Claude Sonnet 4.6 <noreply@anthropic.com>
File changed.
Preview size limit exceeded, changes collapsed.