This is where data-oriented design really shines, without even considering the excellent performance. It affords a purity in design very similar to what's achievable with functional programming. Granted, what you describe very much sounds data-oriented, with the exception of a high degree of coupling, and that would squarely place it in OOP territory.
>The experience was me slowly going insane from the sheer amount of jumping around files and the need to keep in my head 30 different strongly-typed aliases to std::string.
As for that problem, I've been meaning to try this person's approach since I'm pretty sure they're a genius ever since reading it.[0]
Likewise doing a projects in a small number of giant files can be beautiful. Sokol exemplifies this.[1]
>The experience was me slowly going insane from the sheer amount of jumping around files and the need to keep in my head 30 different strongly-typed aliases to std::string.
As for that problem, I've been meaning to try this person's approach since I'm pretty sure they're a genius ever since reading it.[0]
Likewise doing a projects in a small number of giant files can be beautiful. Sokol exemplifies this.[1]
[0] https://news.ycombinator.com/item?id=23800729
[1] https://github.com/floooh/sokol/blob/master/sokol_gfx.h