DRAWSVG includes a constraints manager.
Constraints are defined in the document (with defs elements) and applied to the elements (with drawsvg:constraints attribute).
The constraints are executed automatically on modification of the associated elements and propagated on the impacted elements.
The management of constraints is transparent for the user.
Constraints are typed and have modifiable properties.
Constraints properties can be edited and removed with the selected element properties dialog and its constraints tab panel.
The execution of constraints can be started explicitly.
Constraints have a priority property that can be specified to control the order of execution on an element.