=== 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 === - 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 - might as well fix the inclination bug here - verify orbital elements change as expected - continue work on spacecraft rendering - default 3d object is way too big - render_state following booleans is clunky - modify config file structure, configuration names follow test file names - only then look at interplanetary transfers === Project Documentation === - remember to periodically check the reference docs against new changes === Testing === - we should match up our test case filenames with their associated config names === 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. - check last commit for test modification, looks like we removed a lot of REQUIRE statements about parent transitions - 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 - add and test 'satellite' objects that should not be in parents or have a SOI - see FIXME in src/simulation.cpp::calc_orbital_velocity about inclination === Simulation Config Files === - relative coordinates for child bodies - can then use classic orbital elements instead of positions and velocities - a format with nested children would be nice === CTAGS === - previously we've used the Makefile to generate tags when building, let's think about a way we can generate them without causing a conflict for people who don't use ctags === rendering === - for starters, the minimum scaling of objects should be replaced with some kind of billboard system