Skip to content

Layout rules ​

Crossings, slopes and flows through a shape live only in the DI coordinates. The XML diff looks clean, the rendered diagram knots, and no structural rule sees it. These rules decide on waypoints and bounds, never on guesswork.

A flow routed through an unrelated shape ​

flow-through-element/invalid.bpmn
Reported model for flow-through-element
Clean model for flow-through-element
1 finding
  • flow_reopen Sequence flow is routed through element <serviceTask_assessTicket>
A sequence flow routed through an unrelated shape's body. Read the rule
The same process, drawn so the rule stays quiet. Read the rule

Two flows crossing ​

flow-crossing/invalid.bpmn
Reported model for flow-crossing
Clean model for flow-crossing
2 findings
  • flow_finalized Sequence flow crosses <flow_orderRevised>
  • flow_orderRevised Sequence flow crosses <flow_finalized>
Two sequence flows whose drawn paths cross each other. Read the rule
The same process, drawn so the rule stays quiet. Read the rule

A flow docked onto the wrong side ​

flow-connection-side/invalid.bpmn
Reported model for flow-connection-side
Clean model for flow-connection-side
2 findings
  • flow_toDecision Sequence flow connects to <gateway_approved> on a diagonal; a gateway must connect at one of its four tips
  • flow_revise Sequence flow enters <userTask_reviseOrder> from the left; an activity must be entered from the right
A sequence flow docked onto the wrong side of a shape. Read the rule
The same process, drawn so the rule stays quiet. Read the rule

A target drawn off the row ​

flow-target-alignment/invalid.bpmn
Reported model for flow-target-alignment
Clean model for flow-target-alignment
1 finding
  • flow_archived Sequence flow connects <subProcess_archiveOrder> to <endEvent_orderHandled> at a different height; an outgoing flow's target should sit at the same height as its source
A flow's target drawn off the row, sloping the main path. Read the rule
The same process, drawn so the rule stays quiet. Read the rule

A flow that runs diagonally ​

flow-orthogonal/invalid.bpmn
Reported model for flow-orthogonal
Clean model for flow-orthogonal
1 finding
  • flow_reject Sequence flow <flow_reject> runs diagonally; use only horizontal and vertical segments
A sequence flow that runs diagonally instead of horizontal and vertical. Read the rule
The same process, drawn so the rule stays quiet. Read the rule

All five are non-blocking layout hints at warn in both recommended presets. See Presets.