9/69 tests are currently failing. Really this is the one bug I noticed last night where node.y > Viewport.y. So that's good to know. There's nothing else lurking.
EZZBR2VSITUTJOQ3AR4ESYJMHWTQHOUMKMRD6HCM53QSTTLDFGHQC short node entirely within viewerarrow keyspage-up positions cursor on top linepage-down positioins cursor on bottom linemouse panning
short node entirely within viewer, cursor in middle of screen✓ arrow keys✓ page-up positions cursor on top linex page-down positions cursor on bottom line✓ mouse panning
repeated down arrow near bottom pans downrepeated up arrowrepeated up arrow near top pans uprepeated down arrowrepeated pagedownrepeated pageupmouse panning
x repeated down arrow near bottom pans down✓ repeated up arrow✓ repeated down arrowx repeated pagedown✓ repeated pageup✓ mouse panning
repeated up arrow near top pans uprepeated down arrowrepeated down arrow near bottom pans downrepeated up arrowrepeated pagedownrepeated pageupmouse panning
✓ repeated up arrow near top pans up✓ repeated down arrow✓ repeated up arrow✓ repeated pagedown✓ repeated pageup✓ mouse panning
repeated up arrow near top pans uprepeated down arrowrepeated down arrow near bottom pans downrepeated up arrowrepeated pagedownrepeated pageupmouse panning
✓ repeated up arrow near top pans up✓ repeated down arrow✓ repeated down arrow near bottom pans down✓ repeated up arrow✓ repeated pagedown✓ repeated pageup✓ mouse panning
* Zoom > 1short node entirely within viewerarrow keyspage-up positions cursor on top linepage-down positioins cursor on bottom linemouse panning
* Zoom > 1 (e.g. ctrl+0 ctrl+= ctrl+=)short node entirely within viewer, cursor in middle of screen✓ arrow keys✓ page-up positions cursor on top linex page-down positions cursor on bottom line✓ mouse panning
repeated down arrow near bottom pans downrepeated up arrowrepeated up arrow near top pans uprepeated down arrowrepeated pagedownrepeated pageupmouse panning
x repeated down arrow near bottom pans down✓ repeated up arrow✓ repeated down arrowx repeated pagedown✓ repeated pageup✓ mouse panning
repeated up arrow near top pans uprepeated down arrowrepeated down arrow near bottom pans downrepeated up arrowrepeated pagedownrepeated pageupmouse panning
✓ repeated up arrow near top pans up✓ repeated down arrow✓ repeated up arrow✓ repeated pagedown✓ repeated pageup✓ mouse panning
repeated up arrow near top pans uprepeated down arrowrepeated down arrow near bottom pans downrepeated up arrowrepeated pagedownrepeated pageupmouse panning
✓ repeated up arrow near top pans up✓ repeated down arrow✓ repeated down arrow near bottom pans down✓ repeated up arrow✓ repeated pagedown✓ repeated pageup✓ mouse panning
* Zoom < 1short node entirely within viewerarrow keyspage-up positions cursor on top linepage-down positioins cursor on bottom linemouse panning
* Zoom < 1 (e.g. ctrl+0 ctrl+- ctrl+-)short node entirely within viewer, cursor in middle of screen✓ arrow keys✓ page-up positions cursor on top linex page-down positions cursor on bottom line✓ mouse panning
repeated down arrow near bottom pans downrepeated up arrowrepeated up arrow near top pans uprepeated down arrowrepeated pagedownrepeated pageupmouse panning
x repeated down arrow near bottom pans down✓ repeated up arrow✓ repeated down arrowx repeated pagedown✓ repeated pageup✓ mouse panning
repeated up arrow near top pans uprepeated down arrowrepeated down arrow near bottom pans downrepeated up arrowrepeated pagedownrepeated pageupmouse panning
✓ repeated up arrow near top pans up✓ repeated down arrow✓ repeated up arrow✓ repeated pagedown✓ repeated pageup✓ mouse panning
repeated up arrow near top pans uprepeated down arrowrepeated down arrow near bottom pans downrepeated up arrowrepeated pagedownrepeated pageupmouse panning
✓ repeated up arrow near top pans up✓ repeated down arrow✓ repeated down arrow near bottom pans down✓ repeated up arrow✓ repeated pagedown✓ repeated pageup✓ mouse panning