# Orbital Mechanics Simulation - Project Memory ## Architecture - C-style C++ (structs/functions, NO classes/templates) - Raylib (git submodule) for 3D - chose over SFML (no 3D support) - See docs/implementation_plan.md for full technical design ## Coding Rules - Use .cpp extensions (for future C++ features if needed) - Small, focused functions - Follow existing patterns in src/ ## File Reading Policy - Ask before reading files unless immediately necessary for current task - Exception: Can read without asking if: - Single small file (<100 lines) clearly needed - File explicitly mentioned by user - When reading multiple files or large files (>200 lines), always verify first - do not read or write to docs/TODO, this is meant to be a manually maintained file ## Code Style - Minimal comments - code should be self-documenting - No decorative comment blocks (===, ---, etc.) - Only comment non-obvious logic ## Git Workflow - Small commits with logical separation - Concise commit messages - Claude footer: short one-liner only ## Common Commands - Build: make - Run: ./orbit_sim [config_file] - See README.md for full build instructions