So I played around with creating a NeoVim GUI. For now using web technologies for prototyping. It’s fun how even the RPC API is geared towards terminal grids. The obvious, and easy to implement UI update algorithm supposes that drawing one character in one cell is a cheap operation, and easy to batch.
Server side is so much faster! Just sending the new row and doing an innerHtml is pretty fast.
Still pretty darn cool. I wonder if rendering to canvas would be better... or even a React like DOM reconciling thing.