This series is meant to document and promote the joint effort of making ratatui truly portable.

Update: no_std ratatui


Backend::Error merged! One of the blockers for no_std ratatui was the explicit use of std::io::Error in Backend (and by extension, in Terminal as well). Now, Backend implementations must define an associated Error type. Built-in backends will still use std::io::Error, but third-party ones like mousefood can now use a different error type - which will enable a proper no_std compatibility!

I'm actually working on a follow-up PR and ran into a pretty interesting issue, so if anyone reading this has ideas, feel free to jump in and comment.

As for the layout cache problem I mentioned in the last post - since there's no great solution, the decision for now is to simply not provide a cache in no_std mode. When this is merged, the last things left would be just few minor tweaks and adding std feature flag.

We are one step closer to no_std ratatui.
██████████████████░░ 90%

Update: mousefood


Mousefood recently got italic modifier support as well as readme section about bold/italic fonts that also points out some limitations. Additionally, v0.2.1 patch was released that mainly targeted some inaccuracies in the docs.

bold and italic fonts on mousefood Bold and italic modifiers in mousefood, italic will be available with the next release.

The development of mousefood may be a bit slower right now, as I'm focusing on finalizing no_std support in Ratatui - but I'm still making sure to work on it regularly. If you'd like to help out, feel free to reach out!

Full changelog of v0.2.1:

🚜 Refactor

  • (examples) Remove unnecessary extern crate from simulator example

📚 Documentation

  • (readme) Fix simulator code snippet

⚙️ Miscellaneous Tasks

  • (examples) Configure simulator example in Cargo.toml
  • Update list of excluded paths in Cargo.toml

soft_ratatui


Software rendering backend for ratatui. No GPU required. TUI everywhere.

Another new Ratatui backend just dropped - soft_ratatui by @gold-silver-copper, the creator of egui_ratatui. The crate uses tiny-skia to render efficiently directly to a window, ditching the terminal emulator completely. This allows for much higher frame rates out of the box (up to 200 FPS). It will be especially useful for TUI games or interactive tools where smooth performance really matters!

Soft_ratatui is under heavy development and I was told that it will eventually move away from tiny-skia in favor of a custom lightweight renderer.

colors_rgb example running at 140 FPS using soft_ratatui

colors_rgb running at over 140 FPS, "s" in "fps" gets cut off as the example doesn't expect that many digits!

Thanks!


Huge thanks for the response to the last post - it got way more attention than I expected, and even made its way into This Week in Rust #596 and The Embedded Rustacean #44. Thanks to everyone who helped spread Ratatui even further!