I really like the neovide philosophy of not applying destructive editions over the vanilla vim experience, and to that i wish we should stick. However there're some aspects of vim that could use some love from the opengl renderer. For instance popups can use some customizations such as blur behind, drop-shadows, borders. The status line can use some of that too, like the ability to change its height. And for Tabs customizing their height would be nice too.
I'd like to know your opinion on these suggestions, and if some of them suits the project direction i'll start fiddling around implementing them, ofc with your help
The types of changes you're describing are 100% in scope. First on the list for next steps is getting the ext_multigrid working which will let us render windows independently and control sizing of vim windows independently of the overall size window size. This will require implementing the actual multi grid extension and switching the renderer to render grid by grid in layers.
Once those are done it should unlock a bunch of features first of which is the blended backgrounds of windows and popups. Others include shadows, borders, window specific text size, possibly smooth scrolling etc.
I've done some thinking about how to do the multigrid thing, and the first step of splitting out the grid data structure is done. Further the multigrid events are parsed correctly. The next biggest chunk of work is swapping the editor to handle multiple grids by id. The grid id parameter in the ui events is currently ignored since there is only ever one without the multigrid extension. After that is fixed and event data is properly routed to individual grids, the draw command interface will need to be updated to handle multiple grids as well. Currently the renderer assumes 1 render surface, but that will need to be extended to preserving and a surface per grid. Shouldn't be too hard, but it does represent a significant refactor.
Hopefully this helps capture the current state of things.
Most helpful comment
The types of changes you're describing are 100% in scope. First on the list for next steps is getting the ext_multigrid working which will let us render windows independently and control sizing of vim windows independently of the overall size window size. This will require implementing the actual multi grid extension and switching the renderer to render grid by grid in layers.
Once those are done it should unlock a bunch of features first of which is the blended backgrounds of windows and popups. Others include shadows, borders, window specific text size, possibly smooth scrolling etc.
I've done some thinking about how to do the multigrid thing, and the first step of splitting out the grid data structure is done. Further the multigrid events are parsed correctly. The next biggest chunk of work is swapping the editor to handle multiple grids by id. The grid id parameter in the ui events is currently ignored since there is only ever one without the multigrid extension. After that is fixed and event data is properly routed to individual grids, the draw command interface will need to be updated to handle multiple grids as well. Currently the renderer assumes 1 render surface, but that will need to be extended to preserving and a surface per grid. Shouldn't be too hard, but it does represent a significant refactor.
Hopefully this helps capture the current state of things.