Background
Field report on the returned DSO markers: panning around the sky on the chart
and hitting the markers is a great way to observe, especially with hand-
controller zoom — but there is currently no way to tell what any marker is.
The icon gives the object type and nothing more.
Proposal
Display the name of the object nearest the chart centre at the edge of the
screen, updating as the user pans.
The lookup machinery already exists. UIChart._get_nearby_markers()
(python/PiFinder/ui/chart.py:218) builds the marker set from the active
"All Filtered" catalog via a cached BallTree, and python/PiFinder/nearby.py
already exposes get_closest_objects() (k-NN) alongside the
get_objects_within_radius() call the chart currently uses. Nearest-by-angle
needs no new indexing — the chart just needs to ask a different question of the
tree it already maintains.
Design constraints
The bottom row is already occupied. chart.py:383-402 draws the optional
RA/Dec readout at resY - base.height - 3, gated on the chart_radec config
option ("HH:MM" / "Degr" / off). The label needs to either share that row,
sit at the top instead, or define precedence when both are enabled.
Suppress at the widest zoom. The chart's FOV levels are
fov_list = [5, 10.2, 20, 30, 60] (chart.py:72). The 60° view is for moving
between constellations or jumping to a new patch of sky, where a nearest-object
label is noise rather than help. Showing it at 30° and below is the suggested
starting point; worth tuning on hardware.
Only label what is actually near. The nearest catalog object can still be a
long way from the centre in a sparse field. A distance cut-off — likely tied to
the current FOV — should leave the label blank rather than naming something off
the edge of the field.
Follow-up
Being able to jump straight to the labelled object's details screen is tracked
separately, and depends on this.
Background
Field report on the returned DSO markers: panning around the sky on the chart
and hitting the markers is a great way to observe, especially with hand-
controller zoom — but there is currently no way to tell what any marker is.
The icon gives the object type and nothing more.
Proposal
Display the name of the object nearest the chart centre at the edge of the
screen, updating as the user pans.
The lookup machinery already exists.
UIChart._get_nearby_markers()(
python/PiFinder/ui/chart.py:218) builds the marker set from the active"All Filtered" catalog via a cached BallTree, and
python/PiFinder/nearby.pyalready exposes
get_closest_objects()(k-NN) alongside theget_objects_within_radius()call the chart currently uses. Nearest-by-angleneeds no new indexing — the chart just needs to ask a different question of the
tree it already maintains.
Design constraints
The bottom row is already occupied.
chart.py:383-402draws the optionalRA/Dec readout at
resY - base.height - 3, gated on thechart_radecconfigoption (
"HH:MM"/"Degr"/ off). The label needs to either share that row,sit at the top instead, or define precedence when both are enabled.
Suppress at the widest zoom. The chart's FOV levels are
fov_list = [5, 10.2, 20, 30, 60](chart.py:72). The 60° view is for movingbetween constellations or jumping to a new patch of sky, where a nearest-object
label is noise rather than help. Showing it at 30° and below is the suggested
starting point; worth tuning on hardware.
Only label what is actually near. The nearest catalog object can still be a
long way from the centre in a sparse field. A distance cut-off — likely tied to
the current FOV — should leave the label blank rather than naming something off
the edge of the field.
Follow-up
Being able to jump straight to the labelled object's details screen is tracked
separately, and depends on this.