All Projects → gritzko → citrea-model

gritzko / citrea-model

Licence: other
A CRDT-based collaborative editor engine of letters.yandex.ru (2012, historical)

Programming Languages

javascript
184084 projects - #8 most used programming language

Citrea/Papyrus

A CRDT-based collaborative editor engine of letters.yandex.ru (2012, historical)

TODO doc Yandex livery

Back in 2012, neither Quill nor ProseMirror existed. CRDTs were "mad science". A tiny band of brave souls made a collaborative editor for Yandex Mail (http://mail.ya.ru). The inner engine was Causal Trees CRDT (RGA family algo, array-hosted, see http://www.ds.ewi.tudelft.nl/~victor/). As a core optimization technique, the papyrus engine stored Lamport ids as tuples of unicode characters, so the metadata moved around as plain strings, not JSON. Notably, the code features a little formal address language that is essentially a precursor of RON (see http://github.com/gritzko/ron). Pieces of a document are addressable, hence cacheable. All recalculations are incremental, all DOM updates are also incremental.

The engine was created by @gritzko, @abalandin in 2011-2012.

For a more detailed description of the technology, see story.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].