A block based Conflict-free Replicated Data Type that enables collaborative editing across multiple participants allowing for flexible data sharing across spreadsheets, boards, rich text, and more.
npm install
npm test
for synchronization, just investigate
domain/entity/block
domain/entity/contribution
for making an editor, all the interfaces you need are in
domain/usecase/replica
replicaID
- is an identifier for writers or devices
note
- consists of
blocks
block
block-props
- nested json object for block properties
- each leaf has its own stamp
replicaID
timestamp
text
- consists of
spans
span
point
- position identifier
content
attrs
- length
text-props
- flat json object
stamp
- string (UTF16)
- consists of
version
- per
replicaID
block-props
versiontext-points
orDB_RECORD-point
version
- per
- consists of