# Ratty: 인라인 3D 그래픽을 지원하는 터미널 에뮬레이터

> Clean Markdown view of GeekNews topic #29407. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=29407](https://news.hada.io/topic?id=29407)
- GeekNews Markdown: [https://news.hada.io/topic/29407.md](https://news.hada.io/topic/29407.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-05-12T09:06:31+09:00
- Updated: 2026-05-12T09:06:31+09:00
- Original source: [ratty-term.org](https://ratty-term.org/)
- Points: 1
- Comments: 2

## Topic Body

- **Ratty**는 인라인 3D 그래픽을 지원하는 GPU 렌더링 터미널 에뮬레이터임
- **회전하는 쥐 커서**를 포함함
- 사이트에서 **블로그 글**을 읽을 수 있음
- 사이트에서 **Ratty 다운로드**로 이동할 수 있음
- 사이트에서 **소스 확인**으로 이동할 수 있음

## Comments



### Comment 57265

- Author: neo
- Created: 2026-05-12T09:38:20+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=48093100) 
- 여기서 몇몇이 VR 활용을 말하던데, 예전에 소프트웨어 개발용 **얕은 3D UI**를 조금 만져본 적이 있음  
  하루 종일 써도 VAC 눈 피로가 적도록 노트북 화면에서 몇 cm 안쪽 정도의 얕은 깊이였고, 방 안에서 팔을 휘두르는 것보다는 3D에서 색과 레이어를 더해 그리는 느낌에 가까웠음  
  3D는 흔들림 3D, 웹캠 머리/눈 추적으로 만든 원근, 셔터 안경 스테레오, XR HMD 등으로 가능함. 흔들림 방식은 가장 쉽지만 귀엽고 산만하며, 원근은 더 미묘하고 덜 거슬림  
  앱의 스테레오 쌍은 “왼쪽/오른쪽 눈 창 두 개를 제공”하거나 “좌우 뷰를 번갈아 표시하고 라벨링/동기화/폴링”하는 식이 될 수 있고, 이 중 상당수는 창 시스템/관리자/데스크톱 지원이 필요함. Electron과 X를 쌓아 쓰는 방식에서 꽤 큰 지렛대를 얻었음  
  텍스트를 3D로 밀어내는 건 색상화보다 더 재미있고, 어수선한 외형을 감수하면 깊이로 분리된 보조 정보 레이어도 넣을 수 있음. Emacs에 문자별 깊이가 생기면 LispM에도 없던 무언가가 생기는 셈임  
  다만 코드 텍스트처럼 본질적으로 3D가 아닌 것의 가능성을 탐색할 때는 전경/배경색, 글꼴, 유니코드, 애니메이션으로 UX를 프로토타이핑하는 편이 훨씬 쉽고, 브라우저라면 겹친 div와 투명 2D/3D 캔버스를 쓰면 됨
  - 완전히 동작하는 **3D 글리프 기반 텍스트 렌더링 시스템**이 있는데, 사람들이 좀 봐주게 만들기가 어렵더라  
    모든 문자가 3D에 배치된 quad이고 인스턴스 렌더링되므로 수천만 개 이상을 다룰 수 있음. 각 문자는 다른 폴리곤처럼 개별 주소 지정과 변경이 가능함  
    GitHub 저장소 전체를 한 번에 렌더링하는 데 쓰고 있고, 네이티브 Apple 버전과 웹 버전 두 가지가 있음. 웹 버전에는 IDE 구성의 기본 요소가 들어가 있으며, 통찰이나 생각을 듣고 싶음  
    [https://ivanlugo.dev/ide](<https://ivanlugo.dev/ide>)

- UNIX는 REPL 경험에서 아직도 **Xerox 워크스테이션**이나 일반적인 Lisp 머신을 따라잡으려는 중으로 보임  
  1981년에 이미 인라인 그래픽이 있었음  
  [https://youtu.be/o4-YnLpLgtk?t=376](<https://youtu.be/o4-YnLpLgtk?t=376>)
  - 가끔은 우리가 1968년 **Mother of all Demos**에서 이미 풀린 UX를 계속 쫓고 있다는 느낌이 듦  
    아직 안 본 사람들을 위해: [https://www.youtube.com/watch?v=yJDv-zdhzMY](<https://www.youtube.com/watch?v=yJDv-zdhzMY>)
  - 저건 3D가 아님
  - 아니면 TempleOS도 있음

- 이거 마음에 듦. 터미널이 텍스트만 지원해야 할 이유는 없음  
  데이터 과학 노트북은 터미널이 진화할 수 있는 한 방향을 보여주고, 이 분야에서 재미있는 일이 많이 일어나고 있음. Kitty가 아마 여기서 가장 공격적인 혁신자일 듯함 [1]  
  다만 전체적인 비전이 있는지는 잘 모르겠음  
  [1]: [https://sw.kovidgoyal.net/kitty/protocol-extensions/](<https://sw.kovidgoyal.net/kitty/protocol-extensions/>)
  - 굳이 진화가 필요하지 않음. 내 프로젝트 **euporie** [1]를 쓰면 데이터 과학 노트북을 그래픽 이미지 출력, HTML, LaTeX 등과 함께 전부 터미널 안에서 사용할 수 있음  
    [1] [https://github.com/joouha/euporie](<https://github.com/joouha/euporie>)
  - `pyvista`가 Kitty 그래픽을 이용해 임의의 **3D 도형을 터미널에 직접 렌더링**하게 만드는 데 성공했음  
    거대한 해킹이고, 성능을 내려면 shm을 쓰는 것 말고는 방법이 없었음  
    [https://git.theresno.cloud/panki/kglobe](<https://git.theresno.cloud/panki/kglobe>)
  - Terry A Davis가 이미 이걸 했음. 그때도 지금만큼이나 미친 일이었음
  - 이 3D 그래픽을 데이터 과학 노트북, 로컬 LLM, 통합 코딩 하네스, 개인 데이터에 대한 가시성과 섞으면 터무니없이 훌륭한 무언가가 나올 수 있음  
    내가 이상적으로 상상하는 컴퓨팅 미래였던 “haiku+macOS 매시업”을 넘어설지도 모르겠음
  - 이런 게 터미널의 **썸네일**에도 동작할 수 있을지 궁금함  
    보통 파일 관리자를 클릭해서 쓰기보다 터미널에서 파일 시스템을 둘러보는 걸 선호하는데, 디렉터리 안의 3D 모델(STL/STEP, 3D 프린팅)을 터미널 기반 렌더링으로 보여주는 격자형 `ls`가 있으면 정말 유용할 것 같음  
    모델을 미리 보고 회전해서 살펴볼 수 있으면 가산점임

- 어디에 쓸지는 잘 모르겠지만, 시각 효과가 즐거웠고 웹사이트의 **브루털리즘 디자인**도 마음에 들었음. 좋았던 옛날 기억을 떠올리게 해줌

- 이거 꽤 좋아 보이는데?  
  질문이 있음. 렌더링 능력상 **2D도 잘 처리**할 수 있을 것 같은데, 내가 잘못 본 걸까? 터미널에서 고품질 2D 이미지나 래스터화를 얻는 기존 해법은 대체로 별로였음. 이게 다른 해법보다 나을 수 있는지, 아니면 어딘가에서 근본적인 한계에 부딪히는지 궁금함  
  또 GPU 가속이라면 ssh에서는 어떻게 되는지도 궁금함
  - **Kitty 그래픽 프로토콜**은 꽤 좋고, Ghostty가 이를 완전히 구현함
  - 이미 GPU 기반 터미널 에뮬레이터가 꽤 많음. 찾는 게 그런 건가?

- 터미널이 서서히 **풀기능 웹 브라우저**가 되어가고 있음
  - “항상 그랬다” 밈이 곧 나올 듯함. 좀 더 진지하게 말하면 도구의 목적은 일을 해내는 것이고, 결국 이 도구를 유용하게 만들 수 있느냐가 질문이 됨  
    솔직히 아직은 모르겠지만 곧 직접 알아볼 생각임 :D
  - 원하던 게 이거였잖아…  
    [https://github.com/fathyb/carbonyl](<https://github.com/fathyb/carbonyl>)
  - 아니면 터미널은 이미 풀기능 웹 브라우저일 수도 있음  
    [https://hyper.is/](<https://hyper.is/>)
  - 실제로 그렇게 보임

- Terry의 명복을 빎. 결코 잊히지 않기를  
  덧붙이면, 이 프로젝트를 보면 그의 정신은 계속 살아 있는 듯함 :D

- 이걸 보니 compiz가 나왔을 때 모두가 “내 창이 큐브 위에 있어”라거나 “**흔들리는 창**이 필요해”라고 하던 시절이 떠오름  
  그래서 어쨌든 그런 사람답게 바로 설치했음
  - KDE Plasma에서는 지금도 그걸 쓸 수 있음. 멋져서 흔들리는 창을 켜두고 있음
  - 그 좋던 시절이 기억남. compiz 큐브의 한 면에는 VirtualBox로 돌리는 Windows XP를 전용으로 띄워뒀음  
    온갖 compiz 애니메이션 효과와 함께 Windows와 Ubuntu 사이를 전환하는 게 마법처럼 느껴졌음

- 링크된 블로그 글에서 새로 제안된 **글리프 프로토콜** [1]을 알게 되어 매우 흥미로웠음  
  약 6개월 전에도 바로 이런 게 없다고 아쉬워했었음 [2]  
  [1] [https://rapha.land/introducing-glyph-protocol-for-terminals/](<https://rapha.land/introducing-glyph-protocol-for-terminals/>)  
  [2] [https://news.ycombinator.com/item?id=45805072](<https://news.ycombinator.com/item?id=45805072>)
  - 동의함. **글리프**가 핵심임  
    [https://github.com/tikimcfee/glyph3d-js](<https://github.com/tikimcfee/glyph3d-js>)
  - 좋은 아이디어임. 최근 본 몇몇 터미널 프로젝트와 달리, 터미널이 할 수 있는 일의 개념을 완전히 재발명하지 않고도 문제를 다룸

- Kitty 그래픽 프로토콜로 이미 어느 정도 가능함. Kitty에서 **3D 그래픽 렌더링**을 하는 데모를 만들어봤음 [1]  
  실제로 빠져 있는 중요한 부분은 vsync이고, ratty에도 없는 것 같음  
  렌더링이 정렬되지 않으면 애플리케이션이 프레임버퍼에 쓰는 동안 터미널 에뮬레이터가 이를 읽어 시각적 아티팩트가 생길 수 있음  
  [1] [https://x.com/zack_overflow/status/2035921425341763756?s=20](<https://x.com/zack_overflow/status/2035921425341763756?s=20>)

### Comment 57261

- Author: neo
- Created: 2026-05-12T09:06:31+09:00
- Points: 1

###### [Lobste.rs 의견들](https://lobste.rs/s/ij94sb/ratty_terminal_emulator_with_inline_3d) 
- 랜딩 페이지에서 **LLM 냄새**가 나서 블로그 글을 확인했더니 역시나였음  
  > 🐁: "이 작업에 AI가 얼마나 관여했나요?"  
  >  
  > AI 보조 프로그래밍에 대한 제 입장은 [이 블로그 글](https://blog.orhun.dev/code-responsibly/)을 참고하세요  
  > 짧게 말하면 관여는 했지만, 제가 "대충 만든" 것으로 볼 정도는 전혀 아니었습니다  
  좋긴 한데, 이 답변은 생성형 AI가 기존 작업을 **출처 표시 없이 표절**하는 경향이나 다른 윤리적 문제들을 해결하지는 못함
  - 이 태그는 AI 사용 여부가 아니라 **바이브 코딩 논의**에 붙이는 쪽이 낫다고 봄  
    사용 자체에 태그를 붙이려면 프로젝트의 90%에 붙여야 할 것이고, 대화도 결과물 자체에서 벗어나게 됨. 3D 쥐를 표시하는 터미널 에뮬레이터를 한 사람이 해킹해 만든 것에 대해 윤리 논쟁으로 스레드가 흘러가는 건 원치 않음
  - 아이디어 출처로 **Terry Davis**(Temple OS)와 Jeff Reeder, Jim Bergman, Mark Hayton(RIPscript)을 크레딧에 넣어야 한다고 보는 건가?
  - 처음엔 “멋지네, 우호적인 경쟁이 생기나 보다”라고 생각했는데, 파고들수록 미소가 실망으로 바뀌었음  
    빠른 와우 효과를 위해 [약간의 3D](https://terminal.click)를 넣긴 했지만, 목표는 신중하게 [기초를 다시 생각하는 것](https://lobste.rs/s/ndlwoh/wizard_his_shell)이어야 한다고 봄. 내 실험이 실패하더라도, 인간을 위한 인간적인 관점의 제품을 만들었다는 점은 자랑스럽다  
    물론 이들이 순수하게 재미로 하는 것이라면 그 자체로 문제는 없음
  - 랜딩 페이지의 어떤 부분에서 **LLM 느낌**을 받았는지 궁금함. 내 눈에는 검은 배경만 빼면 지난 5~10년 동안 봐온 랜딩 페이지들과 거의 비슷해 보임

- 몇 번을 읽어도 여전히 엄청 혼란스러움  
  한쪽에서는 sixel이나 kitty를 볼 때처럼 계속 “왜?”라는 생각이 듦. 근본적으로 텍스트 지향인 인터페이스에 그래픽을 얹는 건 멋지지만 실용적이진 않아 보임. 물론 curses나 slang에도 같은 반론을 할 수는 있음  
  다른 한편으로는 **3D 렌더링 프로토콜/디스플레이**를 어떻게든 Emacs 안에 넣을 수 있을지 궁금해짐. 뭘 할지는 전혀 모르겠지만, 이 프로젝트처럼 정말 멋질 것 같음
  - “왜?”에 대한 답은 **재미있기 때문**임  
    예전엔 재미있어서 프로그램을 만들곤 했음. 기억나지 않나?
  - https://codeberg.org/akib/emacs-eagle ?
  - > 물론 curses나 slang에도 같은 반론을 할 수는 있음  
    [예전에 lobste.rs에서](https://lobste.rs/c/qqfj2p) :p

- [저녁 한나절을 써서 내 Haskell CAD 프레임워크가 Ratty에서 읽을 수 있는 방식으로 객체를 출력하게 만들었음](https://www.youtube.com/watch?v=zfmplHOqAEw)  
  들인 시간에 비해 꽤 가능성 있어 보였지만, “객체 배치” 명령이 조금 더 설정 가능했으면 싶었음. REPL 출력 안에 공간을 만드는 일과 객체 크기 조정까지 자체적으로 처리해 주길 바랐음  
  또 Ratty가 **assets 폴더 밖의 파일**을 불러오지 못하는 건 좀 별로임. 스크롤도 약간 망가진 것 같았는데, 객체가 사라지기엔 이른 시점에 사라지는 걸 자주 봤음. 다만 내가 뭔가 잘못해서 그랬을 수도 있음
