=== 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
