Proposal: Factor out the immidiate mode TUI framework
a) Thanks for releasing this!
b) While rust has a very nice retained mode TUI framework called raratui and an amazing immidiate mode GUI framework with egui, a popular and maintained immidiate mode framework is still missing for TUIs, and you essentially have this here.
So: Why not factoring this out into it's own crate and let people inside and outside Microsoft go to town with it? I think it would be a waste to just have this for one single application.
Just my 2 cents.
Yeah, that's fair, and honestly an idea I've toyed with before. However, I don't know if I can feasibly get to this point any time soon. There's currently already a large backlog of interesting feature requests for the editor and I think I may have to prioritize those for the time being until we get to a point where the editor is primarily in "maintenance mode" (because most things can then be handled in plugins).
Maybe I can also get to this before that, but no promises. It depends on how many people want this, how much it would help with development, etc., of course.
Side note: You may have already read this elsewhere, but the primary reasons to write my own TUI are binary size and my intention to expose it via a C API (for which an ImGUI-style API is a good fit IMO
While rust has a very nice retained mode TUI framework called raratui
(Ratatui maintainer here)
Ratatui is also an immediate mode library. The retained / immediate distinction is around whether the library deals in trees of related objects. Ratatui sees its widgets as mostly instructions on what to draw to the current buffer. Blurring the lines a little here, it's possible to build apps which act like they're in a retained mode as most of our widgets implement the Widget trait on a ref to the type.