Small, safe steps with commits after each:
Step 1: Extract geometry.py → Commit → Test
Step 2: Extract road.py → Commit → Test
Step 3: Extract visualization.py → Commit → Test
Step 4: Simplify main.py → Commit → Test
Final: Push branch → Open PR → CI validates → Merge
Key Principle: After each step, the application still works perfectly.
Why small steps? Easy to identify what broke, easy to undo.