インライン3Dグラフィックスを備えたGPUレンダリングのターミナルエミュレータ「Ratty」、回転するネズミのカーソル付き
Rattyはインライン3DグラフィックスによるGPUレンダリングをサポートするターミナルエミュレータです。フリー・オープンソースソフトウェアを扱うニュースサイトのIt's FOSSが「馬鹿げているけど滅茶苦茶楽しい」と評したアプリと聞いて気になったので調べてみました。
Ratty — A GPU-rendered terminal emulator with inline 3D graphics 🐀🧀
https://ratty-term.org/orhun/ratty: A GPU-rendered terminal emulator with inline 3D graphics 🐀🧀 https://github.com/orhun/ratty 作者自身による実際に動かしている様子のプレゼンテーション動画はこんな感じ。
もしあなたの端末が3Dだったら?(Rattyのご紹介) - YouTube
BGM付きで一発で分かる動画はコレ。
◆概要 作者のOrhun Parmaksız氏がブログで語ったところによるとRattyが開発されたきっかけはOrhun氏がTempleOSに触れたことです。TempleOSの特徴はOrhun氏の言葉を借りれば「オペレーティングシステム全体がまるで熱にうなされた夢を見ているか幻覚剤を服用したかのよう」といった雰囲気にあり、「派手な色彩・グラフィックの スプライト・理解不能なUIに衝撃を受け、同時に感銘を受けた」そうです。
ただOrhun氏がTempleOSから受けた感銘は奇抜な外見だけにとどまらず、スプライトが第一級かつ挿入可能なドキュメント項目として扱われていた点にもありました。つまり画像・3Dメッシュ・マクロ(クリック可能なリンク)が直接コマンドラインに直接挿入できるということであり、コマンドラインがあらゆる操作の直接的インターフェースになることを考慮するとコードの記述・システム応答・グラフィックのレンダリングといった操作をすべて同じ場所で行うことができるということになります。
以降「コマンドラインにスプライトを表示する」というアイデアはOrhun氏の頭の片隅にあり続け、ついにはRattyの誕生に至りました。
◆特徴
公式GitHubによるとRattyの特徴は以下の通りです。・回転するネズミカーソル(カスタマイズ可能)
・3Dモード ・インライン3Dオブジェクト ・GPUを用いたテキストレンダリング・Kitty Graphics Protocolによる画像サポート
◆インストール
Rattyは公式GitHubのリリースページに実行ファイルを含むアーカイブがあるので、環境に適合するものがあればダウンロードして解凍すればすぐに実行できます。今回はx64 Windows版を実行してみます。◆実行
アーカイブを解凍して得られる「ratty.exe」をダブルクリックすると、まずWindowsターミナルが起動します。そしてRattyが起動します。MINGW64をベースにしているようですが、カーソルがあるべきところにネズミが回転しています。
ネズミはこんな感じで動きます。
延々回転し続けるネズミをかわいいと思う人もいれば、入力した文字の上にネズミが被ってきて思わずイラっとする人もいそう。
では3Dモードに切り替えます。Rattyのキーバインドは以下の通りなので、Ctrl+Alt+Enterを入力すると2Dモードから3Dモードに切り替わります。
3Dモードに変更した状態。特に変化はないように見えます。
ただしマウスで画面をドラッグすると画面がぐるぐると回転し、現状が3Dモードであったことを痛感できます。
画面が裏返ってもはや何が何だか分からなくなってしまいましたが、それでもくるくると回り続けるネズミカーソルがシュールです。
どうしようもなくなったら再度Ctrl+Alt+Enterを入力すると2Dモードに復帰します。ただし3Dモードの状態がリセットされたわけではないので、3Dモードに戻るとぐちゃぐちゃの状態が再現されます。
メビウスモードに切り替え。マウスで画面をドラッグすることもできます。
こんな状態でも画面をスクロールさせることができます。
◆まとめ Rattyは正直なところ実用性は皆無ですが、画像の扱いや3Dレンダリングといった見逃せない要素があるのもまた事実です。今回はバイナリをダウンロードして実行しましたが、GitHubリポジトリをクローンしてcargoコマンドでデモコマンドを実行することで巨大なネズミを表示させるなどより一層飛び抜けた体験ができますので、興味を持った方は是非挑戦してみてください。
・関連記事 無料でiPhone・iPad内で動くターミナルアプリ「a-Shell」を使ってみた、Pythonやyt-dlpなどのCLIツールを実行できてショートカット連携も可能 - GIGAZINE
700以上のOSを起動できるエミュレーター「バーチャルOSミュージアム」 - GIGAZINE
無料・高速・多機能でクロスプラットフォーム対応のターミナルエミュレータ「Ghostty」が魅力的な理由 - GIGAZINE
Appleが1枚の画像からリアルな照明効果を持つ3Dオブジェクトを再現できるAIモデルを発表 - GIGAZINE
とあるアプリで尋常ではないメモリリークが報告され修正されるまで - GIGAZINE
かつてスパコンが必要だった宇宙シミュレーションをノートPCで実行できる強力エミュレーター「Effort.jl」 - GIGAZINE
スーパーマリオブラザーズで学ぶ「スレッド」 - GIGAZINE
テキストから物理的に安定したレゴブロックの構造物を生成するモデル「LegoGPT」とデータセット「StableText2Lego」が公開中 - GIGAZINE