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.
This factors out the wheel-type data structure found in multiple effects. Branch was from 2-3 months ago actually, now found it again and rebased (#500 had to go before). Not sure if I'm quite happy with how this turned out, perhaps after going full dataclass effects I might turn
WheelEffect
into a subclass ofEffect
(conceptually more reasonable), but that's for later. The wheels were anyway a major roadblock for the dataclasses, so to keep the PRs at a reasonable size, I decided to make this change separately, as it can (mostly) exist on its own.Perhaps I'll keep this as a draft until #494 is merged and then merge (or rebase) that in, because #494 also uses wheel-type effects and thus should be included here, but I don't want to make @oczoske's life even harder in that PR...