- "Local-First" 開発パラダイムのためのオープンソース高性能CRDTライブラリであるLoroの紹介
- 多様なCRDTアルゴリズムをサポート
- 共通データ構造: ソート済みコレクション向けの
List、キー・バリューの組向けのLWW(Last Write Win) Map、階層データ向けの Tree、リッチテキスト操作向けの Text
- OTライクなCRDT: Seph Gentle のDiamond-typeコンセプトに基づく
- リッチテキストCRDT: Ink & SwitchのPeritextとMatthew WeidnerのRDT Fugueアルゴリズムを統合
- Movable Tree: Martin Kleppmanの論文 "A Highly-Available Move Operation for Replicated Trees" を実装
- Loroの高度な機能
- 編集履歴の保持: オーバーヘッドの少ない編集履歴を記録し、変更を容易に追跡
- Historyによるタイムトラベル: 通常、競合が発生してもCRDTがうまく解決するが、必要に応じてユーザーが手動で比較・マージできる
- 高性能: yjs、automerge などより高速
- データ構造
- generic-btree をオープンソースとして公開。コンパクトなメモリレイアウトとキャッシュフレンドリーな設計
- 高い性能を備え、最小限のコードでさまざまな情報型をサポート
- 内部的にドキュメントの状態と履歴を分離
- 来年半ばまでに1.0をリリースすることを目標としている
- WASMインターフェースを提供予定
- ドキュメント整備も進行中
- Movable Lists やグローバルなUndo/Redo操作などをサポートする計画
1件のコメント