A proof-of-concept implementation of Victor Grishchenko's Causal Trees CRDT, which I'll gradually try to whittle into semi-production shape. State-based (CvRDT) implementation. Features many tweaks, including a synced identifier map, atom references, and priority atoms. Also uses Lamport timestamps instead of "awareness". Written in Swift. Includes a visualizer, a text data type, a shape data type, and imitation peers, so you can clearly see how merging functions in a P2P environment. Also includes a (VERY NON-PRODUCTION) iOS text editing demo over CloudKit. Everything should be O(nlogn)!
adamnemecek / crdt-playground Goto Github PK
View Code? Open in Web Editor NEWThis project forked from archagon/crdt-playground
Prototype of real-time CloudKit collaboration and sync by way of the Causal Tree CRDT technique. Work in progress.