Survive resizes and panics at the terminal master
A window resize now reaches the screen as a redraw: the viewport re-pins to the bottom and repaints inside its own synchronized update, instead of ratatui clearing the screen and the prompt stranding at row 0 until a whole reply walked it back. Ctrl+L runs the same repaint as the escape hatch. The transcript pins its round wrap width when a round first has content, not on idle polls, so a resize between turns no longer costs the next turn a stale width. A worker panic is caught and reported as a failed turn, and the play loop's panic hook knows the worker thread by name and leaves the terminal alone for it, since ratatui's own hook would restore raw mode under the running UI from any thread. For a genuine UI-thread panic the hook ends the synchronized update and disables bracketed paste before ratatui's restore, so the panic message is visible and the shell gets a usable terminal back. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>