Fork of Draggable Circles with D3-Drag
Six colored circles sit within dashed square boundaries, each showing its allowed movement range. Dragging a circle with the pointer repositions it inside a square that is four times its radius wide, centered on the circle’s original location. The example uses `d3.select`, `d3.join`, and `d3.drag` from the D3 library to manage SVG rendering and interactive drag behavior, updating circle positions via a state-based `setState` callback while keeping coordinates clamped to each circle’s bounding area.