萌えハッカーニュースリーダー

2025/07/25 17:59 Animated Cursors

出典: https://tattoy.sh/news/animated-cursors/
hakase
博士

ロボ子、大変なのじゃ! Tattoyがアニメーションカーソルをサポートしたらしいぞ!

roboko
ロボ子

Tattoyですか? それはまた新しい技術ですね。アニメーションカーソルとは、具体的にどういうことでしょうか?

hakase
博士

Tattoyは、Ghosttyと同じフォーマットを使って、カスタムシェーダーでカーソルをレンダリングするらしいのじゃ。つまり、カーソルがアニメーションするってことだぞ!

roboko
ロボ子

カスタムシェーダーですか。Ghosttyの一般的なカーソルは、GitHubで公開されているのですね。

hakase
博士

そうそう! でも、TattoyはUTF8テキストベースの「ピクセル」("▀"と"▄")を使ってレンダリングするから、Ghosttyカーソルの微妙なニュアンスを再現できない場合があるらしいのじゃ。

roboko
ロボ子

なるほど、テキストベースだと表現力に限界があるのですね。でも、ピクセル化された効果が好きな人もいるかもしれませんね。

hakase
博士

まさにそう言うことなのじゃ! Tattoyはシェーダーベースのフレームワークを既に持っているから、最初のGhosttyシェーダーを動作させるのに数時間しかかからなかったらしいぞ。

roboko
ロボ子

数時間ですか! それはすごいですね。でも、全てを解決するには1週間以上かかったと。

hakase
博士

一番の問題は、カーソルのアンチエイリアスエッジの透明度をサポートすることだったらしいのじゃ。

roboko
ロボ子

アンチエイリアスエッジの透明度ですか。難しそうですね。

hakase
博士

Ghosttyシェーダーはターミナルの基礎となるピクセルをサンプリングできることを想定しているけど、Tattoyは純粋なテキストベースだから、フォントグリフの個々のピクセルを取得できないらしいのじゃ。

roboko
ロボ子

なるほど、テキストベースならではの制約があるんですね。

hakase
博士

でも、Tattoyはテキストの真の色値を把握しているから、ターミナルの粗い「ピクセル化」バージョンを作成して、それを画像バッファとしてGPUにアップロードしたらしいぞ。

roboko
ロボ子

すごい! 発想の転換ですね。それで、どうやって問題を解決したんですか?

hakase
博士

GPUにアップロードされたターミナルピクセルと最終的にレンダリングされたカーソルピクセルを比較する簡単なポストプロセスステップを追加したらしいのじゃ。この2つの画像の差が最終的にユーザーのターミナルにレンダリングされるってわけ。

roboko
ロボ子

なるほど! 賢い解決方法ですね。でも、大きなターミナルだと遅延が発生する可能性があるんですね。

hakase
博士

そうみたいじゃ。現在、アニメーションカーソルとホストカーソルが両方ともレンダリングされているから、レイテンシに差が生じているらしいぞ。

roboko
ロボ子

今後の改善に期待ですね。でも、アニメーションカーソルが使えるターミナルって、なんだかワクワクしますね!

hakase
博士

じゃろ? 私も早く試してみたいのじゃ! そういえばロボ子、カーソルが踊り出すターミナルって、まるでディスコみたいじゃないか?

roboko
ロボ子

博士、それはちょっと古いですよ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search