bryanedds / Nu

Repository hosting the open-source Nu Game Engine and related projects.
MIT License
1.05k stars 151 forks source link

Come up with the best way to split Gaia.fs into multiple files / more types. #793

Open bryanedds opened 2 months ago

bryanedds commented 2 months ago

Gaia.fs is currently over 4600 lines of code. And like a typical ImGui program, each of those lines has access to a significant number of mutable state variables. If left in a single file, I could see it growing up to 8, 12, or even 20 klocs as Nu is applied to the large commercial software titles.

I have recently done some nice refactoring on the file in preparation for splitting it up. However, I'm not 100% sure of what the ideal methods are for splitting a larger ImGui program like Gaia.

It might make sense to look at other project's approaches to splitting large ImGui programs for guidance.