What is general update pettern?
Shows how D3's general update pattern animates a bar chart when a button shuffles the data array, reordering horizontal bars with smooth transitions. The chart uses D3 v5 with `select`, `scaleLinear`, `scaleBand`, `axisLeft`, `axisBottom`, and a join pattern (`selectAll`, `.enter`, `.merge`) to handle enter and update states. A `transition().duration(1000)` animates bar widths and axis recalculation on each shuffle, while a `<g>` container persists across renders. SVG rendering and the `.call` method drive the axes.