f3bb5f268a
The resize handler painted synchronously via commit() but left the commit scheduler's pending trailing throttle timer armed. If an update was sitting in that timer, it fired a second doCommit() right after the resize paint — and because shouldClearTerminalForFrame clears whenever the previous frame overflowed the viewport, the second commit emitted a duplicate clearTerminal. Cancel the pending trailing commit before the synchronous paint; the paint already reflects the current tree, so the pending commit is redundant. Regression test (test-first) in throttle.sequential.test.tsx reproduces the double-clear (2 clears) and verifies the fix (1 clear). Closes #26 (item 1).