# cyber-rain
`cyber-rain` is a smoother, themeable Rust terminal digital-rain visualizer: falling glyph streams, raw terminal rendering, hidden messages, deterministic demo runs, and enough controls to make your terminal look like it knows something you do not.
## Install
From crates.io, once published:
```sh
cargo install cyber-rain
```
From this repository:
```sh
cargo install --path .
```
Or run it directly:
```sh
cargo run --release
```
Quit with `q`, `Esc`, or `Ctrl-C`. Pause with `Space` or `p`.
## Features
- Themeable rain: `green`, `cyan`, `amber`, `crimson`, `ghost`, and `rainbow`.
- Tunable motion with `--fps`, `--speed`, and `--density`.
- Hidden message mode with `--message "follow the white rabbit"`.
- `--ascii` mode for plain terminals.
- `--seed` for reproducible recordings or demos.
- Terminal resize handling.
- Buffered terminal rendering for smoother motion.
- Occasional burst storms, or `--calm` to disable them.
## Examples
```sh
cyber-rain --palette rainbow --message "wake up neo"
cyber-rain --palette amber --density 0.55 --speed 3
cyber-rain --ascii --seed 42
cyber-rain --calm --fps 30 --density 0.4
```
For a deterministic demo recording:
```sh
cyber-rain --palette cyan --seed 1999 --message "follow the white rabbit"
```
## Release Checklist
1. Update `CHANGELOG.md`.
2. Run `cargo fmt --all`.
3. Run `cargo test`.
4. Run `cargo clippy -- -D warnings`.
5. Run `cargo package --allow-dirty`.
6. Publish with `cargo publish`.
7. Create a tag like `v0.1.0` and push it to build GitHub release binaries.
## License
Licensed under either of:
- Apache License, Version 2.0
- MIT license
at your option.