Ratty——一个能在终端里嵌 3D 图形的 TempleOS 式实验

查看原文 HN 讨论

文章摘要

Ratty 是 Orhun Parmaksız(Ratatui 作者之一)做的一个GPU 渲染、支持 inline 3D 图形的终端模拟器。它的灵感写在主页上很直白——”inspired by TempleOS,用 Rust 和 Ratatui 构建“。Terry Davis 当年在 TempleOS 里可以把 3D 模型像 emoji 一样嵌在文档里——Ratty 让这个想法在 2026 年以现代 GPU 管线重新出现。

核心功能——光标本身是一只会自转的 3D 老鼠(可以换成你喜欢的任何 3D 模型)。整个终端不是一张文字平面,而是一个3D 画布,你可以把 3D 模型和精灵图直接插到指定的”行列”位置,它们会跟随终端文字一起滚动、定位。

渲染流水线分三段:(1) PTY 把 escape sequence 喂给 vt100 crate 做终端模拟;(2) Ratatui 生成终端 buffer,用 Vello + Parley 把它渲染成 GPU texture;(3) Bevy 游戏引擎把这张 texture 放到 3D 场景里渲染,配上相机、灯光、动画模型。换句话说,这本质上是个披着终端外皮的 Bevy 应用

Ratty Graphics Protocol (RGP) 是它定义的协议——通过 APC escape sequence 让应用程序往终端里发 3D 内容:

ESC _ ratty;g;<verb>;<parameters> ESC \

四种基础操作——能力查询、资源注册、对象摆放、删除。配套有一个 ratatui-ratty widget 库,让已有的 Ratatui 应用可以直接集成 3D 图形。

代价也很坦诚——约 300MB RAM、显著 CPU 占用——作者在 README 里有一句让 HN 笑翻的话:”Don’t worry, all of these dependencies are worth it.“——典型的 Rust + Bevy + Vello + Parley 全家桶。它不打算和 Alacritty / kitty 在轻量化上竞争,它在跟 TempleOS 在精神上对齐。

HN 评论精华