The xforms tab is the largest and most complicated of the program and contains 4 nested sub tabs. The structure and shape of the flame is governed by the xforms and their relation to each other, so the bulk of your time editing will be spent here.

Some operations can be applied to multiple xforms depending on what is checked on the Select tab. If none are selected, the operation will apply to the current xform.

Current xform

The number shown in the combo box is the index of the currently selected xform, and the string is the user supplied xform name. The color square is just an identifier to help you visually distinguish between them. The X axis of the affines on the main window will be drawn with this color.

You can cycle through the xforms when focused outside of a spinner control and pressing the + = or – _ keys to cycle up or down, respectively. You can also select a specific xform by pressing the F1-Fx function keys.

The values on all controls within the xforms tab will be from this current xform.

Add xform

Add an empty xform to the current flame and set it as the current one. It will have one linear variation and its affine transforms will be set to the identity matrix.

Add linked xform

Add an xform whose xaos values are:

From: All xaos values from the current xform are zero when going to any xform but the new one added, which is 1.
To: The xaos value coming from the current xform is 1 and the xaos values from all other xforms are 0, when going to the newly added xform.

Take different action when a single xform is selected vs. multiple:

Single: Copy the current xform’s xaos values to the new one.
Multiple: Set the new xform’s xaos values to 1, except the last entry which is 0.

Duplicate selected xform

Make a copy of the selected xforms and add them to the end of the xforms list and set the last one as the current.

Attempt to preserve xaos when adding xform copies. Note this is not an exact xaos copy, but just a preservation of some values based on position. So be sure to check xaos when duplicating xforms to ensure it has the state you desire.

Duplicating xforms when xaos is present will result in xaos rows and columns that are the same as the xforms being duplicated, with the new row and column area having values of 1.

Press Ctrl to set existing xaos rows and columns in the new xforms to 0, and set the new row and column area to 1.

Clear selected xforms' variations

Delete all variations from the selected xforms.

Delete selected xforms

Delete the selected xforms from the flame. Note that there must always be at least one xform present, so if all are selected, the last one will not be deleted.

Add final xform

Add a final xform if one is not already present. Note that selecting multiple xforms does not apply here.

When you delete the final xform, a copy is kept in a cache on a per-flame basis and will be used if you re-add the final xform. This makes it easy to add, remove, then add back for testing its effect. This is not saved with the xml file and is solely for interactive editing.


The probability that the current xform will be chosen among the others during iteration. Note that all weight values are normalized before iteration begins. The normalized value is shown in parentheses.

Adjusting this value will alter the display of the probability table in the Xaos tab in real-time.

Equalize weights

Set all xform weights to be 1 / xform count.


Optional name for the current xform to help identify it more easily.


Toggles the animate boolean which specifies whether this xform will be used in animation. This value is only saved to the Xml for usage with sequence generation and has no effect on rendering within the program.

If the Apply All checkbox in the Flame tab is set, the following behavior takes place:

If the current xform is the final one, then the checkbox value is applied to the final xform of all flames which have one.

If the current xform is non-final, then the checkbox value is applied to the xform at this position in all flames.