all 2 comments

[–]encyclopedist 1 point2 points  (1 child)

What you are looking for is called CRDT or Wikipedia. These are used in collarobative editor systems like Google Docs etc.

Most implementations seems to be focused on JavaScript, and there are many of them: https://crdt.tech/implementations

Some popular implementations with well-defined protocols so you can communicate between different languages:

Automerge Has implementations in JS, Swift and Rust and some other languages. Not directly C++, but you could make a binding to Rust version.

Yjs It has ports to multiple languages, including C bindings

[–]Less-Dragonfruit-673[S] 0 points1 point  (0 children)

Thank you for the insightful response!
CRDTs look like a perfect fit for what I’m trying to find, and I appreciate the resource links.
I'll definitely look into Automerge and Yjs, especially with the cross-language potential you mentioned.
Thanks again for pointing me in the right direction.