cyber-rain 0.2.0

A smoother, themeable Rust take on cmatrix.
cyber-rain-0.2.0 is not a library.

cyber-rain

Crates.io Docs.rs CI Release

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.

cyber-rain animated terminal preview

Install

With Homebrew:

brew install anthony-cervantes/tap/cyber-rain

From crates.io:

cargo install cyber-rain

From this repository:

cargo install --path .

Or run it directly:

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".
  • Message files with --message-file transmissions.txt.
  • Presets with --preset classic|ghost|cyberpunk|calm|chaos.
  • Deterministic demo mode with --demo.
  • Auto-exit recording mode with --duration 10.
  • Clean screensaver output with --no-status.
  • Shell completions with --generate-completion zsh.
  • --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.
  • Live keyboard controls while the rain is running.

Controls

q / Esc / Ctrl-C  quit
Space / p        pause
Up / Down        speed up or slow down
Left / Right     decrease or increase density
1-6              switch palettes
b                toggle burst storms
m                toggle hidden messages
s                toggle status bar

Examples

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
cyber-rain --preset cyberpunk --message-file transmissions.txt
cyber-rain --demo --duration 10 --no-status

For a deterministic demo recording:

cyber-rain --demo --duration 10

Generate shell completions:

cyber-rain --generate-completion bash > cyber-rain.bash
cyber-rain --generate-completion zsh > _cyber-rain
cyber-rain --generate-completion fish > cyber-rain.fish

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.2.0 and push it to build GitHub release binaries.

License

Licensed under either of:

  • Apache License, Version 2.0
  • MIT license

at your option.