Problem
Many application often need some for of scrolling functionality. While implementing this itself isn't too hard, making widgets compatible with it is often a pain point.
Solution
Any or almost any widget should be possible to make scrollable with little to no extra effort.
I am unsure on the details but we could use something like a virtual space value to tell a widget which portion of the buffer is actually going to be used. We will have to provide clear and strict rules on how to use that virtual space information.
Alternatives
A wrapper buffer that fakes its size could be used to make all widgets seamlessly compatible. This technically works and super easy but caused terrible performance in ratatui as large lists would keep trying to render to a place that doesn't exist.
Additional context
To my knowledge ither libraries don't have a very clean solution. So open to ideas.
Problem
Many application often need some for of scrolling functionality. While implementing this itself isn't too hard, making widgets compatible with it is often a pain point.
Solution
Any or almost any widget should be possible to make scrollable with little to no extra effort.
I am unsure on the details but we could use something like a virtual space value to tell a widget which portion of the buffer is actually going to be used. We will have to provide clear and strict rules on how to use that virtual space information.
Alternatives
A wrapper buffer that fakes its size could be used to make all widgets seamlessly compatible. This technically works and super easy but caused terrible performance in
ratatuias large lists would keep trying to render to a place that doesn't exist.Additional context
To my knowledge ither libraries don't have a very clean solution. So open to ideas.