Personally speaking, I started my programming journey a long time ago, building stuff for DOS - one of the first-ish things I did was build a Windows-like GUI interface, which was quite functional given the circumstances, basically writing pixel colors to the framebuffer in C.
The whole thing was quite functional, and a few thousand lines total, and built a bit naively - the framework and the app were under 10k lines combined total.
Later I tried rebuilding it for Win32, and it ended up being more code (sans bespoke UI framework), and I'm not sure it was better, though I'm certain, the whole mass of code doing the thing was an order of magnitude more.
If I were to attempt building it in Electron, I could add 2-3 orders of magnitude to that easy, all for the same basic functionality.
All I'm saying is abstraction isn't really what it's cracked up to be.
It didn't (fully), but adding it wouldn't have been more than a days work. You have a hierarchy of enclosing layout rectangles, you take an invalidation rectangle, and you recursively intersect children and them draw them with the painters algorithm.
Vestiges of the system did exist, as there were scrollable panels and controls had an idea that they were not visible due to falling outside of their parent rect, and all drawing functions were aware of being clamped to a boundary box.
So I'd say some of the hard(ish) stuff was already done, and people did end up using it in production so it actual survived contact with a paying customer, which is saying something.
The whole thing was quite functional, and a few thousand lines total, and built a bit naively - the framework and the app were under 10k lines combined total.
Later I tried rebuilding it for Win32, and it ended up being more code (sans bespoke UI framework), and I'm not sure it was better, though I'm certain, the whole mass of code doing the thing was an order of magnitude more.
If I were to attempt building it in Electron, I could add 2-3 orders of magnitude to that easy, all for the same basic functionality.
All I'm saying is abstraction isn't really what it's cracked up to be.
Vestiges of the system did exist, as there were scrollable panels and controls had an idea that they were not visible due to falling outside of their parent rect, and all drawing functions were aware of being clamped to a boundary box.
So I'd say some of the hard(ish) stuff was already done, and people did end up using it in production so it actual survived contact with a paying customer, which is saying something.