Fork of D3 Selection Exploration
This example demonstrates dynamic animated circles moving in a sine-wave pattern across the screen, with vertical lines extending from each circle's edge. It updates at 60 frames per second via a `setInterval` callback. The visualization uses D3 v6's `select`, `selectAll`, `range`, and `scaleLinear` (though the latter is only in commented code) to bind data and render SVG elements. The `join` method handles entering, updating, and exiting circles and lines, while `makeData` generates positional values based on time and index.