Organising with Boundaries
Boundaries are the organisational containers in a C4 diagram. They visually group related elements, represent architectural partitions, and can be bound directly to Domains in your Nodinite Repository.
In a large landscape, boundaries are also a navigation tool — you can collapse them to reduce clutter, focus on a single boundary to highlight it against a dimmed background, or isolate one boundary by hiding everything else.
What Boundaries Represent
The C4 model defines three boundary types, each mapped to a layer of your architecture:
| Boundary type | Represents | Typical contents |
|---|---|---|
| Enterprise Boundary | Your whole organisation or a large division | Systems, System Boundaries |
| System Boundary | A single Software System | Container shapes |
| Container Boundary | A deployable unit (API, app, service) | Component shapes |
In Nodinite, a boundary can be bound to a Domain. When you bind a boundary to a Domain, the boundary header displays the Domain name and the boundary becomes a live representation of that Domain. Changes to the Domain name in the Repository are reflected automatically.
Adding a Boundary from the Toolbox
- Expand the Boundaries section in the Toolbox (visible in Draft mode only)
- Drag a boundary type onto the canvas
- Drop it at the position you want — the boundary is created with a default size
- Resize by dragging the bottom-right handle
- Drop element nodes inside the boundary to assign them to it
Binding a Boundary to a Domain
Open the Boundary Inspector by clicking the boundary header. Use the Domain Binding field to search for and select a Domain from your Repository. Once bound:
- The boundary header shows the Domain name
- The boundary hamburger menu gains actions: View Domain, Quick Edit Domain, and Go to Edit Domain (new tab)
- If the Mapify feature is enabled: Show in Mapify and Show in Mermaid become available
Use the Unbind button to remove the association at any time.
Moving Elements Between Boundaries
To move a node into a different boundary, simply drag it. When you release the mouse button, the Designer checks which boundary most tightly contains the node's centre point. If that boundary is different from the node's current parent, the node is automatically reparented.
A boundary drop-target highlight appears on the target boundary while you drag — a visual cue showing which boundary will adopt the node when you release.
A node's parent boundary determines where it appears in the Mermaid output and in drill-through navigation. Reparenting a node also updates the Mermaid representation immediately.
Moving a boundary with its contents
Drag the boundary header to move the entire boundary. All elements inside the boundary — including any nested child boundaries — move together, maintaining their relative positions.
Collapsing and Expanding Boundaries
Each boundary has a collapse/expand toggle button in its header. Collapsing a boundary hides all of its contents and shrinks it to a minimal size.
| Action | Effect |
|---|---|
| Collapse | Children are hidden; boundary shrinks to its header; connectors reroute to the boundary edge |
| Expand | Children are restored; connectors return to their original endpoints |
Connector rerouting: When a boundary is collapsed, any connector that would normally connect to a hidden node is rerouted to attach to the collapsed boundary's outline. The connector still shows its label and protocol but connects to the boundary box rather than the individual node. Expanding the boundary restores all connectors to their precise endpoints.
Persistence: Collapse states are saved to browser local storage. If you close and reopen the diagram, boundaries are restored to their last collapsed or expanded state.
Focus Mode
Focus mode dims the entire canvas except for one boundary, which is raised to the foreground. Use it when you want to present or inspect one part of a complex diagram without visual distractions.
To enter Focus mode:
- Open the boundary's hamburger menu (three-line icon in the boundary header)
- Choose Focus from the menu
To exit, click anywhere outside the elevated boundary.
Isolate Mode
Isolate mode collapses all sibling boundaries and leaves only the selected one expanded. Where Focus mode is a visual overlay effect, Isolate mode actually modifies the collapse state of other boundaries.
Use Isolate mode when you want to explore a single Domain in detail without the distraction of adjacent boundaries.
Access Isolate through the same boundary hamburger menu.
Nesting Boundaries
Boundaries can be nested inside other boundaries. To nest a boundary, drag it so that its centre point falls inside another boundary and release. The inner boundary becomes a child of the outer one.
A common pattern is an Enterprise Boundary containing several System Boundaries, each of which contains Container Boundaries.
Automatic ancestor expansion
When you move or resize an element so that it extends beyond its parent boundary, the parent boundary automatically expands to contain it. This expansion continues up the nesting chain — all ancestor boundaries grow as needed to ensure no element overflows.
Frequently Asked Questions
I moved a node but it went into the wrong boundary
Drag the node again and aim for an empty area of the correct boundary. The boundary must contain the centre point of the node to adopt it. If boundaries are overlapping, the smallest containing boundary wins.
My boundary collapsed but I cannot expand it — the expand button is gone
If you have collapsed a boundary and then zoomed out, the boundary may be very small. Zoom in on the boundary header area to see the expand toggle button.
Boundary headers are not showing the Domain name after binding
The Domain binding takes effect immediately, but if a re-render has not occurred since the binding, refresh the page or move any element to trigger a re-render.