MCPcopy Index your code
hub / github.com/TitaniumBrain/rs-matrix

github.com/TitaniumBrain/rs-matrix @v0.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.1.0 ↗ · + Follow
16 symbols 22 edges 3 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

rs-matrix

This is a Rust implementation of the Matrix rain effect, inspired by cmatrix and similar, with an extra feature ;)

Features

  • Asynchronous scrolling
  • Customisable colours
  • Reverse rain (going up)
  • Multiple character sets
  • ASCII
  • Half-width Katakana
  • Block characters
  • Adjustable falling speed
  • Optional art (static or animated) to be displayed by the rain (keep reading for details)

Showcase

Green rain Red rain Reverse rain (going up) Rain with half-width katakana Rain with block characters

Video showcasing mutliple features, including animations

Installation

You can quickly install this app via cargo.

First, clone the repository:

git clone https://github.com/TitaniumBrain/rs-matrix.git

Then install with cargo:

cargo install --path .

I might provide pre-built binaries in the future.

Usage

Run the binary directly or pass in options:

rs-matrix [OPTIONS]

Check all the available options with

rs-matrix --help

Images/animations

You can "draw on the rain" an image or animation of your choice by passing in a file path as an option or piping in the file contents:

rs-matrix -f art.txt ...

Or

cat art.txt | rs-matrix ...

Animation speed can be set independently of the rain speed, although the terminal only updates according to the rain's update delay.

Art file format

The art file is a simple text file.

You can use any characters to draw the image. Keep in mind that, since the rain droplets have a column between them, the image you make will be stretched horizontally, i.e. like a space was inserted between each character.

You can create an animation with multiple frames by separating each frame with a line contining exactly

--FRAME--

Do not add this after the last frame, unless you want an empty frame at the end.

Issues

This is an early version, so please report any issues you find here.

I also accept feature requests, but make no promise I'll add any particular feature.

Core symbols most depended-on inside this repo

get_colours
called by 2
src/colours.rs
app_loop
called by 1
src/main.rs
handle_events
called by 1
src/main.rs
update
called by 1
src/main.rs
draw
called by 1
src/main.rs
frame
called by 1
src/rain.rs
main
called by 0
src/main.rs
new
called by 0
src/rain.rs

Shape

Function 6
Class 5
Method 3
Enum 2

Languages

Rust100%

Modules by API surface

src/main.rs7 symbols
src/rain.rs6 symbols
src/colours.rs3 symbols

For agents

$ claude mcp add rs-matrix \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page