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