-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The VisualizationState is the Single Source of Truth for all Hydroscope state. Unfortunately this has resulted in a very large file. It would be good to refactor this into semantically differentiated sub files, so it's more readable and maintainable.
Any new files should be in a distinct subdirectory underneath ./src/core. The resulting set of files should still offer a clean encapsulated API. Ideally this refactoring should not require changes at the callsites. Along the way, dead code should be pruned and redundant code consolidated. If legacy APIs are required after the refactoring to maintain callsite compatibility, the legacy APIs functions should be in their own file.
One reasonable approach is to keep the existing external API in ./src/core/VisualizationState.tsx, but move some of the complex functionality into separate subfiles underneath.