Project Raygine #11 - restructuring
There's currently a lack of structure the way the code is organized. I need to work this out before there's even more code. Until now, I didn't care much about structure, making progress was more important. Besides, I didn't know what to plan for, so I deferred this task. I think now is a good time to do this.
Here's what I'll change:
- No more global variables: In most of my Lua projects, I have a zero global policy. I'll establish the same here; everything will be accessible as module, loaded via `require`.
- Module structure changes: I want to have a clear separation between the editor and the runtime and the files that are shared between them.
- All raylib functions, currently globals like "rl_shapes" or "rl_mesh" will be moved into "raylib.*", so "raylib.input" for example.
- The imgui bindings will be moved into "imgui.*"
- The editor will be moved into "raygine.editor.*"
- The runtime will be moved into "raygine.runtime.*"
- The shared files will be moved into "raygine.shared.*"
Likewise, the project files will be restructured into respective directories. So there's visually right now nothing new, but I still want to keep including screenshots of the editor here in the logs, so here it is: