General Update Pattern
This example demonstrates the general update pattern in D3.js by animating a sequence of fruit circles in an SVG bowl. It shows how elements are added, modified, and removed over time—an apple disappears, one apple turns into a lemon, and another apple is deleted. The visualization uses the D3.js `select`, `selectAll`, and `transition` APIs to handle entering, updating, and exiting circles, with `scaleOrdinal` mapping fruit types to colors and radii. A timer-driven script triggers changes to the array of fruit objects, which the `fruitBowl` function renders with a one-second transition animation.