Move the Tree, Not the Picture
A tab is not a row of titles glued to a screenshot of panes. It is the tree: pane controllers, PTY attachments, title, color, focused pane. Drag-reorder inside a window, tear-off into a new window, drop onto another window — the tree has to survive the move. If drag copies pixels and starts new processes, you did not move a tab. You cloned a look and orphaned the jobs.
That is why the last lesson insisted the pane is an object. Objects can be reparented. Pictures have to be redrawn from scratch, which means new PTYs, which means placeholder shells, which means the compiler you were in the middle of is still in the old window while a fresh zsh blinks at you in the new one. Living in a terminal is moving work around. If move is clone, you stop moving, and the bar from Track 1 starts collecting dated rows.
No Placeholder Shell, No Synthetic Enter
A move that cannot take the PTY along will be tempted to cheat: spawn a shell in the destination, maybe cd to the old directory, maybe synthesize Enter so it looks ready. That cheat is a model-shaped write wearing a drag gesture. The new pane is not the old job. It is a lookalike. Smolder refuses the lookalike. If the tree cannot move, the drag fails. It does not invent a process and type into it.
Synthetic Enter is the same sin the door track will name for Anvil drafts and Pippa proposals. A newline the operator did not press is how you submit the wrong thing into the wrong brain. A drag is not an operator pressing Enter. The destination of a moved tab should light up on the jobs you already had, idle, waiting, not racing a fabricated prompt.
Cross-Window Is Still One Owner
Two windows are two projections of the same daemon. Moving a tab across them is reparenting a tree from one projection to another, not shipping a process to a new owner. The daemon already owned the PTYs. The app is rearranging which glass shows them. Tear-off that started a second daemon would be a second factory, and quit of either window would become ambiguous: whose jobs, whose journal, whose restore.
Reorder inside a window is the small case of the same fact. The tab strip is a list of trees. Dragging a title along the strip changes list order, not process identity. If order were stored only as pixels, restore would not know which tree was which. Identity rides the object, so a moved tab is still itself when you come back from lunch.