Based on: AngularJS, AngularMaterial, and D3
You can drag nodes to a specific position and they will lock and darken to indicate their locked status. Doubleclicking a locked node will unlock it.
You can pan by grabbing any part of the canvas that is not covered by a node. You can zoom with the mouse wheel or pinch gestures on touch devices.
The menu button has several switches to make different panels visible. One of them lets you create new nodes.
Up next: loading a specific graph and creating new graphs, saving graph parameters (current viewport, global forces), and UX tweaks/fixes.