1. A method comprising: receiving a selection of an area; receiving a selection of a predefined pattern from a plurality of predefined patterns, the selected predefined pattern corresponding to a procedural model that was used to generate the selected predefined pattern, wherein the procedural model is defined in a way that is suitable for genetic exploration, wherein each predefined pattern in the plurality of predefined patterns corresponds with a respective procedural model, wherein each procedural model comprises at least one region query and at least one populate procedure; generating a pattern based at least in part on the selected predefined pattern by modifying the procedural model and using the modified procedural model to generate the pattern; and applying the generated pattern to at least a portion of the selected area.