Releases: leejjoon/retrofits
Releases · leejjoon/retrofits
Release list
v0.2.0
A major UI overhaul following common TUI conventions, plus new inspection features.
New features
- FITS header viewer (
v): full-screen,less-style page showing every header card in file order — including comments,COMMENT/HISTORYcards, and mergedCONTINUElong-strings. Scroll withj/k/g/G/PgUp/PgDn, search incrementally with/(matches highlighted,n/Nto cycle). - Crosshair pixel readout (
x): move a crosshair over the image withh/j/k/l; the status bar shows FITS coordinates (1-based, bottom-up) and the pixel value. Rendered into the image itself, so it works identically on every graphics protocol. - Mouse support (opt-in via
--mouseor theMtoggle): scroll to zoom at the cursor, drag to pan, click to select picker rows. - Zoom below 1×: the image shrinks inside the window down to 0.1×.
UI improvements
- Panels instead of overlay popups: help and the header viewer are full-screen pages; summary, extension picker, and protocol picker are side panels; manual cut entry is a bottom strip. Panels never cover the image.
- Extension picker (
e) now shows HDU kind,EXTNAME, dimensions, and pixel type; non-viewable HDUs are dimmed and skipped; load failures are reported instead of silently ignored. - Vim-style keys:
h/j/k/lfine pan,H/J/K/L/Shift+Arrowscoarse pan,?for help.Escno longer quits the app (onlyqdoes). Direct protocol keys were replaced by aPpicker;pstill cycles. - Status bar redesigned: emoji-free three segments (file/extension/dims · zoom/stretch/colormap/cuts · protocol/hints) with transient vim-style messages for errors and confirmations.
- Help content is generated from the actual keymap, so it can no longer drift from the real bindings.
Fixes
- The Kitty and Sixel popup-redraw workarounds (
--disable-sixel-clear,RETROFITS_DISABLE_SIXEL_CLEAR) are gone — the non-overlapping layout removes their root cause.Rremains as a manual force-redraw. - Fixed a long-standing Konsole+Sixel artifact where every image re-emit scrolled the screen one row, leaving a duplicated status-bar line (a one-row sixel gutter prevents it).
- Fixed a render-thread race where a queued extension switch could be silently dropped.
Testing
- New visual regression harness (
tests/visual/run.sh) drives real kitty and konsole emulators headlessly under Xvfb and pixel-diffs screenshots to prove panel open/close cycles leave no graphics-protocol artifacts. - Pixel orientation/readout pinned against astropy reference values.
Breaking changes: Esc no longer quits; h pans instead of opening help (use ?); H/S/K/I protocol shortcuts replaced by P; --disable-sixel-clear removed.
Full Changelog: v0.1.1...v0.2.0
v0.1.1
What's Changed
Full Changelog: v0.1.0...v0.1.1
v0.1.0
What's Changed
- Streamlined Statusbar, Summary/Help Popups, and Protocol Controls by @leejjoon in #1
- Fix popup window rendering issue for kitty protocol by @leejjoon in #3
- feat: multi-extension FITS support by @leejjoon in #5
- docs: Add README.md with screenshots by @leejjoon in #4
- Fix Sixel protocol popup artifact rendering bug by @leejjoon in #6
- Add keyboard shortcuts for switching protocols by @leejjoon in #7
- Add 'R' hotkey to manually force screen redraw by @leejjoon in #8
New Contributors
Full Changelog: https://github.com/leejjoon/retrofits/commits/v0.1.0