A Selection Is a Promise About Text
The pane-tree lesson said selection copies text from the view, not a scraped grid, because the pane is an object. That is true, and in September 2026 it turned out to be the start of the work rather than the end. When you drag across a terminal, you are not choosing cells. You are choosing words, and you expect them to be the words you get when you let go. A terminal whose selection stays on the cells while the words move under it has broken that promise, even though every cell it copies is perfectly real.
One Drag, Two Owners
A drag inside a pane has two possible owners. A program that asked for mouse reporting — tmux, a full-screen editor, a TUI — wants the drag itself: tmux uses it to move a pane border. Smolder's own selection wants it too. The rule now is short: an unmodified drag goes to the program, including a remote tmux border; a Shift-drag is the local selection. In the embedded core, one switch quietly does two jobs. While mouse reporting is allowed, every new chunk of output clears the selection, and only while it is allowed does the scroll wheel reach a program that tracks the mouse.
The first fix lowered that switch permanently so selections would survive streaming output. The wheel stopped reaching tmux and editors, and the wheel regression tests sat red for a day before anyone looked. The current shape: the switch rests on; each live-output feed lowers it just long enough for the bytes to land without clearing a Shift-drag; a gesture Smolder keeps lowers it until mouse-up. A mouse change now runs the wheel tests too.
Harnesses Redraw; They Do Not Scroll
Then Dad dragged across a coding harness and watched his selection slide through the transcript. Claude Code and Grok do not scroll the terminal. They redraw the whole alternate screen, row by row, inside synchronized-output frames (the ?2026 mode), so the transcript moves while the screen never scrolls. The embedded core moves a selection only on a real scroll, so the highlighted cells stayed put and new words flowed through them.
The selection follower runs on every live chunk and watches for those frames. It never judges inside an open one — a half-drawn frame matches nothing. After each chunk, once no frame is open, it checks whether the selected text still sits under the selection. If the text has moved nearby, the selection moves with it, whether a frame drew it there or not. If the text is gone, it matters how it went: after a framed redraw the selection is dropped, because its words left the screen; when a program like top rewrote numbers in place without a frame, the selection stays where it was and follows the new text from there. Copy-on-select had already taken the text at mouse-up; the follower keeps what you see honest about what you took.
Paste Belongs to the Operator Too
The same weeks widened explicit paste. A multiline paste used to require a verified local shell prompt; coding CLIs and remote SSH programs that turn on bracketed-paste mode now accept it too, because the program itself declared it can tell a paste from typing. The preview still checks that the target has not changed, still rejects terminal control sequences, and still never adds Enter. This is the operator's hand on the clipboard — a different path from Pippa's proposals, which keep their own stricter rule.