Weave.js

Glossary

Key terms and concepts used throughout the Weave.js documentation

Canvas

The HTML5 Canvas is a powerful web API that provides a drawing surface within the browser. It allows developers to render 2D graphics, such as shapes, images, animations, and visual interfaces, using JavaScript.

Unlike HTML elements, canvas content is pixel-based and doesn't retain a DOM structure, making it ideal for high-performance, dynamic visuals like games, design tools, and collaborative drawing apps—like those built with Weave.js.

CRDT

A CRDT (Conflict-free Replicated Data Type) is a data structure designed to automatically resolve conflicts in distributed systems, especially in real-time collaborative applications. It allows multiple users to update shared data simultaneously, and guarantees that all changes will merge consistently across devices—without requiring a central server or manual conflict resolution.

CRDTs are the foundation of real-time sync in Weave.js (via Yjs), making collaboration smooth, reliable, and resilient—even under network latency or disconnection.

Room

In Weave.js, a room refers to the collaborative session context — it's the space where:

  • Multiple users join and interact in real time
  • Shared canvas state is synchronized
  • Presence, awareness, and operations are scoped

On this page