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. From the current dialog you can change the parameters of any command, add commands, and delete commands.
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.|
If you expand the Commands list for any shape, you will see the entire contents of its command list. Select any command to edit or delete it. You will notice that whatever command you have selected, the appropriate editing boxes appear to the right. When you have the command list selected, the "Append Command" set of buttons is activated. You can use these to add a new command to the end of the list. These will start out with their parameters randomized, but you can change them to whatever you want. If you select a specific command in the list you will also see the "Insert Command Before Selection" set of buttons. Use these to insert a new command into a specific location in the list. (Position of the command will have an effect on its spatial consequence.)