Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create mechanism for "options"-based skin over formula-based visualizers #541

Open
gwhitney opened this issue Feb 20, 2025 · 1 comment
Open
Labels
ui Something having to do with the user interface visualizer Has to do with a visualizer or the visualizer subsystem.

Comments

@gwhitney
Copy link
Collaborator

We discussed in today's meeting that the new formula-based interfaces for Turtle and Chaos, not to mention the new FormulaGrid visualizer itself, are very powerful, but potentially forbidding/unclear to new users, and might not provide the best ways to get a "foothold" on the range of possible ways that a formula-based visualizer can be used.

To address this, we plan to allow "underlying pre-Visualizers", typically based primarily on formulas. These will not necessarily be directly runnable as Visualizers; they might not even have full paramDescs, but just ordinary member data that must be set in a constructor, say (the precise details are not yet worked out here). Instead, we will have a hopefully lightweight "SkinVisualizer" adapter that will take one of these pre-Visualizers, a full paramDesc with its own options (perhaps often Enum lists of presets, etc.,) and a mechanism for translating its params into the data needed by the pre-Visualizer), and presumably little else besides these components. Then the SkinVisualizer will automatically have two "modes" selectable by a toggle at the top, maybe called "Options" and "Formulas" (or maybe the names will be customizable).

The idea is that the Options mode will be the default, more approachable interface to the visualizer that may be limited in power but will also provide various "good starting settings" to get underway in various directions with the visualization concept, and when you start to bump up against the limitations of the Options mode, you can switch to Formulas mode and get all the unfettered power, at the cost of there now being more details to fill in -- but they will initially be pre-filled for you with whatever the translated settings were from the last thing you ran in Options mode.

The idea is that we would put Turtle List mode (corresponding to Options) and Formula mode into this paradigm, and FormulaGrid would go away as a standalone visualizer; instead, it would become the pre-visualizer for both Spiral and Self-Similarity visualizers (so they would become identical when you put them each into Formula mode).

This will nicely separate visualizer behavior from some details of the control interface, and encourage creation of visualizers that are both powerful-under-the-hood and easy-to-get-started-with.

@gwhitney gwhitney added ui Something having to do with the user interface visualizer Has to do with a visualizer or the visualizer subsystem. labels Feb 20, 2025
@gwhitney
Copy link
Collaborator Author

Given this plan, I will bump all Grid and Self-Similarity issues to beta, and move ShiftCompare to the workbench.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ui Something having to do with the user interface visualizer Has to do with a visualizer or the visualizer subsystem.
Projects
None yet
Development

No branches or pull requests

1 participant