Hi HN,
I built a Rust-based terminal tool that wraps TUI applications and records their screen changes, so you can rewind, search, and diff previous screen states.
It runs the target program through a PTY, captures screen snapshots while the app is running, and lets you move back through the recorded history. You can search snapshots by string or regular expression, and highlight areas that changed between frames.
The original idea came from working on baeru, a tool for adding visual effects and color changes over existing TUI applications: https://github.com/blacknon/baeru
While building it, I started wondering whether wrapping an existing TUI as a passthrough layer could have more practical uses.
This tool is also related to hwatch, another project of mine that adds history, diff, and hook functionality to watch: https://github.com/blacknon/hwatch
In this case, the idea is similar, but applied to interactive TUI applications rather than repeated command output.
I’d be interested to hear what people think, especially about possible use cases or similar tools I may have missed.