Restructure library dependencies and naming convention
Closed this issue · 0 comments
MStachowicz commented
Having moved over to a 'true' ECS, there are many areas of code needing cleanup. The below list is an extensive collection of changes which should make the code much simpler.
- Remove Interface library
- Rename OpenGLAPI to OpenGL
- Move GLFWInput to Input library
- Move OpenGL related classes into "namespace OpenGL" and rename (e.g. OpenGLWindow - > OpenGL::Window
- OpenGLRenderer
- OpenGLWindow
- Shader
- MoveTexture into Data namespace
- Move TextureManager and MeshManager into Manager namespace
- Move subscribing to ECS inside the OpenGL::Renderer constructor
- Move Camera to Data
- Rename namespace util to Utility
- Consolidate Utility libraries into the Utility lib
- Logger
- FileSystem
- JobSystem
- Put all utility classes inside the Utility namespace
- Remove Types.hpp?
- Rename Managers to Systems
- Move Input into Systems namespace
- Add a SceneSystem
- Move Renderer scene construction into the SceneSystem
- Move OpenGL folder into source root
- Move OpenGLRenderer up into application
- Rename Renderer to Editor
- Put Editor into UI namespace?
- Add Platform lib abstracts away getting a platform specific window and input listener.
- Window class
- Input class -
Window and input are tightly coupled (in GLFW anyway) so a propesed API is:
Platform::Window::hasActionBeenRequested(Action)
- Remove InputSystem usage of ImGui for mouse