36010d0bba
Dragging a session tab out of the main strip into its own zone left the workspace alone in main. Auto treated a lone pane as "not a tab", and the uncloseable workspace is not stranded, so main lost its tab and its "+" — while the tile it had just split from kept a strip of its own. Two chats side by side, one with tabs and one without, reads as "the tabs disappeared"; ⌥⌘T only helped because it wrote an explicit `always`. The resolver gains one input, `siblingMainZone`: on auto, a lone main tile keeps its strip whenever another zone in the layout also hosts a main tile. A chat that is the whole window stays chromeless, side chrome is untouched, and an explicit `never` still wins so Hide tabs keeps working. Both callers read it from `$mainTileZoneCount`, a computed over the tree, the hidden set and the registry version. It is a number, so zones re-render only when a main zone appears or goes — never per sash-drag frame — and the store's answer (what the toggle command flips against) and the strip on screen cannot disagree.