Skip to content

joshka/bevy_ratatui

Repository files navigation

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.