It's unfortunate that I use sx,xy for detection, but track x,y. At least we can track more carefully precisely which field is which.
7OUKVXJTWEJBYNBPB2SBXJ4ADFZ7OV4SJEG4K2A3J4D7FSJAJ52QC
3GK7GC2WTTU4K76MD7DN6W4UPSFTYSEJMTGG4P7ADEHLH6K3P4IQC
ZQMQVMFWZIGWBRCB455IKHPTAOUYPLYCSC44NBPPET557RGVRX3AC
CCPQONNNZGI6OOZTUR4FE4OAWEF7DH6UUCCS647WU2SYYFBWQ65QC
FBDRJ53NJ5BWDQGU2GWZ6NEYHKCCRD7RODMIG7QQZBRFUB4HR7OAC
FHLFZZ3SG5VGJX25JID6A6C5XLT6Q76RAJDQSYQSZTXQMSIUTCCAC
Viewport.x = Pan.x - App.mouse_x()/Viewport.zoom Viewport.y = Pan.y - App.mouse_y()/Viewport.zoom
Viewport.x = Pan.x - App.mouse_x()/Viewport.zoom
Viewport.y = Pan.y - App.mouse_y()/Viewport.zoom
Viewport.x = Pan.sx - App.mouse_x()/Viewport.zoom Viewport.y = Pan.sy - App.mouse_y()/Viewport.zoom
Viewport.x = Pan.sx - App.mouse_x()/Viewport.zoom
Viewport.y = Pan.sy - App.mouse_y()/Viewport.zoom
print('before', Resize_node.width) print('editor before', Resize_node.editor.width)
print('before', Resize_node.width)
print('editor before', Resize_node.editor.width)
print('after', Resize_node.width)
print('editor after', Resize_node.editor.width)
Move_node.x = Move_node.x + (x - Move.x)/Viewport.zoom Move_node.y = Move_node.y + (y - Move.y)/Viewport.zoom A()
Move_node.x = Move_node.x + (x - Move.x)/Viewport.zoom
Move_node.y = Move_node.y + (y - Move.y)/Viewport.zoom
A()
Move = {x=sx, y=sy}
Move = {x=x, y=y}
Pan = {x=sx,y=sy}
Pan = {sx=sx,sy=sy}