Skip to content

High-performance real-time collaboration for structured documents.

A lock-free Operational Transformation engine built in Rust. Microsecond conflict resolution, pure synchronous execution, and byte-for-byte determinism across peers.

npm install colla-ot
cargo add colla
01

Unified model, native speed

Identical behavior across Rust, Node.js, and browsers. Pure synchronous execution with microsecond transforms and zero async ceremony.

02

Deterministic OT

Pairwise algebraic transformation with strict convergence guarantees. Invertible operations deliver instantaneous local undo/redo stacks.

03

Structured & RichText

Native support for text, rich-text attribute spans, and immutable value trees. Eliminates format splitting anomalies across peers.

quickstart.tsTypeScript
ts
import { Document, text } from 'colla-ot'

// 1. Initialize document and mutate via transaction
const doc = Document.fromJS(text('Draft'))
const update = doc.transact(tx => {
  tx.text([], t => t.retain(5).insert(' v2'))
})

// 2. Transport canonical binary update bytes directly
const bytes = update.bytes

// 3. Cumulative acknowledge when server confirms ordering
doc.ack(update.updateId)

Colla v0.3.0 · Released under the MIT License.