@harris-rosendahl
Line 53, column 35: This expression is not a function!
Can you spot why?
Once this is fixed, you'll see that anywhere you click/drag, all of the 8 parameters are changing. This is because you don't know which point is being clicked/dragged.
The reason for this is that the overall approach isn't the good one.
Don't try to set any parameters at first, and just focus on the widget itself. Put your knobs aside, the parameters will come later. For the moment, you need a way to store the nodes so you can find one reliably when you click on it based on a certain area around its coordinates. Hint -> store them in an array of objects that represents their position (but not only, you need to know if the node is clicked or not).
Then and only then, you can start to think a mouse CB that can detect where you have clicked, and resolve the "is there a node under the cursor?" question so the node in question can be focused and updated
Then once you have this and are able to update the coordinates and repaint the nodes, you are ready to implement the parameters you want