Bowl of Fruit - General Update Pattern
This visualization demonstrates the general update pattern in D3, showing a bowl of fruit that changes over time as items are added, removed, and modified. Initially five apples appear, then one is eaten, an apple is replaced by a lemon, and another apple is removed. The example uses D3's `select`, `scaleOrdinal`, and transition system with `transition().duration()` to animate circle radii and colors, rendering in SVG. The code in `fruitBowl.js` shows enter, merge, and exit transitions, with each fruit assigned an `id` for key-based data joining.