48beac5673
Port missing render lifecycle tests from Ink's test/render.tsx: - onRender fires on input-triggered state update - throttle renders to maxFps (leading+trailing pattern) - immediate scheduler in debug mode commits every mutation - screen reader mode bypasses throttle (immediate commits) - exit(error) followed by exit(value) still rejects - exit(value) resolves even when called rapidly twice - unmount does not write to ended stdout stream - non-interactive mode writes only last frame at unmount - non-interactive mode does not emit erase or cursor sequences - non-interactive unmount does not crash on ended stdout Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>