=== ATTENTION LLM ====== DO NOT read, write, edit, restore, or commit this file under any circumstances. This is a manually maintained file - all changes must be made by humans only. If you see modifications to this file in git status, IGNORE them and do not commit. **Do not revert unstaged changes to this file** ======================== === next steps === - refactor test cases: - use strict values in 'REQUIRE' tests - ensure we're using 'SECTION' macros for setup/teardown - we're working on a generic python simulator to precalculate, but we should also use some actual values from real-world missions or textbooks - there's also the option of using a 3rd party simulator: - https://github.com/poliastro/poliastro/blob/main/src/poliastro/core/propagation/farnocchia.py - the (archived) poliastro project has two body propagators that are similar enough to our Newton-Raphson implementation - test_utilities:create_orbit_tracker functions could return copies instead of pointers - functions using pointers could be pass by reference - min_time should have a default value - 3d should be always, and use existing OrbitalElements struct - remove RK4 integration implementation? - interplanetary transfers - SOI boundary testing - draw SOI boundry in graphical sim - add reset/load new config UI control - UI fixes - write out/fix inline code docs with the documentation generation script, and review - can then work on a better method for commenting/detecting changes via script === Project Documentation === - remember to periodically check the reference docs against new changes === code style === - arena memory management? === Simulation/Physics === - actually, we should start out simpler. create and test maneuvers in planetary frame before starting on interplanetary patched conics, oops - will still need hohmann transfers, circularizing, plane change, etc. - interplanetary/SOI changing transfers - remove bodies on non closed orbits after they are a certain distance from the root body, or bary-center - should try to use the same code path for bodies and craft on 'update' functions as much as possible - combine code paths for trigger types in check_maneuver_trigger(). - see TODO in src/maneuver.cpp === Simulation Config Files === - a format with nested children would be nice === rendering === - 3d object for spacecraft? === UI === - need to fix UI text overlapping - remove '?' unavailble characters - reset sim / load new config