D3 Selections
Animated D3 selections demonstrate data join patterns through a field of moving circles. The visualization uses `d3.selectAll`, `data`, and `join` to bind incoming arrays to SVG circle elements, updating their `cx`, `cy`, and `r` attributes each frame. Data is procedurally generated using `d3.range` and `Math.sin` to create oscillating positions and sizes. The example relies on `d3.select` to append the SVG canvas and runs a `setInterval` loop at 60 frames per second, with the commented CSS transition property hinting at possible smoothing.