我一直在研究 CRDT,了解到它们已被用于构建协作编辑器,包括Ritzy、TreeDoc、WOOT 和 Logoot。
我对构建这样的编辑器很感兴趣,并且需要知道 CRDT 是否能够在一般情况下处理这个问题。
详细说明:富文本文档(想想 html)具有树结构,但节点是异构的。有块元素、行内元素、表格、列表等。此外,文档中可能嵌入了样式和样式表(例如 css)。最后,撤消是必不可少的。
上面列出的编辑器不处理更高级的功能,例如表格、嵌入式样式表和撤消/重做。
Ritzy 文档链接到描述基于 CRDT 的因果树的论文 ( pdf ),但我并不真正理解这篇论文。
因果树 CRDT 背后的基本原理是什么?处理上述异构树是否足够强大?或者,是否有其他 CRDT 可以处理这种情况?