Bowl of Fruit - General Update Pattern
A dynamic scatterplot-style visualization demonstrates D3's general update pattern with a bowl of fruit metaphor. Apples and lemons, rendered as colored circles with labels, shuffle positions as the dataset changes over time through a timed script. The example uses D3 v5's `selection.enter()`, `merge()`, `exit()`, and `.transition()` APIs to animate additions, removals, and type changes with 1000ms duration tweens. SVG elements update their `transform`, `fill`, `r`, and `text` attributes accordingly, while a random `id` key tracks each fruit through the data lifecycle.