storytold/deckcraft

Presentations and slide shows: an open-source, clean-room reimplementation of Microsoft PowerPoint in pure Rust. Part of the ArtCraft Crafting Apps.

DeckCraft – オープンソースのプレゼンテーションスイート (Rust)

何であるか – DeckCraft は、Rust で完全に再実装された Microsoft PowerPoint のクリーンルーム実装です。テーマ、レイアウト、図形、画像、表、チャート、トランジション、アニメーションを用いて、スライドデッキの作成、編集、プレゼンテーションが可能です。このアプリは macOS、Windows、Linux、*BSD でネイティブに動作し、WebAssembly にコンパイル可能で、ブラウザ上で利用できます。

主な機能(README に記載の通り)

  • 作成 – スライドマスター、11 のレイアウト、8 つの組み込みテーマ、セクション、ノート、コメント、カスタムスライドサイズ。
  • 描画ツール – 150 以上のプリセット図形、接続線、自由形状/カーブ/スケッチ、ブール演算、グラデーション、画像/パターン塗りつぶし、影、光沢、ソフトエッジ、反射。
  • テキスト – リッチなインプレイス編集、フルフォント/段落スタイル、箇条書き/番号、カラム、自動フィット、縦書きテキスト、フィールド、ハイパーリンク。
  • メディア – 画像の挿入(クロップおよび補正)、表、チャート、SmartArt の基本機能、オーディオ/ビデオ(ほとんどの一般的なコーデック)。
  • プレゼンテーション – スライドトランジション(PowerPoint の Morph も含む)、入場/強調/退出アニメーション、モーションパスアニメーション、段落ごとのビルド、プレゼンター表示、ペンツール、タイマーのリハーサル、メディア再生。
  • ファイル交換 – PowerPoint の .pptx ファイルの読み込み/保存、PDF(スライド、ノート、ハンドアウト)、PNG/JPEG、アウトラインファイルへのエクスポート。未保存の作業は AutoRecover で保護されます。
  • 自動化 – CLI(deckcraft-cli)、JSON コントロールチャネル、MCP サーバーを介して 200 以上のコマンドが公開されており、スクリプトや AI エージェントが UI を制御できます。

試してみる方法

# サンプルデッキをクローンしてレンダリング
git clone https://github.com/storytold/deckcraft
cd deckcraft
cargo run --release -p deckcraft-cli -- render --sample --all --scale 1 out/

完全な GUI インストールをご希望の場合は、Downloads セクションから適切なバイナリをダウンロードしてください(Windows 用 MSI、macOS 用 DMG、Linux 用 AppImage/Flatpak/Deb/RPM など)または、現代のブラウザで WebAssembly ビルドを実行してください。

自動化と AI 統合 すべての UI アクションは安定したコマンド ID として公開されており、同じ動詞が人間、スクリプト、AI エージェントのいずれでも MCP サーバー経由で使用可能です。例としてのコマンド:

deckcraft-cli commands format.          # 利用可能なコマンドを一覧表示
deckcraft-cli run --sample --cmd 'slide.new={"layout":"titleOnly","title":"Hello"}' --save hello.deckcraft

MCP サーバーは deckcraft-cli mcp で起動でき、実行中の DeckCraft インスタンス(deckcraft --control 7990)から接続できます。

ロードマップ – このプロジェクトは PowerPoint と約 79% の機能幅の同等性(コア機能の 93%)を目指しており、アルファリリースの約 80% の進捗に達しています。詳細なチェックリストは ROADMAP.md および docs/parity.md にあります。

コミュニティ – DeckCraft は、ArtCraft シリーズのクリエイティブ Rust ツール(PhotoCraft、VectorCraft、FilmCraft など)の一部です。サポート、フィードバック、貢献のため、Discord(README 内のリンク)にコミュニティが集まっています。

ライセンス – MIT または Apache-2.0 の二重ライセンス。バンドルされたアセットには別途通知があります。


上記のすべての情報は、リポジトリの README から直接引用したものであり、外部の仮定は一切追加されていません。

関連

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