Skip to content

Conversation

@haticekaratay
Copy link
Contributor

@haticekaratay haticekaratay commented Dec 25, 2025

Description

This PR adds a new skewer selection mode for interactive footprint selection in the loaders infrastructure. The skewer mode selects footprints by evaluating whether a clicked sky coordinate lies within a footprint’s spherical polygon, and is available in addition to the existing nearest-edge footprint selection behavior.

This work was initially developed for the Footprints plugin (see #3794), but has since been refactored and integrated into the loaders infrastructure. By implementing this in loaders, the skewer selection mode is now available wherever loader-based footprint selection is used.

Screen.Recording.2026-01-20.at.1.55.09.PM.mov

To make it easier to visualize how the skewer selection mode works, check the demo with well-separated footprints.
When clicking inside overlapping footprints, the skewer mode automatically selects the one with the smallest polygon area. This ensures that when a smaller footprint is nested within a larger one, clicking in the overlap region will correctly select the more specific (smaller) footprint.

Screen.Recording.2026-01-20.at.3.06.50.PM.mov

Change log entry

  • Is a change log needed? If yes, is it added to CHANGES.rst? If you want to avoid merge conflicts,
    list the proposed change log here for review and add to CHANGES.rst before merge. If no, maintainer
    should add a no-changelog-entry-needed label.

Checklist for package maintainer(s)

This checklist is meant to remind the package maintainer(s) who will review this pull request of some common things to look for. This list is not exhaustive.

  • Are two approvals required? Branch protection rule does not check for the second approval. If a second approval is not necessary, please apply the trivial label.
  • Do the proposed changes actually accomplish desired goals? Also manually run the affected example notebooks, if necessary.
  • Do the proposed changes follow the STScI Style Guides?
  • Are tests added/updated as required? If so, do they follow the STScI Style Guides?
  • Are docs added/updated as required? If so, do they follow the STScI Style Guides?
  • If new remote data is added that uses MAST, is the URI added to the cache-download.yml workflow?
  • Did the CI pass? If not, are the failures related?
  • Is a milestone set? Set this to bugfix milestone if this is a bug fix and needs to be released ASAP; otherwise, set this to the next major release milestone. Bugfix milestone also needs an accompanying backport label.
  • After merge, any internal documentations need updating (e.g., JIRA, Innerspace)?

@haticekaratay haticekaratay added this to the 4.5.1 milestone Dec 25, 2025
@haticekaratay haticekaratay modified the milestones: 4.5.1, 4.6 Jan 16, 2026
@haticekaratay haticekaratay force-pushed the loader-skewer-selection branch from ac8a8d4 to e7e8cf1 Compare January 16, 2026 15:54
@haticekaratay haticekaratay marked this pull request as ready for review January 16, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant