Fork of Bowl of Fruit - General Update Pattern Special Cases
This example demonstrates the general update pattern in D3, showing how to handle special cases when entering, updating, and exiting data elements within a visualization. It uses the D3 v5 library with SVG and animation to display a bowl of fruit represented as circles, where apples and lemons are distinguished by color and size. The code uses `selection`, `enter`, `merge`, `exit`, and `.transition()` to animate changes, while the logic in `index.js` simulates data mutations like removing, replacing, and filtering fruit items. The data source is a simple array of fruit objects with random IDs, and the rendering is powered by the D3 `scaleOrdinal` for color and radius scales.