Automatic layout

Every diagram so far placed shapes by hand with at. For flow-style diagrams you can hand placement to SheepText instead. Declare a layout direction and connect the shapes — they arrange themselves along that axis:

layout column (and its sibling layout row) aligns a named set of shapes into a single band. This column stacks three steps top to bottom:

layout group arranges shapes and wraps them in a labelled container in one declaration — no coordinates required:

Automatic layout shines for flowcharts. Combine a downward flow with a layout row for the two branch targets so they sit side by side; style the nodes by role and let the arrows describe the branches:

A second edge between the same two shapes needs no help. SheepText gives each edge its own attachment port, so a return arrow runs parallel to the outbound one rather than on top of it:

Use route above or route below when you want an edge on a particular side — to keep it away from other content, or simply to match how you would draw it. It is a choice about which way an edge goes, not a fix for overlapping lines:

For pipeline diagrams, layout stage labels each phase and arranges its members, much like layout group but tuned for left-to-right flow:

Next: bring in Icons.