You can use these to add a new command before the currently selected command in a shape's command list. (Position of the command in the list will have an effect on its spatial consequence.) This new command will start out with its parameters randomized, but you can change them to whatever you want.
Each shape in a design maintains a variable-length list of operations in an internal language. This list can be modified in mutation to lengthen, shorten, and recombine with others. These commands are run on each shape as it goes from genotype to phenotype.
These are the commands in our language:
|Cuts a piece out of a shape. Takes two parameters both from 0-1: Start of cut and length of cut. (Opening is notoriously flaky. If you see odd results do not be too surprised.)|
|Moves a shape in the X, Y, and Z directions. Takes three parameters.|
|Scales a shape in the X, Y, and Z directions independently. Takes three parameters.|
|Rotate a shape in the XY plane by a certain number of degrees. Takes one parameter.|