6. A computing system comprising: at least one processor; and one or more storage medium having stored computer-executable instructions which, when executed by the at least one processor, implement a method for facilitating defining a layout of diagram elements, the method comprising: displaying a representation of a diagram that includes one or more elements comprising one or more shapes or lines; displaying a command line interface that is operable to receive typed input comprising one or more declarative statements, the command line interface being displayed near the displayed representation of the diagram; receiving user input at the command line interface, the user input comprising the one or more declarative statements specifying conditional patterns based on attributes of diagram elements; evaluating the conditional patterns using attributes of the one or more shapes or lines; updating the representation of the diagram based on evaluating the conditional patterns using attributes of the one or more shapes or lines; and displaying the updated representation of the diagram.
6. A computing system comprising: at least one processor; and one or more storage medium having stored computer-executable instructions which, when executed by the at least one processor, implement a method for facilitating defining a layout of diagram elements, the method comprising: displaying a representation of a diagram that includes one or more elements comprising one or more shapes or lines; displaying a command line interface that is operable to receive typed input comprising one or more declarative statements, the command line interface being displayed near the displayed representation of the diagram; receiving user input at the command line interface, the user input comprising the one or more declarative statements specifying conditional patterns based on attributes of diagram elements; evaluating the conditional patterns using attributes of the one or more shapes or lines; updating the representation of the diagram based on evaluating the conditional patterns using attributes of the one or more shapes or lines; and displaying the updated representation of the diagram. 8. The system of claim 6 , wherein the method further includes receiving user input, the user input comprising one or more declarative statements specifying conditional patterns based on attributes of diagram elements comprises receiving conflicting user input, the method further comprising surfacing the conflict to the user.