Buffee, the text slayer — embeddable terminal-style text editor for netizens — compact, fast, unbounded
distributable (gz+min)
Dependencies
Build time
VDOM overhead
LOC capacity
in pro max mode
This microlibrary is inspired by the spartan performance and minimalism of terminal interfaces and Vim.
Buffee is efficient as a rendering engine for monospace plaintext in grid-layout. The grid being viewport into an arbitrarily large buffer of text lines.
To maximize performance, the core implementation tighly couples text editing operations with rendering. The project originated as a way to inspect massive, distributed server log files directly in the browser. Breakthroughs in this problem space were distilled down to Buffee. The key optimization is sidestepping DOM bottlenecks and avoiding JavaScript fatigue.
TUI capabilities ship as an extension. One day we will liberate OrgMode from the text-based-UI, err operating system, that is Emacs. Terminal-based agentic coding tools have also ignited interest in TUIs. Where notcurses brings browser bling to the terminal, Buffee completes the circle by ushering in 20th century paradigms to the modern web.
Much is owed to the wizards of V8. Compactness was made possible because V8 arrays proved instaneously fast. Compare with complex structures, plural, needed by native editors, e.g. piecetable. Content/syntax-aware considerations aside, Buffee rivals titans of the text editor industry.
Terminal UI mode placing interactive elements in the buffer. Tab to next element. Enter to activate.
Example of loading data from APIs.