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.
Files changed (1008) hide show
  1. package/dist/main.cjs +29551 -0
  2. package/dist/main.d.cts +16961 -0
  3. package/dist/main.d.ts +16940 -32
  4. package/dist/main.js +29243 -35
  5. package/package.json +38 -25
  6. package/.claude/PROMPT.md +0 -13
  7. package/.claude/hooks/post-tool-use.ts +0 -33
  8. package/.claude/hooks/user-prompt-submit.ts +0 -138
  9. package/.claude/settings.local.json +0 -21
  10. package/.claude/skill-rules.json +0 -11
  11. package/.claude/skills/ootk-dev/SKILL.md +0 -16
  12. package/ADVANCED_FEATURES_GUIDE.md +0 -1025
  13. package/CHANGELOG.md +0 -511
  14. package/CLAUDE.md +0 -67
  15. package/FUTURE-WORK.md +0 -325
  16. package/dist/body/CelestialBody.d.ts +0 -155
  17. package/dist/body/CelestialBody.js +0 -207
  18. package/dist/body/CelestialBody.js.map +0 -1
  19. package/dist/body/CelestialBodyType.d.ts +0 -41
  20. package/dist/body/CelestialBodyType.js +0 -55
  21. package/dist/body/CelestialBodyType.js.map +0 -1
  22. package/dist/body/Earth.d.ts +0 -68
  23. package/dist/body/Earth.js +0 -198
  24. package/dist/body/Earth.js.map +0 -1
  25. package/dist/body/EphemerisBody.d.ts +0 -153
  26. package/dist/body/EphemerisBody.js +0 -235
  27. package/dist/body/EphemerisBody.js.map +0 -1
  28. package/dist/body/MoonBody.d.ts +0 -200
  29. package/dist/body/MoonBody.js +0 -414
  30. package/dist/body/MoonBody.js.map +0 -1
  31. package/dist/body/NutationAngles.d.ts +0 -38
  32. package/dist/body/NutationAngles.js +0 -24
  33. package/dist/body/NutationAngles.js.map +0 -1
  34. package/dist/body/PlanetBody.d.ts +0 -130
  35. package/dist/body/PlanetBody.js +0 -293
  36. package/dist/body/PlanetBody.js.map +0 -1
  37. package/dist/body/PrecessionAngles.d.ts +0 -29
  38. package/dist/body/PrecessionAngles.js +0 -24
  39. package/dist/body/PrecessionAngles.js.map +0 -1
  40. package/dist/body/SolarSystem.d.ts +0 -124
  41. package/dist/body/SolarSystem.js +0 -218
  42. package/dist/body/SolarSystem.js.map +0 -1
  43. package/dist/body/SunBody.d.ts +0 -253
  44. package/dist/body/SunBody.js +0 -433
  45. package/dist/body/SunBody.js.map +0 -1
  46. package/dist/body/index.d.ts +0 -36
  47. package/dist/body/index.js +0 -39
  48. package/dist/body/index.js.map +0 -1
  49. package/dist/comm/Antenna.d.ts +0 -112
  50. package/dist/comm/Antenna.js +0 -173
  51. package/dist/comm/Antenna.js.map +0 -1
  52. package/dist/comm/Beacon.d.ts +0 -141
  53. package/dist/comm/Beacon.js +0 -268
  54. package/dist/comm/Beacon.js.map +0 -1
  55. package/dist/comm/CommTypes.d.ts +0 -181
  56. package/dist/comm/CommTypes.js +0 -115
  57. package/dist/comm/CommTypes.js.map +0 -1
  58. package/dist/comm/CommunicationDevice.d.ts +0 -115
  59. package/dist/comm/CommunicationDevice.js +0 -142
  60. package/dist/comm/CommunicationDevice.js.map +0 -1
  61. package/dist/comm/Receiver.d.ts +0 -139
  62. package/dist/comm/Receiver.js +0 -219
  63. package/dist/comm/Receiver.js.map +0 -1
  64. package/dist/comm/Transmitter.d.ts +0 -136
  65. package/dist/comm/Transmitter.js +0 -273
  66. package/dist/comm/Transmitter.js.map +0 -1
  67. package/dist/comm/Transponder.d.ts +0 -154
  68. package/dist/comm/Transponder.js +0 -281
  69. package/dist/comm/Transponder.js.map +0 -1
  70. package/dist/comm/index.d.ts +0 -30
  71. package/dist/comm/index.js +0 -26
  72. package/dist/comm/index.js.map +0 -1
  73. package/dist/conjunction/CatalogScreener.d.ts +0 -134
  74. package/dist/conjunction/CatalogScreener.js +0 -213
  75. package/dist/conjunction/CatalogScreener.js.map +0 -1
  76. package/dist/conjunction/ConjunctionAssessment.d.ts +0 -149
  77. package/dist/conjunction/ConjunctionAssessment.js +0 -288
  78. package/dist/conjunction/ConjunctionAssessment.js.map +0 -1
  79. package/dist/conjunction/ConjunctionEvent.d.ts +0 -110
  80. package/dist/conjunction/ConjunctionEvent.js +0 -154
  81. package/dist/conjunction/ConjunctionEvent.js.map +0 -1
  82. package/dist/conjunction/CovarianceRealism.d.ts +0 -189
  83. package/dist/conjunction/CovarianceRealism.js +0 -348
  84. package/dist/conjunction/CovarianceRealism.js.map +0 -1
  85. package/dist/conjunction/ProbabilityOfCollision.d.ts +0 -102
  86. package/dist/conjunction/ProbabilityOfCollision.js +0 -242
  87. package/dist/conjunction/ProbabilityOfCollision.js.map +0 -1
  88. package/dist/conjunction/ScreeningFilter.d.ts +0 -112
  89. package/dist/conjunction/ScreeningFilter.js +0 -160
  90. package/dist/conjunction/ScreeningFilter.js.map +0 -1
  91. package/dist/conjunction/index.d.ts +0 -22
  92. package/dist/conjunction/index.js +0 -23
  93. package/dist/conjunction/index.js.map +0 -1
  94. package/dist/constellation/ConstellationGenerator.d.ts +0 -137
  95. package/dist/constellation/ConstellationGenerator.js +0 -270
  96. package/dist/constellation/ConstellationGenerator.js.map +0 -1
  97. package/dist/constellation/index.d.ts +0 -17
  98. package/dist/constellation/index.js +0 -18
  99. package/dist/constellation/index.js.map +0 -1
  100. package/dist/coordinate/ClassicalElements.d.ts +0 -170
  101. package/dist/coordinate/ClassicalElements.js +0 -334
  102. package/dist/coordinate/ClassicalElements.js.map +0 -1
  103. package/dist/coordinate/EquinoctialElements.d.ts +0 -114
  104. package/dist/coordinate/EquinoctialElements.js +0 -172
  105. package/dist/coordinate/EquinoctialElements.js.map +0 -1
  106. package/dist/coordinate/FormatTle.d.ts +0 -95
  107. package/dist/coordinate/FormatTle.js +0 -188
  108. package/dist/coordinate/FormatTle.js.map +0 -1
  109. package/dist/coordinate/Geodetic.d.ts +0 -110
  110. package/dist/coordinate/Geodetic.js +0 -164
  111. package/dist/coordinate/Geodetic.js.map +0 -1
  112. package/dist/coordinate/Hill.d.ts +0 -49
  113. package/dist/coordinate/Hill.js +0 -222
  114. package/dist/coordinate/Hill.js.map +0 -1
  115. package/dist/coordinate/ITRF.d.ts +0 -75
  116. package/dist/coordinate/ITRF.js +0 -135
  117. package/dist/coordinate/ITRF.js.map +0 -1
  118. package/dist/coordinate/J2000.d.ts +0 -65
  119. package/dist/coordinate/J2000.js +0 -120
  120. package/dist/coordinate/J2000.js.map +0 -1
  121. package/dist/coordinate/RIC.d.ts +0 -64
  122. package/dist/coordinate/RIC.js +0 -79
  123. package/dist/coordinate/RIC.js.map +0 -1
  124. package/dist/coordinate/RelativeState.d.ts +0 -70
  125. package/dist/coordinate/RelativeState.js +0 -79
  126. package/dist/coordinate/RelativeState.js.map +0 -1
  127. package/dist/coordinate/StateVector.d.ts +0 -76
  128. package/dist/coordinate/StateVector.js +0 -97
  129. package/dist/coordinate/StateVector.js.map +0 -1
  130. package/dist/coordinate/TEME.d.ts +0 -57
  131. package/dist/coordinate/TEME.js +0 -89
  132. package/dist/coordinate/TEME.js.map +0 -1
  133. package/dist/coordinate/Tle.d.ts +0 -429
  134. package/dist/coordinate/Tle.js +0 -866
  135. package/dist/coordinate/Tle.js.map +0 -1
  136. package/dist/coordinate/index.d.ts +0 -12
  137. package/dist/coordinate/index.js +0 -13
  138. package/dist/coordinate/index.js.map +0 -1
  139. package/dist/coordinate/tle-format-data.d.ts +0 -41
  140. package/dist/coordinate/tle-format-data.js +0 -46
  141. package/dist/coordinate/tle-format-data.js.map +0 -1
  142. package/dist/covariance/CovarianceSample.d.ts +0 -46
  143. package/dist/covariance/CovarianceSample.js +0 -221
  144. package/dist/covariance/CovarianceSample.js.map +0 -1
  145. package/dist/covariance/StateCovariance.d.ts +0 -42
  146. package/dist/covariance/StateCovariance.js +0 -65
  147. package/dist/covariance/StateCovariance.js.map +0 -1
  148. package/dist/covariance/index.d.ts +0 -2
  149. package/dist/covariance/index.js +0 -3
  150. package/dist/covariance/index.js.map +0 -1
  151. package/dist/data/DataHandler.d.ts +0 -66
  152. package/dist/data/DataHandler.js +0 -80
  153. package/dist/data/DataHandler.js.map +0 -1
  154. package/dist/data/values/Egm96Data.d.ts +0 -37
  155. package/dist/data/values/Egm96Data.js +0 -63
  156. package/dist/data/values/Egm96Data.js.map +0 -1
  157. package/dist/data/values/HpAtmosphereData.d.ts +0 -33
  158. package/dist/data/values/HpAtmosphereData.js +0 -58
  159. package/dist/data/values/HpAtmosphereData.js.map +0 -1
  160. package/dist/data/values/HpAtmosphereResult.d.ts +0 -29
  161. package/dist/data/values/HpAtmosphereResult.js +0 -38
  162. package/dist/data/values/HpAtmosphereResult.js.map +0 -1
  163. package/dist/data/values/Iau1980Data.d.ts +0 -36
  164. package/dist/data/values/Iau1980Data.js +0 -52
  165. package/dist/data/values/Iau1980Data.js.map +0 -1
  166. package/dist/data/values/LeapSecond.d.ts +0 -27
  167. package/dist/data/values/LeapSecond.js +0 -35
  168. package/dist/data/values/LeapSecond.js.map +0 -1
  169. package/dist/data/values/LeapSecondData.d.ts +0 -41
  170. package/dist/data/values/LeapSecondData.js +0 -103
  171. package/dist/data/values/LeapSecondData.js.map +0 -1
  172. package/dist/data/values/egm96.d.ts +0 -24
  173. package/dist/data/values/egm96.js +0 -726
  174. package/dist/data/values/egm96.js.map +0 -1
  175. package/dist/data/values/hpAtmosphere.d.ts +0 -24
  176. package/dist/data/values/hpAtmosphere.js +0 -76
  177. package/dist/data/values/hpAtmosphere.js.map +0 -1
  178. package/dist/data/values/iau1980.d.ts +0 -24
  179. package/dist/data/values/iau1980.js +0 -30
  180. package/dist/data/values/iau1980.js.map +0 -1
  181. package/dist/enums/AngularDiameterMethod.d.ts +0 -27
  182. package/dist/enums/AngularDiameterMethod.js +0 -29
  183. package/dist/enums/AngularDiameterMethod.js.map +0 -1
  184. package/dist/enums/AngularDistanceMethod.d.ts +0 -27
  185. package/dist/enums/AngularDistanceMethod.js +0 -29
  186. package/dist/enums/AngularDistanceMethod.js.map +0 -1
  187. package/dist/enums/CatalogSource.d.ts +0 -10
  188. package/dist/enums/CatalogSource.js +0 -12
  189. package/dist/enums/CatalogSource.js.map +0 -1
  190. package/dist/enums/CommLink.d.ts +0 -7
  191. package/dist/enums/CommLink.js +0 -9
  192. package/dist/enums/CommLink.js.map +0 -1
  193. package/dist/enums/FovFrame.d.ts +0 -25
  194. package/dist/enums/FovFrame.js +0 -27
  195. package/dist/enums/FovFrame.js.map +0 -1
  196. package/dist/enums/FovShape.d.ts +0 -25
  197. package/dist/enums/FovShape.js +0 -27
  198. package/dist/enums/FovShape.js.map +0 -1
  199. package/dist/enums/OrbitRegime.d.ts +0 -30
  200. package/dist/enums/OrbitRegime.js +0 -32
  201. package/dist/enums/OrbitRegime.js.map +0 -1
  202. package/dist/enums/PassType.d.ts +0 -28
  203. package/dist/enums/PassType.js +0 -30
  204. package/dist/enums/PassType.js.map +0 -1
  205. package/dist/enums/SensorType.d.ts +0 -33
  206. package/dist/enums/SensorType.js +0 -35
  207. package/dist/enums/SensorType.js.map +0 -1
  208. package/dist/enums/Sgp4OpsMode.d.ts +0 -26
  209. package/dist/enums/Sgp4OpsMode.js +0 -28
  210. package/dist/enums/Sgp4OpsMode.js.map +0 -1
  211. package/dist/enums/index.d.ts +0 -10
  212. package/dist/enums/index.js +0 -11
  213. package/dist/enums/index.js.map +0 -1
  214. package/dist/errors/index.d.ts +0 -153
  215. package/dist/errors/index.js +0 -179
  216. package/dist/errors/index.js.map +0 -1
  217. package/dist/force/AtmosphericDrag.d.ts +0 -50
  218. package/dist/force/AtmosphericDrag.js +0 -92
  219. package/dist/force/AtmosphericDrag.js.map +0 -1
  220. package/dist/force/EarthGravity.d.ts +0 -53
  221. package/dist/force/EarthGravity.js +0 -142
  222. package/dist/force/EarthGravity.js.map +0 -1
  223. package/dist/force/Force.d.ts +0 -26
  224. package/dist/force/Force.js +0 -22
  225. package/dist/force/Force.js.map +0 -1
  226. package/dist/force/ForceModel.d.ts +0 -45
  227. package/dist/force/ForceModel.js +0 -83
  228. package/dist/force/ForceModel.js.map +0 -1
  229. package/dist/force/Gravity.d.ts +0 -38
  230. package/dist/force/Gravity.js +0 -47
  231. package/dist/force/Gravity.js.map +0 -1
  232. package/dist/force/SolarRadiationPressure.d.ts +0 -26
  233. package/dist/force/SolarRadiationPressure.js +0 -45
  234. package/dist/force/SolarRadiationPressure.js.map +0 -1
  235. package/dist/force/ThirdBodyGravity.d.ts +0 -26
  236. package/dist/force/ThirdBodyGravity.js +0 -59
  237. package/dist/force/ThirdBodyGravity.js.map +0 -1
  238. package/dist/force/Thrust.d.ts +0 -34
  239. package/dist/force/Thrust.js +0 -58
  240. package/dist/force/Thrust.js.map +0 -1
  241. package/dist/force/index.d.ts +0 -8
  242. package/dist/force/index.js +0 -9
  243. package/dist/force/index.js.map +0 -1
  244. package/dist/interfaces/BaseObjectParams.d.ts +0 -30
  245. package/dist/interfaces/BaseObjectParams.js +0 -24
  246. package/dist/interfaces/BaseObjectParams.js.map +0 -1
  247. package/dist/interfaces/ClassicalElementsParams.d.ts +0 -33
  248. package/dist/interfaces/ClassicalElementsParams.js +0 -24
  249. package/dist/interfaces/ClassicalElementsParams.js.map +0 -1
  250. package/dist/interfaces/EquinoctialElementsParams.d.ts +0 -35
  251. package/dist/interfaces/EquinoctialElementsParams.js +0 -24
  252. package/dist/interfaces/EquinoctialElementsParams.js.map +0 -1
  253. package/dist/interfaces/GroundPositionParams.d.ts +0 -28
  254. package/dist/interfaces/GroundPositionParams.js +0 -24
  255. package/dist/interfaces/GroundPositionParams.js.map +0 -1
  256. package/dist/interfaces/OmmFormat.d.ts +0 -62
  257. package/dist/interfaces/OmmFormat.js +0 -2
  258. package/dist/interfaces/OmmFormat.js.map +0 -1
  259. package/dist/interfaces/OptionsParams.d.ts +0 -3
  260. package/dist/interfaces/OptionsParams.js +0 -2
  261. package/dist/interfaces/OptionsParams.js.map +0 -1
  262. package/dist/interfaces/SatelliteParams.d.ts +0 -38
  263. package/dist/interfaces/SatelliteParams.js +0 -2
  264. package/dist/interfaces/SatelliteParams.js.map +0 -1
  265. package/dist/interfaces/StarObjectParams.d.ts +0 -10
  266. package/dist/interfaces/StarObjectParams.js +0 -2
  267. package/dist/interfaces/StarObjectParams.js.map +0 -1
  268. package/dist/interfaces/TimeVariables.d.ts +0 -6
  269. package/dist/interfaces/TimeVariables.js +0 -2
  270. package/dist/interfaces/TimeVariables.js.map +0 -1
  271. package/dist/interfaces/index.d.ts +0 -7
  272. package/dist/interfaces/index.js +0 -2
  273. package/dist/interfaces/index.js.map +0 -1
  274. package/dist/interpolator/ChebyshevCoefficients.d.ts +0 -50
  275. package/dist/interpolator/ChebyshevCoefficients.js +0 -94
  276. package/dist/interpolator/ChebyshevCoefficients.js.map +0 -1
  277. package/dist/interpolator/ChebyshevInterpolator.d.ts +0 -38
  278. package/dist/interpolator/ChebyshevInterpolator.js +0 -71
  279. package/dist/interpolator/ChebyshevInterpolator.js.map +0 -1
  280. package/dist/interpolator/CubicSpline.d.ts +0 -35
  281. package/dist/interpolator/CubicSpline.js +0 -69
  282. package/dist/interpolator/CubicSpline.js.map +0 -1
  283. package/dist/interpolator/CubicSplineInterpolator.d.ts +0 -36
  284. package/dist/interpolator/CubicSplineInterpolator.js +0 -80
  285. package/dist/interpolator/CubicSplineInterpolator.js.map +0 -1
  286. package/dist/interpolator/FieldInterpolator.d.ts +0 -28
  287. package/dist/interpolator/FieldInterpolator.js +0 -24
  288. package/dist/interpolator/FieldInterpolator.js.map +0 -1
  289. package/dist/interpolator/Interpolator.d.ts +0 -22
  290. package/dist/interpolator/Interpolator.js +0 -47
  291. package/dist/interpolator/Interpolator.js.map +0 -1
  292. package/dist/interpolator/LagrangeInterpolator.d.ts +0 -40
  293. package/dist/interpolator/LagrangeInterpolator.js +0 -159
  294. package/dist/interpolator/LagrangeInterpolator.js.map +0 -1
  295. package/dist/interpolator/StateInterpolator.d.ts +0 -27
  296. package/dist/interpolator/StateInterpolator.js +0 -27
  297. package/dist/interpolator/StateInterpolator.js.map +0 -1
  298. package/dist/interpolator/VerletBlendInterpolator.d.ts +0 -43
  299. package/dist/interpolator/VerletBlendInterpolator.js +0 -118
  300. package/dist/interpolator/VerletBlendInterpolator.js.map +0 -1
  301. package/dist/interpolator/index.d.ts +0 -31
  302. package/dist/interpolator/index.js +0 -32
  303. package/dist/interpolator/index.js.map +0 -1
  304. package/dist/main.js.map +0 -1
  305. package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +0 -41
  306. package/dist/maneuver/TwoBurnOrbitTransfer.js +0 -65
  307. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +0 -1
  308. package/dist/maneuver/Waypoint.d.ts +0 -91
  309. package/dist/maneuver/Waypoint.js +0 -179
  310. package/dist/maneuver/Waypoint.js.map +0 -1
  311. package/dist/maneuver/index.d.ts +0 -24
  312. package/dist/maneuver/index.js +0 -25
  313. package/dist/maneuver/index.js.map +0 -1
  314. package/dist/objects/AccessCalculator.d.ts +0 -112
  315. package/dist/objects/AccessCalculator.js +0 -268
  316. package/dist/objects/AccessCalculator.js.map +0 -1
  317. package/dist/objects/AccessWindow.d.ts +0 -95
  318. package/dist/objects/AccessWindow.js +0 -69
  319. package/dist/objects/AccessWindow.js.map +0 -1
  320. package/dist/objects/BaseObject.d.ts +0 -119
  321. package/dist/objects/BaseObject.js +0 -203
  322. package/dist/objects/BaseObject.js.map +0 -1
  323. package/dist/objects/CenterBody.d.ts +0 -41
  324. package/dist/objects/CenterBody.js +0 -85
  325. package/dist/objects/CenterBody.js.map +0 -1
  326. package/dist/objects/DynamicGroundObject.d.ts +0 -309
  327. package/dist/objects/DynamicGroundObject.js +0 -758
  328. package/dist/objects/DynamicGroundObject.js.map +0 -1
  329. package/dist/objects/EphemerisSatellite.d.ts +0 -209
  330. package/dist/objects/EphemerisSatellite.js +0 -480
  331. package/dist/objects/EphemerisSatellite.js.map +0 -1
  332. package/dist/objects/GroundObject.d.ts +0 -124
  333. package/dist/objects/GroundObject.js +0 -192
  334. package/dist/objects/GroundObject.js.map +0 -1
  335. package/dist/objects/GroundStation.d.ts +0 -60
  336. package/dist/objects/GroundStation.js +0 -113
  337. package/dist/objects/GroundStation.js.map +0 -1
  338. package/dist/objects/History.d.ts +0 -101
  339. package/dist/objects/History.js +0 -180
  340. package/dist/objects/History.js.map +0 -1
  341. package/dist/objects/InterpolatorType.d.ts +0 -39
  342. package/dist/objects/InterpolatorType.js +0 -41
  343. package/dist/objects/InterpolatorType.js.map +0 -1
  344. package/dist/objects/LandObject.d.ts +0 -38
  345. package/dist/objects/LandObject.js +0 -48
  346. package/dist/objects/LandObject.js.map +0 -1
  347. package/dist/objects/Marker.d.ts +0 -24
  348. package/dist/objects/Marker.js +0 -30
  349. package/dist/objects/Marker.js.map +0 -1
  350. package/dist/objects/ObjectTypes.d.ts +0 -60
  351. package/dist/objects/ObjectTypes.js +0 -18
  352. package/dist/objects/ObjectTypes.js.map +0 -1
  353. package/dist/objects/Satellite.d.ts +0 -443
  354. package/dist/objects/Satellite.js +0 -843
  355. package/dist/objects/Satellite.js.map +0 -1
  356. package/dist/objects/SpaceObject.d.ts +0 -205
  357. package/dist/objects/SpaceObject.js +0 -149
  358. package/dist/objects/SpaceObject.js.map +0 -1
  359. package/dist/objects/Star.d.ts +0 -44
  360. package/dist/objects/Star.js +0 -95
  361. package/dist/objects/Star.js.map +0 -1
  362. package/dist/objects/VisualizationHelpers.d.ts +0 -148
  363. package/dist/objects/VisualizationHelpers.js +0 -218
  364. package/dist/objects/VisualizationHelpers.js.map +0 -1
  365. package/dist/objects/index.d.ts +0 -24
  366. package/dist/objects/index.js +0 -16
  367. package/dist/objects/index.js.map +0 -1
  368. package/dist/observation/Observation.d.ts +0 -89
  369. package/dist/observation/Observation.js +0 -51
  370. package/dist/observation/Observation.js.map +0 -1
  371. package/dist/observation/ObservationOptical.d.ts +0 -48
  372. package/dist/observation/ObservationOptical.js +0 -105
  373. package/dist/observation/ObservationOptical.js.map +0 -1
  374. package/dist/observation/ObservationRadar.d.ts +0 -46
  375. package/dist/observation/ObservationRadar.js +0 -96
  376. package/dist/observation/ObservationRadar.js.map +0 -1
  377. package/dist/observation/ObservationUtils.d.ts +0 -22
  378. package/dist/observation/ObservationUtils.js +0 -46
  379. package/dist/observation/ObservationUtils.js.map +0 -1
  380. package/dist/observation/PropagatorPairs.d.ts +0 -32
  381. package/dist/observation/PropagatorPairs.js +0 -43
  382. package/dist/observation/PropagatorPairs.js.map +0 -1
  383. package/dist/observation/RAE.d.ts +0 -111
  384. package/dist/observation/RAE.js +0 -214
  385. package/dist/observation/RAE.js.map +0 -1
  386. package/dist/observation/RadecGeocentric.d.ts +0 -111
  387. package/dist/observation/RadecGeocentric.js +0 -169
  388. package/dist/observation/RadecGeocentric.js.map +0 -1
  389. package/dist/observation/RadecTopocentric.d.ts +0 -123
  390. package/dist/observation/RadecTopocentric.js +0 -200
  391. package/dist/observation/RadecTopocentric.js.map +0 -1
  392. package/dist/observation/index.d.ts +0 -26
  393. package/dist/observation/index.js +0 -27
  394. package/dist/observation/index.js.map +0 -1
  395. package/dist/operations/BoxMuller.d.ts +0 -46
  396. package/dist/operations/BoxMuller.js +0 -77
  397. package/dist/operations/BoxMuller.js.map +0 -1
  398. package/dist/operations/EulerAngles.d.ts +0 -105
  399. package/dist/operations/EulerAngles.js +0 -161
  400. package/dist/operations/EulerAngles.js.map +0 -1
  401. package/dist/operations/Matrix.d.ts +0 -170
  402. package/dist/operations/Matrix.js +0 -405
  403. package/dist/operations/Matrix.js.map +0 -1
  404. package/dist/operations/Quaternion.d.ts +0 -56
  405. package/dist/operations/Quaternion.js +0 -167
  406. package/dist/operations/Quaternion.js.map +0 -1
  407. package/dist/operations/Random.d.ts +0 -40
  408. package/dist/operations/Random.js +0 -50
  409. package/dist/operations/Random.js.map +0 -1
  410. package/dist/operations/RandomGaussianSource.d.ts +0 -24
  411. package/dist/operations/RandomGaussianSource.js +0 -43
  412. package/dist/operations/RandomGaussianSource.js.map +0 -1
  413. package/dist/operations/Vector.d.ts +0 -262
  414. package/dist/operations/Vector.js +0 -415
  415. package/dist/operations/Vector.js.map +0 -1
  416. package/dist/operations/Vector3D.d.ts +0 -80
  417. package/dist/operations/Vector3D.js +0 -224
  418. package/dist/operations/Vector3D.js.map +0 -1
  419. package/dist/operations/index.d.ts +0 -4
  420. package/dist/operations/index.js +0 -5
  421. package/dist/operations/index.js.map +0 -1
  422. package/dist/operations/operations.d.ts +0 -26
  423. package/dist/operations/operations.js +0 -27
  424. package/dist/operations/operations.js.map +0 -1
  425. package/dist/optimize/ChebyshevCompressor.d.ts +0 -80
  426. package/dist/optimize/ChebyshevCompressor.js +0 -128
  427. package/dist/optimize/ChebyshevCompressor.js.map +0 -1
  428. package/dist/optimize/DownhillSimplex.d.ts +0 -98
  429. package/dist/optimize/DownhillSimplex.js +0 -216
  430. package/dist/optimize/DownhillSimplex.js.map +0 -1
  431. package/dist/optimize/GoldenSection.d.ts +0 -177
  432. package/dist/optimize/GoldenSection.js +0 -202
  433. package/dist/optimize/GoldenSection.js.map +0 -1
  434. package/dist/optimize/PolynomialRegression.d.ts +0 -151
  435. package/dist/optimize/PolynomialRegression.js +0 -184
  436. package/dist/optimize/PolynomialRegression.js.map +0 -1
  437. package/dist/optimize/SimpleLinearRegression.d.ts +0 -153
  438. package/dist/optimize/SimpleLinearRegression.js +0 -212
  439. package/dist/optimize/SimpleLinearRegression.js.map +0 -1
  440. package/dist/optimize/index.d.ts +0 -5
  441. package/dist/optimize/index.js +0 -6
  442. package/dist/optimize/index.js.map +0 -1
  443. package/dist/optimize/internal/PolynomicalRegressionResult.d.ts +0 -118
  444. package/dist/optimize/internal/PolynomicalRegressionResult.js +0 -123
  445. package/dist/optimize/internal/PolynomicalRegressionResult.js.map +0 -1
  446. package/dist/optimize/internal/SimplexEntry.d.ts +0 -150
  447. package/dist/optimize/internal/SimplexEntry.js +0 -147
  448. package/dist/optimize/internal/SimplexEntry.js.map +0 -1
  449. package/dist/orbit-design/RepeatGroundTrack.d.ts +0 -184
  450. package/dist/orbit-design/RepeatGroundTrack.js +0 -359
  451. package/dist/orbit-design/RepeatGroundTrack.js.map +0 -1
  452. package/dist/orbit-design/index.d.ts +0 -18
  453. package/dist/orbit-design/index.js +0 -18
  454. package/dist/orbit-design/index.js.map +0 -1
  455. package/dist/orbit-determination/BatchLeastSquaresOD.d.ts +0 -69
  456. package/dist/orbit-determination/BatchLeastSquaresOD.js +0 -143
  457. package/dist/orbit-determination/BatchLeastSquaresOD.js.map +0 -1
  458. package/dist/orbit-determination/BatchLeastSquaresResult.d.ts +0 -31
  459. package/dist/orbit-determination/BatchLeastSquaresResult.js +0 -36
  460. package/dist/orbit-determination/BatchLeastSquaresResult.js.map +0 -1
  461. package/dist/orbit-determination/GaussIOD.d.ts +0 -98
  462. package/dist/orbit-determination/GaussIOD.js +0 -294
  463. package/dist/orbit-determination/GaussIOD.js.map +0 -1
  464. package/dist/orbit-determination/GibbsIOD.d.ts +0 -38
  465. package/dist/orbit-determination/GibbsIOD.js +0 -77
  466. package/dist/orbit-determination/GibbsIOD.js.map +0 -1
  467. package/dist/orbit-determination/GoodingIOD.d.ts +0 -155
  468. package/dist/orbit-determination/GoodingIOD.js +0 -492
  469. package/dist/orbit-determination/GoodingIOD.js.map +0 -1
  470. package/dist/orbit-determination/HerrickGibbsIOD.d.ts +0 -33
  471. package/dist/orbit-determination/HerrickGibbsIOD.js +0 -50
  472. package/dist/orbit-determination/HerrickGibbsIOD.js.map +0 -1
  473. package/dist/orbit-determination/LambertIOD.d.ts +0 -59
  474. package/dist/orbit-determination/LambertIOD.js +0 -213
  475. package/dist/orbit-determination/LambertIOD.js.map +0 -1
  476. package/dist/orbit-determination/LevenbergMarquardtOD.d.ts +0 -72
  477. package/dist/orbit-determination/LevenbergMarquardtOD.js +0 -202
  478. package/dist/orbit-determination/LevenbergMarquardtOD.js.map +0 -1
  479. package/dist/orbit-determination/LevenbergMarquardtResult.d.ts +0 -36
  480. package/dist/orbit-determination/LevenbergMarquardtResult.js +0 -43
  481. package/dist/orbit-determination/LevenbergMarquardtResult.js.map +0 -1
  482. package/dist/orbit-determination/ModifiedGoodingIOD.d.ts +0 -41
  483. package/dist/orbit-determination/ModifiedGoodingIOD.js +0 -94
  484. package/dist/orbit-determination/ModifiedGoodingIOD.js.map +0 -1
  485. package/dist/orbit-determination/index.d.ts +0 -9
  486. package/dist/orbit-determination/index.js +0 -10
  487. package/dist/orbit-determination/index.js.map +0 -1
  488. package/dist/parsers/CdmExporter.d.ts +0 -85
  489. package/dist/parsers/CdmExporter.js +0 -235
  490. package/dist/parsers/CdmExporter.js.map +0 -1
  491. package/dist/parsers/CdmParser.d.ts +0 -97
  492. package/dist/parsers/CdmParser.js +0 -396
  493. package/dist/parsers/CdmParser.js.map +0 -1
  494. package/dist/parsers/CdmTypes.d.ts +0 -240
  495. package/dist/parsers/CdmTypes.js +0 -18
  496. package/dist/parsers/CdmTypes.js.map +0 -1
  497. package/dist/parsers/HorizonsParser.d.ts +0 -128
  498. package/dist/parsers/HorizonsParser.js +0 -320
  499. package/dist/parsers/HorizonsParser.js.map +0 -1
  500. package/dist/parsers/OemParser.d.ts +0 -56
  501. package/dist/parsers/OemParser.js +0 -235
  502. package/dist/parsers/OemParser.js.map +0 -1
  503. package/dist/parsers/OemTypes.d.ts +0 -100
  504. package/dist/parsers/OemTypes.js +0 -18
  505. package/dist/parsers/OemTypes.js.map +0 -1
  506. package/dist/parsers/index.d.ts +0 -23
  507. package/dist/parsers/index.js +0 -24
  508. package/dist/parsers/index.js.map +0 -1
  509. package/dist/propagator/DormandPrince54Propagator.d.ts +0 -28
  510. package/dist/propagator/DormandPrince54Propagator.js +0 -64
  511. package/dist/propagator/DormandPrince54Propagator.js.map +0 -1
  512. package/dist/propagator/KeplerPropagator.d.ts +0 -35
  513. package/dist/propagator/KeplerPropagator.js +0 -83
  514. package/dist/propagator/KeplerPropagator.js.map +0 -1
  515. package/dist/propagator/Propagator.d.ts +0 -34
  516. package/dist/propagator/Propagator.js +0 -162
  517. package/dist/propagator/Propagator.js.map +0 -1
  518. package/dist/propagator/RkCheckpoint.d.ts +0 -22
  519. package/dist/propagator/RkCheckpoint.js +0 -27
  520. package/dist/propagator/RkCheckpoint.js.map +0 -1
  521. package/dist/propagator/RkResult.d.ts +0 -23
  522. package/dist/propagator/RkResult.js +0 -30
  523. package/dist/propagator/RkResult.js.map +0 -1
  524. package/dist/propagator/RungeKutta4Propagator.d.ts +0 -50
  525. package/dist/propagator/RungeKutta4Propagator.js +0 -141
  526. package/dist/propagator/RungeKutta4Propagator.js.map +0 -1
  527. package/dist/propagator/RungeKutta89Propagator.d.ts +0 -28
  528. package/dist/propagator/RungeKutta89Propagator.js +0 -126
  529. package/dist/propagator/RungeKutta89Propagator.js.map +0 -1
  530. package/dist/propagator/RungeKuttaAdaptive.d.ts +0 -51
  531. package/dist/propagator/RungeKuttaAdaptive.js +0 -199
  532. package/dist/propagator/RungeKuttaAdaptive.js.map +0 -1
  533. package/dist/propagator/Sgp4Propagator.d.ts +0 -76
  534. package/dist/propagator/Sgp4Propagator.js +0 -96
  535. package/dist/propagator/Sgp4Propagator.js.map +0 -1
  536. package/dist/propagator/index.d.ts +0 -9
  537. package/dist/propagator/index.js +0 -10
  538. package/dist/propagator/index.js.map +0 -1
  539. package/dist/scheduling/ContactScheduler.d.ts +0 -248
  540. package/dist/scheduling/ContactScheduler.js +0 -503
  541. package/dist/scheduling/ContactScheduler.js.map +0 -1
  542. package/dist/scheduling/ScheduledContact.d.ts +0 -155
  543. package/dist/scheduling/ScheduledContact.js +0 -189
  544. package/dist/scheduling/ScheduledContact.js.map +0 -1
  545. package/dist/scheduling/index.d.ts +0 -5
  546. package/dist/scheduling/index.js +0 -4
  547. package/dist/scheduling/index.js.map +0 -1
  548. package/dist/sensor/FieldOfView.d.ts +0 -250
  549. package/dist/sensor/FieldOfView.js +0 -470
  550. package/dist/sensor/FieldOfView.js.map +0 -1
  551. package/dist/sensor/LaserRangingSensor.d.ts +0 -122
  552. package/dist/sensor/LaserRangingSensor.js +0 -174
  553. package/dist/sensor/LaserRangingSensor.js.map +0 -1
  554. package/dist/sensor/MechanicalRadar.d.ts +0 -86
  555. package/dist/sensor/MechanicalRadar.js +0 -130
  556. package/dist/sensor/MechanicalRadar.js.map +0 -1
  557. package/dist/sensor/OpticalSensor.d.ts +0 -111
  558. package/dist/sensor/OpticalSensor.js +0 -164
  559. package/dist/sensor/OpticalSensor.js.map +0 -1
  560. package/dist/sensor/PassiveRFSensor.d.ts +0 -115
  561. package/dist/sensor/PassiveRFSensor.js +0 -168
  562. package/dist/sensor/PassiveRFSensor.js.map +0 -1
  563. package/dist/sensor/PhasedArrayRadar.d.ts +0 -170
  564. package/dist/sensor/PhasedArrayRadar.js +0 -290
  565. package/dist/sensor/PhasedArrayRadar.js.map +0 -1
  566. package/dist/sensor/RadarSensor.d.ts +0 -94
  567. package/dist/sensor/RadarSensor.js +0 -106
  568. package/dist/sensor/RadarSensor.js.map +0 -1
  569. package/dist/sensor/Sensor.d.ts +0 -271
  570. package/dist/sensor/Sensor.js +0 -343
  571. package/dist/sensor/Sensor.js.map +0 -1
  572. package/dist/sensor/index.d.ts +0 -74
  573. package/dist/sensor/index.js +0 -70
  574. package/dist/sensor/index.js.map +0 -1
  575. package/dist/sgp4/index.d.ts +0 -25
  576. package/dist/sgp4/index.js +0 -25
  577. package/dist/sgp4/index.js.map +0 -1
  578. package/dist/sgp4/sgp4-error.d.ts +0 -22
  579. package/dist/sgp4/sgp4-error.js +0 -44
  580. package/dist/sgp4/sgp4-error.js.map +0 -1
  581. package/dist/sgp4/sgp4.d.ts +0 -99
  582. package/dist/sgp4/sgp4.js +0 -3170
  583. package/dist/sgp4/sgp4.js.map +0 -1
  584. package/dist/smoothing/ExponentialSmoothing.d.ts +0 -37
  585. package/dist/smoothing/ExponentialSmoothing.js +0 -75
  586. package/dist/smoothing/ExponentialSmoothing.js.map +0 -1
  587. package/dist/time/Epoch.d.ts +0 -81
  588. package/dist/time/Epoch.js +0 -146
  589. package/dist/time/Epoch.js.map +0 -1
  590. package/dist/time/EpochGPS.d.ts +0 -106
  591. package/dist/time/EpochGPS.js +0 -134
  592. package/dist/time/EpochGPS.js.map +0 -1
  593. package/dist/time/EpochTAI.d.ts +0 -62
  594. package/dist/time/EpochTAI.js +0 -63
  595. package/dist/time/EpochTAI.js.map +0 -1
  596. package/dist/time/EpochTDB.d.ts +0 -72
  597. package/dist/time/EpochTDB.js +0 -73
  598. package/dist/time/EpochTDB.js.map +0 -1
  599. package/dist/time/EpochTT.d.ts +0 -75
  600. package/dist/time/EpochTT.js +0 -76
  601. package/dist/time/EpochTT.js.map +0 -1
  602. package/dist/time/EpochUTC.d.ts +0 -123
  603. package/dist/time/EpochUTC.js +0 -200
  604. package/dist/time/EpochUTC.js.map +0 -1
  605. package/dist/time/EpochWindow.d.ts +0 -28
  606. package/dist/time/EpochWindow.js +0 -31
  607. package/dist/time/EpochWindow.js.map +0 -1
  608. package/dist/time/TimeStamped.d.ts +0 -61
  609. package/dist/time/TimeStamped.js +0 -73
  610. package/dist/time/TimeStamped.js.map +0 -1
  611. package/dist/time/index.d.ts +0 -8
  612. package/dist/time/index.js +0 -9
  613. package/dist/time/index.js.map +0 -1
  614. package/dist/transforms/TransformCache.d.ts +0 -27
  615. package/dist/transforms/TransformCache.js +0 -41
  616. package/dist/transforms/TransformCache.js.map +0 -1
  617. package/dist/transforms/conversions.d.ts +0 -63
  618. package/dist/transforms/conversions.js +0 -89
  619. package/dist/transforms/conversions.js.map +0 -1
  620. package/dist/transforms/index.d.ts +0 -2
  621. package/dist/transforms/index.js +0 -3
  622. package/dist/transforms/index.js.map +0 -1
  623. package/dist/transforms/transforms.d.ts +0 -241
  624. package/dist/transforms/transforms.js +0 -479
  625. package/dist/transforms/transforms.js.map +0 -1
  626. package/dist/types/types.d.ts +0 -757
  627. package/dist/types/types.js +0 -90
  628. package/dist/types/types.js.map +0 -1
  629. package/dist/utils/constants.d.ts +0 -80
  630. package/dist/utils/constants.js +0 -87
  631. package/dist/utils/constants.js.map +0 -1
  632. package/dist/utils/create-covariance-from-tle.d.ts +0 -18
  633. package/dist/utils/create-covariance-from-tle.js +0 -57
  634. package/dist/utils/create-covariance-from-tle.js.map +0 -1
  635. package/dist/utils/functions.d.ts +0 -236
  636. package/dist/utils/functions.js +0 -501
  637. package/dist/utils/functions.js.map +0 -1
  638. package/dist/utils/index.d.ts +0 -5
  639. package/dist/utils/index.js +0 -6
  640. package/dist/utils/index.js.map +0 -1
  641. package/dist/utils/jacobian.d.ts +0 -17
  642. package/dist/utils/jacobian.js +0 -34
  643. package/dist/utils/jacobian.js.map +0 -1
  644. package/dist/utils/linearDistance.d.ts +0 -8
  645. package/dist/utils/linearDistance.js +0 -10
  646. package/dist/utils/linearDistance.js.map +0 -1
  647. package/docs/README.md +0 -151
  648. package/docs/getting-started.md +0 -792
  649. package/docs/lambert-satellite-integration-guide.md +0 -766
  650. package/docs/user-guide.md +0 -1935
  651. package/jest.config.mjs +0 -29
  652. package/src/body/CelestialBody.ts +0 -316
  653. package/src/body/CelestialBodyType.ts +0 -55
  654. package/src/body/Earth.ts +0 -260
  655. package/src/body/EphemerisBody.ts +0 -349
  656. package/src/body/MoonBody.ts +0 -552
  657. package/src/body/NutationAngles.ts +0 -40
  658. package/src/body/PlanetBody.ts +0 -354
  659. package/src/body/PrecessionAngles.ts +0 -31
  660. package/src/body/SolarSystem.ts +0 -276
  661. package/src/body/SunBody.ts +0 -538
  662. package/src/body/__tests__/Earth.test.ts +0 -135
  663. package/src/body/__tests__/EphemerisBody.test.ts +0 -323
  664. package/src/body/__tests__/MoonBody.test.ts +0 -198
  665. package/src/body/__tests__/PlanetBody.test.ts +0 -257
  666. package/src/body/__tests__/SolarSystem.test.ts +0 -237
  667. package/src/body/__tests__/SunBody.test.ts +0 -227
  668. package/src/body/__tests__/__snapshots__/Earth.test.ts.snap +0 -39
  669. package/src/body/index.ts +0 -64
  670. package/src/body/suncalc.LICENSE.md +0 -18
  671. package/src/comm/Antenna.ts +0 -213
  672. package/src/comm/Beacon.ts +0 -328
  673. package/src/comm/CommTypes.ts +0 -216
  674. package/src/comm/CommunicationDevice.ts +0 -199
  675. package/src/comm/Receiver.ts +0 -263
  676. package/src/comm/Transmitter.ts +0 -349
  677. package/src/comm/Transponder.ts +0 -360
  678. package/src/comm/__tests__/Antenna.test.ts +0 -155
  679. package/src/comm/__tests__/Beacon.test.ts +0 -333
  680. package/src/comm/__tests__/CommTypes.test.ts +0 -165
  681. package/src/comm/__tests__/Receiver.test.ts +0 -215
  682. package/src/comm/__tests__/Transmitter.test.ts +0 -164
  683. package/src/comm/__tests__/Transponder.test.ts +0 -181
  684. package/src/comm/index.ts +0 -60
  685. package/src/conjunction/CatalogScreener.ts +0 -322
  686. package/src/conjunction/ConjunctionAssessment.ts +0 -410
  687. package/src/conjunction/ConjunctionEvent.ts +0 -185
  688. package/src/conjunction/CovarianceRealism.ts +0 -472
  689. package/src/conjunction/ProbabilityOfCollision.ts +0 -302
  690. package/src/conjunction/ScreeningFilter.ts +0 -206
  691. package/src/conjunction/__tests__/CatalogScreener.test.ts +0 -280
  692. package/src/conjunction/__tests__/ConjunctionAssessment.basic.test.ts +0 -250
  693. package/src/conjunction/__tests__/ConjunctionAssessment.highfidelity.test.ts +0 -76
  694. package/src/conjunction/__tests__/CovarianceRealism.test.ts +0 -296
  695. package/src/conjunction/index.ts +0 -35
  696. package/src/constellation/ConstellationGenerator.ts +0 -377
  697. package/src/constellation/__tests__/ConstellationGenerator.test.ts +0 -446
  698. package/src/constellation/index.ts +0 -18
  699. package/src/coordinate/ClassicalElements.ts +0 -394
  700. package/src/coordinate/EquinoctialElements.ts +0 -189
  701. package/src/coordinate/FormatTle.ts +0 -219
  702. package/src/coordinate/Geodetic.ts +0 -191
  703. package/src/coordinate/Hill.ts +0 -326
  704. package/src/coordinate/ITRF.ts +0 -146
  705. package/src/coordinate/J2000.ts +0 -130
  706. package/src/coordinate/README.md +0 -788
  707. package/src/coordinate/RIC.ts +0 -87
  708. package/src/coordinate/RelativeState.ts +0 -101
  709. package/src/coordinate/StateVector.ts +0 -128
  710. package/src/coordinate/TEME.ts +0 -97
  711. package/src/coordinate/Tle.ts +0 -1025
  712. package/src/coordinate/__tests__/ClassicalElements.test.ts +0 -129
  713. package/src/coordinate/__tests__/EquinoctialElements.test.ts +0 -108
  714. package/src/coordinate/__tests__/FormatTle.test.ts +0 -92
  715. package/src/coordinate/__tests__/Geodetic.test.ts +0 -165
  716. package/src/coordinate/__tests__/Hill.test.ts +0 -195
  717. package/src/coordinate/__tests__/ITRF.test.ts +0 -231
  718. package/src/coordinate/__tests__/J2000.test.ts +0 -132
  719. package/src/coordinate/__tests__/RIC.test.ts +0 -107
  720. package/src/coordinate/__tests__/TEME.test.ts +0 -48
  721. package/src/coordinate/__tests__/Tle.test.ts +0 -185
  722. package/src/coordinate/__tests__/__snapshots__/ClassicalElements.test.ts.snap +0 -106
  723. package/src/coordinate/__tests__/__snapshots__/EquinoctialElements.test.ts.snap +0 -93
  724. package/src/coordinate/__tests__/__snapshots__/Geodetic.test.ts.snap +0 -54
  725. package/src/coordinate/__tests__/__snapshots__/ITRF.test.ts.snap +0 -321
  726. package/src/coordinate/__tests__/__snapshots__/J2000.test.ts.snap +0 -26
  727. package/src/coordinate/__tests__/__snapshots__/RIC.test.ts.snap +0 -79
  728. package/src/coordinate/__tests__/__snapshots__/TEME.test.ts.snap +0 -41
  729. package/src/coordinate/__tests__/__snapshots__/Tle.test.ts.snap +0 -180
  730. package/src/coordinate/index.ts +0 -13
  731. package/src/coordinate/tle-format-data.ts +0 -47
  732. package/src/covariance/CovarianceSample.ts +0 -292
  733. package/src/covariance/StateCovariance.ts +0 -69
  734. package/src/covariance/__tests__/CovarianceSample.test.ts +0 -143
  735. package/src/covariance/__tests__/StateCovariance.test.ts +0 -90
  736. package/src/covariance/index.ts +0 -3
  737. package/src/data/DataHandler.ts +0 -88
  738. package/src/data/values/Egm96Data.ts +0 -75
  739. package/src/data/values/HpAtmosphereData.ts +0 -76
  740. package/src/data/values/HpAtmosphereResult.ts +0 -41
  741. package/src/data/values/Iau1980Data.ts +0 -63
  742. package/src/data/values/LeapSecond.ts +0 -37
  743. package/src/data/values/LeapSecondData.ts +0 -113
  744. package/src/data/values/__tests__/Egm96Data.test.ts +0 -33
  745. package/src/data/values/__tests__/HpAtmosphereData.test.ts +0 -82
  746. package/src/data/values/__tests__/LeapSecondData.test.ts +0 -59
  747. package/src/data/values/egm96.ts +0 -728
  748. package/src/data/values/hpAtmosphere.ts +0 -79
  749. package/src/data/values/iau1980.ts +0 -32
  750. package/src/enums/AngularDiameterMethod.ts +0 -28
  751. package/src/enums/AngularDistanceMethod.ts +0 -28
  752. package/src/enums/CatalogSource.ts +0 -10
  753. package/src/enums/CommLink.ts +0 -7
  754. package/src/enums/FovFrame.ts +0 -26
  755. package/src/enums/FovShape.ts +0 -26
  756. package/src/enums/OrbitRegime.ts +0 -31
  757. package/src/enums/PassType.ts +0 -29
  758. package/src/enums/SensorType.ts +0 -34
  759. package/src/enums/Sgp4OpsMode.ts +0 -27
  760. package/src/enums/index.ts +0 -11
  761. package/src/errors/__tests__/errors.test.ts +0 -196
  762. package/src/errors/index.ts +0 -185
  763. package/src/fetch/horizons-constants.ts +0 -53
  764. package/src/fetch/horizons-interfaces.ts +0 -38
  765. package/src/fetch/horizons.ts +0 -300
  766. package/src/fetch/index.ts +0 -26
  767. package/src/force/AtmosphericDrag.ts +0 -120
  768. package/src/force/EarthGravity.ts +0 -182
  769. package/src/force/Force.ts +0 -31
  770. package/src/force/ForceModel.ts +0 -99
  771. package/src/force/Gravity.ts +0 -53
  772. package/src/force/README.md +0 -99
  773. package/src/force/SolarRadiationPressure.ts +0 -43
  774. package/src/force/ThirdBodyGravity.ts +0 -64
  775. package/src/force/Thrust.ts +0 -83
  776. package/src/force/__tests__/AtmosphericDrag.test.ts +0 -168
  777. package/src/force/__tests__/EarthGravity.test.ts +0 -115
  778. package/src/force/__tests__/ForceModel.test.ts +0 -188
  779. package/src/force/__tests__/Gravity.test.ts +0 -81
  780. package/src/force/__tests__/SolarRadiationPressure.test.ts +0 -115
  781. package/src/force/__tests__/ThirdBodyGravity.test.ts +0 -119
  782. package/src/force/__tests__/Thrust.test.ts +0 -132
  783. package/src/force/index.ts +0 -9
  784. package/src/interfaces/BaseObjectParams.ts +0 -32
  785. package/src/interfaces/ClassicalElementsParams.ts +0 -35
  786. package/src/interfaces/EquinoctialElementsParams.ts +0 -37
  787. package/src/interfaces/GroundPositionParams.ts +0 -30
  788. package/src/interfaces/OmmFormat.ts +0 -63
  789. package/src/interfaces/OptionsParams.ts +0 -3
  790. package/src/interfaces/SatelliteParams.ts +0 -57
  791. package/src/interfaces/StarObjectParams.ts +0 -11
  792. package/src/interfaces/TimeVariables.ts +0 -7
  793. package/src/interfaces/index.ts +0 -8
  794. package/src/interpolator/ChebyshevCoefficients.ts +0 -109
  795. package/src/interpolator/ChebyshevInterpolator.ts +0 -87
  796. package/src/interpolator/CubicSpline.ts +0 -72
  797. package/src/interpolator/CubicSplineInterpolator.ts +0 -90
  798. package/src/interpolator/FieldInterpolator.ts +0 -35
  799. package/src/interpolator/Interpolator.ts +0 -56
  800. package/src/interpolator/LagrangeInterpolator.ts +0 -192
  801. package/src/interpolator/StateInterpolator.ts +0 -37
  802. package/src/interpolator/VerletBlendInterpolator.ts +0 -146
  803. package/src/interpolator/__tests__/ChebyshevCoefficients.test.ts +0 -105
  804. package/src/interpolator/__tests__/ChebyshevInterpolator.test.ts +0 -81
  805. package/src/interpolator/__tests__/CubicSpline.test.ts +0 -80
  806. package/src/interpolator/__tests__/CubicSplineInterpolator.test.ts +0 -94
  807. package/src/interpolator/__tests__/FieldInterpolator.test.ts +0 -59
  808. package/src/interpolator/__tests__/Interpolator.test.ts +0 -131
  809. package/src/interpolator/__tests__/LagrangeInterpolator.test.ts +0 -121
  810. package/src/interpolator/__tests__/StateInterpolator.test.ts +0 -57
  811. package/src/interpolator/__tests__/VerletBlendInterpolator.test.ts +0 -116
  812. package/src/interpolator/index.ts +0 -32
  813. package/src/main.ts +0 -87
  814. package/src/maneuver/TwoBurnOrbitTransfer.ts +0 -79
  815. package/src/maneuver/Waypoint.ts +0 -267
  816. package/src/maneuver/__tests__/TwoBurnOrbitTransfer.test.ts +0 -90
  817. package/src/maneuver/__tests__/Waypoint.test.ts +0 -427
  818. package/src/maneuver/index.ts +0 -25
  819. package/src/objects/AccessCalculator.ts +0 -345
  820. package/src/objects/AccessWindow.ts +0 -129
  821. package/src/objects/BaseObject.ts +0 -242
  822. package/src/objects/CenterBody.ts +0 -88
  823. package/src/objects/DynamicGroundObject.ts +0 -975
  824. package/src/objects/EphemerisSatellite.ts +0 -629
  825. package/src/objects/GroundObject.ts +0 -246
  826. package/src/objects/GroundStation.ts +0 -130
  827. package/src/objects/History.ts +0 -228
  828. package/src/objects/InterpolatorType.ts +0 -42
  829. package/src/objects/LandObject.ts +0 -62
  830. package/src/objects/Marker.ts +0 -32
  831. package/src/objects/ObjectTypes.ts +0 -66
  832. package/src/objects/Satellite.ts +0 -1013
  833. package/src/objects/SpaceObject.ts +0 -304
  834. package/src/objects/Star.ts +0 -135
  835. package/src/objects/VisualizationHelpers.ts +0 -324
  836. package/src/objects/__tests__/AccessCalculator.test.ts +0 -499
  837. package/src/objects/__tests__/DynamicGroundObject.test.ts +0 -859
  838. package/src/objects/__tests__/EphemerisSatellite.test.ts +0 -589
  839. package/src/objects/__tests__/GroundStation.test.ts +0 -204
  840. package/src/objects/__tests__/Satellite.test.ts +0 -487
  841. package/src/objects/__tests__/SpaceObject.rae.test.ts +0 -156
  842. package/src/objects/__tests__/VisualizationHelpers.test.ts +0 -438
  843. package/src/objects/index.ts +0 -31
  844. package/src/observation/Observation.ts +0 -113
  845. package/src/observation/ObservationOptical.ts +0 -146
  846. package/src/observation/ObservationRadar.ts +0 -135
  847. package/src/observation/ObservationUtils.ts +0 -69
  848. package/src/observation/PropagatorPairs.ts +0 -45
  849. package/src/observation/RAE.ts +0 -261
  850. package/src/observation/RadecGeocentric.ts +0 -206
  851. package/src/observation/RadecTopocentric.ts +0 -247
  852. package/src/observation/__tests__/RAE.test.ts +0 -135
  853. package/src/observation/__tests__/RadecGeocentric.test.ts +0 -107
  854. package/src/observation/__tests__/RadecTopocentric.test.ts +0 -121
  855. package/src/observation/__tests__/__snapshots__/RAE.test.ts.snap +0 -91
  856. package/src/observation/__tests__/__snapshots__/RadecGeocentric.test.ts.snap +0 -71
  857. package/src/observation/__tests__/__snapshots__/RadecTopocentric.test.ts.snap +0 -71
  858. package/src/observation/index.ts +0 -28
  859. package/src/operations/BoxMuller.ts +0 -87
  860. package/src/operations/EulerAngles.ts +0 -183
  861. package/src/operations/Matrix.ts +0 -473
  862. package/src/operations/Quaternion.ts +0 -222
  863. package/src/operations/Random.ts +0 -54
  864. package/src/operations/RandomGaussianSource.ts +0 -51
  865. package/src/operations/Vector.ts +0 -484
  866. package/src/operations/Vector3D.ts +0 -272
  867. package/src/operations/__tests__/Matrix.test.ts +0 -277
  868. package/src/operations/__tests__/Random.test.ts +0 -24
  869. package/src/operations/__tests__/Vector.test.ts +0 -269
  870. package/src/operations/__tests__/Vector3D.test.ts +0 -100
  871. package/src/operations/__tests__/__snapshots__/Matrix.test.ts.snap +0 -161
  872. package/src/operations/__tests__/__snapshots__/Random.test.ts.snap +0 -7
  873. package/src/operations/__tests__/__snapshots__/Vector.test.ts.snap +0 -218
  874. package/src/operations/__tests__/__snapshots__/Vector3D.test.ts.snap +0 -138
  875. package/src/operations/index.ts +0 -5
  876. package/src/operations/operations.ts +0 -28
  877. package/src/optimize/ChebyshevCompressor.ts +0 -141
  878. package/src/optimize/DownhillSimplex.ts +0 -246
  879. package/src/optimize/GoldenSection.ts +0 -230
  880. package/src/optimize/PolynomialRegression.ts +0 -211
  881. package/src/optimize/README.md +0 -343
  882. package/src/optimize/SimpleLinearRegression.ts +0 -227
  883. package/src/optimize/__tests__/ChebyshevCompressor.test.ts +0 -40
  884. package/src/optimize/__tests__/DownhillSimplex.test.ts +0 -168
  885. package/src/optimize/__tests__/GoldenSection.test.ts +0 -21
  886. package/src/optimize/__tests__/PolynomialRegression.test.ts +0 -24
  887. package/src/optimize/__tests__/SimpleLinearRegression.test.ts +0 -31
  888. package/src/optimize/index.ts +0 -6
  889. package/src/optimize/internal/PolynomicalRegressionResult.ts +0 -126
  890. package/src/optimize/internal/SimplexEntry.ts +0 -169
  891. package/src/orbit-design/RepeatGroundTrack.ts +0 -516
  892. package/src/orbit-design/__tests__/RepeatGroundTrack.test.ts +0 -526
  893. package/src/orbit-design/index.ts +0 -23
  894. package/src/orbit-determination/BatchLeastSquaresOD.ts +0 -174
  895. package/src/orbit-determination/BatchLeastSquaresResult.ts +0 -33
  896. package/src/orbit-determination/GaussIOD.ts +0 -396
  897. package/src/orbit-determination/GibbsIOD.ts +0 -98
  898. package/src/orbit-determination/GoodingIOD.ts +0 -680
  899. package/src/orbit-determination/HerrickGibbsIOD.ts +0 -51
  900. package/src/orbit-determination/LambertIOD.ts +0 -260
  901. package/src/orbit-determination/LevenbergMarquardtOD.ts +0 -258
  902. package/src/orbit-determination/LevenbergMarquardtResult.ts +0 -42
  903. package/src/orbit-determination/ModifiedGoodingIOD.test.ts +0 -86
  904. package/src/orbit-determination/ModifiedGoodingIOD.ts +0 -145
  905. package/src/orbit-determination/README.md +0 -353
  906. package/src/orbit-determination/__tests__/BatchLeastSquaresOD.accuracy.test.ts +0 -320
  907. package/src/orbit-determination/__tests__/BatchLeastSquaresOD.observations.test.ts +0 -279
  908. package/src/orbit-determination/__tests__/BatchLeastSquaresOD.robustness.test.ts +0 -439
  909. package/src/orbit-determination/__tests__/GaussIOD.test.ts +0 -395
  910. package/src/orbit-determination/__tests__/GibbsIOD.test.ts +0 -423
  911. package/src/orbit-determination/__tests__/GoodingIOD.test.ts +0 -356
  912. package/src/orbit-determination/__tests__/HerrickGibbsIOD.test.ts +0 -501
  913. package/src/orbit-determination/__tests__/LambertIOD.test.ts +0 -643
  914. package/src/orbit-determination/__tests__/LevenbergMarquardtOD.test.ts +0 -1039
  915. package/src/orbit-determination/index.ts +0 -10
  916. package/src/parsers/CdmExporter.ts +0 -298
  917. package/src/parsers/CdmParser.ts +0 -474
  918. package/src/parsers/CdmTypes.ts +0 -259
  919. package/src/parsers/HorizonsParser.ts +0 -432
  920. package/src/parsers/OemParser.ts +0 -277
  921. package/src/parsers/OemTypes.ts +0 -111
  922. package/src/parsers/__tests__/CdmExporter.test.ts +0 -305
  923. package/src/parsers/__tests__/CdmParser.test.ts +0 -305
  924. package/src/parsers/__tests__/HorizonsParser.test.ts +0 -126
  925. package/src/parsers/__tests__/OemParser.test.ts +0 -398
  926. package/src/parsers/index.ts +0 -49
  927. package/src/propagator/DormandPrince54Propagator.ts +0 -73
  928. package/src/propagator/KeplerPropagator.ts +0 -101
  929. package/src/propagator/Propagator.ts +0 -253
  930. package/src/propagator/README.md +0 -241
  931. package/src/propagator/RkCheckpoint.ts +0 -25
  932. package/src/propagator/RkResult.ts +0 -26
  933. package/src/propagator/RungeKutta4Propagator.ts +0 -179
  934. package/src/propagator/RungeKutta89Propagator.ts +0 -132
  935. package/src/propagator/RungeKuttaAdaptive.ts +0 -282
  936. package/src/propagator/Sgp4Propagator.ts +0 -111
  937. package/src/propagator/__tests__/KeplerPropagator.test.ts +0 -250
  938. package/src/propagator/__tests__/Propagator.test.ts +0 -180
  939. package/src/propagator/__tests__/RungeKutta4Propagator.test.ts +0 -289
  940. package/src/propagator/__tests__/RungeKuttaAdaptive.test.ts +0 -244
  941. package/src/propagator/__tests__/Sgp4Propagator.test.ts +0 -144
  942. package/src/propagator/index.ts +0 -10
  943. package/src/scheduling/ContactScheduler.ts +0 -760
  944. package/src/scheduling/ScheduledContact.ts +0 -249
  945. package/src/scheduling/__tests__/ContactScheduler.test.ts +0 -389
  946. package/src/scheduling/__tests__/ScheduledContact.test.ts +0 -293
  947. package/src/scheduling/index.ts +0 -10
  948. package/src/sensor/FieldOfView.ts +0 -666
  949. package/src/sensor/LaserRangingSensor.ts +0 -210
  950. package/src/sensor/MechanicalRadar.ts +0 -156
  951. package/src/sensor/OpticalSensor.ts +0 -198
  952. package/src/sensor/PassiveRFSensor.ts +0 -205
  953. package/src/sensor/PhasedArrayRadar.ts +0 -352
  954. package/src/sensor/RadarSensor.ts +0 -150
  955. package/src/sensor/Sensor.ts +0 -487
  956. package/src/sensor/__tests__/Sensor.test.ts +0 -135
  957. package/src/sensor/index.ts +0 -81
  958. package/src/sensor/v2-docs/field-of-view-design-document.md +0 -466
  959. package/src/sgp4/index.ts +0 -27
  960. package/src/sgp4/sgp4-error.ts +0 -53
  961. package/src/sgp4/sgp4.LICENSE.md +0 -28
  962. package/src/sgp4/sgp4.ts +0 -3983
  963. package/src/smoothing/ExponentialSmoothing.ts +0 -83
  964. package/src/smoothing/__tests__/ExponentialSmoothing.test.ts +0 -108
  965. package/src/time/Epoch.ts +0 -165
  966. package/src/time/EpochGPS.ts +0 -141
  967. package/src/time/EpochTAI.ts +0 -63
  968. package/src/time/EpochTDB.ts +0 -73
  969. package/src/time/EpochTT.ts +0 -76
  970. package/src/time/EpochUTC.ts +0 -253
  971. package/src/time/EpochWindow.ts +0 -33
  972. package/src/time/README.md +0 -212
  973. package/src/time/TimeStamped.ts +0 -80
  974. package/src/time/__tests__/Epoch.test.ts +0 -250
  975. package/src/time/__tests__/EpochGPS.test.ts +0 -78
  976. package/src/time/__tests__/EpochUTC.test.ts +0 -149
  977. package/src/time/__tests__/EpochWindow.test.ts +0 -30
  978. package/src/time/__tests__/TimeStamped.test.ts +0 -62
  979. package/src/time/__tests__/__snapshots__/Epoch.test.ts.snap +0 -46
  980. package/src/time/__tests__/__snapshots__/EpochGPS.test.ts.snap +0 -13
  981. package/src/time/__tests__/__snapshots__/EpochUTC.test.ts.snap +0 -112
  982. package/src/time/__tests__/__snapshots__/TimeStamped.test.ts.snap +0 -10
  983. package/src/time/index.ts +0 -9
  984. package/src/transforms/TransformCache.ts +0 -46
  985. package/src/transforms/__tests__/__snapshots__/transforms.test.ts.snap +0 -16
  986. package/src/transforms/__tests__/__snapshots__/transforms2.test.ts.snap +0 -49
  987. package/src/transforms/__tests__/conversions.test.ts +0 -80
  988. package/src/transforms/__tests__/transforms.test.ts +0 -128
  989. package/src/transforms/__tests__/transforms2.test.ts +0 -275
  990. package/src/transforms/__tests__/transformsData.ts +0 -289
  991. package/src/transforms/conversions.ts +0 -99
  992. package/src/transforms/index.ts +0 -3
  993. package/src/transforms/transforms.ts +0 -614
  994. package/src/types/types.ts +0 -829
  995. package/src/utils/__tests__/__snapshots__/functions.test.ts.snap +0 -89
  996. package/src/utils/__tests__/__snapshots__/utils.test.ts.snap +0 -5
  997. package/src/utils/__tests__/create-covariance-from-tle.test.ts +0 -90
  998. package/src/utils/__tests__/functions.test.ts +0 -450
  999. package/src/utils/__tests__/jacobian.test.ts +0 -37
  1000. package/src/utils/__tests__/linearDistance.test.ts +0 -44
  1001. package/src/utils/__tests__/utils.test.ts +0 -164
  1002. package/src/utils/constants.ts +0 -113
  1003. package/src/utils/create-covariance-from-tle.ts +0 -75
  1004. package/src/utils/functions.ts +0 -590
  1005. package/src/utils/index.ts +0 -6
  1006. package/src/utils/jacobian.ts +0 -42
  1007. package/src/utils/linearDistance.ts +0 -11
  1008. /package/{LICENSE.md → LICENSE.MD} +0 -0
@@ -1,394 +0,0 @@
1
- /**
2
- * @author Theodore Kruczek
3
- * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
- * with satellites and other orbital objects.
5
- * @license AGPL-3.0-or-later
6
- * @copyright (c) 2025 Kruczek Labs LLC
7
- *
8
- * Many of the classes are based off of the work of @david-rc-dayton and his
9
- * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
- * is licensed under the MIT license.
11
- *
12
- * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
- * terms of the GNU Affero General Public License as published by the Free Software
14
- * Foundation, either version 3 of the License, or (at your option) any later version.
15
- *
16
- * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
- * See the GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License along with
21
- * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
- */
23
-
24
- import { OrbitRegime } from '../enums/OrbitRegime';
25
- import { ClassicalElementsParams } from '../interfaces/ClassicalElementsParams';
26
- import {
27
- Degrees,
28
- Earth,
29
- J2000,
30
- Kilometers,
31
- KilometersPerSecond,
32
- Minutes, PositionVelocity,
33
- Radians, Seconds,
34
- } from '../main';
35
- import { Vector3D } from '../operations/Vector3D';
36
- import { EpochUTC } from '../time/EpochUTC';
37
- import { earthGravityParam, MINUTES_PER_DAY, RAD2DEG, sec2min, TAU } from '../utils/constants';
38
- import { clamp, matchHalfPlane, newtonNu } from '../utils/functions';
39
- import { EquinoctialElements } from './EquinoctialElements';
40
- import { StateVector } from './StateVector';
41
-
42
- /**
43
- * The ClassicalElements class represents the classical orbital elements of an object.
44
- * @example
45
- * ```ts
46
- * const epoch = EpochUTC.fromDateTime(new Date('2024-01-14T14:39:39.914Z'));
47
- * const elements = new ClassicalElements({
48
- * epoch,
49
- * semimajorAxis: 6943.547853722985 as Kilometers,
50
- * eccentricity: 0.0011235968124658146,
51
- * inclination: 0.7509087232045765 as Radians,
52
- * rightAscension: 0.028239555738616327 as Radians,
53
- * argPerigee: 2.5386411901807353 as Radians,
54
- * trueAnomaly: 0.5931399364974058 as Radians,
55
- * });
56
- * ```
57
- */
58
- export class ClassicalElements {
59
- epoch: EpochUTC;
60
- semimajorAxis: Kilometers;
61
- eccentricity: number;
62
- inclination: Radians;
63
- rightAscension: Radians;
64
- argPerigee: Radians;
65
- trueAnomaly: Radians;
66
- /** Gravitational parameter in km³/s². */
67
- mu: number;
68
-
69
- constructor({
70
- epoch,
71
- semimajorAxis,
72
- eccentricity,
73
- inclination,
74
- rightAscension,
75
- argPerigee,
76
- trueAnomaly,
77
- mu = earthGravityParam,
78
- }: ClassicalElementsParams) {
79
- this.epoch = epoch;
80
- this.semimajorAxis = semimajorAxis;
81
- this.eccentricity = eccentricity;
82
- this.inclination = inclination;
83
- this.rightAscension = rightAscension;
84
- this.argPerigee = argPerigee;
85
- this.trueAnomaly = trueAnomaly;
86
- this.mu = mu;
87
- }
88
-
89
- /**
90
- * Creates a new instance of ClassicalElements from a StateVector.
91
- * @param state The StateVector to convert.
92
- * @param mu The gravitational parameter of the central body. Default value is Earth's gravitational parameter.
93
- * @returns A new instance of ClassicalElements.
94
- * @throws Error if the StateVector is not in an inertial frame.
95
- */
96
- static fromStateVector(state: StateVector, mu = earthGravityParam): ClassicalElements {
97
- if (!state.inertial) {
98
- throw new Error('State vector must be in inertial frame (like J2000).');
99
- }
100
- const pos = state.position;
101
- const vel = state.velocity;
102
- const a = state.semimajorAxis;
103
- const eVecA = pos.scale(vel.magnitude() ** 2 - mu / pos.magnitude() as KilometersPerSecond);
104
- const eVecB = vel.scale(pos.dot(vel));
105
- const eVec = eVecA.subtract(eVecB).scale(1 / mu);
106
- const e = eVec.magnitude();
107
- const h = pos.cross(vel);
108
- const i = Math.acos(clamp(h.z / h.magnitude(), -1.0, 1.0)) as Radians;
109
- const n = Vector3D.zAxis.cross(h);
110
- let o = Math.acos(clamp(n.x / n.magnitude(), -1.0, 1.0)) as Radians;
111
-
112
- if (n.y < 0) {
113
- o = TAU - o as Radians;
114
- }
115
- let w = n.angle(eVec);
116
-
117
- if (eVec.z < 0) {
118
- w = TAU - w as Radians;
119
- }
120
- let v = eVec.angle(pos);
121
-
122
- if (pos.dot(vel) < 0) {
123
- v = TAU - v as Radians;
124
- }
125
-
126
- return new ClassicalElements({
127
- epoch: state.epoch,
128
- semimajorAxis: a,
129
- eccentricity: e,
130
- inclination: i,
131
- rightAscension: o,
132
- argPerigee: w,
133
- trueAnomaly: v,
134
- mu,
135
- });
136
- }
137
-
138
- /**
139
- * Gets the inclination in degrees.
140
- * @returns The inclination in degrees.
141
- */
142
- get inclinationDegrees(): Degrees {
143
- return (this.inclination * RAD2DEG) as Degrees;
144
- }
145
-
146
- /**
147
- * Gets the right ascension in degrees.
148
- * @returns The right ascension in degrees.
149
- */
150
- get rightAscensionDegrees(): Degrees {
151
- return (this.rightAscension * RAD2DEG) as Degrees;
152
- }
153
-
154
- /**
155
- * Gets the argument of perigee in degrees.
156
- * @returns The argument of perigee in degrees.
157
- */
158
- get argPerigeeDegrees(): Degrees {
159
- return (this.argPerigee * RAD2DEG) as Degrees;
160
- }
161
-
162
- /**
163
- * Gets the true anomaly in degrees.
164
- * @returns The true anomaly in degrees.
165
- */
166
- get trueAnomalyDegrees(): Degrees {
167
- return (this.trueAnomaly * RAD2DEG) as Degrees;
168
- }
169
-
170
- /**
171
- * Gets the apogee of the classical elements. It is measured from the surface of the earth.
172
- * @returns The apogee in kilometers.
173
- */
174
- get apogee(): Kilometers {
175
- return (this.semimajorAxis * (1.0 + this.eccentricity) - Earth.radiusMean) as Kilometers;
176
- }
177
-
178
- /**
179
- * Gets the perigee of the classical elements. The perigee is the point in an
180
- * orbit that is closest to the surface of the earth.
181
- * @returns The perigee distance in kilometers.
182
- */
183
- get perigee(): number {
184
- return (this.semimajorAxis * (1.0 - this.eccentricity) - Earth.radiusMean) as Kilometers;
185
- }
186
-
187
- toString(): string {
188
- return [
189
- '[ClassicalElements]',
190
- ` Epoch: ${this.epoch}`,
191
- ` Semimajor Axis (a): ${this.semimajorAxis.toFixed(4)} km`,
192
- ` Eccentricity (e): ${this.eccentricity.toFixed(7)}`,
193
- ` Inclination (i): ${this.inclinationDegrees.toFixed(4)}°`,
194
- ` Right Ascension (Ω): ${this.rightAscensionDegrees.toFixed(4)}°`,
195
- ` Argument of Perigee (ω): ${this.argPerigeeDegrees.toFixed(4)}°`,
196
- ` True Anomaly (ν): ${this.trueAnomalyDegrees.toFixed(4)}°`,
197
- ].join('\n');
198
- }
199
-
200
- /**
201
- * Calculates the mean motion of the celestial object.
202
- * @returns The mean motion in radians.
203
- */
204
- get meanMotion(): Radians {
205
- return Math.sqrt(this.mu / this.semimajorAxis ** 3) as Radians;
206
- }
207
-
208
- /**
209
- * Calculates the period of the orbit.
210
- * @returns The period in seconds.
211
- */
212
- get period(): Minutes {
213
- const periodSec = (TAU * Math.sqrt(this.semimajorAxis ** 3 / this.mu)) as Seconds;
214
-
215
- return (periodSec / 60) as Minutes;
216
- }
217
-
218
- /**
219
- * Compute the number of revolutions completed per day for this orbit.
220
- * @returns The number of revolutions per day.
221
- */
222
- get revsPerDay(): number {
223
- return MINUTES_PER_DAY / this.period;
224
- }
225
-
226
- /**
227
- * Returns the orbit regime based on the classical elements.
228
- * @returns The orbit regime.
229
- */
230
- getOrbitRegime(): OrbitRegime {
231
- const n = this.revsPerDay;
232
- const p = this.period * sec2min;
233
-
234
- if (n >= 0.99 && n <= 1.01 && this.eccentricity < 0.01) {
235
- return OrbitRegime.GEO;
236
- }
237
- if (p >= 600 && p <= 800 && this.eccentricity <= 0.25) {
238
- return OrbitRegime.MEO;
239
- }
240
- if (n >= 11.25 && this.eccentricity <= 0.25) {
241
- return OrbitRegime.LEO;
242
- }
243
- if (this.eccentricity > 0.25) {
244
- return OrbitRegime.HEO;
245
- }
246
-
247
- return OrbitRegime.OTHER;
248
- }
249
-
250
- /**
251
- * Converts the classical orbital elements to position and velocity vectors.
252
- * @returns An object containing the position and velocity vectors.
253
- */
254
- toPositionVelocity(): PositionVelocity {
255
- const rVec = new Vector3D(Math.cos(this.trueAnomaly), Math.sin(this.trueAnomaly), 0.0);
256
- const rPQW = rVec.scale(
257
- (this.semimajorAxis * (1.0 - this.eccentricity ** 2)) / (1.0 + this.eccentricity * Math.cos(this.trueAnomaly)),
258
- );
259
- const vVec = new Vector3D(-Math.sin(this.trueAnomaly), this.eccentricity + Math.cos(this.trueAnomaly), 0.0);
260
- const vPQW = vVec.scale(Math.sqrt(this.mu / (this.semimajorAxis * (1 - this.eccentricity ** 2))));
261
- const position = rPQW
262
- .rotZ(-this.argPerigee as Radians)
263
- .rotX(-this.inclination)
264
- .rotZ(-this.rightAscension as Radians) as Vector3D<Kilometers>;
265
- const velocity = vPQW
266
- .rotZ(-this.argPerigee as Radians)
267
- .rotX(-this.inclination)
268
- .rotZ(-this.rightAscension as Radians) as Vector3D<KilometersPerSecond>;
269
-
270
- return { position, velocity };
271
- }
272
-
273
- /**
274
- * Converts the classical elements to J2000 state vector.
275
- * @return The J2000 state vector.
276
- */
277
- toJ2000(): J2000 {
278
- const { position, velocity } = this.toPositionVelocity();
279
-
280
- return new J2000(this.epoch, position, velocity);
281
- }
282
-
283
- /**
284
- * Converts the classical elements to equinoctial elements.
285
- * @returns The equinoctial elements.
286
- */
287
- toEquinoctialElements(): EquinoctialElements {
288
- const I = this.inclination > Math.PI / 2 ? -1 : 1;
289
- const h = this.eccentricity * Math.sin(this.argPerigee + I * this.rightAscension);
290
- const k = this.eccentricity * Math.cos(this.argPerigee + I * this.rightAscension);
291
- const meanAnomaly = newtonNu(this.eccentricity, this.trueAnomaly).m;
292
- const lambda = (meanAnomaly + this.argPerigee + I * this.rightAscension) as Radians;
293
- const a = this.semimajorAxis;
294
- const p = Math.tan(0.5 * this.inclination) ** I * Math.sin(this.rightAscension);
295
- const q = Math.tan(0.5 * this.inclination) ** I * Math.cos(this.rightAscension);
296
-
297
- return new EquinoctialElements({ epoch: this.epoch, k, h, lambda, a, p, q, mu: this.mu, I });
298
- }
299
-
300
- /**
301
- * Propagates the classical elements to a given epoch.
302
- * @param propEpoch - The epoch to propagate the classical elements to.
303
- * @returns The classical elements at the propagated epoch.
304
- */
305
- propagate(propEpoch: EpochUTC): ClassicalElements {
306
- const t = this.epoch;
307
- const n = this.meanMotion;
308
- const delta = propEpoch.difference(t);
309
- const cosV = Math.cos(this.trueAnomaly);
310
- let eaInit = Math.acos(clamp((this.eccentricity + cosV) / (1 + this.eccentricity * cosV), -1, 1));
311
-
312
- eaInit = matchHalfPlane(eaInit, this.trueAnomaly);
313
- let maInit = eaInit - this.eccentricity * Math.sin(eaInit);
314
-
315
- maInit = matchHalfPlane(maInit, eaInit);
316
- const maFinal = (maInit + n * delta) % TAU;
317
- let eaFinal = maFinal;
318
-
319
- for (let iter = 0; iter < 32; iter++) {
320
- const eaTemp = maFinal + this.eccentricity * Math.sin(eaFinal);
321
-
322
- if (Math.abs(eaTemp - eaFinal) < 1e-12) {
323
- break;
324
- }
325
- eaFinal = eaTemp;
326
- }
327
- const cosEaFinal = Math.cos(eaFinal);
328
- let vFinal = clamp(Math.acos((cosEaFinal - this.eccentricity) / (1 - this.eccentricity * cosEaFinal)), -1, 1);
329
-
330
- vFinal = matchHalfPlane(vFinal, eaFinal);
331
-
332
- return new ClassicalElements({
333
- epoch: propEpoch,
334
- semimajorAxis: this.semimajorAxis,
335
- eccentricity: this.eccentricity,
336
- inclination: this.inclination,
337
- rightAscension: this.rightAscension,
338
- argPerigee: this.argPerigee,
339
- trueAnomaly: vFinal as Radians,
340
- mu: this.mu,
341
- });
342
- }
343
-
344
- /**
345
- * Calculates the J2 nodal precession rate (RAAN drift rate).
346
- *
347
- * The nodal precession is caused by Earth's oblateness (J2 perturbation) and
348
- * causes the right ascension of the ascending node to drift over time.
349
- *
350
- * @returns Precession rate in radians per second.
351
- *
352
- * @example
353
- * ```ts
354
- * const elements = ClassicalElements.fromStateVector(state);
355
- * const raanDriftPerDay = elements.nodalPrecessionRate * 86400; // rad/day
356
- * const raanDriftDegreesPerDay = raanDriftPerDay * RAD2DEG; // deg/day
357
- * ```
358
- */
359
- get nodalPrecessionRate(): number {
360
- const Re = Earth.radiusEquator; // km
361
- const a = this.semimajorAxis; // km
362
- const e = this.eccentricity;
363
- const i = this.inclination; // radians
364
- const n = this.meanMotion; // rad/s
365
-
366
- // J2 nodal precession: Ω̇ = -3/2 * (Re/a)² * (1-e²)^-2 * J2 * n * cos(i)
367
- return (-3 / 2) * (Re / a) ** 2 / (1 - e * e) ** 2 * Earth.j2 * n * Math.cos(i);
368
- }
369
-
370
- /**
371
- * Returns the RAAN normalized for J2 precession since the epoch.
372
- *
373
- * This accounts for the secular drift of the right ascension due to
374
- * Earth's oblateness, allowing comparison of RAAN values across different epochs.
375
- *
376
- * @param targetEpoch - The epoch to normalize the RAAN to.
377
- * @returns The normalized RAAN in radians, wrapped to [0, 2π).
378
- *
379
- * @example
380
- * ```ts
381
- * const elements = ClassicalElements.fromStateVector(state);
382
- * const futureEpoch = elements.epoch.roll(86400); // 1 day later
383
- * const normalizedRaan = elements.normalizedRaan(futureEpoch);
384
- * ```
385
- */
386
- normalizedRaan(targetEpoch: EpochUTC): Radians {
387
- const deltaSeconds = targetEpoch.difference(this.epoch);
388
- const precessionRad = this.nodalPrecessionRate * deltaSeconds;
389
- const newRaan = this.rightAscension + precessionRad;
390
-
391
- // Wrap to [0, 2π)
392
- return (((newRaan % TAU) + TAU) % TAU) as Radians;
393
- }
394
- }
@@ -1,189 +0,0 @@
1
- /**
2
- * @author Theodore Kruczek
3
- * @description Orbital Object ToolKit (ootk) is a collection of tools for working
4
- * with satellites and other orbital objects.
5
- * @license AGPL-3.0-or-later
6
- * @copyright (c) 2025 Kruczek Labs LLC
7
- *
8
- * Many of the classes are based off of the work of @david-rc-dayton and his
9
- * Pious Squid library (https://github.com/david-rc-dayton/pious_squid) which
10
- * is licensed under the MIT license.
11
- *
12
- * Orbital Object ToolKit is free software: you can redistribute it and/or modify it under the
13
- * terms of the GNU Affero General Public License as published by the Free Software
14
- * Foundation, either version 3 of the License, or (at your option) any later version.
15
- *
16
- * Orbital Object ToolKit is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
17
- * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18
- * See the GNU Affero General Public License for more details.
19
- *
20
- * You should have received a copy of the GNU Affero General Public License along with
21
- * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
22
- */
23
-
24
- import { EquinoctialElementsParams } from '../interfaces/EquinoctialElementsParams';
25
- import { Kilometers, Minutes, PositionVelocity, Radians, Seconds } from '../main';
26
- import { EpochUTC } from '../time/EpochUTC';
27
- import { earthGravityParam, MINUTES_PER_DAY, TAU } from '../utils/constants';
28
- import { newtonM } from '../utils/functions';
29
- import { ClassicalElements } from './ClassicalElements';
30
-
31
- /**
32
- * Equinoctial elements are a set of orbital elements used to describe the
33
- * orbits of celestial bodies, such as satellites around a planet. They provide
34
- * an alternative to the traditional Keplerian elements and are especially
35
- * useful for avoiding singularities and numerical issues in certain types of
36
- * orbits.
37
- *
38
- * Unlike Keplerian elements, equinoctial elements don't suffer from
39
- * singularities at zero eccentricity (circular orbits) or zero inclination
40
- * (equatorial orbits). This makes them more reliable for numerical simulations
41
- * and analytical studies, especially in these edge cases.
42
- * @see https://faculty.nps.edu/dad/orbital/th0.pdf
43
- */
44
- export class EquinoctialElements {
45
- epoch: EpochUTC;
46
- /** The semi-major axis of the orbit in kilometers. */
47
- a: Kilometers;
48
- /** The h component of the eccentricity vector. */
49
- h: number;
50
- /** The k component of the eccentricity vector. */
51
- k: number;
52
- /** The p component of the ascending node vector. */
53
- p: number;
54
- /** The q component of the ascending node vector. */
55
- q: number;
56
- /** The mean longitude of the orbit in radians. */
57
- lambda: Radians;
58
- /** The gravitational parameter of the central body in km³/s². */
59
- mu: number;
60
- /** The retrograde factor. 1 for prograde orbits, -1 for retrograde orbits. */
61
- I: 1 | -1;
62
- constructor({ epoch, h, k, lambda, a, p, q, mu, I }: EquinoctialElementsParams) {
63
- this.epoch = epoch;
64
- this.h = h;
65
- this.k = k;
66
- this.lambda = lambda;
67
- this.a = a;
68
- this.p = p;
69
- this.q = q;
70
- this.mu = mu ?? earthGravityParam;
71
- this.I = I ?? 1;
72
- }
73
-
74
- /**
75
- * Returns a string representation of the EquinoctialElements object.
76
- * @returns A string representation of the EquinoctialElements object.
77
- */
78
- toString(): string {
79
- return [
80
- '[EquinoctialElements]',
81
- ` Epoch: ${this.epoch}`,
82
- ` a: ${this.a} km`,
83
- ` h: ${this.h}`,
84
- ` k: ${this.k}`,
85
- ` p: ${this.p}`,
86
- ` q: ${this.q}`,
87
- ` lambda: ${this.lambda} rad`,
88
- ].join('\n');
89
- }
90
-
91
- /**
92
- * Gets the semimajor axis.
93
- * @returns The semimajor axis in kilometers.
94
- */
95
- get semimajorAxis(): Kilometers {
96
- return this.a;
97
- }
98
-
99
- /**
100
- * Gets the mean longitude.
101
- * @returns The mean longitude in radians.
102
- */
103
- get meanLongitude(): Radians {
104
- return this.lambda;
105
- }
106
-
107
- /**
108
- * Calculates the mean motion of the celestial object.
109
- * @returns The mean motion in units of radians per second.
110
- */
111
- get meanMotion(): number {
112
- return Math.sqrt(this.mu / this.a ** 3);
113
- }
114
-
115
- /**
116
- * Gets the retrograde factor.
117
- * @returns The retrograde factor.
118
- */
119
- get retrogradeFactor(): number {
120
- return this.I;
121
- }
122
-
123
- /**
124
- * Checks if the orbit is prograde.
125
- * @returns True if the orbit is prograde, false otherwise.
126
- */
127
- isPrograde(): boolean {
128
- return this.I === 1;
129
- }
130
-
131
- /**
132
- * Checks if the orbit is retrograde.
133
- * @returns True if the orbit is retrograde, false otherwise.
134
- */
135
- isRetrograde(): boolean {
136
- return this.I === -1;
137
- }
138
-
139
- /**
140
- * Gets the period of the orbit.
141
- * @returns The period in minutes.
142
- */
143
- get period(): Minutes {
144
- const periodSec = (TAU * Math.sqrt(this.semimajorAxis ** 3 / this.mu)) as Seconds;
145
-
146
- return (periodSec / 60) as Minutes;
147
- }
148
-
149
- /**
150
- * Gets the number of revolutions per day.
151
- * @returns The number of revolutions per day.
152
- */
153
- get revsPerDay(): number {
154
- return MINUTES_PER_DAY / this.period;
155
- }
156
-
157
- /**
158
- * Converts the equinoctial elements to classical elements.
159
- * @returns The classical elements.
160
- */
161
- toClassicalElements(): ClassicalElements {
162
- const a = this.semimajorAxis;
163
- const e = Math.sqrt(this.k * this.k + this.h * this.h);
164
- const i = Math.PI * ((1.0 - this.I) * 0.5) + 2.0 * this.I * Math.atan(Math.sqrt(this.p * this.p + this.q * this.q));
165
- const o = Math.atan2(this.p, this.q);
166
- const w = Math.atan2(this.h, this.k) - this.I * Math.atan2(this.p, this.q);
167
- const m = this.lambda - this.I * o - w;
168
- const v = newtonM(e, m).nu;
169
-
170
- return new ClassicalElements({
171
- epoch: this.epoch,
172
- semimajorAxis: a,
173
- eccentricity: e,
174
- inclination: i as Radians,
175
- rightAscension: o as Radians,
176
- argPerigee: w as Radians,
177
- trueAnomaly: v as Radians,
178
- mu: this.mu,
179
- });
180
- }
181
-
182
- /**
183
- * Converts the equinoctial elements to position and velocity.
184
- * @returns The position and velocity in classical elements.
185
- */
186
- toPositionVelocity(): PositionVelocity {
187
- return this.toClassicalElements().toPositionVelocity();
188
- }
189
- }