ゴーストリング

2026/03/21 7:11

ゴーストリング

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Ghostling は、Raylib を使用してウィンドウ作成とレンダリングを行い、単一ファイルに libghostty ライブラリを埋め込む方法を示す、C 言語で完全に実装された軽量デモターミナルです。
本プロジェクトは libghostty‑vt(ゼロ依存の VT パーサ)に依存し、以下のコアターミナル機能を提供します:テキスト再流しによる画面サイズ変更;24‑ビットと256色完全対応;太字/イタリック/反転スタイル;Unicode/複数コードポイントグラフェム処理;Shift/Ctrl/Alt/Super 修飾子付きキーボード入力;Kitty キーボードプロトコル;X10、通常、ボタン、任意イベントモードを含む包括的マウストラッキングとレポート形式(SGR、URxvt、UTF8、X10);スクロールホイールサポート;ドラッグ可能スクロールバー;フォーカス報告。
Ghostling は意図的に最小限で設計されており、完全装備のターミナルとして日常使用を想定していません。正確性についても限定的な監査しか行われていません。これは libghostty のレンダラー非依存設計を示す例です:ライブラリはパースと状態管理を担当し、実際の描画はユーザーが選択したシステム(この場合は Raylib)に委ねられます。
今後の libghostty‑vt の拡張として、Kitty Graphics Protocol、OSC クリップボードサポート、および OSC タイトル設定を予定しています。デバッグビルドは追加の安全チェックにより遅くなりますが、リリースビルドは効率的に動作します。

このバージョンは Key Points List の主要ポイントをすべて保持しつつ、要約を簡潔で明瞭に保っています。

本文

Ghostling(ゴーストリング)とは?

Ghostling は、libghostty C API を単一の C ファイルで構築した最小限機能付きターミナルをデモンストレーションするプロジェクトです。
ウィンドウ作成と描画には Raylib を使用し、シングルスレッド(ただし libghostty‑vt はスレッド対応)で動作します。また、メインの Ghostty GUI が GPU 直接描画を行うのに対して、Ghostling は 2D グラフィックスレンダラーを採用しています。これにより、libghostty の柔軟性とさまざまな環境での活用方法が示されています。

注意
Ghostling ターミナルは日常的に使う完全機能付きターミナルではありません。
libghostty に基づく最小実装として作られたもので、デモ目的ですので、正確性を保証するための監査は行っていません。C で書かれている点にご留意ください。


Libghostty(リブゴーストティ)とは?

Libghostty は Ghostty のコアから抽出した埋め込み型ライブラリです。
C API と Zig API の両方を公開しており、任意のアプリケーションが高速で正確なターミナルエミュレーションを組み込むことができます。

Ghostling は libghostty‑vt を使用しています。これは依存関係ゼロ( libc も不要)で次の機能を提供します:

  • VT シーケンス解析
  • ターミナル状態管理(カーソル位置、スタイル、テキスト再流し、スクロールバックなど)
  • レンダラー状態管理

描画やウィンドウ作成コードは含まれていません。Ghostling のように、利用者側で独自に実装します。
核心ロジックは Ghostty から直接抽出されており、以下の優れた特長をそのまま継承しています:

  • 優れた精度・完全性を備えたターミナルエミュレーション
  • SIMD 最適化されたパーシング
  • 先進的な Unicode 対応
  • 高度に最適化されたメモリ使用量
  • 数百万の日次アクティブユーザーによって検証・テスト済み

主な機能

Ghostling は libghostty の薄いラッパーですが、以下のような機能を備えています:

機能内容
文字列再流し付きリサイズウィンドウサイズ変更時にテキストが自動で再配置されます
フル24‑bitカラー・256色パレット高彩度のカラーモードをサポート
ボールド、イタリック、逆転スタイル文字装飾を多様に表現
Unicode & マルチコードポイント(グレム)の扱いシェーディングやレイアウトは不要ですが、正確なグラフェム処理が可能
キーボード入力 (Shift, Ctrl, Alt, Super)修飾キーを含む完全サポート
Kitty キーボードプロトコルKitty ターミナルのキーボード互換性
マウス追跡(X10、通常、ボタン、任意イベント)さまざまなマウスモードに対応
マウス報告形式 (SGR, URxvt, UTF8, X10)多様な出力フォーマットを提供
スクロールホイールビューポートスクロールバックまたはアプリへ転送
スクロールバー(ドラッグでスクロール)UI の便利さ向上
フォーカス報告 (
CSI I
/
CSI O
)
ターミナルのフォーカス状態を通知
その他Ghostty がサポートする全ターミナルエミュレーション機能

今後実装予定

libghostty‑vt でまだ公開されていないが、将来的に実装予定の機能は以下です:

  • Kitty Graphics Protocol
  • OSC クリップボードサポート
  • OSC タイトル設定

Ghostling 自体では未テスト・未実装の可能性がある追加項目もあります(例:Windows サポート – libghostty‑vt は Windows をサポートしています)。リストは随時更新されます。


取り扱わない機能

Libghostty はコアターミナルエミュレーションに集中しており、以下のような GUI 上位レイヤーの機能は含みません:

  • タブ
  • 複数ウィンドウ
  • スプリット(分割)
  • セッション管理
  • 設定ファイルや GUI
  • 検索 UI(ただし検索ロジック自体は libghostty‑vt に実装)

必要に応じて利用者側で実装する想定です。本例は最小限に留めています。


ビルド方法

必要条件

  • CMake 3.19+
  • C コンパイラ
  • Zig 0.15.x(PATH に入っていること)

Raylib はまだインストールされていない場合、CMake の

FetchContent
で自動取得します。

cmake -B build -G Ninja
cmake --build build
./build/ghostling

注意
デバッグビルドは Ghostty 内の多くの安全性・正確性チェックにより極めて遅くなります。ベンチマークには使用しないでください。

リリース(最適化)ビルド:

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build

初回の

configure
後はビルドステップだけ実行すれば十分です。


FAQ

なぜ Zig ではなく C を使うのか?

libghostty‑vt は完全に機能し、検証済みの Zig API を備えています。Ghostty GUI 自体もこの API を使用していますが、本デモは「最小限の C API」を示すためです。C は多くの開発者環境で広く使われており、アクセスしやすいというメリットがあります。

Rust など他言語はどうなる?

libghostty‑vt は C API を持ち、依存関係ゼロなのでほぼ任意の言語に薄いバインディングを作ることができます。Ghostty プロジェクトが公式に C と Zig 以外の言語用バインディングを維持するかは未定ですが、コミュニティ側で多様な言語への対応を期待しています。

libghostty は Raylib が必要?

いいえ! Libghostty はレンダラーや GUI フレームワークに関して一切の意見を持ちません。ブラウザ向け WASM も含め、単独で使用可能です。高性能な「レンダー状態 API」だけを提供し、必要な描画コードは利用者が実装します。Ghostty GUI が Metal/OpenGL 用に使う API と同じものを Raylib の 2D グラフィックス API に適用しています。

なぜ CMake・Raylib を選んだのか?

「何かを選ぶ必要があった」だけです。任意のビルドシステム・ライブラリを使用できます。CMake は広くサポートされており、Raylib はウィンドウ作成と 2D 描画に優れたシンプルなライブラリです。詳細に囚われすぎず、実装に集中してください。


同じ日のほかのニュース

一覧に戻る →

2026/03/21 6:03

**OpenCode – オープンソースAI コーディング エージェント**

## Japanese Translation: **改善された要約** OpenCodeは、プライバシーを最優先にしつつオープンソースで開発されたAIコーディングエージェントです。ターミナル、IDE、またはデスクトップアプリとしてスムーズに動作します。使用されるLLMに応じて自動的に適切なLanguage Server Protocol(LSP)をロードし、同一プロジェクト上で複数のエージェントを同時に起動できるようにします。セッションは簡単なリンクで共有でき、参照やデバッグに利用できます。OpenCodeはGitHub Copilot、ChatGPT Plus/Pro、およびModels.devを通じて75社以上の大規模言語モデルプロバイダー(ローカルモデルも含む)と統合しており、さらに**Zen**というコーディングエージェント向けに特別にテスト・ベンチマークされたAIモデルのキュレートセットを提供します。プロジェクトは120,000件以上のGitHubスター、800人の貢献者、10,000件以上のコミット数を誇り、毎月5百万社以上の開発者に利用されています。またコードやコンテキストデータを保存しないため、プライバシーセンシティブな環境にも適しています。新リリースや機能拡張について情報を受け取りたいユーザーはウェイトリストに登録できます。

2026/03/21 4:16

**Windows 品質への我々の約束**

## Japanese Translation: Microsoft は、ユーザーから報告されたタスクバーの混乱したオプション、Copilot エントリポイントのごちゃごちゃ、侵入的なアップデート、遅いファイルエクスプローラー、騒がしいウィジェット、分断された Insider Program などの課題に対処するため、Windows 11 のユーザビリティ・パフォーマンス・信頼性の一連の更新を展開しています。 主な変更点は次のとおりです: - **タスクバー**: 新しい再配置オプション(上部、左側、右側)とより小さなタスクバーで、パーソナライズ性が向上します。 - **Copilot**: スニッピングツール、フォト、ウィジェット、メモ帳のエントリポイントを削減し、有用な体験に焦点を当てることでアクセスを簡素化しました。 - **Windows Update**: コントロールが拡張されました—設定中にアップデートをスキップでき、長時間停止、再起動またはシャットダウン時にインストールせずに済み、自動再起動/通知の数が減ります。 - **ファイルエクスプローラー**: 起動速度向上、ちらつき軽減、ナビゲーション滑らか化、ファイルタスクパフォーマンスの信頼性向上です。 - **ウィジェット**: デフォルトが静かになり、外観コントロールが改善され、Discover フィードのパーソナライズが向上しました。 - **Insider Program**: チャネル定義を明確化し、機能アクセスを容易にし、ビルド品質を高め、フィードバック可視性とエンゲージメント機会を増やすことで簡素化されました。 - **Feedback Hub**: 提出速度の向上とコミュニティインタラクションのために大幅な再設計が行われました。 - **システムパフォーマンス目標**: Windows のリソース使用量を低減し、メモリフットプリントを削減、アプリケーション、ファイルエクスプローラー、WSL 全体で応答性を改善します。 - **信頼性イニシアチブ**: OSクラッシュ、ドライバー品質、Bluetooth/USB の安定性、カメラ/オーディオ接続、デバイス再起動の一貫性、および月1 回の単一再起動と一時停止オプションを対象にします。 - **Windows Hello**: 顔認証の信頼性向上、指紋サインイン速度の高速化、ROG Xbox Ally X のようなゲーム用ハンドヘルドデバイスでの PIN 設定のセキュリティ強化です。 - **Craft 改善**: スタート/タスクバーの信頼性向上、パーソナライズ拡張、デバイス設定を静かに、ウィジェットの賢さ向上、通知削減、タスクバー・スタート・ファイルエクスプローラー・設定間で一貫した検索機能。 Microsoft は実際のハードウェア上で検証/テストを深化させ、デフォルトのセキュリティ設定を引き上げ、Insider のフィードバックに依存して将来の Windows 11 リリースを導く予定です。その結果として、ユーザーと開発者双方に対し、より柔軟なインターフェイス、スムーズな更新、静かな通知、そして高い信頼性が実現します。

2026/03/21 6:42

**タイトル:** GLP‑1薬を中止すると心筋梗塞と脳卒中のリスクが急増 **主なポイント:** - GLP‑1受容体作動薬(GLP‑1 RA)をやめると、心筋梗塞・脳卒中のリスクが高まります。 - これらの薬を中止した患者は、継続している患者に比べて心血管イベントの発生率が増加する可能性があります。 - 本研究は、GLP‑1 RAを服用している患者の心血管安全性には、投与継続(薬剤遵守)が重要であることを示唆しています。

## Japanese Translation: (以下の文は、元の意味を正確に保持し、構造や専門用語もそのまま維持した日本語訳です。) **改訂された要約:** 研究によると、短期間であってもグルカゴン様ペプチド‑1(GLP‑1)薬を中断すると、米国退役軍人の2型糖尿病患者において心臓発作や脳卒中のリスクが増加し、継続使用ではそれらのリスクが低減することが示されました。研究者は33万3000人以上の退役軍人を3年間追跡調査しました:GLP‑1治療を2年間停止したグループは心血管リスクが22%増加し、決して中断しなかった患者は18%リスク減少、再開のみで12%の利益にとどまることが明らかになりました。治療が途切れた際には体重・炎症マーカー・血圧・コレステロールが悪化し、「代謝的ウィップラッシュ」と呼ばれる効果が観察されました。GLP‑1薬はもともと糖尿病のために開発されましたが、現在では腎臓・肝臓・心血管系・関節炎・認知症・依存症などのアウトカムにも有益です。ただし、新規使用者のおよそ半数が早期に中断しています。著者らは、服薬遵守と効果を別々に追跡すべきだと主張し、医療システムには長期的な継続利用を支援するプログラムの構築を求めています。この研究は *BMJ Medicine* にZiyad Al‑Aly(ワシントン大学)によって発表され、心血管保護のためにGLP‑1療法を持続させる重要性を強調しています。