Skip to content

Add SPK Type 3 segment support and enhance runtime kernel management#77

Merged
VPRamon merged 9 commits into
mainfrom
perf
Jun 1, 2026
Merged

Add SPK Type 3 segment support and enhance runtime kernel management#77
VPRamon merged 9 commits into
mainfrom
perf

Conversation

@VPRamon

@VPRamon VPRamon commented Jun 1, 2026

Copy link
Copy Markdown
Member

No description provided.

VPRamon added 5 commits May 31, 2026 22:18
…management

- Introduced `type3_velocity_coeffs` and `eval_type3_velocity` functions to handle SPK Type 3 velocity coefficients.
- Updated `DynSegmentDescriptor` to include `data_type` for segment differentiation.
- Modified `try_position_velocity` and `try_velocity` methods to accommodate Type 3 segments.
- Enhanced SPK segment reading functions to support both Type 2 and Type 3 segments.
- Added new dataset identifiers for Mars, Jupiter, Saturn, Uranus, and Neptune satellite ephemerides.
- Created `SpkKernelSet` for runtime management of SPK segments, allowing for dynamic loading and resolution of target-center states.
- Updated tests to validate the new functionality and ensure compliance with IAU standards.
- Updated imports in `test_high_precision_earth_rotation_regression.rs` to streamline dependencies and remove unused code.
- Enhanced `test_iau_compliance.rs` by adding necessary imports for light deflection calculations.
- Modified `test_jpl_real_backend.rs` to reflect changes in the ephemeris module path.
- Adjusted `test_moon_phase.rs` to use the new `Interval` type instead of `Period` for time windows.
- Updated assertions in `test_planets.rs` to accommodate changes in orbital period calculations.
- Removed `test_root_finding.rs` as it is no longer needed.
- Introduced `test_satellite.rs` to validate satellite creation and properties.
- Added missing documentation allowances in various test files for clarity.
- Updated `test_stars.rs`, `test_stellar.rs`, `test_target_transform.rs`, and `test_time.rs` to include missing documentation allowances.
- Created `tle_sgp4_pipeline.rs` for end-to-end testing of TLE to SGP4 propagation pipeline.
@VPRamon VPRamon self-assigned this Jun 1, 2026
- Introduced `DynSegmentStack` to manage multiple SPK segments for a target/center pair, allowing for better handling of overlapping segments.
- Updated `RuntimeEphemerisInner` to use `DynSegmentStack` instead of `DynSegmentDescriptor` for sun, emb, moon, and optional earth segments.
- Modified methods for loading SPK segments from BSP files to accommodate the new stack structure.
- Enhanced error handling in SPK segment reading to ensure validity of segment parameters.
- Added integration tests for runtime ephemeris and SPK kernel set to verify correct behavior with multiple segments and real BSP data.
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

Code Coverage

Package Line Rate Complexity Health
src.pod.observation 86% 0
src 87% 0
src.formats.spice 82% 0
src.astro.dynamics.forces 86% 0
src.ephemeris.jpl 94% 0
src.coordinates.transform 94% 0
src.formats.iers 86% 0
src.formats.tle.omm 96% 0
src.formats.vlbi 100% 0
src.pod.force 94% 0
src.coordinates.transform.centers.position 77% 0
src.pod 100% 0
src.event.altitude 94% 0
src.astro.dynamics.propagation 75% 0
src.event 93% 0
src.astro.dynamics 95% 0
src.astro.dynamics.gravity 72% 0
src.formats.tle 94% 0
src.photometry.passbands 99% 0
src.pod.process 93% 0
src.formats.adsb 85% 0
src.coordinates.observation 97% 0
src.astro.nutation 94% 0
src.coordinates.transform.centers 100% 0
src.coordinates 96% 0
src.coordinates.transform.providers 93% 0
src.ephemeris.lagrange 85% 0
src.pod.run 100% 0
src.bodies.aircraft 98% 0
src.pod.estimation 90% 0
src.targets 99% 0
src.atmosphere 97% 0
src.pod.problem 95% 0
src.ephemeris 79% 0
src.event.lunar 94% 0
src.astro 89% 0
src.ephemeris.vsop87 100% 0
src.mission 89% 0
src.formats.rinex 79% 0
src.catalogs 92% 0
src.bodies 94% 0
src.formats 94% 0
src.ephemeris.elp2000 99% 0
src.astro.sgp4 88% 0
src.mission.geometry 91% 0
src.pod.spice 88% 0
src.formats.ccsds 90% 0
src.pod.product 99% 0
src.formats.igs 68% 0
src.event.azimuth 94% 0
src.event.search 96% 0
src.pod.propagation 94% 0
src.spice 82% 0
src.formats.ilrs 95% 0
src.event.solar 97% 0
src.event.stellar 93% 0
src.coordinates.transform.frames 95% 0
src.pod.qc 93% 0
Summary 90% (28060 / 31082) 0

VPRamon added 3 commits June 1, 2026 21:30
Restore scripts/publish-changed.sh for tag releases, remove obsolete de440/de441
feature claims in favor of RuntimeEphemeris, align README and siderust-ffi docs
with 0.9, and set SIDERUST_JPL_STUB=all on all-features CI jobs.
@VPRamon VPRamon merged commit da582be into main Jun 1, 2026
10 checks passed
@VPRamon VPRamon deleted the perf branch June 1, 2026 20:17
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