Bowl of Fruit - General Update Pattern
Five fruit circles animate in and out of an SVG bowl, entering with a radius of zero and exiting by shrinking back to zero. The example demonstrates the D3 general update pattern through enter, update, and exit selections, binding data by a random `id` key. The code uses `selection.merge`, `transition().duration()`, and scale functions `scaleOrdinal` for color and radius. A sequence of timeouts removes, mutates, and filters the fruit array, highlighting how D3 reconciles data changes with animated, smooth transitions.