Roadmap
Planned work, in suggested priority order:
- Extend renderer tests for wide glyphs, combining marks, emoji, and fallback fonts, then fix differences from expected terminal output.
- Pass live terminal mode state to
libghostty-vt::key::Encoder. Test applications that switch cursor-key or keypad modes. - Decide whether library callers should receive images, frames, and state snapshots without
writing files.
Runner::run_artifactsalready returns final terminal state. - Consider injectable process, clock, and filesystem interfaces if direct library use grows. These would let tests exercise timing and failures without real shells or media files.
- Add benchmarks for rendering, state compaction, frame decoration, and GIF encoding once their behavior settles.
- Keep MP4/WebM encoding in optional ffmpeg unless users need native encoding. Native support would add codec dependencies and platform tests.
- Watch for a supported libghostty frame-capture API. The Rust bindings Betamax uses do not currently expose one.
See the repository roadmap for details and Differences from VHS for compatibility and unsupported features.