A fast Clojure library for emulating a terminal with OpenGL rendering and Unicode support.
Zaffre is a fast Clojure library for emulating a terminal and drawing characters to a screen. It provides high-performance text rendering using OpenGL and supports Unicode characters, multiple fonts, and tileset loading. The library solves the need for efficient, flexible terminal emulation in Clojure applications.
Clojure developers building text-based applications, terminal emulators, or roguelike games who need high-performance character rendering.
Developers choose Zaffre for its exceptional speed through OpenGL rendering, thread-safe design, and support for professional tilesets like those used in Dwarf Fortress, without unnecessary GUI or animation features.
A fast clojure console library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses LWJGL and OpenGL for maximum rendering performance, enabling high-speed character drawing as highlighted in the features section.
Supports Unicode characters excluding CJK code points, allowing for broad international text display in terminal applications.
Enables loading tilesets from sources like the Dwarf Fortress repository, ideal for game developers using custom assets.
Designed for concurrent usage, making it suitable for multi-threaded Clojure applications without race conditions.
Supports multiple fonts, glyph stacking, and non-character tiles (sprites), as per the features, allowing for creative text-based interfaces.
The library explicitly omits animation features, requiring developers to manually implement dynamic effects, which adds complexity.
Focuses solely on terminal emulation, so projects needing buttons, menus, or other GUI elements must build them from scratch.
Requires LWJGL and OpenGL dependencies, which can be cumbersome for developers unfamiliar with low-level graphics programming.
Prioritizes performance over convenience, missing higher-level abstractions common in other UI libraries, as admitted in the 'Not Features' section.