Generic create: [0x18][nonce:2][rows:2][cols:2][features:1][tag_len:2][tag:N][…optional fields]
Features: bit 0 = has src_pty_id (2 bytes after tag), bit 1 = has command (remaining bytes after src_pty_id if present)
Server responds with S2C_CREATED_N using the same nonce.
Mouse event: [0x06][pty_id:2][type:1][button:1][col:2][row:2]
type: 0=down, 1=up, 2=move
button: 0=left, 1=mid, 2=right, 3=release, 64=wheel_up, 65=wheel_down
The server generates the correct escape sequence based on mouse_mode and mouse_encoding.
Desired viewport size(s): [0x01][pty_id:2][rows:2][cols:2]…
Clients may batch multiple PTY resize entries in one message. The server
mediates these per-client desired sizes into each PTY’s effective size.
A rows, cols pair of 0, 0 clears this client’s desired size for that PTY.