This pretends to show a sheet of paper with the diagram on it.

Both the DraggingTool and the ResizingTool are constrained to keep the nodes within the area of the sheet of paper, minus the margins. The user can zoom and scroll/pan normally. There are several variables, such as pageSize, that govern how the sheet of paper is set up.

The Legend is implemented with a template that is assumed to only be used for a single Part. It is located at the bottom right corner of the usable area. Its text can be edited, and the legend adapts in size automatically.

GoJS Features in this sample