Skip to content

v1.3.0 — per-target spectral constraints + UX polish

Choose a tag to compare

@fengwusun fengwusun released this 04 Jun 22:33
· 2 commits to main since this release

Big feature release. Highlights:

  • Per-target spectral constraints — per-row required λ ranges, no-gap, extend-blue/red, protect (collision). Pre-stage with a different disperser; tolerant filter silently drops ranges that fall outside the current grating's bandpass.
  • Per-target source-centering override — sixth Constraints field. Overrides the global Source-centering Select unconditionally for that one row.
  • Customisable top stats bar + catalog hover — drag-and-drop pickers in pop-up dialogs.
  • Draggable modals with light-blue header bar + explicit ✕ close on every dialog. Header is the only drag handle; body widgets stay fully interactive.
  • Confirm-overwrite dialog for CSV save + session save.
  • Compact canvas X/Y inputs (Spinner pair, side-by-side). Per-pixel-square invariant via match_aspect symmetric inflation — image stays at native aspect at any (X, Y).
  • Canvas resize loading overlay (1.2 s buffer) using the same gold-spinner widget as file loads.
  • Persistent user preferences at ~/.vmpt/preferences.json covering the full Settings tab. Auto-saved on every widget change; Reset display to defaults button wipes the file.
  • Help panel on by default, persisted.
  • Catalog editor z is float-sortable.

Bug fixes: image aspect stretching (multi-causal), DataRange1d.start=None crash, optimizer crash on multi-source catalog with centration field, etc.

Test suite: 183 passed / 5 skipped (was 139 / 4 at v1.2.2).

Install:

```bash
pip install --upgrade jwst-vmpt
vmpt
```

See CHANGELOG.md for the full notes.