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 から直接取得しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト