Repository navigation
feat: Add spacecraft inspection viewing and glare constraints - #1578
Merged
Merged
Conversation
schaubh
self-requested a review
September 24, 2026 20:13
schaubh
reviewed
Sep 24, 2026
schaubh
left a comment
Contributor
There was a problem hiding this comment.
Critical review: two P2 findings below. The original 146 focused tests and standalone header compilation passed; supplemental diagnostic checks exposed these gaps. The first finding has now been fixed and validated locally (146 focused tests and pre-commit checks pass), but that fix has not been pushed. The second finding remains outstanding.
schaubh
force-pushed
the
feature/spacecraft-location-glare
branch
from
September 24, 2026 20:45
e14e77c to
e8713c1
Compare
dhutererprats
force-pushed
the
feature/spacecraft-location-glare
branch
from
September 29, 2026 20:07
e8713c1 to
e95b05f
Compare
Zero-initialize AccessMsgPayload in groundLocation and stripLocation so unused illumination and glare outputs remain zero. Extend range tests to verify these fields for multiple spacecraft throughout the simulation.
Allow a small numerical tolerance in the glare comparison so exact reflections are detected when glareThreshold is 1. Add regression coverage for rotated spacecraft, threshold boundaries, and nearby views outside the glare limit. Document the tolerance. Validation: 242 focused tests and pre-commit checks passed.
schaubh
force-pushed
the
feature/spacecraft-location-glare
branch
from
October 2, 2026 15:57
e95b05f to
361ba70
Compare
schaubh
self-requested a review
October 2, 2026 15:57
schaubh
approved these changes
Oct 2, 2026
Contributor
Author
|
I checked your fixes and they look good. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add an optional surface-normal-to-observer angle limit (
theta_view) and geometric specular-glare detection tospacecraftLocation. The viewing angle is reported without a Sun input. With a Sun input, each tracked spacecraft gets a glare factor and flag; rejecting glared access is opt-in.Sun and viewing directions now originate at the configured body-fixed inspection point. The existing Sun-incidence and optional eclipse checks remain in place. Glare indicates reflection geometry, not measured image saturation.
Verification
Clean Release build with strict warnings; 110 CTests and 7,520 Python tests passed (411 skipped). The 95
spacecraftLocationtests cover viewing-angle limits, illumination and eclipse, and glare geometry. Pre-commit checks passed.Documentation
I rebuilt Basilisk on the updated
developbranch and ran the full test suite. All enabled tests passed. The module tests also cover views with and without a Sun input, the angle limits, and exact, near-miss, and back-facing glare cases.Pre-commit checks passed. The HTML documentation built successfully.
Future work
Consider calibrating limits for specific surfaces and cameras. Radiometric exposure and spacecraft self-shadowing are not modeled here.