Uses `std::ranges::find_if` for searching in `removeRootObject`, modernizing the code.
Removes an unnecessary comment in CMakeLists.txt.
Simplifies a comment in the Scene.h header file.
Implements a basic scene management system with GameObject and Component structure.
Adds initial support for TagComponent serialization.
Includes Scene class in Core and an AssetManager profiling scope.
Adds scene management system with GameObjects and Components.
Improves asset loading by scanning assets in a background thread and queuing textures for upload. Also displays a progress bar in the file browser for texture loading.
Adds basic component system with TagComponent to identify GameObjects
by a user defined name.
Replaces raw pointers with smart pointers for managing editor windows.
This change improves memory management by ensuring proper deallocation of the Viewport and FileBrowser objects when the Editor shuts down, preventing potential memory leaks.
Improves asset management by adding a shutdown procedure that safely terminates the asset scanning thread. This prevents crashes and ensures a clean exit.
Enhances shader management by introducing shader naming and improved error logging. This makes debugging easier. Also renames the sprite shader.
Fixes a minor bug related to sprite drawing position.
Adds Git mappings for submodules.
Adds shader class to core and modifies the renderer to use it,
while also adding profiling macros and fixing resize issues.
The changes ensure the render target is resized only when the
requested size is different from the current size and also clears
the screen to a dark gray color.
Adds background asset scanning and loading to improve editor responsiveness.
Updates the file browser with grid and list views, filtering, and callbacks for file selection.
Fixes an issue where the asset manager would block the main thread during asset loading.
Removes Assimp dependency.
Changes the asset loading process to use a queue system for texture uploads to OpenGL, which improves performance by offloading the texture loading to the main thread.
The asset manager now directly loads texture data using stb_image and uploads it to the GPU in the main thread, eliminating the need for Assimp.