Fusion
Fusion copied to clipboard
Modular Fusion conversion
The goal of this pull request is to refactor the Fusion library to match the Modular Fusion aspects brought up in #40 so that the load can be lifted off of everyone's shoulders.
The structure in this refactor on a library level is the same as discussed: Core, Instances, Motion, and State. PubTypes and Types files are present if they had corresponding components within their respective library. To have a constant location for where log messages were within each library, there is a Logging folder that holds a module for the messages within that library. This file is then pulled by the messages module that was originally used to store all messages.
One issue present with the implementation right now is the same issue brought up in #40: libraries with the same name leading to assigning conflicts.
Currently, the test cases need to finish being refactored to match the way everything is structured. However, I wanted to make sure that this was in accordance with the desire behind the original idea of Modular Fusion before doing more, as this was my interpretation of what was brought up.
If there are any glaring issues, then let me know and I will try to fix them immediately.
While I appreciate the effort, I hadn't finalised that proposal yet (was still in evaluation) and generally I don't accept pull requests for an issue until they're properly finalised and approved - not to mention I don't plan to make any large changes to the upcoming v0.2 that I don't have to make, so this will likely be waiting a while.
Ok, thanks for informing me! I had thought that the proposal was finalised due to the proposal including library import means similar to what most programming language have for their libraries, namely Java, Dart, and C# as references. I will try to keep the pull request up to date so that it can be smoothly integrated in the future, whether it be as a reference for what Modular Fusion could shape into or the final vision for Modular Fusion.
This branch is sufficiently out of date that I think it'd likely be easier in the future to restart this work from scratch.
Ideally we would have a solid vision about what we're looking for by then, seeing as the lack of vision is what held back this idea from earlier implementation. Right now however it does not seem appropriate to continue keeping this PR around.