## DO NOT TOUCH - docs/TODO - Manual file only. Never read, write, restore, or commit - docs/session_logs/ - Manual logs only. Never read or write # 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/verbose_project_overview.md for detailed technical architecture - See docs/implementation_plan.md for data structures reference ## 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 ## 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 ## Session Summaries - When user requests session summary, create in docs/session_summaries/ - Format: YYYY-MM-DD-descriptive-name.md - Keep concise: changes made, commits, results (net line count) - See existing summaries for reference format ## Common Commands - Build: make - Run: ./orbit_sim [config_file] - Test: make test - See README.md for full build instructions