gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based applications. It provides a structured system for composing terminal views using a view hierarchy and a dedicated layout engine.
The library distinguishes itself through a component-based widget system and a constraint-based layout engine that allows interfaces to remain responsive across different terminal window dimensions. It employs a virtual-screen buffer to minimize flickering during redraws and uses state-driven theme configurations to maintain persistent visual styles.
The framework covers a broad range of interface capabilities, including keyboard input mapping, high-fidelity data visualization, and the rendering of high-volume data in tables and tree views. It also includes tools for designing guided workflows, such as multi-step wizards, and provides specialized controls for text editing and file system navigation.