ootk 6.0.0-rc.4 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.cjs +29551 -0
- package/dist/main.d.cts +16961 -0
- package/dist/main.d.ts +16940 -32
- package/dist/main.js +29243 -35
- package/package.json +38 -25
- package/.claude/PROMPT.md +0 -13
- package/.claude/hooks/post-tool-use.ts +0 -33
- package/.claude/hooks/user-prompt-submit.ts +0 -138
- package/.claude/settings.local.json +0 -21
- package/.claude/skill-rules.json +0 -11
- package/.claude/skills/ootk-dev/SKILL.md +0 -16
- package/ADVANCED_FEATURES_GUIDE.md +0 -1025
- package/CHANGELOG.md +0 -511
- package/CLAUDE.md +0 -67
- package/FUTURE-WORK.md +0 -325
- package/dist/body/CelestialBody.d.ts +0 -155
- package/dist/body/CelestialBody.js +0 -207
- package/dist/body/CelestialBody.js.map +0 -1
- package/dist/body/CelestialBodyType.d.ts +0 -41
- package/dist/body/CelestialBodyType.js +0 -55
- package/dist/body/CelestialBodyType.js.map +0 -1
- package/dist/body/Earth.d.ts +0 -68
- package/dist/body/Earth.js +0 -198
- package/dist/body/Earth.js.map +0 -1
- package/dist/body/EphemerisBody.d.ts +0 -153
- package/dist/body/EphemerisBody.js +0 -235
- package/dist/body/EphemerisBody.js.map +0 -1
- package/dist/body/MoonBody.d.ts +0 -200
- package/dist/body/MoonBody.js +0 -414
- package/dist/body/MoonBody.js.map +0 -1
- package/dist/body/NutationAngles.d.ts +0 -38
- package/dist/body/NutationAngles.js +0 -24
- package/dist/body/NutationAngles.js.map +0 -1
- package/dist/body/PlanetBody.d.ts +0 -130
- package/dist/body/PlanetBody.js +0 -293
- package/dist/body/PlanetBody.js.map +0 -1
- package/dist/body/PrecessionAngles.d.ts +0 -29
- package/dist/body/PrecessionAngles.js +0 -24
- package/dist/body/PrecessionAngles.js.map +0 -1
- package/dist/body/SolarSystem.d.ts +0 -124
- package/dist/body/SolarSystem.js +0 -218
- package/dist/body/SolarSystem.js.map +0 -1
- package/dist/body/SunBody.d.ts +0 -253
- package/dist/body/SunBody.js +0 -433
- package/dist/body/SunBody.js.map +0 -1
- package/dist/body/index.d.ts +0 -36
- package/dist/body/index.js +0 -39
- package/dist/body/index.js.map +0 -1
- package/dist/comm/Antenna.d.ts +0 -112
- package/dist/comm/Antenna.js +0 -173
- package/dist/comm/Antenna.js.map +0 -1
- package/dist/comm/Beacon.d.ts +0 -141
- package/dist/comm/Beacon.js +0 -268
- package/dist/comm/Beacon.js.map +0 -1
- package/dist/comm/CommTypes.d.ts +0 -181
- package/dist/comm/CommTypes.js +0 -115
- package/dist/comm/CommTypes.js.map +0 -1
- package/dist/comm/CommunicationDevice.d.ts +0 -115
- package/dist/comm/CommunicationDevice.js +0 -142
- package/dist/comm/CommunicationDevice.js.map +0 -1
- package/dist/comm/Receiver.d.ts +0 -139
- package/dist/comm/Receiver.js +0 -219
- package/dist/comm/Receiver.js.map +0 -1
- package/dist/comm/Transmitter.d.ts +0 -136
- package/dist/comm/Transmitter.js +0 -273
- package/dist/comm/Transmitter.js.map +0 -1
- package/dist/comm/Transponder.d.ts +0 -154
- package/dist/comm/Transponder.js +0 -281
- package/dist/comm/Transponder.js.map +0 -1
- package/dist/comm/index.d.ts +0 -30
- package/dist/comm/index.js +0 -26
- package/dist/comm/index.js.map +0 -1
- package/dist/conjunction/CatalogScreener.d.ts +0 -134
- package/dist/conjunction/CatalogScreener.js +0 -213
- package/dist/conjunction/CatalogScreener.js.map +0 -1
- package/dist/conjunction/ConjunctionAssessment.d.ts +0 -149
- package/dist/conjunction/ConjunctionAssessment.js +0 -288
- package/dist/conjunction/ConjunctionAssessment.js.map +0 -1
- package/dist/conjunction/ConjunctionEvent.d.ts +0 -110
- package/dist/conjunction/ConjunctionEvent.js +0 -154
- package/dist/conjunction/ConjunctionEvent.js.map +0 -1
- package/dist/conjunction/CovarianceRealism.d.ts +0 -189
- package/dist/conjunction/CovarianceRealism.js +0 -348
- package/dist/conjunction/CovarianceRealism.js.map +0 -1
- package/dist/conjunction/ProbabilityOfCollision.d.ts +0 -102
- package/dist/conjunction/ProbabilityOfCollision.js +0 -242
- package/dist/conjunction/ProbabilityOfCollision.js.map +0 -1
- package/dist/conjunction/ScreeningFilter.d.ts +0 -112
- package/dist/conjunction/ScreeningFilter.js +0 -160
- package/dist/conjunction/ScreeningFilter.js.map +0 -1
- package/dist/conjunction/index.d.ts +0 -22
- package/dist/conjunction/index.js +0 -23
- package/dist/conjunction/index.js.map +0 -1
- package/dist/constellation/ConstellationGenerator.d.ts +0 -137
- package/dist/constellation/ConstellationGenerator.js +0 -270
- package/dist/constellation/ConstellationGenerator.js.map +0 -1
- package/dist/constellation/index.d.ts +0 -17
- package/dist/constellation/index.js +0 -18
- package/dist/constellation/index.js.map +0 -1
- package/dist/coordinate/ClassicalElements.d.ts +0 -170
- package/dist/coordinate/ClassicalElements.js +0 -334
- package/dist/coordinate/ClassicalElements.js.map +0 -1
- package/dist/coordinate/EquinoctialElements.d.ts +0 -114
- package/dist/coordinate/EquinoctialElements.js +0 -172
- package/dist/coordinate/EquinoctialElements.js.map +0 -1
- package/dist/coordinate/FormatTle.d.ts +0 -95
- package/dist/coordinate/FormatTle.js +0 -188
- package/dist/coordinate/FormatTle.js.map +0 -1
- package/dist/coordinate/Geodetic.d.ts +0 -110
- package/dist/coordinate/Geodetic.js +0 -164
- package/dist/coordinate/Geodetic.js.map +0 -1
- package/dist/coordinate/Hill.d.ts +0 -49
- package/dist/coordinate/Hill.js +0 -222
- package/dist/coordinate/Hill.js.map +0 -1
- package/dist/coordinate/ITRF.d.ts +0 -75
- package/dist/coordinate/ITRF.js +0 -135
- package/dist/coordinate/ITRF.js.map +0 -1
- package/dist/coordinate/J2000.d.ts +0 -65
- package/dist/coordinate/J2000.js +0 -120
- package/dist/coordinate/J2000.js.map +0 -1
- package/dist/coordinate/RIC.d.ts +0 -64
- package/dist/coordinate/RIC.js +0 -79
- package/dist/coordinate/RIC.js.map +0 -1
- package/dist/coordinate/RelativeState.d.ts +0 -70
- package/dist/coordinate/RelativeState.js +0 -79
- package/dist/coordinate/RelativeState.js.map +0 -1
- package/dist/coordinate/StateVector.d.ts +0 -76
- package/dist/coordinate/StateVector.js +0 -97
- package/dist/coordinate/StateVector.js.map +0 -1
- package/dist/coordinate/TEME.d.ts +0 -57
- package/dist/coordinate/TEME.js +0 -89
- package/dist/coordinate/TEME.js.map +0 -1
- package/dist/coordinate/Tle.d.ts +0 -429
- package/dist/coordinate/Tle.js +0 -866
- package/dist/coordinate/Tle.js.map +0 -1
- package/dist/coordinate/index.d.ts +0 -12
- package/dist/coordinate/index.js +0 -13
- package/dist/coordinate/index.js.map +0 -1
- package/dist/coordinate/tle-format-data.d.ts +0 -41
- package/dist/coordinate/tle-format-data.js +0 -46
- package/dist/coordinate/tle-format-data.js.map +0 -1
- package/dist/covariance/CovarianceSample.d.ts +0 -46
- package/dist/covariance/CovarianceSample.js +0 -221
- package/dist/covariance/CovarianceSample.js.map +0 -1
- package/dist/covariance/StateCovariance.d.ts +0 -42
- package/dist/covariance/StateCovariance.js +0 -65
- package/dist/covariance/StateCovariance.js.map +0 -1
- package/dist/covariance/index.d.ts +0 -2
- package/dist/covariance/index.js +0 -3
- package/dist/covariance/index.js.map +0 -1
- package/dist/data/DataHandler.d.ts +0 -66
- package/dist/data/DataHandler.js +0 -80
- package/dist/data/DataHandler.js.map +0 -1
- package/dist/data/values/Egm96Data.d.ts +0 -37
- package/dist/data/values/Egm96Data.js +0 -63
- package/dist/data/values/Egm96Data.js.map +0 -1
- package/dist/data/values/HpAtmosphereData.d.ts +0 -33
- package/dist/data/values/HpAtmosphereData.js +0 -58
- package/dist/data/values/HpAtmosphereData.js.map +0 -1
- package/dist/data/values/HpAtmosphereResult.d.ts +0 -29
- package/dist/data/values/HpAtmosphereResult.js +0 -38
- package/dist/data/values/HpAtmosphereResult.js.map +0 -1
- package/dist/data/values/Iau1980Data.d.ts +0 -36
- package/dist/data/values/Iau1980Data.js +0 -52
- package/dist/data/values/Iau1980Data.js.map +0 -1
- package/dist/data/values/LeapSecond.d.ts +0 -27
- package/dist/data/values/LeapSecond.js +0 -35
- package/dist/data/values/LeapSecond.js.map +0 -1
- package/dist/data/values/LeapSecondData.d.ts +0 -41
- package/dist/data/values/LeapSecondData.js +0 -103
- package/dist/data/values/LeapSecondData.js.map +0 -1
- package/dist/data/values/egm96.d.ts +0 -24
- package/dist/data/values/egm96.js +0 -726
- package/dist/data/values/egm96.js.map +0 -1
- package/dist/data/values/hpAtmosphere.d.ts +0 -24
- package/dist/data/values/hpAtmosphere.js +0 -76
- package/dist/data/values/hpAtmosphere.js.map +0 -1
- package/dist/data/values/iau1980.d.ts +0 -24
- package/dist/data/values/iau1980.js +0 -30
- package/dist/data/values/iau1980.js.map +0 -1
- package/dist/enums/AngularDiameterMethod.d.ts +0 -27
- package/dist/enums/AngularDiameterMethod.js +0 -29
- package/dist/enums/AngularDiameterMethod.js.map +0 -1
- package/dist/enums/AngularDistanceMethod.d.ts +0 -27
- package/dist/enums/AngularDistanceMethod.js +0 -29
- package/dist/enums/AngularDistanceMethod.js.map +0 -1
- package/dist/enums/CatalogSource.d.ts +0 -10
- package/dist/enums/CatalogSource.js +0 -12
- package/dist/enums/CatalogSource.js.map +0 -1
- package/dist/enums/CommLink.d.ts +0 -7
- package/dist/enums/CommLink.js +0 -9
- package/dist/enums/CommLink.js.map +0 -1
- package/dist/enums/FovFrame.d.ts +0 -25
- package/dist/enums/FovFrame.js +0 -27
- package/dist/enums/FovFrame.js.map +0 -1
- package/dist/enums/FovShape.d.ts +0 -25
- package/dist/enums/FovShape.js +0 -27
- package/dist/enums/FovShape.js.map +0 -1
- package/dist/enums/OrbitRegime.d.ts +0 -30
- package/dist/enums/OrbitRegime.js +0 -32
- package/dist/enums/OrbitRegime.js.map +0 -1
- package/dist/enums/PassType.d.ts +0 -28
- package/dist/enums/PassType.js +0 -30
- package/dist/enums/PassType.js.map +0 -1
- package/dist/enums/SensorType.d.ts +0 -33
- package/dist/enums/SensorType.js +0 -35
- package/dist/enums/SensorType.js.map +0 -1
- package/dist/enums/Sgp4OpsMode.d.ts +0 -26
- package/dist/enums/Sgp4OpsMode.js +0 -28
- package/dist/enums/Sgp4OpsMode.js.map +0 -1
- package/dist/enums/index.d.ts +0 -10
- package/dist/enums/index.js +0 -11
- package/dist/enums/index.js.map +0 -1
- package/dist/errors/index.d.ts +0 -153
- package/dist/errors/index.js +0 -179
- package/dist/errors/index.js.map +0 -1
- package/dist/force/AtmosphericDrag.d.ts +0 -50
- package/dist/force/AtmosphericDrag.js +0 -92
- package/dist/force/AtmosphericDrag.js.map +0 -1
- package/dist/force/EarthGravity.d.ts +0 -53
- package/dist/force/EarthGravity.js +0 -142
- package/dist/force/EarthGravity.js.map +0 -1
- package/dist/force/Force.d.ts +0 -26
- package/dist/force/Force.js +0 -22
- package/dist/force/Force.js.map +0 -1
- package/dist/force/ForceModel.d.ts +0 -45
- package/dist/force/ForceModel.js +0 -83
- package/dist/force/ForceModel.js.map +0 -1
- package/dist/force/Gravity.d.ts +0 -38
- package/dist/force/Gravity.js +0 -47
- package/dist/force/Gravity.js.map +0 -1
- package/dist/force/SolarRadiationPressure.d.ts +0 -26
- package/dist/force/SolarRadiationPressure.js +0 -45
- package/dist/force/SolarRadiationPressure.js.map +0 -1
- package/dist/force/ThirdBodyGravity.d.ts +0 -26
- package/dist/force/ThirdBodyGravity.js +0 -59
- package/dist/force/ThirdBodyGravity.js.map +0 -1
- package/dist/force/Thrust.d.ts +0 -34
- package/dist/force/Thrust.js +0 -58
- package/dist/force/Thrust.js.map +0 -1
- package/dist/force/index.d.ts +0 -8
- package/dist/force/index.js +0 -9
- package/dist/force/index.js.map +0 -1
- package/dist/interfaces/BaseObjectParams.d.ts +0 -30
- package/dist/interfaces/BaseObjectParams.js +0 -24
- package/dist/interfaces/BaseObjectParams.js.map +0 -1
- package/dist/interfaces/ClassicalElementsParams.d.ts +0 -33
- package/dist/interfaces/ClassicalElementsParams.js +0 -24
- package/dist/interfaces/ClassicalElementsParams.js.map +0 -1
- package/dist/interfaces/EquinoctialElementsParams.d.ts +0 -35
- package/dist/interfaces/EquinoctialElementsParams.js +0 -24
- package/dist/interfaces/EquinoctialElementsParams.js.map +0 -1
- package/dist/interfaces/GroundPositionParams.d.ts +0 -28
- package/dist/interfaces/GroundPositionParams.js +0 -24
- package/dist/interfaces/GroundPositionParams.js.map +0 -1
- package/dist/interfaces/OmmFormat.d.ts +0 -62
- package/dist/interfaces/OmmFormat.js +0 -2
- package/dist/interfaces/OmmFormat.js.map +0 -1
- package/dist/interfaces/OptionsParams.d.ts +0 -3
- package/dist/interfaces/OptionsParams.js +0 -2
- package/dist/interfaces/OptionsParams.js.map +0 -1
- package/dist/interfaces/SatelliteParams.d.ts +0 -38
- package/dist/interfaces/SatelliteParams.js +0 -2
- package/dist/interfaces/SatelliteParams.js.map +0 -1
- package/dist/interfaces/StarObjectParams.d.ts +0 -10
- package/dist/interfaces/StarObjectParams.js +0 -2
- package/dist/interfaces/StarObjectParams.js.map +0 -1
- package/dist/interfaces/TimeVariables.d.ts +0 -6
- package/dist/interfaces/TimeVariables.js +0 -2
- package/dist/interfaces/TimeVariables.js.map +0 -1
- package/dist/interfaces/index.d.ts +0 -7
- package/dist/interfaces/index.js +0 -2
- package/dist/interfaces/index.js.map +0 -1
- package/dist/interpolator/ChebyshevCoefficients.d.ts +0 -50
- package/dist/interpolator/ChebyshevCoefficients.js +0 -94
- package/dist/interpolator/ChebyshevCoefficients.js.map +0 -1
- package/dist/interpolator/ChebyshevInterpolator.d.ts +0 -38
- package/dist/interpolator/ChebyshevInterpolator.js +0 -71
- package/dist/interpolator/ChebyshevInterpolator.js.map +0 -1
- package/dist/interpolator/CubicSpline.d.ts +0 -35
- package/dist/interpolator/CubicSpline.js +0 -69
- package/dist/interpolator/CubicSpline.js.map +0 -1
- package/dist/interpolator/CubicSplineInterpolator.d.ts +0 -36
- package/dist/interpolator/CubicSplineInterpolator.js +0 -80
- package/dist/interpolator/CubicSplineInterpolator.js.map +0 -1
- package/dist/interpolator/FieldInterpolator.d.ts +0 -28
- package/dist/interpolator/FieldInterpolator.js +0 -24
- package/dist/interpolator/FieldInterpolator.js.map +0 -1
- package/dist/interpolator/Interpolator.d.ts +0 -22
- package/dist/interpolator/Interpolator.js +0 -47
- package/dist/interpolator/Interpolator.js.map +0 -1
- package/dist/interpolator/LagrangeInterpolator.d.ts +0 -40
- package/dist/interpolator/LagrangeInterpolator.js +0 -159
- package/dist/interpolator/LagrangeInterpolator.js.map +0 -1
- package/dist/interpolator/StateInterpolator.d.ts +0 -27
- package/dist/interpolator/StateInterpolator.js +0 -27
- package/dist/interpolator/StateInterpolator.js.map +0 -1
- package/dist/interpolator/VerletBlendInterpolator.d.ts +0 -43
- package/dist/interpolator/VerletBlendInterpolator.js +0 -118
- package/dist/interpolator/VerletBlendInterpolator.js.map +0 -1
- package/dist/interpolator/index.d.ts +0 -31
- package/dist/interpolator/index.js +0 -32
- package/dist/interpolator/index.js.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +0 -41
- package/dist/maneuver/TwoBurnOrbitTransfer.js +0 -65
- package/dist/maneuver/TwoBurnOrbitTransfer.js.map +0 -1
- package/dist/maneuver/Waypoint.d.ts +0 -91
- package/dist/maneuver/Waypoint.js +0 -179
- package/dist/maneuver/Waypoint.js.map +0 -1
- package/dist/maneuver/index.d.ts +0 -24
- package/dist/maneuver/index.js +0 -25
- package/dist/maneuver/index.js.map +0 -1
- package/dist/objects/AccessCalculator.d.ts +0 -112
- package/dist/objects/AccessCalculator.js +0 -268
- package/dist/objects/AccessCalculator.js.map +0 -1
- package/dist/objects/AccessWindow.d.ts +0 -95
- package/dist/objects/AccessWindow.js +0 -69
- package/dist/objects/AccessWindow.js.map +0 -1
- package/dist/objects/BaseObject.d.ts +0 -119
- package/dist/objects/BaseObject.js +0 -203
- package/dist/objects/BaseObject.js.map +0 -1
- package/dist/objects/CenterBody.d.ts +0 -41
- package/dist/objects/CenterBody.js +0 -85
- package/dist/objects/CenterBody.js.map +0 -1
- package/dist/objects/DynamicGroundObject.d.ts +0 -309
- package/dist/objects/DynamicGroundObject.js +0 -758
- package/dist/objects/DynamicGroundObject.js.map +0 -1
- package/dist/objects/EphemerisSatellite.d.ts +0 -209
- package/dist/objects/EphemerisSatellite.js +0 -480
- package/dist/objects/EphemerisSatellite.js.map +0 -1
- package/dist/objects/GroundObject.d.ts +0 -124
- package/dist/objects/GroundObject.js +0 -192
- package/dist/objects/GroundObject.js.map +0 -1
- package/dist/objects/GroundStation.d.ts +0 -60
- package/dist/objects/GroundStation.js +0 -113
- package/dist/objects/GroundStation.js.map +0 -1
- package/dist/objects/History.d.ts +0 -101
- package/dist/objects/History.js +0 -180
- package/dist/objects/History.js.map +0 -1
- package/dist/objects/InterpolatorType.d.ts +0 -39
- package/dist/objects/InterpolatorType.js +0 -41
- package/dist/objects/InterpolatorType.js.map +0 -1
- package/dist/objects/LandObject.d.ts +0 -38
- package/dist/objects/LandObject.js +0 -48
- package/dist/objects/LandObject.js.map +0 -1
- package/dist/objects/Marker.d.ts +0 -24
- package/dist/objects/Marker.js +0 -30
- package/dist/objects/Marker.js.map +0 -1
- package/dist/objects/ObjectTypes.d.ts +0 -60
- package/dist/objects/ObjectTypes.js +0 -18
- package/dist/objects/ObjectTypes.js.map +0 -1
- package/dist/objects/Satellite.d.ts +0 -443
- package/dist/objects/Satellite.js +0 -843
- package/dist/objects/Satellite.js.map +0 -1
- package/dist/objects/SpaceObject.d.ts +0 -205
- package/dist/objects/SpaceObject.js +0 -149
- package/dist/objects/SpaceObject.js.map +0 -1
- package/dist/objects/Star.d.ts +0 -44
- package/dist/objects/Star.js +0 -95
- package/dist/objects/Star.js.map +0 -1
- package/dist/objects/VisualizationHelpers.d.ts +0 -148
- package/dist/objects/VisualizationHelpers.js +0 -218
- package/dist/objects/VisualizationHelpers.js.map +0 -1
- package/dist/objects/index.d.ts +0 -24
- package/dist/objects/index.js +0 -16
- package/dist/objects/index.js.map +0 -1
- package/dist/observation/Observation.d.ts +0 -89
- package/dist/observation/Observation.js +0 -51
- package/dist/observation/Observation.js.map +0 -1
- package/dist/observation/ObservationOptical.d.ts +0 -48
- package/dist/observation/ObservationOptical.js +0 -105
- package/dist/observation/ObservationOptical.js.map +0 -1
- package/dist/observation/ObservationRadar.d.ts +0 -46
- package/dist/observation/ObservationRadar.js +0 -96
- package/dist/observation/ObservationRadar.js.map +0 -1
- package/dist/observation/ObservationUtils.d.ts +0 -22
- package/dist/observation/ObservationUtils.js +0 -46
- package/dist/observation/ObservationUtils.js.map +0 -1
- package/dist/observation/PropagatorPairs.d.ts +0 -32
- package/dist/observation/PropagatorPairs.js +0 -43
- package/dist/observation/PropagatorPairs.js.map +0 -1
- package/dist/observation/RAE.d.ts +0 -111
- package/dist/observation/RAE.js +0 -214
- package/dist/observation/RAE.js.map +0 -1
- package/dist/observation/RadecGeocentric.d.ts +0 -111
- package/dist/observation/RadecGeocentric.js +0 -169
- package/dist/observation/RadecGeocentric.js.map +0 -1
- package/dist/observation/RadecTopocentric.d.ts +0 -123
- package/dist/observation/RadecTopocentric.js +0 -200
- package/dist/observation/RadecTopocentric.js.map +0 -1
- package/dist/observation/index.d.ts +0 -26
- package/dist/observation/index.js +0 -27
- package/dist/observation/index.js.map +0 -1
- package/dist/operations/BoxMuller.d.ts +0 -46
- package/dist/operations/BoxMuller.js +0 -77
- package/dist/operations/BoxMuller.js.map +0 -1
- package/dist/operations/EulerAngles.d.ts +0 -105
- package/dist/operations/EulerAngles.js +0 -161
- package/dist/operations/EulerAngles.js.map +0 -1
- package/dist/operations/Matrix.d.ts +0 -170
- package/dist/operations/Matrix.js +0 -405
- package/dist/operations/Matrix.js.map +0 -1
- package/dist/operations/Quaternion.d.ts +0 -56
- package/dist/operations/Quaternion.js +0 -167
- package/dist/operations/Quaternion.js.map +0 -1
- package/dist/operations/Random.d.ts +0 -40
- package/dist/operations/Random.js +0 -50
- package/dist/operations/Random.js.map +0 -1
- package/dist/operations/RandomGaussianSource.d.ts +0 -24
- package/dist/operations/RandomGaussianSource.js +0 -43
- package/dist/operations/RandomGaussianSource.js.map +0 -1
- package/dist/operations/Vector.d.ts +0 -262
- package/dist/operations/Vector.js +0 -415
- package/dist/operations/Vector.js.map +0 -1
- package/dist/operations/Vector3D.d.ts +0 -80
- package/dist/operations/Vector3D.js +0 -224
- package/dist/operations/Vector3D.js.map +0 -1
- package/dist/operations/index.d.ts +0 -4
- package/dist/operations/index.js +0 -5
- package/dist/operations/index.js.map +0 -1
- package/dist/operations/operations.d.ts +0 -26
- package/dist/operations/operations.js +0 -27
- package/dist/operations/operations.js.map +0 -1
- package/dist/optimize/ChebyshevCompressor.d.ts +0 -80
- package/dist/optimize/ChebyshevCompressor.js +0 -128
- package/dist/optimize/ChebyshevCompressor.js.map +0 -1
- package/dist/optimize/DownhillSimplex.d.ts +0 -98
- package/dist/optimize/DownhillSimplex.js +0 -216
- package/dist/optimize/DownhillSimplex.js.map +0 -1
- package/dist/optimize/GoldenSection.d.ts +0 -177
- package/dist/optimize/GoldenSection.js +0 -202
- package/dist/optimize/GoldenSection.js.map +0 -1
- package/dist/optimize/PolynomialRegression.d.ts +0 -151
- package/dist/optimize/PolynomialRegression.js +0 -184
- package/dist/optimize/PolynomialRegression.js.map +0 -1
- package/dist/optimize/SimpleLinearRegression.d.ts +0 -153
- package/dist/optimize/SimpleLinearRegression.js +0 -212
- package/dist/optimize/SimpleLinearRegression.js.map +0 -1
- package/dist/optimize/index.d.ts +0 -5
- package/dist/optimize/index.js +0 -6
- package/dist/optimize/index.js.map +0 -1
- package/dist/optimize/internal/PolynomicalRegressionResult.d.ts +0 -118
- package/dist/optimize/internal/PolynomicalRegressionResult.js +0 -123
- package/dist/optimize/internal/PolynomicalRegressionResult.js.map +0 -1
- package/dist/optimize/internal/SimplexEntry.d.ts +0 -150
- package/dist/optimize/internal/SimplexEntry.js +0 -147
- package/dist/optimize/internal/SimplexEntry.js.map +0 -1
- package/dist/orbit-design/RepeatGroundTrack.d.ts +0 -184
- package/dist/orbit-design/RepeatGroundTrack.js +0 -359
- package/dist/orbit-design/RepeatGroundTrack.js.map +0 -1
- package/dist/orbit-design/index.d.ts +0 -18
- package/dist/orbit-design/index.js +0 -18
- package/dist/orbit-design/index.js.map +0 -1
- package/dist/orbit-determination/BatchLeastSquaresOD.d.ts +0 -69
- package/dist/orbit-determination/BatchLeastSquaresOD.js +0 -143
- package/dist/orbit-determination/BatchLeastSquaresOD.js.map +0 -1
- package/dist/orbit-determination/BatchLeastSquaresResult.d.ts +0 -31
- package/dist/orbit-determination/BatchLeastSquaresResult.js +0 -36
- package/dist/orbit-determination/BatchLeastSquaresResult.js.map +0 -1
- package/dist/orbit-determination/GaussIOD.d.ts +0 -98
- package/dist/orbit-determination/GaussIOD.js +0 -294
- package/dist/orbit-determination/GaussIOD.js.map +0 -1
- package/dist/orbit-determination/GibbsIOD.d.ts +0 -38
- package/dist/orbit-determination/GibbsIOD.js +0 -77
- package/dist/orbit-determination/GibbsIOD.js.map +0 -1
- package/dist/orbit-determination/GoodingIOD.d.ts +0 -155
- package/dist/orbit-determination/GoodingIOD.js +0 -492
- package/dist/orbit-determination/GoodingIOD.js.map +0 -1
- package/dist/orbit-determination/HerrickGibbsIOD.d.ts +0 -33
- package/dist/orbit-determination/HerrickGibbsIOD.js +0 -50
- package/dist/orbit-determination/HerrickGibbsIOD.js.map +0 -1
- package/dist/orbit-determination/LambertIOD.d.ts +0 -59
- package/dist/orbit-determination/LambertIOD.js +0 -213
- package/dist/orbit-determination/LambertIOD.js.map +0 -1
- package/dist/orbit-determination/LevenbergMarquardtOD.d.ts +0 -72
- package/dist/orbit-determination/LevenbergMarquardtOD.js +0 -202
- package/dist/orbit-determination/LevenbergMarquardtOD.js.map +0 -1
- package/dist/orbit-determination/LevenbergMarquardtResult.d.ts +0 -36
- package/dist/orbit-determination/LevenbergMarquardtResult.js +0 -43
- package/dist/orbit-determination/LevenbergMarquardtResult.js.map +0 -1
- package/dist/orbit-determination/ModifiedGoodingIOD.d.ts +0 -41
- package/dist/orbit-determination/ModifiedGoodingIOD.js +0 -94
- package/dist/orbit-determination/ModifiedGoodingIOD.js.map +0 -1
- package/dist/orbit-determination/index.d.ts +0 -9
- package/dist/orbit-determination/index.js +0 -10
- package/dist/orbit-determination/index.js.map +0 -1
- package/dist/parsers/CdmExporter.d.ts +0 -85
- package/dist/parsers/CdmExporter.js +0 -235
- package/dist/parsers/CdmExporter.js.map +0 -1
- package/dist/parsers/CdmParser.d.ts +0 -97
- package/dist/parsers/CdmParser.js +0 -396
- package/dist/parsers/CdmParser.js.map +0 -1
- package/dist/parsers/CdmTypes.d.ts +0 -240
- package/dist/parsers/CdmTypes.js +0 -18
- package/dist/parsers/CdmTypes.js.map +0 -1
- package/dist/parsers/HorizonsParser.d.ts +0 -128
- package/dist/parsers/HorizonsParser.js +0 -320
- package/dist/parsers/HorizonsParser.js.map +0 -1
- package/dist/parsers/OemParser.d.ts +0 -56
- package/dist/parsers/OemParser.js +0 -235
- package/dist/parsers/OemParser.js.map +0 -1
- package/dist/parsers/OemTypes.d.ts +0 -100
- package/dist/parsers/OemTypes.js +0 -18
- package/dist/parsers/OemTypes.js.map +0 -1
- package/dist/parsers/index.d.ts +0 -23
- package/dist/parsers/index.js +0 -24
- package/dist/parsers/index.js.map +0 -1
- package/dist/propagator/DormandPrince54Propagator.d.ts +0 -28
- package/dist/propagator/DormandPrince54Propagator.js +0 -64
- package/dist/propagator/DormandPrince54Propagator.js.map +0 -1
- package/dist/propagator/KeplerPropagator.d.ts +0 -35
- package/dist/propagator/KeplerPropagator.js +0 -83
- package/dist/propagator/KeplerPropagator.js.map +0 -1
- package/dist/propagator/Propagator.d.ts +0 -34
- package/dist/propagator/Propagator.js +0 -162
- package/dist/propagator/Propagator.js.map +0 -1
- package/dist/propagator/RkCheckpoint.d.ts +0 -22
- package/dist/propagator/RkCheckpoint.js +0 -27
- package/dist/propagator/RkCheckpoint.js.map +0 -1
- package/dist/propagator/RkResult.d.ts +0 -23
- package/dist/propagator/RkResult.js +0 -30
- package/dist/propagator/RkResult.js.map +0 -1
- package/dist/propagator/RungeKutta4Propagator.d.ts +0 -50
- package/dist/propagator/RungeKutta4Propagator.js +0 -141
- package/dist/propagator/RungeKutta4Propagator.js.map +0 -1
- package/dist/propagator/RungeKutta89Propagator.d.ts +0 -28
- package/dist/propagator/RungeKutta89Propagator.js +0 -126
- package/dist/propagator/RungeKutta89Propagator.js.map +0 -1
- package/dist/propagator/RungeKuttaAdaptive.d.ts +0 -51
- package/dist/propagator/RungeKuttaAdaptive.js +0 -199
- package/dist/propagator/RungeKuttaAdaptive.js.map +0 -1
- package/dist/propagator/Sgp4Propagator.d.ts +0 -76
- package/dist/propagator/Sgp4Propagator.js +0 -96
- package/dist/propagator/Sgp4Propagator.js.map +0 -1
- package/dist/propagator/index.d.ts +0 -9
- package/dist/propagator/index.js +0 -10
- package/dist/propagator/index.js.map +0 -1
- package/dist/scheduling/ContactScheduler.d.ts +0 -248
- package/dist/scheduling/ContactScheduler.js +0 -503
- package/dist/scheduling/ContactScheduler.js.map +0 -1
- package/dist/scheduling/ScheduledContact.d.ts +0 -155
- package/dist/scheduling/ScheduledContact.js +0 -189
- package/dist/scheduling/ScheduledContact.js.map +0 -1
- package/dist/scheduling/index.d.ts +0 -5
- package/dist/scheduling/index.js +0 -4
- package/dist/scheduling/index.js.map +0 -1
- package/dist/sensor/FieldOfView.d.ts +0 -250
- package/dist/sensor/FieldOfView.js +0 -470
- package/dist/sensor/FieldOfView.js.map +0 -1
- package/dist/sensor/LaserRangingSensor.d.ts +0 -122
- package/dist/sensor/LaserRangingSensor.js +0 -174
- package/dist/sensor/LaserRangingSensor.js.map +0 -1
- package/dist/sensor/MechanicalRadar.d.ts +0 -86
- package/dist/sensor/MechanicalRadar.js +0 -130
- package/dist/sensor/MechanicalRadar.js.map +0 -1
- package/dist/sensor/OpticalSensor.d.ts +0 -111
- package/dist/sensor/OpticalSensor.js +0 -164
- package/dist/sensor/OpticalSensor.js.map +0 -1
- package/dist/sensor/PassiveRFSensor.d.ts +0 -115
- package/dist/sensor/PassiveRFSensor.js +0 -168
- package/dist/sensor/PassiveRFSensor.js.map +0 -1
- package/dist/sensor/PhasedArrayRadar.d.ts +0 -170
- package/dist/sensor/PhasedArrayRadar.js +0 -290
- package/dist/sensor/PhasedArrayRadar.js.map +0 -1
- package/dist/sensor/RadarSensor.d.ts +0 -94
- package/dist/sensor/RadarSensor.js +0 -106
- package/dist/sensor/RadarSensor.js.map +0 -1
- package/dist/sensor/Sensor.d.ts +0 -271
- package/dist/sensor/Sensor.js +0 -343
- package/dist/sensor/Sensor.js.map +0 -1
- package/dist/sensor/index.d.ts +0 -74
- package/dist/sensor/index.js +0 -70
- package/dist/sensor/index.js.map +0 -1
- package/dist/sgp4/index.d.ts +0 -25
- package/dist/sgp4/index.js +0 -25
- package/dist/sgp4/index.js.map +0 -1
- package/dist/sgp4/sgp4-error.d.ts +0 -22
- package/dist/sgp4/sgp4-error.js +0 -44
- package/dist/sgp4/sgp4-error.js.map +0 -1
- package/dist/sgp4/sgp4.d.ts +0 -99
- package/dist/sgp4/sgp4.js +0 -3170
- package/dist/sgp4/sgp4.js.map +0 -1
- package/dist/smoothing/ExponentialSmoothing.d.ts +0 -37
- package/dist/smoothing/ExponentialSmoothing.js +0 -75
- package/dist/smoothing/ExponentialSmoothing.js.map +0 -1
- package/dist/time/Epoch.d.ts +0 -81
- package/dist/time/Epoch.js +0 -146
- package/dist/time/Epoch.js.map +0 -1
- package/dist/time/EpochGPS.d.ts +0 -106
- package/dist/time/EpochGPS.js +0 -134
- package/dist/time/EpochGPS.js.map +0 -1
- package/dist/time/EpochTAI.d.ts +0 -62
- package/dist/time/EpochTAI.js +0 -63
- package/dist/time/EpochTAI.js.map +0 -1
- package/dist/time/EpochTDB.d.ts +0 -72
- package/dist/time/EpochTDB.js +0 -73
- package/dist/time/EpochTDB.js.map +0 -1
- package/dist/time/EpochTT.d.ts +0 -75
- package/dist/time/EpochTT.js +0 -76
- package/dist/time/EpochTT.js.map +0 -1
- package/dist/time/EpochUTC.d.ts +0 -123
- package/dist/time/EpochUTC.js +0 -200
- package/dist/time/EpochUTC.js.map +0 -1
- package/dist/time/EpochWindow.d.ts +0 -28
- package/dist/time/EpochWindow.js +0 -31
- package/dist/time/EpochWindow.js.map +0 -1
- package/dist/time/TimeStamped.d.ts +0 -61
- package/dist/time/TimeStamped.js +0 -73
- package/dist/time/TimeStamped.js.map +0 -1
- package/dist/time/index.d.ts +0 -8
- package/dist/time/index.js +0 -9
- package/dist/time/index.js.map +0 -1
- package/dist/transforms/TransformCache.d.ts +0 -27
- package/dist/transforms/TransformCache.js +0 -41
- package/dist/transforms/TransformCache.js.map +0 -1
- package/dist/transforms/conversions.d.ts +0 -63
- package/dist/transforms/conversions.js +0 -89
- package/dist/transforms/conversions.js.map +0 -1
- package/dist/transforms/index.d.ts +0 -2
- package/dist/transforms/index.js +0 -3
- package/dist/transforms/index.js.map +0 -1
- package/dist/transforms/transforms.d.ts +0 -241
- package/dist/transforms/transforms.js +0 -479
- package/dist/transforms/transforms.js.map +0 -1
- package/dist/types/types.d.ts +0 -757
- package/dist/types/types.js +0 -90
- package/dist/types/types.js.map +0 -1
- package/dist/utils/constants.d.ts +0 -80
- package/dist/utils/constants.js +0 -87
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/create-covariance-from-tle.d.ts +0 -18
- package/dist/utils/create-covariance-from-tle.js +0 -57
- package/dist/utils/create-covariance-from-tle.js.map +0 -1
- package/dist/utils/functions.d.ts +0 -236
- package/dist/utils/functions.js +0 -501
- package/dist/utils/functions.js.map +0 -1
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.js +0 -6
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/jacobian.d.ts +0 -17
- package/dist/utils/jacobian.js +0 -34
- package/dist/utils/jacobian.js.map +0 -1
- package/dist/utils/linearDistance.d.ts +0 -8
- package/dist/utils/linearDistance.js +0 -10
- package/dist/utils/linearDistance.js.map +0 -1
- package/docs/README.md +0 -151
- package/docs/getting-started.md +0 -792
- package/docs/lambert-satellite-integration-guide.md +0 -766
- package/docs/user-guide.md +0 -1935
- package/jest.config.mjs +0 -29
- package/src/body/CelestialBody.ts +0 -316
- package/src/body/CelestialBodyType.ts +0 -55
- package/src/body/Earth.ts +0 -260
- package/src/body/EphemerisBody.ts +0 -349
- package/src/body/MoonBody.ts +0 -552
- package/src/body/NutationAngles.ts +0 -40
- package/src/body/PlanetBody.ts +0 -354
- package/src/body/PrecessionAngles.ts +0 -31
- package/src/body/SolarSystem.ts +0 -276
- package/src/body/SunBody.ts +0 -538
- package/src/body/__tests__/Earth.test.ts +0 -135
- package/src/body/__tests__/EphemerisBody.test.ts +0 -323
- package/src/body/__tests__/MoonBody.test.ts +0 -198
- package/src/body/__tests__/PlanetBody.test.ts +0 -257
- package/src/body/__tests__/SolarSystem.test.ts +0 -237
- package/src/body/__tests__/SunBody.test.ts +0 -227
- package/src/body/__tests__/__snapshots__/Earth.test.ts.snap +0 -39
- package/src/body/index.ts +0 -64
- package/src/body/suncalc.LICENSE.md +0 -18
- package/src/comm/Antenna.ts +0 -213
- package/src/comm/Beacon.ts +0 -328
- package/src/comm/CommTypes.ts +0 -216
- package/src/comm/CommunicationDevice.ts +0 -199
- package/src/comm/Receiver.ts +0 -263
- package/src/comm/Transmitter.ts +0 -349
- package/src/comm/Transponder.ts +0 -360
- package/src/comm/__tests__/Antenna.test.ts +0 -155
- package/src/comm/__tests__/Beacon.test.ts +0 -333
- package/src/comm/__tests__/CommTypes.test.ts +0 -165
- package/src/comm/__tests__/Receiver.test.ts +0 -215
- package/src/comm/__tests__/Transmitter.test.ts +0 -164
- package/src/comm/__tests__/Transponder.test.ts +0 -181
- package/src/comm/index.ts +0 -60
- package/src/conjunction/CatalogScreener.ts +0 -322
- package/src/conjunction/ConjunctionAssessment.ts +0 -410
- package/src/conjunction/ConjunctionEvent.ts +0 -185
- package/src/conjunction/CovarianceRealism.ts +0 -472
- package/src/conjunction/ProbabilityOfCollision.ts +0 -302
- package/src/conjunction/ScreeningFilter.ts +0 -206
- package/src/conjunction/__tests__/CatalogScreener.test.ts +0 -280
- package/src/conjunction/__tests__/ConjunctionAssessment.basic.test.ts +0 -250
- package/src/conjunction/__tests__/ConjunctionAssessment.highfidelity.test.ts +0 -76
- package/src/conjunction/__tests__/CovarianceRealism.test.ts +0 -296
- package/src/conjunction/index.ts +0 -35
- package/src/constellation/ConstellationGenerator.ts +0 -377
- package/src/constellation/__tests__/ConstellationGenerator.test.ts +0 -446
- package/src/constellation/index.ts +0 -18
- package/src/coordinate/ClassicalElements.ts +0 -394
- package/src/coordinate/EquinoctialElements.ts +0 -189
- package/src/coordinate/FormatTle.ts +0 -219
- package/src/coordinate/Geodetic.ts +0 -191
- package/src/coordinate/Hill.ts +0 -326
- package/src/coordinate/ITRF.ts +0 -146
- package/src/coordinate/J2000.ts +0 -130
- package/src/coordinate/README.md +0 -788
- package/src/coordinate/RIC.ts +0 -87
- package/src/coordinate/RelativeState.ts +0 -101
- package/src/coordinate/StateVector.ts +0 -128
- package/src/coordinate/TEME.ts +0 -97
- package/src/coordinate/Tle.ts +0 -1025
- package/src/coordinate/__tests__/ClassicalElements.test.ts +0 -129
- package/src/coordinate/__tests__/EquinoctialElements.test.ts +0 -108
- package/src/coordinate/__tests__/FormatTle.test.ts +0 -92
- package/src/coordinate/__tests__/Geodetic.test.ts +0 -165
- package/src/coordinate/__tests__/Hill.test.ts +0 -195
- package/src/coordinate/__tests__/ITRF.test.ts +0 -231
- package/src/coordinate/__tests__/J2000.test.ts +0 -132
- package/src/coordinate/__tests__/RIC.test.ts +0 -107
- package/src/coordinate/__tests__/TEME.test.ts +0 -48
- package/src/coordinate/__tests__/Tle.test.ts +0 -185
- package/src/coordinate/__tests__/__snapshots__/ClassicalElements.test.ts.snap +0 -106
- package/src/coordinate/__tests__/__snapshots__/EquinoctialElements.test.ts.snap +0 -93
- package/src/coordinate/__tests__/__snapshots__/Geodetic.test.ts.snap +0 -54
- package/src/coordinate/__tests__/__snapshots__/ITRF.test.ts.snap +0 -321
- package/src/coordinate/__tests__/__snapshots__/J2000.test.ts.snap +0 -26
- package/src/coordinate/__tests__/__snapshots__/RIC.test.ts.snap +0 -79
- package/src/coordinate/__tests__/__snapshots__/TEME.test.ts.snap +0 -41
- package/src/coordinate/__tests__/__snapshots__/Tle.test.ts.snap +0 -180
- package/src/coordinate/index.ts +0 -13
- package/src/coordinate/tle-format-data.ts +0 -47
- package/src/covariance/CovarianceSample.ts +0 -292
- package/src/covariance/StateCovariance.ts +0 -69
- package/src/covariance/__tests__/CovarianceSample.test.ts +0 -143
- package/src/covariance/__tests__/StateCovariance.test.ts +0 -90
- package/src/covariance/index.ts +0 -3
- package/src/data/DataHandler.ts +0 -88
- package/src/data/values/Egm96Data.ts +0 -75
- package/src/data/values/HpAtmosphereData.ts +0 -76
- package/src/data/values/HpAtmosphereResult.ts +0 -41
- package/src/data/values/Iau1980Data.ts +0 -63
- package/src/data/values/LeapSecond.ts +0 -37
- package/src/data/values/LeapSecondData.ts +0 -113
- package/src/data/values/__tests__/Egm96Data.test.ts +0 -33
- package/src/data/values/__tests__/HpAtmosphereData.test.ts +0 -82
- package/src/data/values/__tests__/LeapSecondData.test.ts +0 -59
- package/src/data/values/egm96.ts +0 -728
- package/src/data/values/hpAtmosphere.ts +0 -79
- package/src/data/values/iau1980.ts +0 -32
- package/src/enums/AngularDiameterMethod.ts +0 -28
- package/src/enums/AngularDistanceMethod.ts +0 -28
- package/src/enums/CatalogSource.ts +0 -10
- package/src/enums/CommLink.ts +0 -7
- package/src/enums/FovFrame.ts +0 -26
- package/src/enums/FovShape.ts +0 -26
- package/src/enums/OrbitRegime.ts +0 -31
- package/src/enums/PassType.ts +0 -29
- package/src/enums/SensorType.ts +0 -34
- package/src/enums/Sgp4OpsMode.ts +0 -27
- package/src/enums/index.ts +0 -11
- package/src/errors/__tests__/errors.test.ts +0 -196
- package/src/errors/index.ts +0 -185
- package/src/fetch/horizons-constants.ts +0 -53
- package/src/fetch/horizons-interfaces.ts +0 -38
- package/src/fetch/horizons.ts +0 -300
- package/src/fetch/index.ts +0 -26
- package/src/force/AtmosphericDrag.ts +0 -120
- package/src/force/EarthGravity.ts +0 -182
- package/src/force/Force.ts +0 -31
- package/src/force/ForceModel.ts +0 -99
- package/src/force/Gravity.ts +0 -53
- package/src/force/README.md +0 -99
- package/src/force/SolarRadiationPressure.ts +0 -43
- package/src/force/ThirdBodyGravity.ts +0 -64
- package/src/force/Thrust.ts +0 -83
- package/src/force/__tests__/AtmosphericDrag.test.ts +0 -168
- package/src/force/__tests__/EarthGravity.test.ts +0 -115
- package/src/force/__tests__/ForceModel.test.ts +0 -188
- package/src/force/__tests__/Gravity.test.ts +0 -81
- package/src/force/__tests__/SolarRadiationPressure.test.ts +0 -115
- package/src/force/__tests__/ThirdBodyGravity.test.ts +0 -119
- package/src/force/__tests__/Thrust.test.ts +0 -132
- package/src/force/index.ts +0 -9
- package/src/interfaces/BaseObjectParams.ts +0 -32
- package/src/interfaces/ClassicalElementsParams.ts +0 -35
- package/src/interfaces/EquinoctialElementsParams.ts +0 -37
- package/src/interfaces/GroundPositionParams.ts +0 -30
- package/src/interfaces/OmmFormat.ts +0 -63
- package/src/interfaces/OptionsParams.ts +0 -3
- package/src/interfaces/SatelliteParams.ts +0 -57
- package/src/interfaces/StarObjectParams.ts +0 -11
- package/src/interfaces/TimeVariables.ts +0 -7
- package/src/interfaces/index.ts +0 -8
- package/src/interpolator/ChebyshevCoefficients.ts +0 -109
- package/src/interpolator/ChebyshevInterpolator.ts +0 -87
- package/src/interpolator/CubicSpline.ts +0 -72
- package/src/interpolator/CubicSplineInterpolator.ts +0 -90
- package/src/interpolator/FieldInterpolator.ts +0 -35
- package/src/interpolator/Interpolator.ts +0 -56
- package/src/interpolator/LagrangeInterpolator.ts +0 -192
- package/src/interpolator/StateInterpolator.ts +0 -37
- package/src/interpolator/VerletBlendInterpolator.ts +0 -146
- package/src/interpolator/__tests__/ChebyshevCoefficients.test.ts +0 -105
- package/src/interpolator/__tests__/ChebyshevInterpolator.test.ts +0 -81
- package/src/interpolator/__tests__/CubicSpline.test.ts +0 -80
- package/src/interpolator/__tests__/CubicSplineInterpolator.test.ts +0 -94
- package/src/interpolator/__tests__/FieldInterpolator.test.ts +0 -59
- package/src/interpolator/__tests__/Interpolator.test.ts +0 -131
- package/src/interpolator/__tests__/LagrangeInterpolator.test.ts +0 -121
- package/src/interpolator/__tests__/StateInterpolator.test.ts +0 -57
- package/src/interpolator/__tests__/VerletBlendInterpolator.test.ts +0 -116
- package/src/interpolator/index.ts +0 -32
- package/src/main.ts +0 -87
- package/src/maneuver/TwoBurnOrbitTransfer.ts +0 -79
- package/src/maneuver/Waypoint.ts +0 -267
- package/src/maneuver/__tests__/TwoBurnOrbitTransfer.test.ts +0 -90
- package/src/maneuver/__tests__/Waypoint.test.ts +0 -427
- package/src/maneuver/index.ts +0 -25
- package/src/objects/AccessCalculator.ts +0 -345
- package/src/objects/AccessWindow.ts +0 -129
- package/src/objects/BaseObject.ts +0 -242
- package/src/objects/CenterBody.ts +0 -88
- package/src/objects/DynamicGroundObject.ts +0 -975
- package/src/objects/EphemerisSatellite.ts +0 -629
- package/src/objects/GroundObject.ts +0 -246
- package/src/objects/GroundStation.ts +0 -130
- package/src/objects/History.ts +0 -228
- package/src/objects/InterpolatorType.ts +0 -42
- package/src/objects/LandObject.ts +0 -62
- package/src/objects/Marker.ts +0 -32
- package/src/objects/ObjectTypes.ts +0 -66
- package/src/objects/Satellite.ts +0 -1013
- package/src/objects/SpaceObject.ts +0 -304
- package/src/objects/Star.ts +0 -135
- package/src/objects/VisualizationHelpers.ts +0 -324
- package/src/objects/__tests__/AccessCalculator.test.ts +0 -499
- package/src/objects/__tests__/DynamicGroundObject.test.ts +0 -859
- package/src/objects/__tests__/EphemerisSatellite.test.ts +0 -589
- package/src/objects/__tests__/GroundStation.test.ts +0 -204
- package/src/objects/__tests__/Satellite.test.ts +0 -487
- package/src/objects/__tests__/SpaceObject.rae.test.ts +0 -156
- package/src/objects/__tests__/VisualizationHelpers.test.ts +0 -438
- package/src/objects/index.ts +0 -31
- package/src/observation/Observation.ts +0 -113
- package/src/observation/ObservationOptical.ts +0 -146
- package/src/observation/ObservationRadar.ts +0 -135
- package/src/observation/ObservationUtils.ts +0 -69
- package/src/observation/PropagatorPairs.ts +0 -45
- package/src/observation/RAE.ts +0 -261
- package/src/observation/RadecGeocentric.ts +0 -206
- package/src/observation/RadecTopocentric.ts +0 -247
- package/src/observation/__tests__/RAE.test.ts +0 -135
- package/src/observation/__tests__/RadecGeocentric.test.ts +0 -107
- package/src/observation/__tests__/RadecTopocentric.test.ts +0 -121
- package/src/observation/__tests__/__snapshots__/RAE.test.ts.snap +0 -91
- package/src/observation/__tests__/__snapshots__/RadecGeocentric.test.ts.snap +0 -71
- package/src/observation/__tests__/__snapshots__/RadecTopocentric.test.ts.snap +0 -71
- package/src/observation/index.ts +0 -28
- package/src/operations/BoxMuller.ts +0 -87
- package/src/operations/EulerAngles.ts +0 -183
- package/src/operations/Matrix.ts +0 -473
- package/src/operations/Quaternion.ts +0 -222
- package/src/operations/Random.ts +0 -54
- package/src/operations/RandomGaussianSource.ts +0 -51
- package/src/operations/Vector.ts +0 -484
- package/src/operations/Vector3D.ts +0 -272
- package/src/operations/__tests__/Matrix.test.ts +0 -277
- package/src/operations/__tests__/Random.test.ts +0 -24
- package/src/operations/__tests__/Vector.test.ts +0 -269
- package/src/operations/__tests__/Vector3D.test.ts +0 -100
- package/src/operations/__tests__/__snapshots__/Matrix.test.ts.snap +0 -161
- package/src/operations/__tests__/__snapshots__/Random.test.ts.snap +0 -7
- package/src/operations/__tests__/__snapshots__/Vector.test.ts.snap +0 -218
- package/src/operations/__tests__/__snapshots__/Vector3D.test.ts.snap +0 -138
- package/src/operations/index.ts +0 -5
- package/src/operations/operations.ts +0 -28
- package/src/optimize/ChebyshevCompressor.ts +0 -141
- package/src/optimize/DownhillSimplex.ts +0 -246
- package/src/optimize/GoldenSection.ts +0 -230
- package/src/optimize/PolynomialRegression.ts +0 -211
- package/src/optimize/README.md +0 -343
- package/src/optimize/SimpleLinearRegression.ts +0 -227
- package/src/optimize/__tests__/ChebyshevCompressor.test.ts +0 -40
- package/src/optimize/__tests__/DownhillSimplex.test.ts +0 -168
- package/src/optimize/__tests__/GoldenSection.test.ts +0 -21
- package/src/optimize/__tests__/PolynomialRegression.test.ts +0 -24
- package/src/optimize/__tests__/SimpleLinearRegression.test.ts +0 -31
- package/src/optimize/index.ts +0 -6
- package/src/optimize/internal/PolynomicalRegressionResult.ts +0 -126
- package/src/optimize/internal/SimplexEntry.ts +0 -169
- package/src/orbit-design/RepeatGroundTrack.ts +0 -516
- package/src/orbit-design/__tests__/RepeatGroundTrack.test.ts +0 -526
- package/src/orbit-design/index.ts +0 -23
- package/src/orbit-determination/BatchLeastSquaresOD.ts +0 -174
- package/src/orbit-determination/BatchLeastSquaresResult.ts +0 -33
- package/src/orbit-determination/GaussIOD.ts +0 -396
- package/src/orbit-determination/GibbsIOD.ts +0 -98
- package/src/orbit-determination/GoodingIOD.ts +0 -680
- package/src/orbit-determination/HerrickGibbsIOD.ts +0 -51
- package/src/orbit-determination/LambertIOD.ts +0 -260
- package/src/orbit-determination/LevenbergMarquardtOD.ts +0 -258
- package/src/orbit-determination/LevenbergMarquardtResult.ts +0 -42
- package/src/orbit-determination/ModifiedGoodingIOD.test.ts +0 -86
- package/src/orbit-determination/ModifiedGoodingIOD.ts +0 -145
- package/src/orbit-determination/README.md +0 -353
- package/src/orbit-determination/__tests__/BatchLeastSquaresOD.accuracy.test.ts +0 -320
- package/src/orbit-determination/__tests__/BatchLeastSquaresOD.observations.test.ts +0 -279
- package/src/orbit-determination/__tests__/BatchLeastSquaresOD.robustness.test.ts +0 -439
- package/src/orbit-determination/__tests__/GaussIOD.test.ts +0 -395
- package/src/orbit-determination/__tests__/GibbsIOD.test.ts +0 -423
- package/src/orbit-determination/__tests__/GoodingIOD.test.ts +0 -356
- package/src/orbit-determination/__tests__/HerrickGibbsIOD.test.ts +0 -501
- package/src/orbit-determination/__tests__/LambertIOD.test.ts +0 -643
- package/src/orbit-determination/__tests__/LevenbergMarquardtOD.test.ts +0 -1039
- package/src/orbit-determination/index.ts +0 -10
- package/src/parsers/CdmExporter.ts +0 -298
- package/src/parsers/CdmParser.ts +0 -474
- package/src/parsers/CdmTypes.ts +0 -259
- package/src/parsers/HorizonsParser.ts +0 -432
- package/src/parsers/OemParser.ts +0 -277
- package/src/parsers/OemTypes.ts +0 -111
- package/src/parsers/__tests__/CdmExporter.test.ts +0 -305
- package/src/parsers/__tests__/CdmParser.test.ts +0 -305
- package/src/parsers/__tests__/HorizonsParser.test.ts +0 -126
- package/src/parsers/__tests__/OemParser.test.ts +0 -398
- package/src/parsers/index.ts +0 -49
- package/src/propagator/DormandPrince54Propagator.ts +0 -73
- package/src/propagator/KeplerPropagator.ts +0 -101
- package/src/propagator/Propagator.ts +0 -253
- package/src/propagator/README.md +0 -241
- package/src/propagator/RkCheckpoint.ts +0 -25
- package/src/propagator/RkResult.ts +0 -26
- package/src/propagator/RungeKutta4Propagator.ts +0 -179
- package/src/propagator/RungeKutta89Propagator.ts +0 -132
- package/src/propagator/RungeKuttaAdaptive.ts +0 -282
- package/src/propagator/Sgp4Propagator.ts +0 -111
- package/src/propagator/__tests__/KeplerPropagator.test.ts +0 -250
- package/src/propagator/__tests__/Propagator.test.ts +0 -180
- package/src/propagator/__tests__/RungeKutta4Propagator.test.ts +0 -289
- package/src/propagator/__tests__/RungeKuttaAdaptive.test.ts +0 -244
- package/src/propagator/__tests__/Sgp4Propagator.test.ts +0 -144
- package/src/propagator/index.ts +0 -10
- package/src/scheduling/ContactScheduler.ts +0 -760
- package/src/scheduling/ScheduledContact.ts +0 -249
- package/src/scheduling/__tests__/ContactScheduler.test.ts +0 -389
- package/src/scheduling/__tests__/ScheduledContact.test.ts +0 -293
- package/src/scheduling/index.ts +0 -10
- package/src/sensor/FieldOfView.ts +0 -666
- package/src/sensor/LaserRangingSensor.ts +0 -210
- package/src/sensor/MechanicalRadar.ts +0 -156
- package/src/sensor/OpticalSensor.ts +0 -198
- package/src/sensor/PassiveRFSensor.ts +0 -205
- package/src/sensor/PhasedArrayRadar.ts +0 -352
- package/src/sensor/RadarSensor.ts +0 -150
- package/src/sensor/Sensor.ts +0 -487
- package/src/sensor/__tests__/Sensor.test.ts +0 -135
- package/src/sensor/index.ts +0 -81
- package/src/sensor/v2-docs/field-of-view-design-document.md +0 -466
- package/src/sgp4/index.ts +0 -27
- package/src/sgp4/sgp4-error.ts +0 -53
- package/src/sgp4/sgp4.LICENSE.md +0 -28
- package/src/sgp4/sgp4.ts +0 -3983
- package/src/smoothing/ExponentialSmoothing.ts +0 -83
- package/src/smoothing/__tests__/ExponentialSmoothing.test.ts +0 -108
- package/src/time/Epoch.ts +0 -165
- package/src/time/EpochGPS.ts +0 -141
- package/src/time/EpochTAI.ts +0 -63
- package/src/time/EpochTDB.ts +0 -73
- package/src/time/EpochTT.ts +0 -76
- package/src/time/EpochUTC.ts +0 -253
- package/src/time/EpochWindow.ts +0 -33
- package/src/time/README.md +0 -212
- package/src/time/TimeStamped.ts +0 -80
- package/src/time/__tests__/Epoch.test.ts +0 -250
- package/src/time/__tests__/EpochGPS.test.ts +0 -78
- package/src/time/__tests__/EpochUTC.test.ts +0 -149
- package/src/time/__tests__/EpochWindow.test.ts +0 -30
- package/src/time/__tests__/TimeStamped.test.ts +0 -62
- package/src/time/__tests__/__snapshots__/Epoch.test.ts.snap +0 -46
- package/src/time/__tests__/__snapshots__/EpochGPS.test.ts.snap +0 -13
- package/src/time/__tests__/__snapshots__/EpochUTC.test.ts.snap +0 -112
- package/src/time/__tests__/__snapshots__/TimeStamped.test.ts.snap +0 -10
- package/src/time/index.ts +0 -9
- package/src/transforms/TransformCache.ts +0 -46
- package/src/transforms/__tests__/__snapshots__/transforms.test.ts.snap +0 -16
- package/src/transforms/__tests__/__snapshots__/transforms2.test.ts.snap +0 -49
- package/src/transforms/__tests__/conversions.test.ts +0 -80
- package/src/transforms/__tests__/transforms.test.ts +0 -128
- package/src/transforms/__tests__/transforms2.test.ts +0 -275
- package/src/transforms/__tests__/transformsData.ts +0 -289
- package/src/transforms/conversions.ts +0 -99
- package/src/transforms/index.ts +0 -3
- package/src/transforms/transforms.ts +0 -614
- package/src/types/types.ts +0 -829
- package/src/utils/__tests__/__snapshots__/functions.test.ts.snap +0 -89
- package/src/utils/__tests__/__snapshots__/utils.test.ts.snap +0 -5
- package/src/utils/__tests__/create-covariance-from-tle.test.ts +0 -90
- package/src/utils/__tests__/functions.test.ts +0 -450
- package/src/utils/__tests__/jacobian.test.ts +0 -37
- package/src/utils/__tests__/linearDistance.test.ts +0 -44
- package/src/utils/__tests__/utils.test.ts +0 -164
- package/src/utils/constants.ts +0 -113
- package/src/utils/create-covariance-from-tle.ts +0 -75
- package/src/utils/functions.ts +0 -590
- package/src/utils/index.ts +0 -6
- package/src/utils/jacobian.ts +0 -42
- package/src/utils/linearDistance.ts +0 -11
- /package/{LICENSE.md → LICENSE.MD} +0 -0
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Theodore Kruczek
|
|
3
|
-
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
|
-
*
|
|
6
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
8
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
9
|
-
*
|
|
10
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
11
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
12
|
-
* See the GNU Affero General Public License for more details.
|
|
13
|
-
*
|
|
14
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
-
*/
|
|
17
|
-
import type { Degrees, Kilometers } from '../types/types';
|
|
18
|
-
import type { AccessWindow } from '../objects/AccessWindow';
|
|
19
|
-
import type { GroundObject } from '../objects/GroundObject';
|
|
20
|
-
import type { GroundStation } from '../objects/GroundStation';
|
|
21
|
-
import type { Satellite } from '../objects/Satellite';
|
|
22
|
-
import type { SpaceObject } from '../objects/SpaceObject';
|
|
23
|
-
/**
|
|
24
|
-
* Represents a time window with start and end dates.
|
|
25
|
-
* Used for coverage gap analysis.
|
|
26
|
-
*/
|
|
27
|
-
export interface TimeWindow {
|
|
28
|
-
/** Start of the time window */
|
|
29
|
-
start: Date;
|
|
30
|
-
/** End of the time window */
|
|
31
|
-
end: Date;
|
|
32
|
-
/** Duration in milliseconds */
|
|
33
|
-
duration: number;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Parameters for constructing a ScheduledContact.
|
|
37
|
-
*/
|
|
38
|
-
export interface ScheduledContactParams {
|
|
39
|
-
/** The underlying access window from AccessCalculator */
|
|
40
|
-
accessWindow: AccessWindow;
|
|
41
|
-
/** Priority assigned to this contact (higher = more important) */
|
|
42
|
-
priority: number;
|
|
43
|
-
/** Scheduled start time (may differ from access window start for partial contacts) */
|
|
44
|
-
scheduledStart?: Date;
|
|
45
|
-
/** Scheduled end time (may differ from access window end for partial contacts) */
|
|
46
|
-
scheduledEnd?: Date;
|
|
47
|
-
/** Optional metadata for user-defined properties */
|
|
48
|
-
metadata?: Record<string, unknown>;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Represents a scheduled contact between a ground station and satellite.
|
|
52
|
-
*
|
|
53
|
-
* ScheduledContact wraps an AccessWindow with scheduling-specific information
|
|
54
|
-
* such as priority and potentially trimmed start/end times for partial contacts
|
|
55
|
-
* or handovers.
|
|
56
|
-
*
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* const contact = new ScheduledContact({
|
|
60
|
-
* accessWindow: window,
|
|
61
|
-
* priority: 10,
|
|
62
|
-
* scheduledStart: window.start,
|
|
63
|
-
* scheduledEnd: window.end,
|
|
64
|
-
* });
|
|
65
|
-
*
|
|
66
|
-
* console.log(contact.toString());
|
|
67
|
-
* // [ScheduledContact]
|
|
68
|
-
* // Station: Goldstone
|
|
69
|
-
* // Satellite: ISS
|
|
70
|
-
* // Time: 10:00:00 - 10:15:00
|
|
71
|
-
* // Max Elevation: 45.2°
|
|
72
|
-
* // Priority: 10
|
|
73
|
-
* ```
|
|
74
|
-
*/
|
|
75
|
-
export declare class ScheduledContact {
|
|
76
|
-
/** The underlying access window */
|
|
77
|
-
readonly accessWindow: AccessWindow;
|
|
78
|
-
/** Priority assigned to this contact (higher = more important) */
|
|
79
|
-
readonly priority: number;
|
|
80
|
-
/** Scheduled start time (may be trimmed from access window) */
|
|
81
|
-
readonly scheduledStart: Date;
|
|
82
|
-
/** Scheduled end time (may be trimmed from access window) */
|
|
83
|
-
readonly scheduledEnd: Date;
|
|
84
|
-
/** Duration of the scheduled contact in milliseconds */
|
|
85
|
-
readonly scheduledDuration: number;
|
|
86
|
-
/** Optional metadata for user-defined properties */
|
|
87
|
-
readonly metadata?: Record<string, unknown>;
|
|
88
|
-
constructor(params: ScheduledContactParams);
|
|
89
|
-
/**
|
|
90
|
-
* Access window start time.
|
|
91
|
-
*/
|
|
92
|
-
get start(): Date;
|
|
93
|
-
/**
|
|
94
|
-
* Access window end time.
|
|
95
|
-
*/
|
|
96
|
-
get end(): Date;
|
|
97
|
-
/**
|
|
98
|
-
* Access window duration in milliseconds.
|
|
99
|
-
*/
|
|
100
|
-
get duration(): number;
|
|
101
|
-
/**
|
|
102
|
-
* Maximum elevation achieved during the pass.
|
|
103
|
-
*/
|
|
104
|
-
get maxElevation(): Degrees;
|
|
105
|
-
/**
|
|
106
|
-
* Time of maximum elevation.
|
|
107
|
-
*/
|
|
108
|
-
get maxElevationTime(): Date;
|
|
109
|
-
/**
|
|
110
|
-
* Range at maximum elevation.
|
|
111
|
-
*/
|
|
112
|
-
get rangeAtMaxEl(): Kilometers;
|
|
113
|
-
/**
|
|
114
|
-
* The observing ground object.
|
|
115
|
-
*/
|
|
116
|
-
get observer(): GroundObject;
|
|
117
|
-
/**
|
|
118
|
-
* The observed space object.
|
|
119
|
-
*/
|
|
120
|
-
get target(): SpaceObject;
|
|
121
|
-
/**
|
|
122
|
-
* The ground station (convenience getter assuming observer is GroundStation).
|
|
123
|
-
*/
|
|
124
|
-
get station(): GroundStation;
|
|
125
|
-
/**
|
|
126
|
-
* The satellite (convenience getter assuming target is Satellite).
|
|
127
|
-
*/
|
|
128
|
-
get satellite(): Satellite;
|
|
129
|
-
/**
|
|
130
|
-
* Checks if this contact's scheduled time overlaps with another contact.
|
|
131
|
-
* @param other - The other contact to check
|
|
132
|
-
* @returns True if the scheduled times overlap
|
|
133
|
-
*/
|
|
134
|
-
overlaps(other: ScheduledContact): boolean;
|
|
135
|
-
/**
|
|
136
|
-
* Checks if this contact conflicts with another contact at the same station.
|
|
137
|
-
* Two contacts conflict if they use the same station and overlap in time.
|
|
138
|
-
* @param other - The other contact to check
|
|
139
|
-
* @param handoverMs - Optional handover time buffer in milliseconds
|
|
140
|
-
* @returns True if both contacts use the same station and overlap in time
|
|
141
|
-
*/
|
|
142
|
-
conflictsWith(other: ScheduledContact, handoverMs?: number): boolean;
|
|
143
|
-
/**
|
|
144
|
-
* Creates a copy of this contact with adjusted scheduled times.
|
|
145
|
-
* @param newStart - New scheduled start time
|
|
146
|
-
* @param newEnd - New scheduled end time
|
|
147
|
-
* @returns A new ScheduledContact with the updated times
|
|
148
|
-
*/
|
|
149
|
-
withTimes(newStart: Date, newEnd: Date): ScheduledContact;
|
|
150
|
-
/**
|
|
151
|
-
* Formats a Date as HH:MM:SS.
|
|
152
|
-
*/
|
|
153
|
-
private static formatTime_;
|
|
154
|
-
toString(): string;
|
|
155
|
-
}
|
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Theodore Kruczek
|
|
3
|
-
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
|
-
*
|
|
6
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
8
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
9
|
-
*
|
|
10
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
11
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
12
|
-
* See the GNU Affero General Public License for more details.
|
|
13
|
-
*
|
|
14
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Represents a scheduled contact between a ground station and satellite.
|
|
19
|
-
*
|
|
20
|
-
* ScheduledContact wraps an AccessWindow with scheduling-specific information
|
|
21
|
-
* such as priority and potentially trimmed start/end times for partial contacts
|
|
22
|
-
* or handovers.
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* const contact = new ScheduledContact({
|
|
27
|
-
* accessWindow: window,
|
|
28
|
-
* priority: 10,
|
|
29
|
-
* scheduledStart: window.start,
|
|
30
|
-
* scheduledEnd: window.end,
|
|
31
|
-
* });
|
|
32
|
-
*
|
|
33
|
-
* console.log(contact.toString());
|
|
34
|
-
* // [ScheduledContact]
|
|
35
|
-
* // Station: Goldstone
|
|
36
|
-
* // Satellite: ISS
|
|
37
|
-
* // Time: 10:00:00 - 10:15:00
|
|
38
|
-
* // Max Elevation: 45.2°
|
|
39
|
-
* // Priority: 10
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export class ScheduledContact {
|
|
43
|
-
/** The underlying access window */
|
|
44
|
-
accessWindow;
|
|
45
|
-
/** Priority assigned to this contact (higher = more important) */
|
|
46
|
-
priority;
|
|
47
|
-
/** Scheduled start time (may be trimmed from access window) */
|
|
48
|
-
scheduledStart;
|
|
49
|
-
/** Scheduled end time (may be trimmed from access window) */
|
|
50
|
-
scheduledEnd;
|
|
51
|
-
/** Duration of the scheduled contact in milliseconds */
|
|
52
|
-
scheduledDuration;
|
|
53
|
-
/** Optional metadata for user-defined properties */
|
|
54
|
-
metadata;
|
|
55
|
-
constructor(params) {
|
|
56
|
-
this.accessWindow = params.accessWindow;
|
|
57
|
-
this.priority = params.priority;
|
|
58
|
-
this.scheduledStart = params.scheduledStart ?? params.accessWindow.start;
|
|
59
|
-
this.scheduledEnd = params.scheduledEnd ?? params.accessWindow.end;
|
|
60
|
-
this.scheduledDuration = this.scheduledEnd.getTime() - this.scheduledStart.getTime();
|
|
61
|
-
this.metadata = params.metadata;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Access window start time.
|
|
65
|
-
*/
|
|
66
|
-
get start() {
|
|
67
|
-
return this.accessWindow.start;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Access window end time.
|
|
71
|
-
*/
|
|
72
|
-
get end() {
|
|
73
|
-
return this.accessWindow.end;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Access window duration in milliseconds.
|
|
77
|
-
*/
|
|
78
|
-
get duration() {
|
|
79
|
-
return this.accessWindow.duration;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Maximum elevation achieved during the pass.
|
|
83
|
-
*/
|
|
84
|
-
get maxElevation() {
|
|
85
|
-
return this.accessWindow.maxElevation;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Time of maximum elevation.
|
|
89
|
-
*/
|
|
90
|
-
get maxElevationTime() {
|
|
91
|
-
return this.accessWindow.maxElevationTime;
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Range at maximum elevation.
|
|
95
|
-
*/
|
|
96
|
-
get rangeAtMaxEl() {
|
|
97
|
-
return this.accessWindow.rangeAtMaxEl;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* The observing ground object.
|
|
101
|
-
*/
|
|
102
|
-
get observer() {
|
|
103
|
-
return this.accessWindow.observer;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* The observed space object.
|
|
107
|
-
*/
|
|
108
|
-
get target() {
|
|
109
|
-
return this.accessWindow.target;
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* The ground station (convenience getter assuming observer is GroundStation).
|
|
113
|
-
*/
|
|
114
|
-
get station() {
|
|
115
|
-
return this.accessWindow.observer;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* The satellite (convenience getter assuming target is Satellite).
|
|
119
|
-
*/
|
|
120
|
-
get satellite() {
|
|
121
|
-
return this.accessWindow.target;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Checks if this contact's scheduled time overlaps with another contact.
|
|
125
|
-
* @param other - The other contact to check
|
|
126
|
-
* @returns True if the scheduled times overlap
|
|
127
|
-
*/
|
|
128
|
-
overlaps(other) {
|
|
129
|
-
return !(this.scheduledEnd.getTime() <= other.scheduledStart.getTime() ||
|
|
130
|
-
this.scheduledStart.getTime() >= other.scheduledEnd.getTime());
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Checks if this contact conflicts with another contact at the same station.
|
|
134
|
-
* Two contacts conflict if they use the same station and overlap in time.
|
|
135
|
-
* @param other - The other contact to check
|
|
136
|
-
* @param handoverMs - Optional handover time buffer in milliseconds
|
|
137
|
-
* @returns True if both contacts use the same station and overlap in time
|
|
138
|
-
*/
|
|
139
|
-
conflictsWith(other, handoverMs = 0) {
|
|
140
|
-
// Different stations = no conflict
|
|
141
|
-
if (this.station.id !== other.station.id) {
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
// Check time overlap with handover buffer
|
|
145
|
-
const thisEnd = this.scheduledEnd.getTime() + handoverMs;
|
|
146
|
-
const otherEnd = other.scheduledEnd.getTime() + handoverMs;
|
|
147
|
-
return !(thisEnd <= other.scheduledStart.getTime() ||
|
|
148
|
-
this.scheduledStart.getTime() >= otherEnd);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Creates a copy of this contact with adjusted scheduled times.
|
|
152
|
-
* @param newStart - New scheduled start time
|
|
153
|
-
* @param newEnd - New scheduled end time
|
|
154
|
-
* @returns A new ScheduledContact with the updated times
|
|
155
|
-
*/
|
|
156
|
-
withTimes(newStart, newEnd) {
|
|
157
|
-
return new ScheduledContact({
|
|
158
|
-
accessWindow: this.accessWindow,
|
|
159
|
-
priority: this.priority,
|
|
160
|
-
scheduledStart: newStart,
|
|
161
|
-
scheduledEnd: newEnd,
|
|
162
|
-
metadata: this.metadata,
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Formats a Date as HH:MM:SS.
|
|
167
|
-
*/
|
|
168
|
-
static formatTime_(date) {
|
|
169
|
-
const h = date.getUTCHours().toString().padStart(2, '0');
|
|
170
|
-
const m = date.getUTCMinutes().toString().padStart(2, '0');
|
|
171
|
-
const s = date.getUTCSeconds().toString().padStart(2, '0');
|
|
172
|
-
return `${h}:${m}:${s}`;
|
|
173
|
-
}
|
|
174
|
-
toString() {
|
|
175
|
-
const startTime = ScheduledContact.formatTime_(this.scheduledStart);
|
|
176
|
-
const endTime = ScheduledContact.formatTime_(this.scheduledEnd);
|
|
177
|
-
const stationName = this.station.name || this.station.id;
|
|
178
|
-
const satName = this.satellite.name || String(this.satellite.id);
|
|
179
|
-
return [
|
|
180
|
-
'[ScheduledContact]',
|
|
181
|
-
` Station: ${stationName}`,
|
|
182
|
-
` Satellite: ${satName}`,
|
|
183
|
-
` Time: ${startTime} - ${endTime}`,
|
|
184
|
-
` Max Elevation: ${this.maxElevation.toFixed(1)}°`,
|
|
185
|
-
` Priority: ${this.priority}`,
|
|
186
|
-
].join('\n');
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
//# sourceMappingURL=ScheduledContact.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledContact.js","sourceRoot":"","sources":["../../src/scheduling/ScheduledContact.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { ContactScheduler } from './ContactScheduler';
|
|
2
|
-
export { ContactSelectionStrategy } from './ContactScheduler';
|
|
3
|
-
export type { CoverageStatistics, SatelliteCoverageStats, ScheduleOptions, StationCoverageStats, } from './ContactScheduler';
|
|
4
|
-
export { ScheduledContact } from './ScheduledContact';
|
|
5
|
-
export type { ScheduledContactParams, TimeWindow } from './ScheduledContact';
|
package/dist/scheduling/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scheduling/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAO9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -1,250 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author Theodore Kruczek
|
|
3
|
-
* @license AGPL-3.0-or-later
|
|
4
|
-
* @copyright (c) 2025 Kruczek Labs LLC
|
|
5
|
-
*
|
|
6
|
-
* Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
|
|
7
|
-
* terms of the GNU Affero General Public License as published by the Free Software
|
|
8
|
-
* Foundation, either version 3 of the License, or (at your option) any later version.
|
|
9
|
-
*
|
|
10
|
-
* Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
|
11
|
-
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
12
|
-
* See the GNU Affero General Public License for more details.
|
|
13
|
-
*
|
|
14
|
-
* You should have received a copy of the GNU Affero General Public License along with
|
|
15
|
-
* Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
|
|
16
|
-
*/
|
|
17
|
-
import { FovFrame, FovShape } from '../enums';
|
|
18
|
-
import { Vector3D } from '../operations/Vector3D';
|
|
19
|
-
import { Degrees, Kilometers, Radians, RaeVec3 } from '../types/types';
|
|
20
|
-
/**
|
|
21
|
-
* Azimuth-dependent elevation mask for terrain/obstructions.
|
|
22
|
-
* Used to define regions where the minimum elevation is higher than the global minimum
|
|
23
|
-
* due to buildings, mountains, or other obstructions.
|
|
24
|
-
*/
|
|
25
|
-
export interface ElevationMask {
|
|
26
|
-
/** Start of azimuth range in degrees (inclusive) */
|
|
27
|
-
startAz: Degrees;
|
|
28
|
-
/** End of azimuth range in degrees (inclusive), handles wraparound */
|
|
29
|
-
stopAz: Degrees;
|
|
30
|
-
/** Minimum elevation in degrees for this azimuth range */
|
|
31
|
-
minEl: Degrees;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Parameters for constructing a FieldOfView.
|
|
35
|
-
*/
|
|
36
|
-
export interface FieldOfViewParams {
|
|
37
|
-
/** Boresight azimuth in degrees (default: 0° = North) */
|
|
38
|
-
boresightAz?: Degrees;
|
|
39
|
-
/** Boresight elevation in degrees (default: 90° = zenith) */
|
|
40
|
-
boresightEl?: Degrees;
|
|
41
|
-
/** Half-angle of FOV cone in degrees (major axis for elliptical) */
|
|
42
|
-
halfAngle: Degrees;
|
|
43
|
-
/** Minor half-angle for elliptical cone (defaults to halfAngle for circular) */
|
|
44
|
-
minorHalfAngle?: Degrees;
|
|
45
|
-
/** Roll angle for elliptical cone orientation in degrees (default: 0°) */
|
|
46
|
-
rollAngle?: Degrees;
|
|
47
|
-
/** Minimum range in kilometers */
|
|
48
|
-
minRange: Kilometers;
|
|
49
|
-
/** Maximum range in kilometers */
|
|
50
|
-
maxRange: Kilometers;
|
|
51
|
-
/** Global minimum elevation in degrees (default: 0°) */
|
|
52
|
-
minElevation?: Degrees;
|
|
53
|
-
/** Azimuth-specific elevation masks for terrain/buildings */
|
|
54
|
-
elevationMasks?: ElevationMask[];
|
|
55
|
-
/** FOV shape type (default: ELLIPTICAL_CONE) */
|
|
56
|
-
shape?: FovShape;
|
|
57
|
-
/** Reference frame for boresight (default: TOPOCENTRIC) */
|
|
58
|
-
frame?: FovFrame;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Orthonormal basis representing the boresight frame.
|
|
62
|
-
* Used for transforming target directions into boresight-relative coordinates.
|
|
63
|
-
*/
|
|
64
|
-
export interface BoresightFrame {
|
|
65
|
-
/** Boresight direction (unit vector) */
|
|
66
|
-
b: Vector3D;
|
|
67
|
-
/** Major axis direction (unit vector, perpendicular to boresight) */
|
|
68
|
-
u: Vector3D;
|
|
69
|
-
/** Minor axis direction (unit vector, perpendicular to both b and u) */
|
|
70
|
-
v: Vector3D;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Constructs a boresight frame from azimuth, elevation, and roll angles.
|
|
74
|
-
*
|
|
75
|
-
* The frame is constructed using the ENU (East-North-Up) convention:
|
|
76
|
-
* - Azimuth 0° is North, 90° is East
|
|
77
|
-
* - Elevation 0° is horizontal, 90° is zenith
|
|
78
|
-
* - Roll 0° means major axis aligns with the projection of "up" onto the
|
|
79
|
-
* plane perpendicular to boresight
|
|
80
|
-
*
|
|
81
|
-
* @param az - Boresight azimuth in radians
|
|
82
|
-
* @param el - Boresight elevation in radians
|
|
83
|
-
* @param roll - Roll angle in radians
|
|
84
|
-
* @returns Orthonormal boresight frame
|
|
85
|
-
*/
|
|
86
|
-
export declare function boresightFrameFromAzElRoll(az: Radians, el: Radians, roll: Radians): BoresightFrame;
|
|
87
|
-
/**
|
|
88
|
-
* Boresight-centric field of view using elliptical cone geometry.
|
|
89
|
-
*
|
|
90
|
-
* Defines a sensor's FOV as an elliptical cone around a boresight direction,
|
|
91
|
-
* with optional azimuth-dependent elevation masking for terrain/obstructions.
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* ```typescript
|
|
95
|
-
* // Circular cone pointing at zenith
|
|
96
|
-
* const fov = new FieldOfView({
|
|
97
|
-
* halfAngle: 45 as Degrees,
|
|
98
|
-
* minRange: 100 as Kilometers,
|
|
99
|
-
* maxRange: 50000 as Kilometers,
|
|
100
|
-
* });
|
|
101
|
-
*
|
|
102
|
-
* // Elliptical fan-shaped FOV (phased array radar)
|
|
103
|
-
* const fanFov = new FieldOfView({
|
|
104
|
-
* boresightEl: 90 as Degrees,
|
|
105
|
-
* halfAngle: 90 as Degrees, // 90° in major direction
|
|
106
|
-
* minorHalfAngle: 2 as Degrees, // 2° in minor direction
|
|
107
|
-
* rollAngle: 0 as Degrees, // Major axis aligned N-S
|
|
108
|
-
* minRange: 100 as Kilometers,
|
|
109
|
-
* maxRange: 50000 as Kilometers,
|
|
110
|
-
* });
|
|
111
|
-
*
|
|
112
|
-
* // Check if target is visible
|
|
113
|
-
* const rae = { rng: 1000, az: 45, el: 30 };
|
|
114
|
-
* if (fov.contains(rae)) {
|
|
115
|
-
* console.log('Target is in FOV');
|
|
116
|
-
* }
|
|
117
|
-
* ```
|
|
118
|
-
*/
|
|
119
|
-
export declare class FieldOfView {
|
|
120
|
-
/** Boresight azimuth in degrees */
|
|
121
|
-
readonly boresightAz: Degrees;
|
|
122
|
-
/** Boresight elevation in degrees */
|
|
123
|
-
readonly boresightEl: Degrees;
|
|
124
|
-
/** Major half-angle in degrees */
|
|
125
|
-
readonly halfAngle: Degrees;
|
|
126
|
-
/** Minor half-angle in degrees */
|
|
127
|
-
readonly minorHalfAngle: Degrees;
|
|
128
|
-
/** Roll angle in degrees */
|
|
129
|
-
readonly rollAngle: Degrees;
|
|
130
|
-
/** Minimum range in kilometers */
|
|
131
|
-
readonly minRange: Kilometers;
|
|
132
|
-
/** Maximum range in kilometers */
|
|
133
|
-
readonly maxRange: Kilometers;
|
|
134
|
-
/** Global minimum elevation in degrees */
|
|
135
|
-
readonly minElevation: Degrees;
|
|
136
|
-
/** Azimuth-specific elevation masks */
|
|
137
|
-
readonly elevationMasks: ElevationMask[];
|
|
138
|
-
/** FOV shape type */
|
|
139
|
-
readonly shape: FovShape;
|
|
140
|
-
/** Reference frame for boresight */
|
|
141
|
-
readonly frame: FovFrame;
|
|
142
|
-
/** Cached boresight frame for performance */
|
|
143
|
-
private readonly boresightFrame_;
|
|
144
|
-
/** Cached half angles in radians */
|
|
145
|
-
private readonly halfAngleRad_;
|
|
146
|
-
private readonly minorHalfAngleRad_;
|
|
147
|
-
constructor(params: FieldOfViewParams);
|
|
148
|
-
/**
|
|
149
|
-
* Creates a hemisphere FOV (all-sky coverage above minimum elevation).
|
|
150
|
-
* @param minRange - Minimum range in kilometers
|
|
151
|
-
* @param maxRange - Maximum range in kilometers
|
|
152
|
-
* @param minEl - Minimum elevation (default: 0°)
|
|
153
|
-
* @returns FieldOfView covering the hemisphere
|
|
154
|
-
*/
|
|
155
|
-
static hemisphere(minRange: Kilometers, maxRange: Kilometers, minEl?: Degrees): FieldOfView;
|
|
156
|
-
/**
|
|
157
|
-
* Creates a circular cone FOV.
|
|
158
|
-
* @param boresightAz - Boresight azimuth in degrees
|
|
159
|
-
* @param boresightEl - Boresight elevation in degrees
|
|
160
|
-
* @param halfAngle - Cone half-angle in degrees
|
|
161
|
-
* @param minRange - Minimum range in kilometers
|
|
162
|
-
* @param maxRange - Maximum range in kilometers
|
|
163
|
-
* @returns FieldOfView with circular cone
|
|
164
|
-
*/
|
|
165
|
-
static circularCone(boresightAz: Degrees, boresightEl: Degrees, halfAngle: Degrees, minRange: Kilometers, maxRange: Kilometers): FieldOfView;
|
|
166
|
-
/**
|
|
167
|
-
* Checks if the given RAE coordinates are within this field of view.
|
|
168
|
-
*
|
|
169
|
-
* Performs the following checks in order:
|
|
170
|
-
* 1. Range bounds
|
|
171
|
-
* 2. Elevation masking (global and azimuth-specific)
|
|
172
|
-
* 3. Elliptical cone containment
|
|
173
|
-
*
|
|
174
|
-
* @param rae - The RAE coordinates to check
|
|
175
|
-
* @returns True if the coordinates are within the FOV
|
|
176
|
-
*/
|
|
177
|
-
contains(rae: RaeVec3<Kilometers, Degrees>): boolean;
|
|
178
|
-
/**
|
|
179
|
-
* Checks if a direction vector is within the FOV angular bounds.
|
|
180
|
-
* For body-frame sensors receiving body-frame directions.
|
|
181
|
-
*
|
|
182
|
-
* @param direction - Direction vector to target (will be normalized)
|
|
183
|
-
* @param range - Range to target in kilometers
|
|
184
|
-
* @returns True if within FOV
|
|
185
|
-
*/
|
|
186
|
-
containsDirection(direction: Vector3D, range: Kilometers): boolean;
|
|
187
|
-
/**
|
|
188
|
-
* Gets the effective minimum elevation at a given azimuth.
|
|
189
|
-
* Considers all applicable elevation masks and returns the most restrictive.
|
|
190
|
-
*
|
|
191
|
-
* @param az - Azimuth in degrees
|
|
192
|
-
* @returns Effective minimum elevation in degrees
|
|
193
|
-
*/
|
|
194
|
-
getMinElevation(az: Degrees): Degrees;
|
|
195
|
-
/**
|
|
196
|
-
* Returns the boresight as a unit vector in the topocentric (ENU) frame.
|
|
197
|
-
*/
|
|
198
|
-
get boresightVector(): Vector3D;
|
|
199
|
-
/**
|
|
200
|
-
* Calculates the angular offset from boresight to a target.
|
|
201
|
-
* @param az - Target azimuth in degrees
|
|
202
|
-
* @param el - Target elevation in degrees
|
|
203
|
-
* @returns Angular offset in degrees
|
|
204
|
-
*/
|
|
205
|
-
angularOffset(az: Degrees, el: Degrees): Degrees;
|
|
206
|
-
/**
|
|
207
|
-
* Returns true if the FOV is circular (major = minor half-angle).
|
|
208
|
-
*/
|
|
209
|
-
get isCircular(): boolean;
|
|
210
|
-
/**
|
|
211
|
-
* Gets the full angular coverage (2 * halfAngle) in degrees.
|
|
212
|
-
* For scanning radars, this represents the sweep width.
|
|
213
|
-
*/
|
|
214
|
-
get angularCoverage(): Degrees;
|
|
215
|
-
/**
|
|
216
|
-
* Checks if this FOV is configured for deep space observation.
|
|
217
|
-
* Deep space is defined as max range > 6000 km.
|
|
218
|
-
*/
|
|
219
|
-
isDeepSpace(): boolean;
|
|
220
|
-
/**
|
|
221
|
-
* Checks if this FOV is configured for near-Earth observation.
|
|
222
|
-
* Near Earth is defined as max range <= 6000 km.
|
|
223
|
-
*/
|
|
224
|
-
isNearEarth(): boolean;
|
|
225
|
-
/**
|
|
226
|
-
* Creates a serializable representation of this FOV.
|
|
227
|
-
*/
|
|
228
|
-
serialize(): FieldOfViewParams;
|
|
229
|
-
/**
|
|
230
|
-
* Returns a string representation of this FOV.
|
|
231
|
-
*/
|
|
232
|
-
toString(): string;
|
|
233
|
-
/**
|
|
234
|
-
* Checks if an azimuth falls within an elevation mask's range.
|
|
235
|
-
* Handles wraparound (e.g., 350° to 10°).
|
|
236
|
-
*/
|
|
237
|
-
private isAzimuthInMaskRange;
|
|
238
|
-
/**
|
|
239
|
-
* Core containment check for cone geometry using az/el.
|
|
240
|
-
*/
|
|
241
|
-
private isWithinCone;
|
|
242
|
-
/**
|
|
243
|
-
* Core containment check for cone geometry using direction vector.
|
|
244
|
-
*/
|
|
245
|
-
private isDirectionWithinCone;
|
|
246
|
-
/**
|
|
247
|
-
* Validates FOV parameters.
|
|
248
|
-
*/
|
|
249
|
-
private validate;
|
|
250
|
-
}
|