=== 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. ======================== === next steps === - add tests for 3d orbital elements in local frame - maneuvering - still need to render the spacecraft orbits - display orbital elements in UI - add more testing to maneuvers - not updating simulation, add checks along orbital path - verify orbital elements change as expected - only then look at interplanetary transfers === Project Documentation === - remember to periodically check the reference docs against new changes === 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. - IMPORTANT: for the graphical sim, we're calculating 100 physics steps per frame. we need to test, and make a compromise on performance vs sim accuracy, and have this set as a config constant, MAX_STEP_SIZE, with a good discription nearby in the code. - could also try an alternative step method with error function eg) https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta%E2%80%93Fehlberg_method - remove bodies on non closed orbits after they are a certain distance from the root body, or bary-center === Simulation Config Files === - a format with nested children would be nice === rendering === - change zoom speed based on camera distance - initial zoom seems off - refactor render_state folling conditionals, should now explicitly requre a target body/craft always - 3d object for spacecraft?