{"version":"1.0","type":"rich","title":"General Update Pattern","description":"This example demonstrates the general update pattern in D3.js, showing how data joins handle enter, update, and exit selections. A row of apples is drawn as SVG circles with labels, then undergoes timed changes: removing the last fruit, replacing an apple with a lemon, and filtering out an item. The `fruitBowl.js` module uses `scaleOrdinal` for color and radius, while `index.js` orchestrates state changes with `setTimeout`. Each render call invokes `selection.selectAll` and `.data()`, applying enter/merge/exit operations for both circles and text elements.","provider_name":"VizHub AI Studio","provider_url":"https://vizhub.com","html":"<iframe src=\"https://vizhub.com/viz/60f758e015d144448d00913dc6141f8f?mode=embed\" width=\"960\" height=\"500\" scrolling=\"no\" frameborder=\"0\"></iframe>","width":960,"height":500,"cache_age":3600}