Skip to content

Comments

refactor(code): Improving code quality#5

Merged
MomdAli merged 8 commits intomainfrom
refactor/code
Jun 9, 2025
Merged

refactor(code): Improving code quality#5
MomdAli merged 8 commits intomainfrom
refactor/code

Conversation

@MomdAli
Copy link
Owner

@MomdAli MomdAli commented Jun 4, 2025

This pull request introduces significant restructuring and modularization of the project, particularly in the build system and the Editor module. Key changes include splitting workflows for documentation, modularizing the CMake setup, and removing unused code from the Editor's asset management components.

Workflow Improvements

  • .github/workflows/build.yml: Removed documentation build and deployment steps from the main build workflow.
  • .github/workflows/docs.yml: Added a dedicated workflow for building and deploying documentation to GitHub Pages, enabling manual triggers and improving modularity.

Build System Modularization

  • CMakeLists.txt: Refactored the main CMake setup to modularize source files and dependencies. Subdirectories for Math, Utils, Engine, and Editor are now added explicitly, and the main executable links against modular libraries. [1] [2]
  • Editor/CMakeLists.txt: Introduced a dedicated CMake file for the Editor module, creating a library (VoltrayEditor) with clear dependencies and include directories.

Editor Module Cleanup

Asset Management Simplification

MomdAli added 8 commits June 4, 2025 12:12
- Implemented a comprehensive animation system in the Engine module.
- Created EasingFunctions and EasingTypes to support various easing methods.
- Added AnimationUtil for high-level interpolation utilities.
- Developed AnimationExamples for demonstrating easing functions and interpolation.
- Integrated animation system with MathUtil for seamless usage.
- Created CMakeLists.txt for the Animation module and linked it with the Engine.
- Added tests in AnimationTest.cpp to validate the animation functionalities.
- Updated README.md with usage examples and documentation for the animation system.
- Introduced a simple pyramid model in OBJ format for testing purposes.
- Added default vertex and fragment shaders for basic lighting and texture mapping.
- Implemented outline shaders for rendering wireframe outlines.
- Created skybox shaders for rendering a gradient sky.
- Enhanced CrashLogger to include log directory information.
- Updated ResourceManager to support workspace paths and global assets.
- Improved UserDataManager to initialize global assets from build resources and create directory structures dynamically.
- Added functionality to detect development environment based on Resources folder presence.
- Introduced AssetFilter class to manage asset filtering logic.
- Updated AssetProvider interface to include methods for retrieving asset filters and display names.
- Implemented GlobalAssetProvider and LocalAssetProvider to support new asset filtering features.
- Refactored AssetBrowserWidget to integrate asset filtering options and improved UI for asset management.
- Created new AssetsPanel class to manage asset browser and providers, enhancing modularity.
- Updated EditorApp to handle workspace changes and update asset providers accordingly.
part of codebase cleanup.
- Improved error handling and user feedback in asset operations.
…the build for faster build time in the future
…pose configuration; update .gitignore and README for Docker integration
@MomdAli MomdAli merged commit a59d2ed into main Jun 9, 2025
4 checks passed
@MomdAli MomdAli deleted the refactor/code branch June 9, 2025 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant