ootk 5.1.0 → 6.0.0-rc.2

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 (599) hide show
  1. package/.claude/PROMPT.md +13 -0
  2. package/.claude/hooks/post-tool-use.ts +33 -0
  3. package/.claude/hooks/user-prompt-submit.ts +138 -0
  4. package/.claude/settings.local.json +13 -0
  5. package/.claude/skill-rules.json +11 -0
  6. package/.claude/skills/ootk-dev/SKILL.md +16 -0
  7. package/ADVANCED_FEATURES_GUIDE.md +1025 -0
  8. package/CHANGELOG.md +42 -3
  9. package/README.md +77 -45
  10. package/dist/body/Celestial.d.ts +2 -2
  11. package/dist/body/Celestial.js +2 -2
  12. package/dist/body/Celestial.js.map +1 -1
  13. package/dist/body/Earth.d.ts +4 -4
  14. package/dist/body/Earth.js +2 -2
  15. package/dist/body/Earth.js.map +1 -1
  16. package/dist/body/Moon.d.ts +3 -3
  17. package/dist/body/Moon.js +7 -7
  18. package/dist/body/Moon.js.map +1 -1
  19. package/dist/body/NutationAngles.d.ts +2 -2
  20. package/dist/body/NutationAngles.js +1 -1
  21. package/dist/body/PrecessionAngles.d.ts +2 -2
  22. package/dist/body/PrecessionAngles.js +1 -1
  23. package/dist/body/Sun.d.ts +2 -2
  24. package/dist/body/Sun.js +3 -3
  25. package/dist/body/Sun.js.map +1 -1
  26. package/dist/body/index.d.ts +5 -5
  27. package/dist/body/index.js +5 -5
  28. package/dist/body/index.js.map +1 -1
  29. package/dist/conjunction/ConjunctionAssessment.d.ts +156 -0
  30. package/dist/conjunction/ConjunctionAssessment.js +281 -0
  31. package/dist/conjunction/ConjunctionAssessment.js.map +1 -0
  32. package/dist/conjunction/ConjunctionEvent.d.ts +104 -0
  33. package/dist/conjunction/ConjunctionEvent.js +156 -0
  34. package/dist/conjunction/ConjunctionEvent.js.map +1 -0
  35. package/dist/conjunction/ProbabilityOfCollision.d.ts +102 -0
  36. package/dist/conjunction/ProbabilityOfCollision.js +240 -0
  37. package/dist/conjunction/ProbabilityOfCollision.js.map +1 -0
  38. package/dist/conjunction/index.d.ts +19 -0
  39. package/dist/conjunction/index.js +20 -0
  40. package/dist/conjunction/index.js.map +1 -0
  41. package/dist/coordinate/ClassicalElements.d.ts +7 -7
  42. package/dist/coordinate/ClassicalElements.js +7 -7
  43. package/dist/coordinate/ClassicalElements.js.map +1 -1
  44. package/dist/coordinate/EquinoctialElements.d.ts +5 -5
  45. package/dist/coordinate/EquinoctialElements.js +4 -4
  46. package/dist/coordinate/EquinoctialElements.js.map +1 -1
  47. package/dist/coordinate/FormatTle.d.ts +2 -2
  48. package/dist/coordinate/FormatTle.js +2 -2
  49. package/dist/coordinate/FormatTle.js.map +1 -1
  50. package/dist/coordinate/Geodetic.d.ts +4 -4
  51. package/dist/coordinate/Geodetic.js +7 -7
  52. package/dist/coordinate/Geodetic.js.map +1 -1
  53. package/dist/coordinate/Hill.d.ts +4 -4
  54. package/dist/coordinate/Hill.js +3 -3
  55. package/dist/coordinate/Hill.js.map +1 -1
  56. package/dist/coordinate/ITRF.d.ts +5 -5
  57. package/dist/coordinate/ITRF.js +6 -5
  58. package/dist/coordinate/ITRF.js.map +1 -1
  59. package/dist/coordinate/J2000.d.ts +5 -5
  60. package/dist/coordinate/J2000.js +5 -5
  61. package/dist/coordinate/J2000.js.map +1 -1
  62. package/dist/coordinate/RIC.d.ts +4 -4
  63. package/dist/coordinate/RIC.js +3 -3
  64. package/dist/coordinate/RIC.js.map +1 -1
  65. package/dist/coordinate/RelativeState.d.ts +5 -5
  66. package/dist/coordinate/RelativeState.js +2 -2
  67. package/dist/coordinate/RelativeState.js.map +1 -1
  68. package/dist/coordinate/StateVector.d.ts +2 -2
  69. package/dist/coordinate/StateVector.js +2 -2
  70. package/dist/coordinate/StateVector.js.map +1 -1
  71. package/dist/coordinate/TEME.d.ts +4 -4
  72. package/dist/coordinate/TEME.js +4 -4
  73. package/dist/coordinate/TEME.js.map +1 -1
  74. package/dist/coordinate/Tle.d.ts +5 -5
  75. package/dist/coordinate/Tle.js +9 -9
  76. package/dist/coordinate/Tle.js.map +1 -1
  77. package/dist/coordinate/index.d.ts +12 -12
  78. package/dist/coordinate/index.js +12 -12
  79. package/dist/coordinate/index.js.map +1 -1
  80. package/dist/coordinate/tle-format-data.d.ts +1 -1
  81. package/dist/coordinate/tle-format-data.js +1 -1
  82. package/dist/covariance/CovarianceSample.d.ts +5 -5
  83. package/dist/covariance/CovarianceSample.js +5 -5
  84. package/dist/covariance/CovarianceSample.js.map +1 -1
  85. package/dist/covariance/StateCovariance.d.ts +2 -2
  86. package/dist/covariance/StateCovariance.js +2 -2
  87. package/dist/covariance/StateCovariance.js.map +1 -1
  88. package/dist/covariance/index.d.ts +2 -2
  89. package/dist/covariance/index.js +2 -2
  90. package/dist/covariance/index.js.map +1 -1
  91. package/dist/data/DataHandler.d.ts +4 -4
  92. package/dist/data/DataHandler.js +5 -5
  93. package/dist/data/DataHandler.js.map +1 -1
  94. package/dist/data/values/Egm96Data.d.ts +1 -1
  95. package/dist/data/values/Egm96Data.js +3 -3
  96. package/dist/data/values/Egm96Data.js.map +1 -1
  97. package/dist/data/values/HpAtmosphereData.d.ts +2 -2
  98. package/dist/data/values/HpAtmosphereData.js +3 -3
  99. package/dist/data/values/HpAtmosphereData.js.map +1 -1
  100. package/dist/data/values/HpAtmosphereResult.d.ts +2 -2
  101. package/dist/data/values/HpAtmosphereResult.js +1 -1
  102. package/dist/data/values/Iau1980Data.d.ts +1 -1
  103. package/dist/data/values/Iau1980Data.js +2 -2
  104. package/dist/data/values/Iau1980Data.js.map +1 -1
  105. package/dist/data/values/LeapSecond.d.ts +1 -1
  106. package/dist/data/values/LeapSecond.js +1 -1
  107. package/dist/data/values/LeapSecondData.d.ts +2 -2
  108. package/dist/data/values/LeapSecondData.js +2 -2
  109. package/dist/data/values/LeapSecondData.js.map +1 -1
  110. package/dist/data/values/egm96.d.ts +2 -2
  111. package/dist/data/values/egm96.js +1 -1
  112. package/dist/data/values/hpAtmosphere.d.ts +2 -2
  113. package/dist/data/values/hpAtmosphere.js +1 -1
  114. package/dist/data/values/iau1980.d.ts +2 -2
  115. package/dist/data/values/iau1980.js +1 -1
  116. package/dist/enums/AngularDiameterMethod.d.ts +1 -1
  117. package/dist/enums/AngularDiameterMethod.js +1 -1
  118. package/dist/enums/AngularDistanceMethod.d.ts +1 -1
  119. package/dist/enums/AngularDistanceMethod.js +1 -1
  120. package/dist/enums/OrbitRegime.d.ts +1 -1
  121. package/dist/enums/OrbitRegime.js +1 -1
  122. package/dist/enums/PassType.d.ts +1 -1
  123. package/dist/enums/PassType.js +1 -1
  124. package/dist/enums/Sgp4OpsMode.d.ts +1 -1
  125. package/dist/enums/Sgp4OpsMode.js +1 -1
  126. package/dist/enums/index.d.ts +7 -7
  127. package/dist/enums/index.js +7 -7
  128. package/dist/enums/index.js.map +1 -1
  129. package/dist/fetch/horizons-constants.d.ts +43 -0
  130. package/dist/fetch/horizons-constants.js +50 -0
  131. package/dist/fetch/horizons-constants.js.map +1 -0
  132. package/dist/fetch/horizons-interfaces.d.ts +37 -0
  133. package/dist/fetch/horizons-interfaces.js +2 -0
  134. package/dist/fetch/horizons-interfaces.js.map +1 -0
  135. package/dist/fetch/horizons.d.ts +86 -0
  136. package/dist/fetch/horizons.js +237 -0
  137. package/dist/fetch/horizons.js.map +1 -0
  138. package/dist/force/AtmosphericDrag.d.ts +3 -3
  139. package/dist/force/AtmosphericDrag.js +2 -2
  140. package/dist/force/AtmosphericDrag.js.map +1 -1
  141. package/dist/force/EarthGravity.d.ts +3 -3
  142. package/dist/force/EarthGravity.js +2 -2
  143. package/dist/force/EarthGravity.js.map +1 -1
  144. package/dist/force/Force.d.ts +3 -3
  145. package/dist/force/Force.js +1 -10
  146. package/dist/force/Force.js.map +1 -1
  147. package/dist/force/ForceModel.d.ts +3 -3
  148. package/dist/force/ForceModel.js +7 -7
  149. package/dist/force/ForceModel.js.map +1 -1
  150. package/dist/force/Gravity.d.ts +3 -3
  151. package/dist/force/Gravity.js +2 -2
  152. package/dist/force/Gravity.js.map +1 -1
  153. package/dist/force/SolarRadiationPressure.d.ts +3 -3
  154. package/dist/force/SolarRadiationPressure.js +4 -4
  155. package/dist/force/SolarRadiationPressure.js.map +1 -1
  156. package/dist/force/ThirdBodyGravity.d.ts +3 -3
  157. package/dist/force/ThirdBodyGravity.js +2 -2
  158. package/dist/force/ThirdBodyGravity.js.map +1 -1
  159. package/dist/force/Thrust.d.ts +3 -3
  160. package/dist/force/Thrust.js +2 -2
  161. package/dist/force/Thrust.js.map +1 -1
  162. package/dist/force/index.d.ts +1 -1
  163. package/dist/force/index.js +1 -1
  164. package/dist/force/index.js.map +1 -1
  165. package/dist/interfaces/BaseObjectParams.d.ts +2 -2
  166. package/dist/interfaces/BaseObjectParams.js +1 -1
  167. package/dist/interfaces/ClassicalElementsParams.d.ts +2 -2
  168. package/dist/interfaces/ClassicalElementsParams.js +1 -1
  169. package/dist/interfaces/EquinoctialElementsParams.d.ts +2 -2
  170. package/dist/interfaces/EquinoctialElementsParams.js +1 -1
  171. package/dist/interfaces/GroundPositionParams.d.ts +2 -2
  172. package/dist/interfaces/GroundPositionParams.js +1 -1
  173. package/dist/interfaces/RfSensorParams.d.ts +2 -2
  174. package/dist/interfaces/SatelliteParams.d.ts +2 -2
  175. package/dist/interfaces/SensorParams.d.ts +2 -2
  176. package/dist/interfaces/StarObjectParams.d.ts +1 -1
  177. package/dist/interfaces/TimeVariables.d.ts +1 -1
  178. package/dist/interfaces/index.d.ts +9 -9
  179. package/dist/interpolator/ChebyshevCoefficients.d.ts +2 -2
  180. package/dist/interpolator/ChebyshevCoefficients.js +2 -2
  181. package/dist/interpolator/ChebyshevCoefficients.js.map +1 -1
  182. package/dist/interpolator/ChebyshevInterpolator.d.ts +4 -4
  183. package/dist/interpolator/ChebyshevInterpolator.js +3 -3
  184. package/dist/interpolator/ChebyshevInterpolator.js.map +1 -1
  185. package/dist/interpolator/CubicSpline.d.ts +2 -2
  186. package/dist/interpolator/CubicSpline.js +1 -1
  187. package/dist/interpolator/CubicSplineInterpolator.d.ts +4 -4
  188. package/dist/interpolator/CubicSplineInterpolator.js +4 -4
  189. package/dist/interpolator/CubicSplineInterpolator.js.map +1 -1
  190. package/dist/interpolator/FieldInterpolator.d.ts +3 -3
  191. package/dist/interpolator/FieldInterpolator.js +2 -12
  192. package/dist/interpolator/FieldInterpolator.js.map +1 -1
  193. package/dist/interpolator/Interpolator.d.ts +2 -2
  194. package/dist/interpolator/Interpolator.js +2 -2
  195. package/dist/interpolator/Interpolator.js.map +1 -1
  196. package/dist/interpolator/LagrangeInterpolator.d.ts +3 -3
  197. package/dist/interpolator/LagrangeInterpolator.js +3 -3
  198. package/dist/interpolator/LagrangeInterpolator.js.map +1 -1
  199. package/dist/interpolator/StateInterpolator.d.ts +4 -4
  200. package/dist/interpolator/StateInterpolator.js +2 -10
  201. package/dist/interpolator/StateInterpolator.js.map +1 -1
  202. package/dist/interpolator/VerletBlendInterpolator.d.ts +5 -5
  203. package/dist/interpolator/VerletBlendInterpolator.js +5 -5
  204. package/dist/interpolator/VerletBlendInterpolator.js.map +1 -1
  205. package/dist/main.d.ts +20 -20
  206. package/dist/main.js +21 -20
  207. package/dist/main.js.map +1 -1
  208. package/dist/maneuver/TwoBurnOrbitTransfer.d.ts +3 -3
  209. package/dist/maneuver/TwoBurnOrbitTransfer.js +3 -3
  210. package/dist/maneuver/TwoBurnOrbitTransfer.js.map +1 -1
  211. package/dist/maneuver/Waypoint.d.ts +5 -5
  212. package/dist/maneuver/Waypoint.js +7 -7
  213. package/dist/maneuver/Waypoint.js.map +1 -1
  214. package/dist/objects/BaseObject.d.ts +3 -3
  215. package/dist/objects/BaseObject.js +2 -2
  216. package/dist/objects/BaseObject.js.map +1 -1
  217. package/dist/objects/DetailedSatellite.d.ts +4 -4
  218. package/dist/objects/DetailedSatellite.js +4 -4
  219. package/dist/objects/DetailedSatellite.js.map +1 -1
  220. package/dist/objects/DetailedSensor.d.ts +5 -5
  221. package/dist/objects/DetailedSensor.js +2 -2
  222. package/dist/objects/DetailedSensor.js.map +1 -1
  223. package/dist/objects/GroundObject.d.ts +4 -4
  224. package/dist/objects/GroundObject.js +3 -3
  225. package/dist/objects/GroundObject.js.map +1 -1
  226. package/dist/objects/LandObject.d.ts +3 -3
  227. package/dist/objects/LandObject.js +2 -2
  228. package/dist/objects/LandObject.js.map +1 -1
  229. package/dist/objects/Marker.d.ts +2 -2
  230. package/dist/objects/Marker.js +2 -2
  231. package/dist/objects/Marker.js.map +1 -1
  232. package/dist/objects/RfSensor.d.ts +2 -2
  233. package/dist/objects/RfSensor.js +2 -2
  234. package/dist/objects/RfSensor.js.map +1 -1
  235. package/dist/objects/Satellite.d.ts +12 -12
  236. package/dist/objects/Satellite.js +14 -14
  237. package/dist/objects/Satellite.js.map +1 -1
  238. package/dist/objects/Sensor.d.ts +6 -6
  239. package/dist/objects/Sensor.js +5 -5
  240. package/dist/objects/Sensor.js.map +1 -1
  241. package/dist/objects/Star.d.ts +3 -3
  242. package/dist/objects/Star.js +3 -3
  243. package/dist/objects/Star.js.map +1 -1
  244. package/dist/objects/index.d.ts +10 -10
  245. package/dist/objects/index.js +10 -10
  246. package/dist/objects/index.js.map +1 -1
  247. package/dist/observation/Observation.d.ts +11 -11
  248. package/dist/observation/Observation.js +1 -52
  249. package/dist/observation/Observation.js.map +1 -1
  250. package/dist/observation/ObservationOptical.d.ts +6 -6
  251. package/dist/observation/ObservationOptical.js +4 -4
  252. package/dist/observation/ObservationOptical.js.map +1 -1
  253. package/dist/observation/ObservationRadar.d.ts +6 -6
  254. package/dist/observation/ObservationRadar.js +4 -4
  255. package/dist/observation/ObservationRadar.js.map +1 -1
  256. package/dist/observation/ObservationUtils.d.ts +2 -2
  257. package/dist/observation/ObservationUtils.js +2 -2
  258. package/dist/observation/ObservationUtils.js.map +1 -1
  259. package/dist/observation/PropagatorPairs.d.ts +2 -2
  260. package/dist/observation/PropagatorPairs.js +1 -1
  261. package/dist/observation/RAE.d.ts +6 -6
  262. package/dist/observation/RAE.js +6 -6
  263. package/dist/observation/RAE.js.map +1 -1
  264. package/dist/observation/RadecGeocentric.d.ts +6 -6
  265. package/dist/observation/RadecGeocentric.js +5 -5
  266. package/dist/observation/RadecGeocentric.js.map +1 -1
  267. package/dist/observation/RadecTopocentric.d.ts +6 -6
  268. package/dist/observation/RadecTopocentric.js +9 -7
  269. package/dist/observation/RadecTopocentric.js.map +1 -1
  270. package/dist/observation/index.d.ts +5 -5
  271. package/dist/observation/index.js +5 -5
  272. package/dist/observation/index.js.map +1 -1
  273. package/dist/operations/BoxMuller.d.ts +2 -2
  274. package/dist/operations/BoxMuller.js +2 -2
  275. package/dist/operations/BoxMuller.js.map +1 -1
  276. package/dist/operations/EulerAngles.d.ts +2 -2
  277. package/dist/operations/EulerAngles.js +2 -2
  278. package/dist/operations/EulerAngles.js.map +1 -1
  279. package/dist/operations/Matrix.d.ts +2 -2
  280. package/dist/operations/Matrix.js +2 -2
  281. package/dist/operations/Matrix.js.map +1 -1
  282. package/dist/operations/Quaternion.d.ts +2 -2
  283. package/dist/operations/Quaternion.js +2 -2
  284. package/dist/operations/Quaternion.js.map +1 -1
  285. package/dist/operations/Random.d.ts +1 -1
  286. package/dist/operations/Random.js +1 -1
  287. package/dist/operations/RandomGaussianSource.d.ts +2 -2
  288. package/dist/operations/RandomGaussianSource.js +3 -3
  289. package/dist/operations/RandomGaussianSource.js.map +1 -1
  290. package/dist/operations/Vector.d.ts +2 -2
  291. package/dist/operations/Vector.js +2 -2
  292. package/dist/operations/Vector.js.map +1 -1
  293. package/dist/operations/Vector3D.d.ts +5 -4
  294. package/dist/operations/Vector3D.js +5 -4
  295. package/dist/operations/Vector3D.js.map +1 -1
  296. package/dist/operations/index.d.ts +4 -4
  297. package/dist/operations/index.js +4 -4
  298. package/dist/operations/index.js.map +1 -1
  299. package/dist/operations/operations.d.ts +5 -5
  300. package/dist/operations/operations.js +5 -5
  301. package/dist/operations/operations.js.map +1 -1
  302. package/dist/optimize/ChebyshevCompressor.d.ts +3 -3
  303. package/dist/optimize/ChebyshevCompressor.js +4 -4
  304. package/dist/optimize/ChebyshevCompressor.js.map +1 -1
  305. package/dist/optimize/DownhillSimplex.d.ts +2 -2
  306. package/dist/optimize/DownhillSimplex.js +2 -2
  307. package/dist/optimize/DownhillSimplex.js.map +1 -1
  308. package/dist/optimize/GoldenSection.d.ts +2 -2
  309. package/dist/optimize/GoldenSection.js +1 -1
  310. package/dist/optimize/PolynomialRegression.d.ts +2 -2
  311. package/dist/optimize/PolynomialRegression.js +4 -4
  312. package/dist/optimize/PolynomialRegression.js.map +1 -1
  313. package/dist/optimize/PolynomicalRegressionResult.d.ts +1 -1
  314. package/dist/optimize/PolynomicalRegressionResult.js +1 -1
  315. package/dist/optimize/SimpleLinearRegression.d.ts +1 -1
  316. package/dist/optimize/SimpleLinearRegression.js +1 -1
  317. package/dist/optimize/SimplexEntry.d.ts +1 -1
  318. package/dist/optimize/SimplexEntry.js +2 -2
  319. package/dist/optimize/SimplexEntry.js.map +1 -1
  320. package/dist/orbit_determination/BatchLeastSquaresOD.d.ts +5 -5
  321. package/dist/orbit_determination/BatchLeastSquaresOD.js +8 -8
  322. package/dist/orbit_determination/BatchLeastSquaresOD.js.map +1 -1
  323. package/dist/orbit_determination/BatchLeastSquaresResult.d.ts +3 -3
  324. package/dist/orbit_determination/BatchLeastSquaresResult.js +1 -1
  325. package/dist/orbit_determination/GaussIOD.d.ts +98 -0
  326. package/dist/orbit_determination/GaussIOD.js +291 -0
  327. package/dist/orbit_determination/GaussIOD.js.map +1 -0
  328. package/dist/orbit_determination/GibbsIOD.d.ts +2 -2
  329. package/dist/orbit_determination/GibbsIOD.js +4 -4
  330. package/dist/orbit_determination/GibbsIOD.js.map +1 -1
  331. package/dist/orbit_determination/GoodingIOD.d.ts +58 -8
  332. package/dist/orbit_determination/GoodingIOD.js +225 -35
  333. package/dist/orbit_determination/GoodingIOD.js.map +1 -1
  334. package/dist/orbit_determination/HerrickGibbsIOD.d.ts +2 -2
  335. package/dist/orbit_determination/HerrickGibbsIOD.js +2 -2
  336. package/dist/orbit_determination/HerrickGibbsIOD.js.map +1 -1
  337. package/dist/orbit_determination/LambertIOD.d.ts +2 -2
  338. package/dist/orbit_determination/LambertIOD.js +2 -2
  339. package/dist/orbit_determination/LambertIOD.js.map +1 -1
  340. package/dist/orbit_determination/ModifiedGoodingIOD.d.ts +3 -3
  341. package/dist/orbit_determination/ModifiedGoodingIOD.js +8 -8
  342. package/dist/orbit_determination/ModifiedGoodingIOD.js.map +1 -1
  343. package/dist/orbit_determination/index.d.ts +7 -7
  344. package/dist/orbit_determination/index.js +7 -7
  345. package/dist/orbit_determination/index.js.map +1 -1
  346. package/dist/propagator/DormandPrince54Propagator.d.ts +2 -2
  347. package/dist/propagator/DormandPrince54Propagator.js +2 -2
  348. package/dist/propagator/DormandPrince54Propagator.js.map +1 -1
  349. package/dist/propagator/KeplerPropagator.d.ts +6 -6
  350. package/dist/propagator/KeplerPropagator.js +6 -7
  351. package/dist/propagator/KeplerPropagator.js.map +1 -1
  352. package/dist/propagator/Propagator.d.ts +5 -5
  353. package/dist/propagator/Propagator.js +5 -5
  354. package/dist/propagator/Propagator.js.map +1 -1
  355. package/dist/propagator/RkCheckpoint.d.ts +2 -2
  356. package/dist/propagator/RkCheckpoint.js +1 -1
  357. package/dist/propagator/RkResult.d.ts +2 -2
  358. package/dist/propagator/RkResult.js +1 -1
  359. package/dist/propagator/RungeKutta4Propagator.d.ts +6 -6
  360. package/dist/propagator/RungeKutta4Propagator.js +5 -5
  361. package/dist/propagator/RungeKutta4Propagator.js.map +1 -1
  362. package/dist/propagator/RungeKutta89Propagator.d.ts +2 -2
  363. package/dist/propagator/RungeKutta89Propagator.js +2 -2
  364. package/dist/propagator/RungeKutta89Propagator.js.map +1 -1
  365. package/dist/propagator/RungeKuttaAdaptive.d.ts +6 -6
  366. package/dist/propagator/RungeKuttaAdaptive.js +52 -9
  367. package/dist/propagator/RungeKuttaAdaptive.js.map +1 -1
  368. package/dist/propagator/Sgp4Propagator.d.ts +7 -7
  369. package/dist/propagator/Sgp4Propagator.js +4 -4
  370. package/dist/propagator/Sgp4Propagator.js.map +1 -1
  371. package/dist/propagator/index.d.ts +3 -3
  372. package/dist/propagator/index.js +3 -3
  373. package/dist/propagator/index.js.map +1 -1
  374. package/dist/sgp4/index.d.ts +2 -2
  375. package/dist/sgp4/index.js +2 -2
  376. package/dist/sgp4/index.js.map +1 -1
  377. package/dist/sgp4/sgp4.d.ts +3 -3
  378. package/dist/sgp4/sgp4.js +11 -5
  379. package/dist/sgp4/sgp4.js.map +1 -1
  380. package/dist/smoothing/ExponentialSmoothing.d.ts +2 -2
  381. package/dist/smoothing/ExponentialSmoothing.js +1 -1
  382. package/dist/time/Epoch.d.ts +2 -2
  383. package/dist/time/Epoch.js +2 -2
  384. package/dist/time/Epoch.js.map +1 -1
  385. package/dist/time/EpochGPS.d.ts +3 -3
  386. package/dist/time/EpochGPS.js +3 -3
  387. package/dist/time/EpochGPS.js.map +1 -1
  388. package/dist/time/EpochTAI.d.ts +2 -2
  389. package/dist/time/EpochTAI.js +2 -2
  390. package/dist/time/EpochTAI.js.map +1 -1
  391. package/dist/time/EpochTDB.d.ts +2 -2
  392. package/dist/time/EpochTDB.js +2 -2
  393. package/dist/time/EpochTDB.js.map +1 -1
  394. package/dist/time/EpochTT.d.ts +2 -2
  395. package/dist/time/EpochTT.js +2 -2
  396. package/dist/time/EpochTT.js.map +1 -1
  397. package/dist/time/EpochUTC.d.ts +7 -7
  398. package/dist/time/EpochUTC.js +9 -9
  399. package/dist/time/EpochUTC.js.map +1 -1
  400. package/dist/time/EpochWindow.d.ts +2 -2
  401. package/dist/time/EpochWindow.js +1 -1
  402. package/dist/time/TimeStamped.d.ts +2 -2
  403. package/dist/time/TimeStamped.js +1 -1
  404. package/dist/time/index.d.ts +8 -8
  405. package/dist/time/index.js +8 -8
  406. package/dist/time/index.js.map +1 -1
  407. package/dist/transforms/TransformCache.d.ts +1 -1
  408. package/dist/transforms/TransformCache.js +1 -1
  409. package/dist/transforms/conversions.d.ts +2 -2
  410. package/dist/transforms/conversions.js +2 -2
  411. package/dist/transforms/conversions.js.map +1 -1
  412. package/dist/transforms/index.d.ts +2 -2
  413. package/dist/transforms/index.js +2 -2
  414. package/dist/transforms/index.js.map +1 -1
  415. package/dist/transforms/transforms.d.ts +1 -1
  416. package/dist/transforms/transforms.js +1 -1
  417. package/dist/transforms/transforms.js.map +1 -1
  418. package/dist/types/types.d.ts +8 -3
  419. package/dist/types/types.js +6 -1
  420. package/dist/types/types.js.map +1 -1
  421. package/dist/utils/constants.d.ts +2 -2
  422. package/dist/utils/constants.js +1 -1
  423. package/dist/utils/constants.js.map +1 -1
  424. package/dist/utils/create-covariance-from-tle.d.ts +1 -1
  425. package/dist/utils/create-covariance-from-tle.js +1 -1
  426. package/dist/utils/create-covariance-from-tle.js.map +1 -1
  427. package/dist/utils/functions.d.ts +4 -4
  428. package/dist/utils/functions.js +9 -4
  429. package/dist/utils/functions.js.map +1 -1
  430. package/dist/utils/index.d.ts +5 -5
  431. package/dist/utils/index.js +5 -5
  432. package/dist/utils/index.js.map +1 -1
  433. package/dist/utils/jacobian.d.ts +2 -2
  434. package/dist/utils/jacobian.js +1 -1
  435. package/dist/utils/jacobian.js.map +1 -1
  436. package/dist/utils/linearDistance.d.ts +1 -1
  437. package/docs/README.md +132 -0
  438. package/docs/getting-started.md +792 -0
  439. package/docs/lambert-satellite-integration-guide.md +766 -0
  440. package/docs/user-guide.md +1935 -0
  441. package/jest.config.mjs +28 -0
  442. package/package.json +3 -4
  443. package/src/body/Celestial.ts +2 -2
  444. package/src/body/Earth.ts +4 -4
  445. package/src/body/Moon.ts +7 -7
  446. package/src/body/NutationAngles.ts +2 -2
  447. package/src/body/PrecessionAngles.ts +2 -2
  448. package/src/body/Sun.ts +4 -4
  449. package/src/body/index.ts +6 -5
  450. package/src/conjunction/ConjunctionAssessment.ts +417 -0
  451. package/src/conjunction/ConjunctionEvent.ts +149 -0
  452. package/src/conjunction/ProbabilityOfCollision.ts +300 -0
  453. package/src/conjunction/index.ts +24 -0
  454. package/src/coordinate/ClassicalElements.ts +16 -11
  455. package/src/coordinate/EquinoctialElements.ts +7 -7
  456. package/src/coordinate/FormatTle.ts +2 -2
  457. package/src/coordinate/Geodetic.ts +8 -8
  458. package/src/coordinate/Hill.ts +4 -4
  459. package/src/coordinate/ITRF.ts +6 -6
  460. package/src/coordinate/J2000.ts +7 -7
  461. package/src/coordinate/RIC.ts +4 -4
  462. package/src/coordinate/RelativeState.ts +5 -5
  463. package/src/coordinate/StateVector.ts +8 -3
  464. package/src/coordinate/TEME.ts +6 -6
  465. package/src/coordinate/Tle.ts +9 -9
  466. package/src/coordinate/index.ts +13 -12
  467. package/src/coordinate/tle-format-data.ts +1 -1
  468. package/src/covariance/CovarianceSample.ts +13 -13
  469. package/src/covariance/StateCovariance.ts +2 -2
  470. package/src/covariance/index.ts +3 -2
  471. package/src/data/DataHandler.ts +6 -6
  472. package/src/data/values/Egm96Data.ts +3 -3
  473. package/src/data/values/HpAtmosphereData.ts +3 -3
  474. package/src/data/values/HpAtmosphereResult.ts +2 -2
  475. package/src/data/values/Iau1980Data.ts +2 -2
  476. package/src/data/values/LeapSecond.ts +1 -1
  477. package/src/data/values/LeapSecondData.ts +2 -2
  478. package/src/data/values/egm96.ts +2 -2
  479. package/src/data/values/hpAtmosphere.ts +2 -2
  480. package/src/data/values/iau1980.ts +2 -2
  481. package/src/enums/AngularDiameterMethod.ts +1 -1
  482. package/src/enums/AngularDistanceMethod.ts +1 -1
  483. package/src/enums/OrbitRegime.ts +1 -1
  484. package/src/enums/PassType.ts +1 -1
  485. package/src/enums/Sgp4OpsMode.ts +1 -1
  486. package/src/enums/index.ts +8 -7
  487. package/src/fetch/horizons-constants.ts +53 -0
  488. package/src/fetch/horizons-interfaces.ts +38 -0
  489. package/src/fetch/horizons.ts +300 -0
  490. package/src/force/AtmosphericDrag.ts +3 -3
  491. package/src/force/EarthGravity.ts +3 -3
  492. package/src/force/Force.ts +3 -5
  493. package/src/force/ForceModel.ts +9 -9
  494. package/src/force/Gravity.ts +3 -3
  495. package/src/force/SolarRadiationPressure.ts +4 -4
  496. package/src/force/ThirdBodyGravity.ts +3 -3
  497. package/src/force/Thrust.ts +3 -3
  498. package/src/force/index.ts +2 -1
  499. package/src/interfaces/BaseObjectParams.ts +2 -2
  500. package/src/interfaces/ClassicalElementsParams.ts +2 -2
  501. package/src/interfaces/EquinoctialElementsParams.ts +2 -2
  502. package/src/interfaces/GroundPositionParams.ts +2 -2
  503. package/src/interfaces/RfSensorParams.ts +2 -2
  504. package/src/interfaces/SatelliteParams.ts +2 -2
  505. package/src/interfaces/SensorParams.ts +3 -3
  506. package/src/interfaces/StarObjectParams.ts +1 -1
  507. package/src/interfaces/TimeVariables.ts +1 -1
  508. package/src/interfaces/index.ts +10 -9
  509. package/src/interpolator/ChebyshevCoefficients.ts +2 -2
  510. package/src/interpolator/ChebyshevInterpolator.ts +4 -4
  511. package/src/interpolator/CubicSpline.ts +2 -2
  512. package/src/interpolator/CubicSplineInterpolator.ts +4 -4
  513. package/src/interpolator/FieldInterpolator.ts +3 -5
  514. package/src/interpolator/Interpolator.ts +2 -2
  515. package/src/interpolator/LagrangeInterpolator.ts +3 -3
  516. package/src/interpolator/StateInterpolator.ts +4 -6
  517. package/src/interpolator/VerletBlendInterpolator.ts +5 -5
  518. package/src/main.ts +41 -20
  519. package/src/maneuver/TwoBurnOrbitTransfer.ts +3 -3
  520. package/src/maneuver/Waypoint.ts +8 -8
  521. package/src/objects/BaseObject.ts +3 -3
  522. package/src/objects/DetailedSatellite.ts +9 -9
  523. package/src/objects/DetailedSensor.ts +5 -5
  524. package/src/objects/GroundObject.ts +9 -9
  525. package/src/objects/LandObject.ts +3 -3
  526. package/src/objects/Marker.ts +2 -2
  527. package/src/objects/RfSensor.ts +2 -2
  528. package/src/objects/Satellite.ts +21 -21
  529. package/src/objects/Sensor.ts +7 -7
  530. package/src/objects/Star.ts +3 -3
  531. package/src/objects/index.ts +11 -10
  532. package/src/observation/Observation.ts +11 -23
  533. package/src/observation/ObservationOptical.ts +7 -7
  534. package/src/observation/ObservationRadar.ts +7 -7
  535. package/src/observation/ObservationUtils.ts +2 -2
  536. package/src/observation/PropagatorPairs.ts +2 -2
  537. package/src/observation/RAE.ts +9 -9
  538. package/src/observation/RadecGeocentric.ts +9 -9
  539. package/src/observation/RadecTopocentric.ts +13 -10
  540. package/src/observation/index.ts +6 -5
  541. package/src/operations/BoxMuller.ts +2 -2
  542. package/src/operations/EulerAngles.ts +2 -2
  543. package/src/operations/Matrix.ts +2 -2
  544. package/src/operations/Quaternion.ts +2 -2
  545. package/src/operations/Random.ts +1 -1
  546. package/src/operations/RandomGaussianSource.ts +3 -3
  547. package/src/operations/Vector.ts +2 -2
  548. package/src/operations/Vector3D.ts +6 -4
  549. package/src/operations/index.ts +5 -4
  550. package/src/operations/operations.ts +6 -5
  551. package/src/optimize/ChebyshevCompressor.ts +5 -5
  552. package/src/optimize/DownhillSimplex.ts +2 -2
  553. package/src/optimize/GoldenSection.ts +2 -2
  554. package/src/optimize/PolynomialRegression.ts +4 -4
  555. package/src/optimize/PolynomicalRegressionResult.ts +1 -1
  556. package/src/optimize/SimpleLinearRegression.ts +1 -1
  557. package/src/optimize/SimplexEntry.ts +2 -2
  558. package/src/orbit_determination/BatchLeastSquaresOD.ts +10 -10
  559. package/src/orbit_determination/BatchLeastSquaresResult.ts +3 -3
  560. package/src/orbit_determination/GaussIOD.ts +393 -0
  561. package/src/orbit_determination/GibbsIOD.ts +4 -4
  562. package/src/orbit_determination/GoodingIOD.ts +458 -160
  563. package/src/orbit_determination/HerrickGibbsIOD.ts +2 -2
  564. package/src/orbit_determination/LambertIOD.ts +2 -2
  565. package/src/orbit_determination/ModifiedGoodingIOD.ts +33 -22
  566. package/src/orbit_determination/index.ts +8 -7
  567. package/src/propagator/DormandPrince54Propagator.ts +2 -2
  568. package/src/propagator/KeplerPropagator.ts +7 -8
  569. package/src/propagator/Propagator.ts +6 -6
  570. package/src/propagator/RkCheckpoint.ts +2 -2
  571. package/src/propagator/RkResult.ts +2 -2
  572. package/src/propagator/RungeKutta4Propagator.ts +6 -6
  573. package/src/propagator/RungeKutta89Propagator.ts +2 -2
  574. package/src/propagator/RungeKuttaAdaptive.ts +62 -12
  575. package/src/propagator/Sgp4Propagator.ts +7 -7
  576. package/src/propagator/index.ts +4 -3
  577. package/src/sgp4/index.ts +3 -2
  578. package/src/sgp4/sgp4.ts +6 -6
  579. package/src/smoothing/ExponentialSmoothing.ts +2 -2
  580. package/src/time/Epoch.ts +3 -3
  581. package/src/time/EpochGPS.ts +5 -5
  582. package/src/time/EpochTAI.ts +2 -2
  583. package/src/time/EpochTDB.ts +2 -2
  584. package/src/time/EpochTT.ts +2 -2
  585. package/src/time/EpochUTC.ts +10 -10
  586. package/src/time/EpochWindow.ts +2 -2
  587. package/src/time/TimeStamped.ts +2 -2
  588. package/src/time/index.ts +9 -8
  589. package/src/transforms/TransformCache.ts +1 -1
  590. package/src/transforms/conversions.ts +2 -2
  591. package/src/transforms/index.ts +3 -2
  592. package/src/transforms/transforms.ts +4 -4
  593. package/src/types/types.ts +8 -3
  594. package/src/utils/constants.ts +2 -2
  595. package/src/utils/create-covariance-from-tle.ts +1 -1
  596. package/src/utils/functions.ts +10 -5
  597. package/src/utils/index.ts +6 -5
  598. package/src/utils/jacobian.ts +2 -2
  599. package/src/utils/linearDistance.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
4
  * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
@@ -14,38 +14,88 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { J2000, Kilometers } from '../main.js';
18
- import { ObservationOptical } from './../observation/ObservationOptical.js';
17
+ import { J2000, Kilometers } from '../main';
18
+ import { ObservationOptical } from './../observation/ObservationOptical';
19
19
  /**
20
20
  * Gooding angles-only initial orbit determination.
21
21
  *
22
22
  * Used for orbit determination from three optical observations.
23
23
  */
24
24
  export declare class GoodingIOD {
25
+ /** Finite difference factor for numerical derivatives */
26
+ private static readonly FINITE_DIFF_FACTOR;
27
+ /** Convergence tolerance for iterative solver */
28
+ private static readonly CONVERGENCE_TOLERANCE;
29
+ /** Maximum iterations for range problem solver */
30
+ private static readonly MAX_ITERATIONS;
31
+ /** Minimum determinant value to avoid numerical issues */
32
+ private static readonly MIN_DETERMINANT;
33
+ /** Gravitational constant. */
25
34
  private readonly _mu;
26
- private readonly o1_;
27
- private readonly o2_;
28
- private readonly o3_;
35
+ /** observation 1 */
36
+ private o1_;
37
+ /** observation 2 */
38
+ private o2_;
39
+ /** observation 3 */
40
+ private o3_;
41
+ /** observer position 1 */
29
42
  private vObserverPosition1_;
43
+ /** observer position 2 */
30
44
  private vObserverPosition2_;
45
+ /** observer position 3 */
31
46
  private vObserverPosition3_;
47
+ /** Normalizing constant for distances. */
32
48
  private r_;
49
+ /** Normalizing constant for velocities. */
33
50
  private v_;
51
+ /** Normalizing constant for duration. */
34
52
  private t_;
53
+ /** Radius of point 1 (X-R1). */
35
54
  private r1_;
55
+ /** Radius of point 2 (X-R2). */
36
56
  private r2_;
57
+ /** Radius of point 3 (X-R3). */
37
58
  private r3_;
59
+ /** Range of point 1 (O1-R1). */
38
60
  private rho1_;
61
+ /** Range of point 2 (O1-R1). */
39
62
  private rho2_;
63
+ /** Range of point 3 (O1-R1). */
40
64
  private rho3_;
65
+ /** working variable */
41
66
  private d1_;
67
+ /** working variable */
42
68
  private d3_;
69
+ /** factor for FD. */
43
70
  private facFiniteDiff_;
44
71
  private readonly _forceModel;
45
- constructor(o1: ObservationOptical, o2: ObservationOptical, o3: ObservationOptical, mu?: number);
72
+ constructor(mu?: number);
73
+ getRange1(): Kilometers;
74
+ getRange2(): Kilometers;
75
+ getRange3(): Kilometers;
76
+ /**
77
+ * Estimate an orbit from three angular observations (azimuth/elevation).
78
+ * Uses Gauss IOD to derive initial range estimates, so no external range
79
+ * guesses are required.
80
+ *
81
+ * @param o1 - first angular observation
82
+ * @param o2 - second angular observation
83
+ * @param o3 - third angular observation
84
+ * @param nRev - number of full revolutions between observation 1 and 3
85
+ * @param direction - true for prograde (short-way), false for retrograde
86
+ * @returns Orbit estimate referenced to the epoch of the second observation
87
+ */
88
+ estimate(o1: ObservationOptical, o2: ObservationOptical, o3: ObservationOptical, rho1init?: Kilometers | null, rho3init?: Kilometers | null, nRev?: number, direction?: boolean): J2000;
46
89
  private _getPositionOnLoS2;
47
90
  private _modifyIterate;
48
91
  private _computeDerivatives;
49
- solve(r1Init: Kilometers, r3Init: Kilometers, nRev?: number, direction?: boolean): J2000;
92
+ /**
93
+ * @param r1Init - Initial guess for range at first observation
94
+ * @param r3Init - Initial guess for range at third observation
95
+ * @param nRev - Number of revolutions
96
+ * @param direction - Direction of orbit (true for prograde, false for retrograde)
97
+ * @returns
98
+ */
99
+ private solve_;
50
100
  private _solveRangeProblem;
51
101
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
4
  * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
@@ -14,42 +14,111 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Earth, J2000, TAU, Vector3D } from '../main.js';
18
- import { ForceModel } from '../force/ForceModel.js';
19
- import { RungeKutta89Propagator } from '../propagator/RungeKutta89Propagator.js';
20
- import { GibbsIOD } from './GibbsIOD.js';
21
- import { LambertIOD } from './LambertIOD.js';
17
+ import { ForceModel } from '../force/ForceModel';
18
+ import { Earth, J2000, TAU, Vector3D } from '../main';
19
+ import { RungeKutta89Propagator } from '../propagator/RungeKutta89Propagator';
20
+ import { GaussIOD } from './GaussIOD';
21
+ import { GibbsIOD } from './GibbsIOD';
22
+ import { LambertIOD } from './LambertIOD';
22
23
  /**
23
24
  * Gooding angles-only initial orbit determination.
24
25
  *
25
26
  * Used for orbit determination from three optical observations.
26
27
  */
27
28
  export class GoodingIOD {
29
+ /** Finite difference factor for numerical derivatives */
30
+ static FINITE_DIFF_FACTOR = 1e-6;
31
+ /** Convergence tolerance for iterative solver */
32
+ static CONVERGENCE_TOLERANCE = 1e-12;
33
+ /** Maximum iterations for range problem solver */
34
+ static MAX_ITERATIONS = 100;
35
+ /** Minimum determinant value to avoid numerical issues */
36
+ static MIN_DETERMINANT = 1e-16;
37
+ /** Gravitational constant. */
28
38
  _mu;
39
+ /** observation 1 */
29
40
  o1_;
41
+ /** observation 2 */
30
42
  o2_;
43
+ /** observation 3 */
31
44
  o3_;
45
+ /** observer position 1 */
32
46
  vObserverPosition1_ = Vector3D.origin;
47
+ /** observer position 2 */
33
48
  vObserverPosition2_ = Vector3D.origin;
49
+ /** observer position 3 */
34
50
  vObserverPosition3_ = Vector3D.origin;
51
+ /** Normalizing constant for distances. */
35
52
  r_ = 0.0;
53
+ /** Normalizing constant for velocities. */
36
54
  v_ = 0.0;
55
+ /** Normalizing constant for duration. */
37
56
  t_ = 0.0;
57
+ /** Radius of point 1 (X-R1). */
38
58
  r1_ = 0.0;
59
+ /** Radius of point 2 (X-R2). */
39
60
  r2_ = 0.0;
61
+ /** Radius of point 3 (X-R3). */
40
62
  r3_ = 0.0;
63
+ /** Range of point 1 (O1-R1). */
41
64
  rho1_ = 0.0;
65
+ /** Range of point 2 (O1-R1). */
42
66
  rho2_ = 0.0;
67
+ /** Range of point 3 (O1-R1). */
43
68
  rho3_ = 0.0;
69
+ /** working variable */
44
70
  d1_ = 0.0;
71
+ /** working variable */
45
72
  d3_ = 0.0;
73
+ /** factor for FD. */
46
74
  facFiniteDiff_ = 0.0;
47
75
  _forceModel = new ForceModel().setGravity(1.0);
48
- constructor(o1, o2, o3, mu = Earth.mu) {
76
+ constructor(mu = Earth.mu) {
49
77
  this._mu = mu;
78
+ }
79
+ getRange1() {
80
+ return this.rho1_ * this.r_;
81
+ }
82
+ getRange2() {
83
+ return this.rho2_ * this.r_;
84
+ }
85
+ getRange3() {
86
+ return this.rho3_ * this.r_;
87
+ }
88
+ /**
89
+ * Estimate an orbit from three angular observations (azimuth/elevation).
90
+ * Uses Gauss IOD to derive initial range estimates, so no external range
91
+ * guesses are required.
92
+ *
93
+ * @param o1 - first angular observation
94
+ * @param o2 - second angular observation
95
+ * @param o3 - third angular observation
96
+ * @param nRev - number of full revolutions between observation 1 and 3
97
+ * @param direction - true for prograde (short-way), false for retrograde
98
+ * @returns Orbit estimate referenced to the epoch of the second observation
99
+ */
100
+ estimate(o1, o2, o3, rho1init = null, rho3init = null, nRev = 0, direction = true) {
101
+ let orbit = null;
50
102
  this.o1_ = o1;
51
103
  this.o2_ = o2;
52
104
  this.o3_ = o3;
105
+ if (rho1init === null || rho3init === null) {
106
+ const gaussIod = new GaussIOD(this._mu);
107
+ orbit = gaussIod.estimate(o1, o2, o3);
108
+ if (orbit === null) {
109
+ throw new Error('Gauss IOD failed to provide initial estimate for Gooding IOD.');
110
+ }
111
+ /*
112
+ * Compute slant ranges (observer-to-satellite distance) from Gauss IOD solution
113
+ * The Gauss solution is at t2 (middle observation), so we use it as approximation
114
+ * Slant range = |satellite position - observer position|
115
+ */
116
+ const rho1Gauss = orbit.position.subtract(o1.site.position).magnitude();
117
+ const rho3Gauss = orbit.position.subtract(o3.site.position).magnitude();
118
+ rho1init = rho1init ?? rho1Gauss;
119
+ rho3init = rho3init ?? rho3Gauss;
120
+ }
121
+ return this.solve_(rho1init, rho3init, nRev, direction);
53
122
  }
54
123
  _getPositionOnLoS2({ e1, r01, e3, r03, t13, t12, nRev, posigrade, }) {
55
124
  const p1 = this.vObserverPosition1_.add(e1.scale(r01));
@@ -85,80 +154,165 @@ export class GoodingIOD {
85
154
  this.rho1_ = Math.max((this.d1_ - this.d3_ * d2) / d4, 0.0);
86
155
  this.rho3_ = Math.max((this.d1_ * d2 - this.d3_) / d4, 0.0);
87
156
  }
88
- _computeDerivatives({ x, y, lineOfSight1, lineOfSight3, pin, ein, t13, t12, nrev, direction, fd, gd, }) {
157
+ _computeDerivatives({ x, y, lineOfSight1, lineOfSight3, pin, ein, fc, gc, t13, t12, withHalley, nrev, direction, fd, gd, }) {
89
158
  const p = pin.normalize();
90
159
  const en = ein.normalize();
91
160
  const dx = this.facFiniteDiff_ * x;
92
161
  const dy = this.facFiniteDiff_ * y;
93
- const cm1 = this._getPositionOnLoS2({
162
+ const pm1 = this._getPositionOnLoS2({
94
163
  e1: lineOfSight1,
95
- r01: x - dx,
164
+ r01: (x - dx),
96
165
  e3: lineOfSight3,
97
166
  r03: y,
98
167
  t13,
99
168
  t12,
100
169
  nRev: nrev,
101
170
  posigrade: direction,
102
- }).subtract(this.vObserverPosition2_);
171
+ });
172
+ if (pm1 === null) {
173
+ throw new Error('Lambert solver failed during derivative computation (x-dx).');
174
+ }
175
+ const cm1 = pm1.subtract(this.vObserverPosition2_);
103
176
  const fm1 = p.dot(cm1);
104
177
  const gm1 = en.dot(cm1);
105
- const cp1 = this._getPositionOnLoS2({
178
+ const pp1 = this._getPositionOnLoS2({
106
179
  e1: lineOfSight1,
107
- r01: x + dx,
180
+ r01: (x + dx),
108
181
  e3: lineOfSight3,
109
182
  r03: y,
110
183
  t13,
111
184
  t12,
112
185
  nRev: nrev,
113
186
  posigrade: direction,
114
- }).subtract(this.vObserverPosition2_);
187
+ });
188
+ if (pp1 === null) {
189
+ throw new Error('Lambert solver failed during derivative computation (x+dx).');
190
+ }
191
+ const cp1 = pp1.subtract(this.vObserverPosition2_);
115
192
  const fp1 = p.dot(cp1);
116
193
  const gp1 = en.dot(cp1);
117
194
  const fx = (fp1 - fm1) / (2.0 * dx);
118
195
  const gx = (gp1 - gm1) / (2.0 * dx);
119
- const cm3 = this._getPositionOnLoS2({
196
+ const pm3 = this._getPositionOnLoS2({
120
197
  e1: lineOfSight1,
121
198
  r01: x,
122
199
  e3: lineOfSight3,
123
- r03: y - dy,
200
+ r03: (y - dy),
124
201
  t13,
125
202
  t12,
126
203
  nRev: nrev,
127
204
  posigrade: direction,
128
- }).subtract(this.vObserverPosition2_);
205
+ });
206
+ if (pm3 === null) {
207
+ throw new Error('Lambert solver failed during derivative computation (y-dy).');
208
+ }
209
+ const cm3 = pm3.subtract(this.vObserverPosition2_);
129
210
  const fm3 = p.dot(cm3);
130
211
  const gm3 = en.dot(cm3);
131
- const cp3 = this._getPositionOnLoS2({
212
+ const pp3 = this._getPositionOnLoS2({
132
213
  e1: lineOfSight1,
133
214
  r01: x,
134
215
  e3: lineOfSight3,
135
- r03: y + dy,
216
+ r03: (y + dy),
136
217
  t13,
137
218
  t12,
138
219
  nRev: nrev,
139
220
  posigrade: direction,
140
- }).subtract(this.vObserverPosition2_);
221
+ });
222
+ if (pp3 === null) {
223
+ throw new Error('Lambert solver failed during derivative computation (y+dy).');
224
+ }
225
+ const cp3 = pp3.subtract(this.vObserverPosition2_);
141
226
  const fp3 = p.dot(cp3);
142
227
  const gp3 = en.dot(cp3);
143
228
  const fy = (fp3 - fm3) / (2.0 * dy);
144
229
  const gy = (gp3 - gm3) / (2.0 * dy);
230
+ // Coefficients for the classical Newton-Raphson iterative method
145
231
  fd[0] = fx;
146
232
  fd[1] = fy;
147
233
  gd[0] = gx;
148
234
  gd[1] = gy;
235
+ // Modified Newton-Raphson process with Halley's method for cubic convergence
236
+ if (withHalley) {
237
+ const hrho1Sq = dx * dx;
238
+ const hrho3Sq = dy * dy;
239
+ // Second order derivatives: d^2f / drho1^2 and d^2g / drho1^2
240
+ const fxx = (fp1 + fm1 - 2.0 * fc) / hrho1Sq;
241
+ const gxx = (gp1 + gm1 - 2.0 * gc) / hrho1Sq;
242
+ const fyy = (fp3 + fm3 - 2.0 * fc) / hrho3Sq;
243
+ const gyy = (gp3 + gm3 - 2.0 * gc) / hrho3Sq;
244
+ const pp13 = this._getPositionOnLoS2({
245
+ e1: lineOfSight1,
246
+ r01: (x + dx),
247
+ e3: lineOfSight3,
248
+ r03: (y + dy),
249
+ t13,
250
+ t12,
251
+ nRev: nrev,
252
+ posigrade: direction,
253
+ });
254
+ if (pp13 === null) {
255
+ throw new Error('Lambert solver failed during Halley derivative computation (x+dx, y+dy).');
256
+ }
257
+ const cp13 = pp13.subtract(this.vObserverPosition2_);
258
+ const fp13 = p.dot(cp13);
259
+ const gp13 = en.dot(cp13);
260
+ const pm13 = this._getPositionOnLoS2({
261
+ e1: lineOfSight1,
262
+ r01: (x - dx),
263
+ e3: lineOfSight3,
264
+ r03: (y - dy),
265
+ t13,
266
+ t12,
267
+ nRev: nrev,
268
+ posigrade: direction,
269
+ });
270
+ if (pm13 === null) {
271
+ throw new Error('Lambert solver failed during Halley derivative computation (x-dx, y-dy).');
272
+ }
273
+ const cm13 = pm13.subtract(this.vObserverPosition2_);
274
+ const fm13 = p.dot(cm13);
275
+ const gm13 = en.dot(cm13);
276
+ // Second order cross derivatives
277
+ const fxy = (fp13 + fm13) / (2.0 * dx * dy) - 0.5 * (fxx * dx / dy + fyy * dy / dx) - fc / (dx * dy);
278
+ const gxy = (gp13 + gm13) / (2.0 * dx * dy) - 0.5 * (gxx * dx / dy + gyy * dy / dx) - gc / (dx * dy);
279
+ // Determinant of Jacobian
280
+ const detJac = fx * gy - fy * gx;
281
+ // Delta Newton-Raphson, 1st order step
282
+ const dx3NR = (-gy * fc) / detJac;
283
+ const dx1NR = (gx * fc) / detJac;
284
+ // Halley's method Jacobian with second-order corrections
285
+ const fxH = fx + 0.5 * (fxx * dx3NR + fxy * dx1NR);
286
+ const fyH = fy + 0.5 * (fxy * dx3NR + fyy * dx1NR);
287
+ const gxH = gx + 0.5 * (gxx * dx3NR + gxy * dx1NR);
288
+ const gyH = gy + 0.5 * (gxy * dx3NR + gyy * dx1NR);
289
+ // Update with Halley's method coefficients
290
+ fd[0] = fxH;
291
+ fd[1] = fyH;
292
+ gd[0] = gxH;
293
+ gd[1] = gyH;
294
+ }
149
295
  }
150
- solve(r1Init, r3Init, nRev = 0, direction = true) {
296
+ /**
297
+ * @param r1Init - Initial guess for range at first observation
298
+ * @param r3Init - Initial guess for range at third observation
299
+ * @param nRev - Number of revolutions
300
+ * @param direction - Direction of orbit (true for prograde, false for retrograde)
301
+ * @returns
302
+ */
303
+ solve_(r1Init, r3Init, nRev = 0, direction = true) {
151
304
  const lineOfSight1 = this.o1_.observation.lineOfSight();
152
305
  const lineOfSight2 = this.o2_.observation.lineOfSight();
153
306
  const lineOfSight3 = this.o3_.observation.lineOfSight();
154
307
  this.r_ = Math.max(r1Init, r3Init);
155
308
  this.v_ = Math.sqrt(this._mu / this.r_);
156
309
  this.t_ = this.r_ / this.v_;
157
- this.vObserverPosition1_ = this.o1_.site.position.scale(1.0 / this.r_);
158
- this.vObserverPosition2_ = this.o2_.site.position.scale(1.0 / this.r_);
159
- this.vObserverPosition3_ = this.o3_.site.position.scale(1.0 / this.r_);
160
- const maxiter = 100;
161
- this._solveRangeProblem({
310
+ // Normalize observer positions (dimensionless)
311
+ const invR = 1.0 / this.r_;
312
+ this.vObserverPosition1_ = this.o1_.site.position.scale(invR);
313
+ this.vObserverPosition2_ = this.o2_.site.position.scale(invR);
314
+ this.vObserverPosition3_ = this.o3_.site.position.scale(invR);
315
+ const converged = this._solveRangeProblem({
162
316
  rho1init: r1Init / this.r_,
163
317
  rho3init: r3Init / this.r_,
164
318
  t13: this.o3_.epoch.difference(this.o1_.epoch) / this.t_,
@@ -168,8 +322,12 @@ export class GoodingIOD {
168
322
  lineOfSight1,
169
323
  lineOfSight2,
170
324
  lineOfSight3,
171
- maxIterations: maxiter,
325
+ maxIterations: GoodingIOD.MAX_ITERATIONS,
172
326
  });
327
+ if (!converged) {
328
+ throw new Error(`Gooding IOD failed to converge after ${GoodingIOD.MAX_ITERATIONS} iterations. ` +
329
+ 'Try different initial range estimates or check observation quality.');
330
+ }
173
331
  const gibbs = new GibbsIOD(this._mu);
174
332
  const p1 = this.vObserverPosition1_.add(lineOfSight1.scale(this.rho1_)).scale(this.r_);
175
333
  const p2 = this.vObserverPosition2_.add(lineOfSight2.scale(this.rho2_)).scale(this.r_);
@@ -177,14 +335,17 @@ export class GoodingIOD {
177
335
  return gibbs.solve(p1, p2, p3, this.o2_.epoch, this.o3_.epoch);
178
336
  }
179
337
  _solveRangeProblem({ rho1init, rho3init, t13, t12, nrev, direction, lineOfSight1, lineOfSight2, lineOfSight3, maxIterations, }) {
180
- const arbf = 1e-6;
181
- const cvtol = 1e-14;
182
338
  this.rho1_ = rho1init;
183
339
  this.rho3_ = rho3init;
184
340
  let iter = 0;
185
- let stoppingCriterion = 10.0 * cvtol;
186
- while (iter < maxIterations && Math.abs(stoppingCriterion) > cvtol) {
187
- this.facFiniteDiff_ = arbf;
341
+ let withHalley = false; // Start with Newton-Raphson, switch to Halley's method later
342
+ let stoppingCriterion = 10.0 * GoodingIOD.CONVERGENCE_TOLERANCE;
343
+ while (iter < maxIterations && Math.abs(stoppingCriterion) > GoodingIOD.CONVERGENCE_TOLERANCE) {
344
+ this.facFiniteDiff_ = GoodingIOD.FINITE_DIFF_FACTOR;
345
+ // Switch to Halley's method after half the iterations for better convergence
346
+ if (iter >= maxIterations / 2) {
347
+ withHalley = true;
348
+ }
188
349
  const p2 = this._getPositionOnLoS2({
189
350
  e1: lineOfSight1,
190
351
  r01: this.rho1_,
@@ -208,10 +369,11 @@ export class GoodingIOD {
208
369
  const ent = lineOfSight2.cross(p);
209
370
  const enr = ent.magnitude();
210
371
  if (enr === 0.0) {
211
- return;
372
+ break; // Solution found - line of sight and position are aligned
212
373
  }
213
374
  const en = ent.normalize();
214
375
  const fc = p.dot(c);
376
+ const gc = en.dot(c);
215
377
  const fd = new Float64Array(2);
216
378
  const gd = new Float64Array(2);
217
379
  this._computeDerivatives({
@@ -221,8 +383,11 @@ export class GoodingIOD {
221
383
  lineOfSight3,
222
384
  pin: p,
223
385
  ein: en,
386
+ fc,
387
+ gc,
224
388
  t13,
225
389
  t12,
390
+ withHalley,
226
391
  nrev,
227
392
  direction,
228
393
  fd,
@@ -233,15 +398,40 @@ export class GoodingIOD {
233
398
  const gr1 = gd[0];
234
399
  const gr3 = gd[1];
235
400
  const detj = fr1 * gr3 - fr3 * gr1;
401
+ // Check for singular Jacobian matrix
402
+ if (Math.abs(detj) < GoodingIOD.MIN_DETERMINANT) {
403
+ throw new Error('Jacobian determinant is near zero - system is ill-conditioned.');
404
+ }
405
+ /**
406
+ * Compute Newton-Raphson corrections
407
+ * Per Gooding's algorithm:
408
+ * D3 is the correction for rho1 (range at obs 1)
409
+ * D1 is the correction for rho3 (range at obs 3)
410
+ */
236
411
  this.d3_ = (-gr3 * fc) / detj;
237
412
  this.d1_ = (gr1 * fc) / detj;
238
- this.rho1_ = this.rho1_ + this.d3_;
239
- this.rho3_ = this.rho3_ + this.d1_;
413
+ // Update range estimates - note the swap per Gooding's algorithm
414
+ this.rho1_ = (this.rho1_ + this.d3_);
415
+ this.rho3_ = (this.rho3_ + this.d1_);
240
416
  const den = Math.max(cr, this.r2_);
241
417
  stoppingCriterion = fc / den;
242
418
  }
243
419
  ++iter;
244
420
  }
421
+ // Store final convergence state for diagnostics
422
+ const converged = Math.abs(stoppingCriterion) <= GoodingIOD.CONVERGENCE_TOLERANCE;
423
+ if (!converged) {
424
+ /* eslint-disable no-console */
425
+ console.warn('Gooding IOD convergence diagnostics:');
426
+ console.warn(` Iterations: ${iter}/${maxIterations}`);
427
+ console.warn(` Final residual: ${Math.abs(stoppingCriterion).toExponential(3)}`);
428
+ console.warn(` Target tolerance: ${GoodingIOD.CONVERGENCE_TOLERANCE.toExponential(3)}`);
429
+ console.warn(` rho1: ${(this.rho1_ * this.r_).toFixed(2)} km`);
430
+ console.warn(` rho2: ${(this.rho2_ * this.r_).toFixed(2)} km`);
431
+ console.warn(` rho3: ${(this.rho3_ * this.r_).toFixed(2)} km`);
432
+ /* eslint-enable no-console */
433
+ }
434
+ return converged;
245
435
  }
246
436
  }
247
437
  //# sourceMappingURL=GoodingIOD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GoodingIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/GoodingIOD.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GoodingIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/GoodingIOD.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
4
  * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { EpochUTC, J2000, Kilometers, Vector3D } from '../main.js';
17
+ import { EpochUTC, J2000, Kilometers, Vector3D } from '../main';
18
18
  /**
19
19
  * Herrik-Gibbs 3-position initial orbit determination.
20
20
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
4
  * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Earth, J2000 } from '../main.js';
17
+ import { Earth, J2000 } from '../main';
18
18
  /**
19
19
  * Herrik-Gibbs 3-position initial orbit determination.
20
20
  *
@@ -1 +1 @@
1
- {"version":3,"file":"HerrickGibbsIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/HerrickGibbsIOD.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAY,KAAK,EAA6C,MAAM,YAAY,CAAC;AAE/F;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAMP;IALnB;;;;OAIG;IACH,YAAmB,KAAa,KAAK,CAAC,EAAE;QAArB,OAAE,GAAF,EAAE,CAAmB;QACtC,sBAAsB;IACxB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,EAAY,EAAE,EAAY,EAAE,EAAwB,EAAE,EAAY,EAAE,EAAY,EAAE,EAAY;QAClG,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAkC,CAAC;QAE/D,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"HerrickGibbsIOD.js","sourceRoot":"","sources":["../../src/orbit_determination/HerrickGibbsIOD.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,KAAK,EAAY,KAAK,EAA6C,MAAM,SAAS,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAMP;IALnB;;;;OAIG;IACH,YAAmB,KAAa,KAAK,CAAC,EAAE;QAArB,OAAE,GAAF,EAAE,CAAmB;QACtC,sBAAsB;IACxB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,EAAY,EAAE,EAAY,EAAE,EAAwB,EAAE,EAAY,EAAE,EAAY,EAAE,EAAY;QAClG,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAChG,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAkC,CAAC;QAE/D,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
4
  * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { EpochUTC, J2000, Kilometers, Vector3D } from '../main.js';
17
+ import { EpochUTC, J2000, Kilometers, Vector3D } from '../main';
18
18
  export declare class LambertIOD {
19
19
  mu: number;
20
20
  constructor(mu?: number);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @author @thkruz Theodore Kruczek
2
+ * @author Theodore Kruczek
3
3
  * @license AGPL-3.0-or-later
4
4
  * @copyright (c) 2025 Kruczek Labs LLC
5
5
  *
@@ -14,7 +14,7 @@
14
14
  * You should have received a copy of the GNU Affero General Public License along with
15
15
  * Orbital Object ToolKit. If not, see <http://www.gnu.org/licenses/>.
16
16
  */
17
- import { Earth, J2000 } from '../main.js';
17
+ import { Earth, J2000 } from '../main';
18
18
  // / Lambert two-position and time initial orbit determination.
19
19
  export class LambertIOD {
20
20
  mu;