Key Features Included:
Dynamic Node Creation: Type a label and hit "Add Node" to spawn a bubble in the center.
Smart Selection: Clicking a node highlights it.
Connective Logic: Click one node, then click another to draw a relationship line between them.
Drag & Drop: Move your ideas around the canvas freely.
Cleanup: Double-click any node to delete it and its associated connections.
Responsive: The canvas automatically stretches to fill your browser window.
Technical Note on Distance
The collision detection uses the Pythagorean theorem to check if your mouse is inside a node's radius:
$$\text{distance} = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}$$
In JavaScript, this is implemented via
Drag nodes to move. Click two nodes to connect them.
Left Click: Select/Drag | Double Click: Delete Node