Need to Divide Canvas in Multiple Parts

I want to divide Diagram Canvas in Multiple Parts.

Just like a swim lanes. The concept is same like in swimlanes Nodes cant change the Lane. and here nodes can’t change the canvas parts.

The limitation i am facing with swimlanes is, if i have too many components on the diagram then i need to manually resize the lanes. Usually we add components on canvas and canvas itself manages the Area.

So how can i implement such scenario ?

I don’t understand what the problem is. Unless the user has resized a lane in order to specify its breadth, the lane will automatically increase in breadth to accommodate whatever Nodes and Links it has.

That’s the current behavior in Swim Lanes. Try selecting a bunch of nodes and links and (while holding down the Shift key to permit dragging into another lane) move (or copy) them into another lane. If the contents are broad enough, the lane will automatically increase in breadth. You may need to hit the “Layout” button to force a layout to occur.

Conside i have a pallette and Digram has only 2 Vertical Swim Lanes.

Now think of this way, that user is drawing some diagram. There is no TreeView there. I mean user can put any object anywhere he wish to put. so now when user is dragging a new node from pallette and he will try to drop on the Lane 1 what if there is no space available in the Lane. I mean assume that its almost full or assume that user wants to drop that node in the Right Side of all the nodes (as shows with red in the image). So will the breadth of the Lane increase automatically while dropping ?

Assuming a drop adds to the Group that the Node is dropped in, and assuming that there’s not enough breadth (a.k.a. width in this case), and assuming the user hasn’t already set the width of the group/lane, then yes.

But by default if the user has specified the width of a lane, then it’s fixed to be that width. But you can set the width to NaN to allow it to grow and shrink based on the contents, assuming that there is a Group.placeholder.