9 unstable releases (3 breaking)

0.4.0 Dec 9, 2023
0.3.0 Dec 5, 2023
0.2.3 Dec 3, 2023
0.1.3 Dec 3, 2023
0.1.0 Nov 30, 2023

#886 in Graphics APIs

Download history 43/week @ 2024-07-28 16/week @ 2024-09-22

79 downloads per month

Custom license

52KB
1.5K SLoC

Terminal Renderer

Double buffered terminal renderer for Rust and crossterm and simple UI framework (if you can call it that)

Caution

Do NOT use this, not ready for any kind of use yet.

Why ?

I needed a simple way to render terminal based games. At first I was using masof by da-x (which this project is heavily inspired by and some code is a little too much similar to) but I wanted to have a more flexible way to render the screen. So I decided to write my own.

How ?

The simplest way to use this is to create a Renderer, feed it events from crossterm, draw Drawable objects to it and finally render it to the terminal.

What this is not ?

This project started as just renderer, but it evolved into a simple UI framework or something like that. Though it does not handle input and such, it just provides a way to draw UI elements to the screen. But included UI elements consume crossterm events and work with them.

Features

  • Double buffering
  • Frames (basically rect with pos and size which can be clipped or not)
  • Multiplatform
  • Basic UI elements
  • Layers

Examples

You can find them in the examples folder as with other rust projects.

Dependencies

~5–13MB
~159K SLoC