markInteractive method
Opens (or extends) the interactive drain window so PTY output following user input is scheduled via microtask rather than post-frame idle.
Implementation
void markInteractive([DateTime? now]) {
if (_disposed) return;
final t = now ?? DateTime.now();
_interactiveUntil = t.add(interactiveWindow);
if (_buf.isNotEmpty) _scheduleDrain(forceImmediate: true);
}