Casey, I know you touched on this a bit when setting up the build, but I'd like to hear some more about how you're organizing the project into multiple files, and especially how you're choosing what to put in .h vs .cpp, when to #include what, etc.
I'm familiar with the common practice of breaking everything up into a bunch of different compilation units, each with a .h full of forward declarations, macros, and struct definitions, and then a .cpp file with the function definitions separately. But that doesn't jive with the unity build. I understand the basic benefits and rationale of the unity build and I'm on board with that, but I'm having trouble discerning the pattern for how the code is organized so far.