updateItems

Producer-facing: replace the current items.

Items are expected to be already pre-grouped into visible/overflow by the producer or by the pipeline. The composable layer trusts what's here — grouping is not a render-time concern (loophole P0-5).