=== 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 dot_product function for physics, used in test_hohmann_transfer.cpp - remove hohmann transfer test? - deprecate mission_planning all together - modify config file structure, configuration names follow test file names - implement separate satellite array for SimulationState - go through simulation to see what is reusable with CelestialBody - create tests and implementation for local frame maneuvers - 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 === Simulation Config Files === - relative coordinates for child bodies - 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