Fork of D3 Selection Exploration
This example demonstrates D3’s data join pattern by animating a set of circles whose positions, radii, and colors oscillate in a sinusoidal wave. The code imports `select` and uses a `setInterval` loop running at 60 frames per second, regenerating data via `makeData` and updating the SVG scene each tick. The `vizData` function applies a chain of `.selectAll('circle')`, `.data()`, and `.join()` to bind the new values, setting attributes for `cx`, `cy`, `r`, and `fill`. The explicitly commented-out path and transition code indicates the exploration focuses on the core join mechanics.