An arrow's endpoint can connect to a point along another arrow's line, not just to a shape. This is the classic sequence-diagram pattern: messages attach to a lifeline (itself an arrow) at a chosen height, and stay attached as the lifeline moves.
Snapping to a line
While you drag an arrow endpoint near another arrow, that arrow reveals a row of evenly-spaced snap points along its length. The endpoint snaps to the nearest one, so connections line up neatly rather than landing at arbitrary spots.
- Shape anchors take priority. If your cursor is also near a shape's connection anchor, that pins as usual; arrow snapping only kicks in when no shape anchor is in range.
- A connected endpoint draws filled, the same way a pinned endpoint does, so you can tell at a glance that it is attached rather than floating.
- This works both when you reposition an existing endpoint (the snap dots appear live as you drag) and when you draw a brand new arrow, whose ends connect to a nearby line on release. You do not have to drop the arrow and nudge it afterwards.
A persistent, dynamic connection
The connection is not a one-off placement. The endpoint stores a position along the target line, and it resolves its exact location from that line on every render. The practical result:
- The endpoint tracks the target as the target arrow moves.
- It keeps up as the target reshapes between straight, curved, and angled styles.
- It follows even as the target's own endpoints move.
So an attached message rides along its lifeline, staying at the same relative height however you rearrange the diagram.
Tidying up
Deleting a target arrow also removes the arrows attached to it, so you never leave a connector dangling from a line that is gone.
For a sequence diagram, draw your lifelines first as long vertical arrows, then draw each message across them, the snap points make it easy to keep messages evenly spaced down the page.
Was this article helpful?