MStachowicz/Spirit

Restructure library dependencies and naming convention

Closed this issue · 0 comments

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