native macOS codings agent orchestrator prowl.onev.cat

Make Tile layout zoom adapt to card count master

Previously Tile laid cards out in a viewport-sized frame, so fitToView always landed near scale 1.0. With many cards each surface became tiny, so the terminal showed few rows/columns and the text looked oversized — and the 20pt gap, never scaled down, looked larger than the other layouts. Tile now builds the grid in a `viewport × zoom` frame, so fitToView reproduces a scale of `1 / zoom`. `zoom` stays 1 (native scale, unchanged for a handful of cards) until the tiled cards shrink below a comfortable surface (`adaptiveDefaultCardSize × 0.6`), then grows so each card keeps a readable terminal — more content at smaller text — as the count rises. Spacing moves to a tighter `tileCardSpacing` (14) that lives in the scaled frame, so the on-screen gap (`spacing × scale`) also tightens automatically with more cards. Adds tests for native-zoom (few cards) and adaptive-zoom (many cards) and updates the no-overlap test to exercise zoom > 1.


+121 -22
5 changed files