~exitb/retrofit

fd4acdd75b82f429ad4110696819adb963eeb866 — exitb 10 months ago beec59c
Add README, remove TODO
2 files changed, 74 insertions(+), 5 deletions(-)

A README.md
D TODO.md
A README.md => README.md +74 -0
@@ 0,0 1,74 @@
# Retrofit

Retrofit is an ANSI art adapter for the modern terminal. It uses a series of
transformations to make it possible to view ANSI art pieces in a regular
Unix-like terminal and Windows console (see below for details).

Rather than recreating the whole picture within an in-memory virtual terminal,
retrofit uses the actual terminal as a live buffer. That makes it possible to
view the art piece at limited baud, with accurate timing. It also correctly
handles drawing out-of-order and full-blown ansimations.

## Features

- Various adaptations of encoding and ANSI escape sequence behavior
- Independence of the underlying terminal color scheme and dimensions
- Color transformations that make it match the original palette closer
- Accurate baud limiting
- Support for iCE colors
- Support for PabloDraw 24-bit color codes
- Ability to limit screen height, while correctly handling long-scrolling
pictures

## Demo

Check out [Dispenser](https://textmode.cc/dispenser) for a quick live-demo!

## Usage

Basic usage involves stating the ANSI file as a running parameter:

```
$ retrofit example.ans
```

You can also pipe into retrofit:

```
$ curl -s https://example.com/example.ans | retrofit
```

### Baud limiting

Limit the baud count with the `-b` parameter:

```
$ retrofit -b 9600 example.ans
```

_Note that this feature behaves erratically in certain environments, like
within virtual machines. This issue is tracked [here](https://todo.sr.ht/~exitb/retrofit/1)._

### 24-bit color mode

For best accuracy of the original color palette, as well as support for
PabloDraw color codes, use 24-bit mode:

```
$ retrofit -c 24bit example.ans
```

## Building from source

Retrofit is built with Rust. It requires [Rust toolset](https://rustup.rs)
to build from source. Once available:

```
$ git clone https://git.sr.ht/~exitb/retrofit
$ cd retrofit/
$ cargo install --path .
```

## License

Roam is licensed under ISC.
\ No newline at end of file

D TODO.md => TODO.md +0 -5
@@ 1,5 0,0 @@
Outstanding issues:

- Support for color aproximation for 24-bit PabloDraw colors in the 8-bit mode.
- Possibly better color aproximation for the regular VGA colors in the 8-bit mode.
- Fix the limit_rate iterator drift
\ No newline at end of file