storytold/gridcraft

GridCraft: an open-source, clean-room spreadsheet (Microsoft Excel-style) in pure Rust. By ArtCraft.

GridCraft – Rust で書かれたオープンソースのスプレッドシートアプリ

概要 – GridCraft は、Microsoft Excel のクリーンルーム再実装です。Excel ユーザーが知っているリボン UI、数式バー、シートタブ、キーボードショートカットを提供しますが、純粋な Rust でゼロから構築されています。同じコードが macOS、Windows、Linux、BSD で動作し、WebAssembly を介してブラウザでも動作します。

主な機能

  • フル機能のスプレッドシートエンジン – 依存関係グラフ計算機で、動的配列スピル、500 以上のワークシート関数(LET、LAMBDA、MAP、REDUCE、SCAN、BYROW、BYCOL、MAKEARRAY などの最新関数を含む)、構造化テーブル参照をサポート。
  • Excel 互換のファイル形式 – ネイティブ XLSX ファイル(スタイル、テーマ、数式、テーブル、チャート、ピボットテーブル、コメント、ハイパーリンクなどを保持)および CSV/TSV の読み書き。
  • リッチな UI 機能 – ダークモード、条件付き書式、カラースケール、データバー、スパークライン、17 種類のチャート、ピボットテーブル、ページ区切りプレビュー、PDF エクスポート、表示されているものだけをレンダリングする仮想化グリッド。
  • パフォーマンスの工夫 – コピーオンライトのワークブックでアンドゥを軽量に。インクリメンタル再計算と仮想化グリッドで大規模なシートもレスポンシブに。
  • エージェントネイティブ制御 – すべての UI アクションは、MCP(マルチチャネルプロトコル)サーバーまたは CLI を介して JSON コマンドとして公開され、自動化や AI エージェントがアプリを駆動できます。

始め方

  • Cargo でデスクトップアプリをビルドして実行:cargo run --release -p gridcraft。
  • サンプルワークブック(--sample sales、budget、grades)または既存の .xlsx ファイルを開く。
  • ウェブ版は、Trunk でビルド(trunk build --release)し、生成された静的ファイルを配信します。
  • gridcraft-cli ツールを使用して、数式の評価、範囲の読み書き、MCP 制御チャネルを介したアプリの駆動ができます。

アーキテクチャ概要 このプロジェクトはレイヤード Cargo ワークスペースです:

  • コアレイヤー(L0‑L2) は、値、解析、数式レクサー/パーサー、関数ライブラリ、ワークブックモデル、計算エンジンを処理します。
  • 上位レイヤー は、チャートのレイアウト/レンダリング、コマンドエンジン、履歴/アンドゥ、UI(egui)、MCP サーバーを提供します。
  • デスクトップ、CLI、WebAssembly フロントエンド用の個別のクレートにより、UI を交換可能にしています。

ロードマップ GridCraft はプレアルファ版で、現在 Excel のリボンコマンドの約 89%、関数の約 93% をカバーしています。今後のマイルストーンには、署名付きリリースビルド、より忠実度の高い XLSX 処理、非常に大きなシートでのパフォーマンス、スライサー、ソルバー、チャートのトレンドライン、真のページレイアウトビューが含まれます。

ライセンス MIT または Apache‑2.0 のデュアルライセンスで、同梱のすべてのアセットは ATTRIBUTION.md にリストされています。このプロジェクトはコミュニティ駆動で、Discord を介してコントリビューターを歓迎します。


上記の詳細はすべて、リポジトリの README から直接取得しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト