Took the path of least resistance to fix this bug. Yet, this fix is somewhat incomplete. In DiagramCanvasController::moveSelection(Point) it would be better to consider the case where dragging a nested node would not affect one or more of the boundaries of the enclosing node (e.g having 2 nested nodes in a package node and dragging only one of them). In this case, we would not have to check the enclosing boundary for being out of canvas range. Incidentally, this creates an upper bound on the moving speed of a node when the enclosing boundary is close to the canvas edge.
Took the path of least resistance to fix this bug. Yet, this fix is somewhat incomplete. In DiagramCanvasController::moveSelection(Point) it would be better to consider the case where dragging a nested node would not affect one or more of the boundaries of the enclosing node (e.g having 2 nested nodes in a package node and dragging only one of them). In this case, we would not have to check the enclosing boundary for being out of canvas range. Incidentally, this creates an upper bound on the moving speed of a node when the enclosing boundary is close to the canvas edge.