- Fix _nice_ticks: use floor for first tick and ceil for last tick so the
tick range always fully brackets the data; data was previously clipped
when the maximum fell between two nice tick values
- Add 5% headroom padding so data does not sit flush against plot edges
- Add 'Visible Sats' and 'Used Sats' y-axis modes (global, like pDOP)
- Right-click context menu on plot canvas: Save as PNG and Copy to clipboard
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
One card per receiver showing receiver ID, pDOP, visible satellites and
used satellites. Cards are added/removed dynamically with receivers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Sky widget always gets the latest data immediately (off-thread render)
- Table rebuilds throttled to ~2 Hz via single-shot QTimer
- Cell values updated in-place when satellite set is unchanged, preserving
scroll position; full rebuild only when satellites appear/disappear
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>