Buconos

Ratty: The Terminal Emulator That Thinks Outside the Box (and in 3D)

Published: 2026-05-17 03:47:10 | Category: Linux & DevOps

If you thought terminal emulators were all about boring green text on a black background, think again. Meet Ratty—a modern, Rust-based terminal that pushes the boundaries of what a command-line interface can do. With GPU acceleration, a spinning rat as your cursor, and the ability to warp your terminal into a 3D scene, Ratty is as absurd as it is fun. This article answers your burning questions about this quirky yet powerful tool.

What is Ratty and why is it unique?

Ratty is a terminal emulator written in Rust that stands out by blending traditional terminal functionality with advanced 3D graphics. Unlike conventional terminals, Ratty is GPU-rendered, allowing it to display interactive 3D models directly inside the window. Its design is inspired by TempleOS, giving it a retro aesthetic while maintaining modern performance. The most eye-catching feature? The default cursor is a rotating 3D rat—a playful nod to its name. Ratty uses the Bevy game engine and the Ratatui library to create a fully customizable 3D cursor, a dedicated 3D mode, and even inline 3D objects that move with your text. It's an experimental project that reimagines the terminal as a canvas for creativity.

Ratty: The Terminal Emulator That Thinks Outside the Box (and in 3D)
Source: itsfoss.com

How does the customizable 3D cursor work?

Ratty replaces the boring block or line cursor with a 3D object—by default, a spinning rat. But you're not stuck with a rat; you can customize the cursor to any 3D model you like. This is achieved through the Bevy game engine and terminal protocols. The 3D cursor moves along with your text input, creating a seamless blend of game-like rendering and standard terminal workflow. The rat rotates continuously, adding a dynamic visual element to typing commands. To change the cursor, you can register your own 3D assets using the Ratty Graphics Protocol. This feature isn't just for show—it demonstrates how a terminal can integrate real-time 3D graphics without sacrificing usability.

What is the 3D mode and how do you access it?

3D Mode transforms your entire terminal into a canvas within a three-dimensional scene. Instead of a flat, static window, you can pull, warp, and view your terminal output from different angles. Imagine your shell commands floating in a 3D space that you can rotate and manipulate. To enter 3D Mode, press Ctrl+Alt+Enter. Once inside, you can use Super+Ctrl+Alt+Up to increase warp and Super+Ctrl+Alt+Down to decrease warp. This feature showcases Ratty's integration with the Bevy engine, treating the terminal output as a texture on a 3D object. It's a mind-bending way to interact with the command line, perfect for impressing coworkers or just having fun with your workflow.

What is Mobius mode?

Mobius mode is a trippy variation of 3D Mode that twists your terminal output into a continuous Möbius strip. Activated with Ctrl+Alt+M, this mode bends the text into a single-sided surface with no beginning or end. The effect is both beautiful and disorienting, demonstrating how Ratty can warp 2D terminal content into complex 3D shapes. While in Mobius mode, you can still interact with the terminal normally, though reading might require a head tilt. This feature is purely experimental but highlights the creative potential of combining a terminal emulator with a game engine. It's a fun way to break the monotony of traditional command-line work.

Ratty: The Terminal Emulator That Thinks Outside the Box (and in 3D)
Source: itsfoss.com

How do inline 3D objects function in Ratty?

Inline 3D objects are 3D models that you can anchor to specific text cells in the terminal. For example, you could place a spinning cube next to a file name or a 3D graph alongside data output. These objects move seamlessly as the text scrolls or changes position because they are anchored to the cells. Ratty achieves this through a dedicated Ratty Graphics Protocol that handles communication between terminal data and the 3D engine. Developers can register any 3D asset and assign it to a cell coordinate. This feature blurs the line between text and graphics, making it possible to embed rich visual elements directly into command-line workflows. It's still early-stage but opens up exciting possibilities for data visualization and interactive scripts.

Does Ratty support image display?

Yes, Ratty includes built-in image support, similar to the Kitty terminal's graphics protocol. You can display images directly in the terminal window without needing external viewers. This works seamlessly with the GPU-rendered environment, allowing images to appear inline with text or as standalone views. Combined with the 3D features, Ratty can show 2D images alongside 3D models, making it a versatile multimedia terminal. Image support is useful for previewing assets, displaying diagrams, or adding visual feedback to scripts. While not as flashy as the 3D cursor, it's a practical addition that enhances productivity without sacrificing performance.

Why is Ratty written in Rust and what benefits does that bring?

Rust was chosen for Ratty because of its performance, safety, and concurrency features. Being GPU-rendered requires high efficiency, and Rust's zero-cost abstractions and memory safety ensure smooth operation without crashes or slowdowns. The Bevy game engine, also written in Rust, integrates naturally with the language, allowing Ratty to leverage its full 3D rendering power. Additionally, Rust's strong ecosystem provides robust terminal handling libraries like Ratatui. The result is a terminal that feels responsive even when rendering complex 3D scenes. While the choice of language isn't the main selling point, it's a key enabler of Ratty's unique capabilities. For developers, Rust also means easier contributions and long-term maintainability.