Bowl of Fruit - General Update Pattern
A bowl of fruit demonstrates the D3.js general update pattern for adding, removing, and modifying SVG circles. A row of apples animates in, then one is removed, another changes into a lemon with a color and radius shift, and finally a different apple is deleted. The code uses D3 v5's `select`, `range`, and `scaleOrdinal` for styling, along with the data join methods `enter`, `merge`, `exit`, and `transition` to animate changes over one-second durations. React-style function calls manage the state updates.