Major modules refactoring#53
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
In order to make canopy as expansible as possible, we'll need to separate it into three groups of modules:
Engine
A single core module that groups all core part of the system
Here are present all platform-agnostic logic, as well as interfaces to be implemented by distinct platforms
Note
Input, Data, Core, Logging and Core App were moved together, as they all make part of the core of the whole engine
Platforms
Platform-specific implementations
Here we implement platform specific implementations on systems like input, audio, etc...
We also group platform-specific modules here, like physics or graphics.
Note
If mulitple platforms share the same implementations, we might group them later, such as libgdx/core, libgdx/desktop, libgdx/android, etc...
Tooling
Here are all miscellaneous modules, such as devtools and utils.
Note
Compatibility with previous version: Other than imports and build.gradle.kts updates,
Related Issues
Closes #52
How to Test
Same as before: