技術スタック
| コンポーネント | 技術 |
|---|---|
| 言語 | Rust 1.94.0 |
| UIフレームワーク | Slint 1.15 |
| 差分アルゴリズム | similar |
デスクトップ機能
Section titled “デスクトップ機能”| コンポーネント | 技術 |
|---|---|
| シンタックスハイライト | tree-sitter |
| ファイルダイアログ | rfd |
| エンコーディング検出 | chardetng + encoding_rs |
| クリップボード | arboard |
| 設定永続化 | serde + serde_json |
| ZIP比較 | zip |
| Excel読み込み | calamine |
| Excelエクスポート | rust_xlsxwriter |
| 画像比較 | image |
WASMビルド
Section titled “WASMビルド”| コンポーネント | 技術 |
|---|---|
| バインディング | wasm-bindgen |
| ビルドツール | trunk |
| デプロイ先 | Cloudflare Pages |
プロジェクト構成
Section titled “プロジェクト構成”winxmerge/├── Cargo.toml├── build.rs # Slint ビルド設定├── ui/│ ├── main.slint # メインウィンドウ│ ├── theme.slint # テーマカラー定義│ ├── icons/ # SVG ツールバーアイコン│ ├── dialogs/ # ダイアログコンポーネント│ └── widgets/ # UI ウィジェットコンポーネント├── src/│ ├── main.rs # エントリーポイント、CLI処理│ ├── app.rs # アプリケーション状態管理│ ├── diff/│ │ ├── engine.rs # 2-way 差分エンジン│ │ ├── three_way.rs # 3-way マージエンジン│ │ └── folder.rs # フォルダ比較│ └── models/ # データモデル├── macos/ # macOS バンドル + Finder 拡張├── scripts/ # ビルドスクリプト└── translations/ # 多言語ファイル (gettext .po)