{"version":"1.0","type":"rich","title":"General Update Pattern","description":"Fruit shapes move across an SVG as the underlying data array changes, demonstrating the D3 general update pattern with enter, update, and exit selections. The code uses `d3.scaleOrdinal` to map fruit types to colors and radii, while `transition().duration(1000)` animates positional and size changes. Timed mutations—removing fruits, shifting types, and dropping the first item—trigger re-renders through a `fruitBowl` function. D3 v5 and React manage the data flow, with `d3.select` handling SVG circle elements and key-based data joining for stable identity tracking.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/95352b7fb71b4a67af66ff69b8b472ad?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}