Nick wrote:
Any feedback and bug reports welcome!
I'd love to see some UX and guidance around missing plugins (and how to create them):
Missing PluginsPasting in a .chaos file with missing plugins just gives a generic error message about initializing transforms. Ideally, this should be a textbox with a list of missing variation names with a handy "copy to clipboard" button next to it.
Down the road, UX similar to Photoshop's font mapping tool, with best guesses at variable mapping. So if you try to load something with waves3, and it fails, Chaotica would offer to map variables to waves2.
IMO, variations should have an internal author/ID field as well. So on waves2, something like "jwildfire". If there's only one variation with the top-level name ("waves2", here), just show that in the Chaotica world editor dropdown. If there are multiple "waves2", list them as "waves2 (default)", "waves2 (jwildfire)", etc.
Guidance on Writing PluginsI can see the Winter code in standard_transforms.xml. But questions there:
- How to create/load another .xml file? Like jwildfire_transforms.xml. (My recent stuff all uses a set of JWildfire variations that I've automatically converted,
see here for details). Right now, changes will get stomped, and actually on macOS and elsewhere, a new install will stomp that entire folder structure anyway.
- An example post on how to tackle converting existing plugins would be great. Some plugins are quite simple, so that's just a question of where to find a list of Winter math functions. For example, here's the
waves3 source, which is barely modified from waves2. I use
post_point_symmetry a lot. While simple, it's precomputing and storing angles, using randomization, etc, and I'd take awhile to blindly figure that out.
- What's the workflow like for plugin editing? Close and re-open? Clearly something XML could be hot-reloaded. There must be Winter-related tooling at Glare (syntax highlighters as VSCode plugins, whatever). It'd be neat to see in-Chaotica Winter editing to work on a plugin, with changes reflected as close as possible to "as you type".