ArticlesLayout
How an ArticlesBlock arranges its articles — and with which cell, since not every cell suits every arrangement, so the two are chosen together and an impossible pair cannot be asked for.
The standard cell is a row, a small cover beside the text: it reads at full width, one under the other, the way the publication screen lists an issue's contents — list. The rich cell is a card, its cover on top: it stacks at full width too — richList — or rides a horizontal carousel sized like a shelf of covers — richHorizontal. There is no grid of articles.
A vertical list capped with limit takes the room of its rows and sits in the host's scrolling column; uncapped, it scrolls and paginates on its own and must be given bounded height. Inside a BlockPage, which scrolls as one, a vertical list must therefore be capped.
Sizes, spacings and column counts are the design system's, not the caller's: each arrangement carries the column ladder the design gives its shape.
Instances are created through the factories on the companion object rather than a constructor, so new arrangements can be added without breaking binary compatibility. Each one resolves, once and here, to the arrangement the renderer switches on and the cell the block draws.