create mechanism for "options"-based skin over formula-based visualizers #541
Labels
ui
Something having to do with the user interface
visualizer
Has to do with a visualizer or the visualizer subsystem.
Milestone
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.
The text was updated successfully, but these errors were encountered: