bevy_ratatui

Crates.iobevy_ratatui
lib.rsbevy_ratatui
version0.6.4
sourcesrc
created_at2024-02-27 06:44:49.880545
updated_at2024-10-22 08:49:40.463098
descriptionA Bevy plugin for building terminal user interfaces with Ratatui
homepage
repositoryhttps://github.com/joshka/bevy_ratatui
max_upload_size
id1154604
size145,571
Josh McKinney (joshka)

documentation

https://docs.rs/bevy_ratatui

README

Bevy_ratatui

An experiment using Ratatui from within a Bevy app. Note that this library is explicitly unstable and will break compatibility between 0.x versions.

The goal of this (at least to start) is not to do any rendering / 3D / etc. in the terminal, but just to see how useful it is to use the bevy concepts for apps. This may change over time.

Example app

This app demonstrates:

  • Using the RatatuiContext resource to draw widgets to the terminal
  • ScheduleRunnerPlugin to run the app loop
  • Using Events to communicate
  • Handling States to add logic that runs on transition (e.g. changing the background color when going from Negative to Positive in a simple counter app)
cargo run --example demo

Keys:

  • Left / Right - modify the counter (look at what happens when you go negative)
  • Q / Esc - quit
  • P - simulate a panic (tests the color_eyre panic hooks)

Made with VHS

Compatible Bevy versions

bevy bevy_ratatui
0.14 0.6
0.13 0.5

Ideas on progressing this

Previous bevy_ratatui crate

Previously there was another crate using this name which has since migrated to ratatui_egui_wasm. A ratatui backend that is also an egui widget. Deploy on web with WASM or ship natively with bevy, macroquad, or eframe. Demo at https://gold-silver-copper.github.io/

License

Copyright (c) Josh McKinney

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md.

Commit count: 40

cargo fmt