=== 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 === - continue work on spacecraft rendering - default 3d object is way too big - not using a billboard in the UI - maneuver indicator also needs billboard - clean up info panels (too big, poor color choice, font too small) - render_state following booleans is clunky - modify config file structure, configuration names follow test file names - 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 - 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