Fractal Architect 5 Help Index

Lua Variant Script Catalog


Applies to:FA 5

See also: Configuring Script Arguments

Fractal Architect now has so many Variant Lua scripts. This is a catalog of them by Category.

Script Index by Category

Splicing
inlineConcat.lua
inlinePlusMatricesConcat.lua
postConcat.lua
postPlusMatricesConcat.lua
preConcat.lua
prePlusMatricesConcat.lua

Inserting Variations + Parameters (Varpars)
addNormalVarPar.lua
addPostVarPar.lua
addPreVarPar.lua
addNormalVarParFinal.lua
addPostVarParFinal.lua
addPreVarParFinal.lua

Adding New Pre/Post Variation Groups
appendNewPostGroup.lua
prependNewPostGroup.lua
appendNewPreGroup.lua
prependNewPreGroup.lua
appendPostMatrix2d.lua
appendPreMatrix2d.lua
prependPostMatrix2d.lua
prependPreMatrix2d.lua

Mangling Variation Group Chains Category
randomizeChains.lua
randomizeStraightChains.lua

Crackle & Hypertile Helper Scripts
addCrackle.lua
randomizeCrackle.lua
hypertile1.lua
hypertile2.lua
randomizeHypertile.lua

Sub-Flame Scripts
addSubflameXform.lua
addSubflameFinal.lua

Layerz Support
layerWeights.lua

Final Transforms
addRandomFinalXform.lua
addRandomDualFinalXform.lua
addRandom3FinalXforms.lua

Color Gradient
analogousColors.lua
complementaryColors.lua
grayscaleColors.lua
monochromaticColors.lua
rotateColors.lua
randomColors.lua

How to Setup the Script Arguments

The app’s Script Arguments popover is used to configure a script’s input arguments.

Open the popover, then select the Script Args tab.

Enter the input argument’s name plus its value into the table. (Click the + button to add a new row to the table first.)

Splicing Category


These scripts splice another fractal onto this one.

They all have a script input argument that specifies which main Lua script to use to create the other fractal.

Special Technique

Use “Save Fractal as Lua script” to create a new main Lua script from a fractal. This creates a Lua script that will always create that same fractal.

Otherwise, the other main scripts will always create random fractals. (This is Ok, but sometimes you might want to work with 1 specific other fractal.)

inlineConcat.lua


This tweak script splices (concatenates) another fractal onto this one. The other fractal is created by invoking a Make Random script, i.e. “simil3”.

This fractal is A and the other fractal is B.

For each transform, this is the output variation chain:

A.pre's, B.pre's,  A.variations, B.variations, A.post's, B.post's

Input Arguments:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the other fractal.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

inlinePlusMatricesConcat.lua


This tweak script splices (concatenates) another fractal onto this one. This script includes the other fractal’s pre and post transforms as well (by splicing them in as a matrix variation group).

The other fractal is created by invoking a Make Random script, i.e. “simil3”.

This fractal is A and the other fractal is B.

For each transform, this is the output variation chain:

A.pre's, B.preMatrix, B.pre's,  A.variations, B.variations, A.post's, B.post's, B.postMatrix

Input argument:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the other fractal.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

postConcat.lua


This tweak script splices (concatenates) another fractal onto this one. The other fractal is created by invoking a Make Random script, i.e. “simil3”.

This fractal is A and the other fractal is B.

For each transform, this is the output variation chain:

A.pre's, A.variations, A.post's, B.pre's,  B.variations, B.post's

Input arguments:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the other fractal.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

postPlusMatricesConcat.lua


This tweak script splices (concatenates) another fractal onto this one. This script includes the other fractal’s pre and post transforms as well (by splicing them in as a matrix variation group).

The other fractal is created by invoking a Make Random script, i.e. “simil3”.

This fractal is A and the other fractal is B.

For each transform, this is the output variation chain:

A.pre's, A.variations, A.post's, B.preMatrix, B.pre's,  B.variations, B.post's, B.postMatrix

Input argument:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the other fractal.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

preConcat.lua


This tweak script splices (concatenates) another fractal onto this one. The other fractal is created by invoking a Make Random script, i.e. “simil3”.

This fractal is A and the other fractal is B.

For each transform, this is the output variation chain:

A.pre's, B.pre's,  B.variations, B.post's, A.variations, A.post's

Input arguments:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the other fractal.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

prePlusMatricesConcat.lua


This tweak script splices (concatenates) another fractal onto this one. This script includes the other fractal’s pre and post transforms as well (by splicing them in as a matrix variation group).

The other fractal is created by invoking a Make Random script, i.e. “simil3”.

This fractal is A and the other fractal is B.

For each transform, this is the output variation chain:

A.pre's, B.preMatrix, B.pre's,  B.variations, B.post's, B.postMatrix, A.variations, A.post's

Input argument:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the other fractal.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

Inserting Variations + Parameters (Varpars) Category


Some of the best Lua scripts randomly insert these into the original fractal at various places in each transform’s variation group chain.

The term varpars represents a list of variations + their parameter values.

How to Setup the Varpars List

The app’s Script Arguments popover is used to create the varpars list.

Open the popover, then select the Setup Varpars tab.

Next, check the variation types you want and set their parameter input value ranges.

addNormalVarPar.lua


Randomly insert the input group of variation and variation parameters into the Normal Variation Group of each transform.

Input arguments:

See: How to Setup the Script Arguments

varpars
List of varpars (variations + their parameter value ranges)
See: How to Setup the Varpars List
weight
Probability that the varpars will be inserted into a transform. Range: 0. to 1. Default: 1.

addPostVarPar.lua


Randomly insert the group of variation and variation parameters into the last Post Variation Group of each transform.

Input arguments:

See: How to Setup the Script Arguments

varpars
List of varpars (variations + their parameter value ranges)
See: How to Setup the Varpars List
weight
Probability that the varpars will be inserted into a transform. Range: 0. to 1. Default: 1.
pos
optional parameter indicating which group to insert varpars into - defaults to last

addPreVarPar.lua


Randomly insert the group of variation and variation parameters into the first Pre Variation Group of each transform.

Input arguments:

See: How to Setup the Script Arguments

varpars
List of varpars (variations + their parameter value ranges)
See: How to Setup the Varpars List
weight
Probability that the varpars will be inserted into a transform. Range: 0. to 1. Default: 1.
pos
optional parameter indicating which group to insert varpars into - defaults to first

addNormalVarParFinal.lua


Randomly insert the input group of variation and variation parameters into the Normal Variation Group of each final transform.

If the final transform does not exist, it is created.

Input arguments:

See: How to Setup the Script Arguments

varpars
List of varpars (variations + their parameter value ranges)
See: How to Setup the Varpars List
xformPos
Which final transform to affect. Default: 1 Max: 5.
weight
Probability that the varpars will be inserted into a transform. Range: 0. to 1. Default: 1.

addPostVarParFinal.lua


Randomly insert the group of variation and variation parameters into the last Post Variation Group of each final transform.

If the final transform does not exist, it is created.

Input arguments:

See: How to Setup Script Arguments

varpars
List of varpars (variations + their parameter value ranges)
See: How to Setup the Varpars List
xformPos
Which final transform to affect. Default: 1 Max: 5.
weight
Probability that the varpars will be inserted into a transform. Range: 0. to 1. Default: 1.
pos
optional parameter indicating which group to insert varpars into - defaults to last

addPreVarParFinal.lua


Randomly insert the group of variation and variation parameters into the first Pre Variation Group of each final transform.

If the final transform does not exist, it is created.

Input arguments:

See: How to Setup the Script Arguments

varpars
List of varpars (variations + their parameter value ranges)
See: How to Setup the Varpars List
xformPos
Which final transform to affect. Default: 1 Max: 5.
weight
Probability that the varpars will be inserted into a transform. Range: 0. to 1. Default: 1.
pos
optional parameter indicating which group to insert varpars into - defaults to first

Adding New Pre/Post Variation Groups Category


These scripts modify a transform’s variation group chain by inserting new Pre or Post variation groups.

These can be combined with scripts from the Varpars category by using Custom script lists in the app.

See: Creating Custom Script Lists

appendNewPostGroup.lua


Appends a new empty post variation group to the transform’s postVarGroups.

prependNewPostGroup.lua


Prepends a new empty post variation group to the transform’s postVarGroups

appendNewPreGroup.lua


Appends a new empty pre variation group to the transform’s preVarGroups.

prependNewPreGroup.lua


Prepends a new empty pre variation group to the transform’s preVarGroups

appendPostMatrix2d.lua


Append new first Post-Variation Group to each transform, then insert randomized 2D matrix variations into that new Post Variation Group

appendPreMatrix2d.lua


Append new first Pre-Variation Group to each transform, then insert randomized 2D matrix variations into the new Pre Variation Group

prependPostMatrix2d.lua


Prepend new first Post-Variation Group to each transform, then insert randomized 2D matrix variations into that new Post Variation Group

prependPreMatrix2d.lua


Prepend new first Pre-Variation Group to each transform, then insert randomized 2D matrix variations into the new Pre Variation Group

Mangling Variation Group Chains Category


These scripts mangle the variation group chains of transforms.

randomizeChains.lua


Mix up the Pre, Normal, and Post variation group chains as a variant.

randomizeStraightChains.lua


Create new variation group chain using variations found in input chain - No NEW matrix2d groups will be inserted.x Existing matrix2d groups will be reinserted

Crackle & Hypertile Helper Scripts Category


These scripts make it easy to play with the powerful crackle and hypertile family of variations.

addCrackle.lua


This script adds a new transform containing a crackle variation instance to the fractal.

It also automates finding an existing or creating a new variation set that supports crackle.

randomizeCrackle.lua


This script randomizes the crackle parameters for any crackle variation instance found.

hypertile1.lua


This script adds a new transform containing a hypertile variation instance to the fractal.

-For 2D fractals it adds hypertile1 variation. For 2D fractals it adds hypertile3D1 variation.

It also automates finding an existing or creating a new variation set that supports hypertile variations.

hypertile2.lua


This script adds a new transform containing a hypertile variation instance to the fractal.

-For 2D fractals it adds hypertile2 variation. For 2D fractals it adds hypertile3D2 variation.

It also automates finding an existing or creating a new variation set that supports hypertile variations.

randomizeHypertile.lua


This script randomizes the crackle parameters for any hypertile family variation instance found.

The variations it randomizes:

Sub-Flames Category


These scripts make it easy to add randomized sub-flame variations to your fractals.

addSubflameXform.lua


This tweak script invokes another main random fractal generation script to create a normal Xform that is added to the fractal.

Input Arguments:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the sub-flame fractal instance.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

addSubflameFinal.lua


This tweak script invokes another main random fractal generation script to create a final Xform that is added to the fractal.

Input Arguments:

See: How to Setup the Script Arguments

script
The name of a main Lua script that will create the sub-flame fractal instance.
Its default value: “simil3”.
For example, to use the script “simil4.lua”, set script to “simil4” using the Script Arguments popover in the app.

Layerz Category


These scripts work with fractal layers.

layerWeights.lua


This tweak script randomizes the layer weights.

Final Transforms Category


These scripts work with final transforms.

addRandomFinalXform.lua


This tweak script adds 1 random final transform to the fractal. It expects the fractal to use the Flam3 Legacy variation set.

addRandomDualFinalXform.lua


This tweak script adds 2 random final transforms to the fractal. It expects the fractal to use the Flam3 Legacy variation set.

addRandom3FinalXforms.lua


This tweak script adds 3 random final transforms to the fractal. It expects the fractal to use the Flam3 Legacy variation set.

Color Gradient Category


These scripts work with the fractal’s color gradients.

analogousColors.lua


Make color gradient using Analagous color scheme.

complementaryColors.lua


Make color gradient using Complementary color scheme.

grayscaleColors.lua


Make color gradient using GrayScale color scheme.

monochromaticColors.lua


Make color gradient using monochromatic color scheme.

randomColors.lua


Make random color gradient.

rotateColors.lua


Rotates color gradient a random number of steps.