Binary Document Format
Automerge is a library that allows people to collaboratively work together without a central co-ordination or a reliable connection. It is a specific implementation of of a conflict-free replicated data type (or CRDT). This document describes the storage format used when serializing Automerge documents and changes for storage or transfer. We strongly encourage people to use a library based on the reference implementation automerge-rs (which is available as a C shared library or a WebAssembly module for ease of integration). That said, this document should let you get started building your own, or at least understanding how Automerge works. The storage format is designed for compactness and speed of parsing. Automerge stores the full history of changes to the document: this is a large amount of data but in practice it is very repetitive and amenable to compression. In addition to parsing the storage format, an Automerge library must resolve conflicts between concurrent operations in a c
Binary Document Format Binary Document Format Alex Good [email protected] Andrew Jeffery [email protected] draft Table of Contents Introduction Terminology and Conventions Concepts Document Change Actor Operation Object Value File structure Chunks Chunk Type Document Chunk Change Chunk Compressed Change Chunk Simple types uLEB LEB Change Hash Action Column Specification Compound types Array of Actor IDs Array of Change Hashes Heads Index Column Metadata Column Data Change Columns Operation Columns Column Types Run Length Encoding Group Column Actor Column uLEB Column Delta Column Boo
Explore this link on the map →related reading
- Peritext: A CRDT for Rich-Text Collaborationinkandswitch.com
- CRDTs go brrrjosephg.com
- An Interactive Intro to CRDTs | jakelazaroff.comjakelazaroff.com
- Notionnanransohoff.com
- Upwelling: Combining real-time collaboration with version control for writers.inkandswitch.com
- Embark: Dynamic documents for making plansinkandswitch.com
- Building a BFT JSON CRDTjzhao.xyz
- Data Laced with History: Causal Trees & Operational CRDTs — Archagon Was Herearchagon.net
- CRDT optimizationsbartoszsypytkowski.com
- About CRDTs • Conflict-free Replicated Data Typescrdt.tech
- Operational transformation - Wikipediaen.wikipedia.org
- Idea Listjzhao.xyz