Refactor the architecture #165
Draft
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.
The source of lack of any development anytime recently was my burnout - and that, in turn, was caused in no small degree due to the mess the codebase had become
The whole project wasn't designed from the ground up to grow so big, and I never really changed that.
One of the biggest problems was the mixin hell I created, with tight couplings between them. It works, but it's a mess, and no editor can provide any type hints for it. The methods were also strewn about quite randomly, with little structure to them.
So, here is the work in progress refactoring.
Pros:
Cons:
As one might notice, this was done with the help of co-pilot. It's my first time using it to this scale, and I thought it'd be interesting to learn as well.
I wouldn't really call it vibe-coding in this case, as much as vibe-shifting-existing-code-around.
If you have any feedback regarding this architecture, feel free to share.
The current draft is fully functional, using both the old mixins and the new architecture at the same time