4 ms·
Interesting. On first glance that seems over engineered. I wonder what the reason is for doing it that way?
by someguyiguess 9mo ago
Interesting. On first glance that seems over engineered. I wonder what the reason is for doing it that way?
- ttoinou 9mo agoVibecoded ?
- Kelteseth 9mo agoClaude made it /s
- mike_hearn 9mo agoIf you don't do it that way then resizing the terminal corrupts what's on screen.
- matt_kantor 9mo agoIt's possible to handle resizes without all this machinery, most simply by clearing the screen and redrawing everything when a resize occurs. Some TUI libraries will automatically do this for you. Programs like top, emacs, tmux, etc are most definitely not implemented using this stack, yet they handle resizing just fine.
- mike_hearn 9mo agoThat doesn't work if you want to preserve scrollback behavior, I think. It only works if you treat the terminal as a grid of characters rather than a width-elastic column into which you pour information from the top.
- reissbaker 9mo agoCounterpoint: Vim has existed for decades and does not use a bloated React rendering pipeline, and doesn't corrupt everything when it gets resized, and is much more full featured from a UI standpoint than Claude Code which is a textbox, and hits 60fps without breaking a sweat unlike Claude Code which drops frames constantly when typing small amounts of text.
- mike_hearn 8mo agoYes, I'm sure it's possible to do better with customized C, but vim took a lot longer to write. And again, fullscreen apps aren't the same as what Claude Code is doing, which is erasing and re-rendering much more than a single screenful of text.