开源开发者Orhun Parmaksız发布了一个全新的终端模拟器Ratty,它使用Bevy游戏引擎进行GPU渲染,支持内联3D图形显示,甚至还有一个旋转的老鼠光标动画。这个”最不正经”的终端模拟器在开发者社区引发了广泛关注。
项目亮点
Ratty的核心特性让人眼前一亮:
- GPU渲染:使用Bevy游戏引擎(Rust生态中最流行的游戏引擎)进行GPU加速渲染
- 内联3D图形:可以在终端中直接显示3D模型和图形
- 旋转老鼠光标:光标是一个旋转的3D老鼠模型(致敬项目名Ratty)
- 基于Ratatui:使用Ratatui库作为终端渲染层
- 灵感来自TempleOS:受TempleOS的DolDoc格式启发,支持富媒体内容嵌入
技术实现
Ratty的技术架构很有意思:
它使用Ratatui作为终端渲染层。虽然Ratatui通常被用来在终端中构建TUI应用,但Ratty反其道而行之——它将解析后的终端状态重建为Ratatui风格的缓冲区,然后将这个缓冲区渲染到GPU纹理上。
这种设计的优势在于,Ratatui已经提供了完善的终端单元格、样式和基于缓冲区的渲染模型,Ratty可以直接复用这些能力。
安装和使用
安装Ratty需要Rust工具链:
cargo install ratty
安装后可以通过配置文件ratty.toml自定义设置。
资源消耗
作者坦诚地指出了Ratty的资源消耗问题:
- 编译时需要构建600个Rust依赖(因为Bevy游戏引擎的依赖链很长)
- 运行时内存占用约300MB(对于一个终端模拟器来说确实偏高)
- CPU使用率比传统终端模拟器更高
作者表示:”牺牲300MB RAM来运行一个终端模拟器确实很多,但一切都有代价,特别是那个旋转的老鼠光标……希望未来能优化!”
适合谁
Ratty目前更适合作为:
- 技术演示和概念验证
- Rust和Bevy游戏引擎的学习案例
- 终端模拟器开发的参考项目
- 追求个性化开发环境的极客玩家
项目地址
Ratty是一个开源项目,代码托管在GitHub上。如果你对终端模拟器开发或Rust游戏引擎应用感兴趣,值得一看。
简评
Ratty虽然不适合日常使用(300MB内存的终端模拟器确实夸张),但它展示了终端模拟器的另一种可能性。用游戏引擎渲染终端、内联3D图形、旋转老鼠光标——这些看似”不正经”的功能背后,是对终端模拟器边界的有趣探索。对于想学习Rust或Bevy引擎的开发者来说,这是一个很好的参考项目。












GitHub – TauricResearch/TradingAgents

GitHub – docusealco/docuseal


暂无评论内容