Skip to main content

前提条件

Koharu は Rust 1.97.1(2024 edition)、Bun 1.3.14、LLVM 22.1.8 で開発しています。リポジトリはこれらのバージョンを固定していません。LLVM は -sys crate の bindgen が必要とする libclang を提供します。ネイティブライブラリ自体は実行時に取得するビルド済みパッケージのため、C++ ビルドシステムは不要です。
ネイティブ依存関係用に MSVC の C/C++ ビルドツールを導入します。

開発を開始する

bun dev は Next.js UI と Tauri を起動します。wasm-pack で koharu-canvas を WASM 向けに packages/bridge/src/wasm へビルドした後、koharu-canvas と koharu-rasterizer を監視して変更時に再ビルドします。成功すると Turbopack がブラウザークライアントを更新します。debug ビルドは CEF のリモートデバッグを http://127.0.0.1:4000 で公開します。

変更した部分を確認する

最小限の debug チェックか対象テストを一度実行します。
フロントエンドでは該当パッケージの対象テストや型チェックを使います。bun run check は整形チェック、bun run lint はフロントエンドの lint です。
全テスト、debug 以外のプロファイル、E2E テストは既定では実行しません。明示的に依頼された場合だけ実行します。

IPC バインディングを再生成する

Rust のコマンド署名と Specta 型が正本です。
packages/bridge/src/protocol.ts を手動編集しないでください。

実行ファイルをビルドする

リリース実行ファイルが必要な場合、bun run build が tauri build --no-bundle を実行し、target/release に出力します。インストーラーはリリースワークフローで作成します。

ドキュメントを編集する

Mintlify をプレビューし、英語・日本語・中国語のドキュメントを編集します。