How to identify the node position

how to identify if the node is on left/right/bottom/top comparative to another node? I tried using Rect.left, doesn’t give correct position.

Either compare their locations, which are Points, or compare their actualBounds, which are Rects.

is there any way to get the old location of the node before drag?

Not in general. If you have enabled the UndoManager, you could look it up in its history. But that’s a bunch of searches you would need to implement.

any example for using draggingTool.computeEffectiveCollection which uses draggingInfo to store old location?

Oh, right:

const tool = myDiagram.toolManager.draggingTool;
const info = (tool.draggedParts ? tool.copiedParts).get(node);
if (info) ... info.point ...

Thanks, I was able to get the old location before the drag, but it makes the app slow, I am moving nodes using part.MoveTo, nodes doesn’t even move sometimes.

Please start over again. What are you trying to accomplish?