1. A computer-implemented method comprising: selecting, in response to a user input, two or more modules from a procedural model library, each module being described by an array of values for parameters of the module and specifying a sequence of one or more methods that modify a state of each module; specifying a hierarchy comprising the two or more selected modules to construct a procedural model, at least one module of the two or more selected modules specifying a geometry to be drawn according to the methods of the at least one module; and executing the constructed procedural model to draw a graphical structure comprising one or more geometries specified by the two or more selected modules, said executing the constructed procedural model comprising: executing the two or more selected modules according to the specified hierarchy, said executing the two or more selected modules comprising: sequentially executing the one or more methods of each module, said sequentially executing being controlled by one or more curves that control one or more parameters of each method related to drawing the graphical structure.