Repositories / Excalidraw
Focused tour of drawing, rendering, history, and collaboration paths; not a whole-project map.
Every file below is part of the bounded architecture snapshot and can be opened as source evidence.
Collaboration coordinator for broadcasting local elements and applying reconciled remote updates.
Socket transport adapter that filters, encrypts, and broadcasts collaboration scene updates.
In-memory scene model that owns ordered elements and notifies render subscribers after mutations.
Element constructors that initialize the immutable shape fields used by the editor.
Element-level canvas renderer, including the rectangle path and shape cache integration.
Snapshot store that queues and emits durable increments used by history and synchronization.
Undo and redo action definitions that delegate state restoration to the history service.
Main editor component that turns pointer input into element creation and scene updates.
React canvas boundary that forwards visible elements and app state into the static renderer.
Deterministic merge policy for local and remote element versions and fractional ordering.
History stacks and delta application for undoing or redoing visible editor changes.
Static scene renderer that prepares the canvas and dispatches each visible element for painting.
Selects visible, renderable scene elements and memoizes the viewport-specific result.