Variations provide control over the geometric shapes created by the renderer. If you create enough fractals that mostly use the "julia" variation, you will see the characteristic julia shapes over and over.
One exciting capability of flame fractals is the immense variation type library. New variation types are being created all the time, so in the future, you have lots of new shape possibilities.
Fractal Architect's variation library is written in OpenCL C. Custom variations will be fully usable for both CPU or GPU rendering.
New variation types can add new exciting shapes to your fractals. Writing variations is actually programming in the OpenCL C language and can require both programming skills as well as knowledge of computer graphics and analytical geometry. So for most Fractal Architect users, writing new variation types is a very difficult task. But the hope is that some advanced users will create their own variation types, export their Custom variation library, and share that library with the fractal community on websites like deviantart.com.
Another thing you can do is to take an existing variation type, duplicate it and modify the copy, and name the changed variation with a new name showing that is a derivative of another classical variation type. This can be surprisingly easy to do, even for non-programmers. The app has the ability to do these steps for you.
You can look at the source code for the entire Factory Variation Library. You cannot modify the factory variation types' source code. You can duplicate a factory variation type and modify that. (It will have a new derived name. The app does not allow to use the same name again that a factory variation type has.
If you paste Apophysis variation source code into the custom variation source editor, you can click the Convert Apo Plugin button to transform its syntax to Fractal Architect's compatible syntax.
When you are done creating your new variation type, test compile it. Any syntax errors found will be reported back to you.
Once your custom variation can be compiled successfully, you will be able to create new Variation sets that include your own custom variation. At that point, select that new variation set. Use your new custom variation like any other.
The only required tool is the app itself. The OpenCL C compiler is embedded in the app and basic text editing is provided too.
Editing the custom variation's source code in your own favorite programming editor like Textmate or BBEdit is supported too.