@notebox/nb-crdt
v4.0.1
Published
block based CRDT
Downloads
3
Readme
nb-crdt
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.
Development
Prerequisites
npm install
Test
npm test
Checkout Points
for synchronization, just investigate
domain/entity/block
domain/entity/contribution
for making an editor, all the interfaces you need are in
domain/usecase/replica
Key Concepts
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