Here is another example where I'm subtracting the position from one node with the position from another node.
Besides code cleanups and undo/redo, the main motivation for the rewrite was a different strategy on how properties are represented, parsed and updated. Transforming nodes on the canvas is way more predicable even when using complex math expressions as values.
Here is another example where I'm subtracting the position from one node with the position from another node.