Manual Layout
Every view is either in manual or auto layout mode. In manual mode, you position elements yourself by dragging them; in auto mode, one of the layout engines positions everything automatically on each render.
Which mode a view is in
Section titled “Which mode a view is in”A view is in auto mode only if its DSL explicitly includes an autoLayout statement:
systemContext mySystem "Context" { include * autoLayout}Without an autoLayout statement, the view defaults to manual — this follows Structurizr DSL semantics, where the absence of autoLayout means positions are taken from the view’s saved layout data rather than computed.
Toggle the mode from the Inspector’s Layout tab when the view itself is selected (click empty canvas space to deselect any element first).
Where manual positions are stored
Section titled “Where manual positions are stored”Manual layout positions are not written into the .dsl file itself. They live in a separate sidecar file next to it: workspace.dsl → workspace.dsl.layout.json. The DSL file stays the canonical source of the model; the sidecar only records where things sit on the canvas.
Switching modes is non-destructive
Section titled “Switching modes is non-destructive”Switching a view from manual to auto and back doesn’t lose your manual positions — they stay in the sidecar and are restored when you switch back to manual. There’s no confirmation prompt for this toggle because it’s fully reversible.
Dragging and frames
Section titled “Dragging and frames”- Dragging a leaf element repositions just that element.
- Dragging a container or group that has child elements moves the whole group together, and the frame automatically resizes to keep all children inside its boundary.
- Edges stay attached to whichever side of an element is closest to the other end, recalculated as you drag.
See also
Section titled “See also”- Canvas & DSL Editor — General canvas interactions
- View Settings — Layout engine and direction options for auto mode
- File Types — What the
.layout.jsonsidecar file is