Chaotica Fractals Forum
https://chaoticafractals.com/forum/

Chaotica 2.0.7 Beta Release
https://chaoticafractals.com/forum/viewtopic.php?f=2&t=2897
Page 2 of 3

Author:  Nick [ Thu Feb 28, 2019 9:54 am ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

However you can edit the camera position, rotation angle and sensor width.

Author:  Boxy [ Thu Feb 28, 2019 10:35 am ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

I can yes, but for example when animating, it's far more better to move camera affine around than moving in main window. That way can change those waypoints and avoid camera doing weird stuff.

Author:  tatasz [ Fri Mar 01, 2019 1:14 am ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

https://docs.google.com/document/d/1JlB ... sp=sharing

Some old chaotica suggestions and requests. Most (if not all) are still valid.

Author:  dhmiller [ Fri Mar 01, 2019 5:03 pm ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

Windows 10 here. I don't see the Node Editor params by default. Just the Grid window.
1. Run Chaotic 2.0.7
2. Open World
3. Click Window/World Editor
Result - inconsistent. On second attempt to do the, the World Editor opened then the Node Editor opened in a separate window with no parameters. Click in the World editor on an affine and you can see the params for just the Angles and offset but no Transforms.
Something is amiss with the Node Editor displaying all values as before.

Author:  Matthew [ Sat Mar 02, 2019 3:40 pm ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

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 Plugins

Pasting 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 Plugins

I 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".

Author:  tatasz [ Sat Mar 02, 2019 5:12 pm ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

Just in case, i strongly disagree with variable mapping.
Most plugins are not interchangeable, and replacing waves3 with waves2 for instance would just create additional confusion for the user.
Also, even if the plugins are similar, there is the issue with the variables of each.

It is a very bad idea which will just create even more confusion for beginners. Experienced users already know how it works and how to add the correct transform to the mix.

Author:  tatasz [ Sat Mar 02, 2019 5:27 pm ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

As for plugin editing, afaik there is a winter tutorial that can be released anytime.
If this material is somehow lost, I can release a version once Nick & Co say what they prefer.

In short:
- you can only load the standard_transforms.xml for now, i think. All you need is to add the transform code to it. New install don't stomp the changes - just use the portable version.
- As for automatic conversion, I strongly recommend you to check the consistency of whatever you did against the APOPHYSIS originals whenever possible. Many JWF implementations are plain weird and were never properly checked. Many JWF implementations are just duplicates of stuff that already exists. Also, Chaotica handles pre_ and post_ transforms differently from Apophysis and JWF. This basically means that a transform such as "post_point_symmetry" should not exist in chaotica - you should rather code a "point_symmetry", which can be used as pre, regular transform and post, since chaotica allows that. Coding pre_ and post_ transforms will just litter your transform collection with duplicates. Also, as far as i know, chaotica handles those automatically: for example, when you import params with pre_spherical, it is automatically converted into a spherical used as pre transform.
- Winter functions are mostly listed in the "winter_stdlib" file, and some appear in the transform list. If you got questions, you can poke me because while I am not as knowledgeable in winter as the Glare posts, I coded quite a few winter xforms myself.
- Workflow: currently its close and re-open. Also, if you want to write plugins, i strongly suggest that you ask the developers for a beta version that displays the bugs in a little cmd window. Most regular betas don't, so when you write a plugin and it crashes, you will not know the reason of the crash. I know i'm not describing it properly, but can provide the devs with a few screenies of what i mean. For instance, to write and edit plugins, I use and older beta that has it, and then test in the latest beta.

Author:  Matthew [ Sat Mar 02, 2019 7:11 pm ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

tatasz wrote:
Just in case, i strongly disagree with variable mapping.


To be clear, I mean something deliberate and not transparent. The Photoshop missing fonts dialog defaults to "do nothing", and is pretty clear that you aren't about to replace things that probably aren't 1-to-1 mappings:

Image

I also don't think this is super important, but in terms of collecting UX improvements around mapping transforms (while the new system is still early), I think it's worthwhile down the road.

Author:  Matthew [ Sat Mar 02, 2019 9:54 pm ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

Actually, thought about the plugin thing a bit on a ride today. (And I hope this doesn't get lost in some random 2.0.X update thread):

- Plugin management and conflicts are an issue now because plugins are black boxes. Let's say two "whatever.dll" plugins are different sizes. Are they the same logic, but compiled in different Visual Studio versions? Different random library? Or totally different altogether?

- Winter variations are clearbox constructs. And there's no need for dll/so/dylib, and _32 or _64 suffixes (to say nothing of "cuda/opencl/metal/etc" variations)

So variations are now just author-time constructs, and shouldn't really be an environment constraint for future edits. Especially if Winter variations can hotload, I don't see any reason a .chaos file couldn't be extended to:

Code:
<flam3_variation name="Transform 15">
   <string name="variation_name">taurus</string>
   <string name="variation_hash">ea81c441930f14155ce55cacd4e14124222a726e</string>
   <params>
      <real name="taurus">0.6279566625110338</real>
      <real name="taurus_r">3</real>
      <real name="taurus_n">5</real>
      <real name="taurus_inv">1.5</real>
      <real name="taurus_sor">1</real>
   </params>
</flam3_variation>


[... rest of file, and then appended to bottom in a <transform_defs> block]

<transform_def name="taurus" hash="ea81c441930f14155ce55cacd4e14124222a726e">
      <node name="input_params">
         <real name="taurus">1</real>
         <real name="taurus_r" notes="Radius">3</real>
         <real name="taurus_n" notes="Number of petals">5</real>
         <real name="taurus_inv">0</real>
         <real name="taurus_sor" notes="Currently not used in Chaotica">0</real>
      </node>

      <node name="internal_params">
         <real name="weight" />
         <real name="r" />
         <real name="n" />
         <real name="inv" />
         <real name="sor" /> #this parameter is used for z axis in the original
      </node>

      <string name="winter_init_function">
         <![CDATA[
            taurus_init_result(taurus, taurus_r, taurus_n, taurus_inv, taurus_sor)
         ]]>
      </string>

      <string name="winter_eval_function">
         <![CDATA[
            let
               ir = (inv * r) + ((1 - inv) * (r * cos(n * p_in.x)))
            in
               vec2(cos(p_in.x), sin(p_in.x)) * (weight * (ir + sin(p_in.y)))
         ]]>
      </string>
   </transform_def>


So all files get their used variations embedded in them directly. It's not a lot of space.

If you open a file without the right "plugins" already in your global environment, it'll alert you (if you're missing them, maybe just offer to save to your variation library). If you have a name conflict, offer to replace with your global library's version. That's probably best as an icon next to the actual transform in world editor, so it's easy to push the change to the undo stack and see what's actually changing, if anything.

Author:  pjkfractals [ Sun Mar 03, 2019 5:10 pm ]
Post subject:  Re: Chaotica 2.0.7 Beta Release

Hi!

I agree with Tatasz on her old chaotica suggestions and requests post march 01, 2019. There are many valid points in that document.

Allthough good work on so far!

Page 2 of 3 All times are UTC
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/