Docs · guides · @mocanvas/mocanvas v4.11.2
The guides ship inside the @mocanvas/mocanvas package. These pages render that text directly out of the installed tarball, so what you read here is what npm install put on your disk — there is one edited copy of each guide and it lives in the library, not on this website.
Start here
What mocanvas is, how much of the tldraw API it covers, and how an existing app comes across.
Building with it
Your own shapes and tools, the interface, getting documents in and out, and putting more than one person on a board.
/docs/custom-shapes
Writing a ShapeUtil and its tool, the same way you would in tldraw.
/docs/tools
A StateNode state machine: the states, what each hook is handed, and how a tool reaches the toolbar.
/docs/ui
The default toolbar, menus and panels, and how to replace them.
/docs/files
Snapshots, .tldr files, migrations when an old file meets a new build, and export to PNG or SVG.
/docs/sync
Record diffs over a transport, presence and cursors, and exactly what converges when two edits race.
For agents
Pointing a model at the same editor a person uses — headless documents, reading back, and undo.
The engine, and how it was built
The Rust and WebAssembly internals, the measurements, and the clean-room rule behind both.
/docs/architecture
How the engine is put together: the Rust core, the WebAssembly boundary and the WebGL2 renderer.
/docs/benchmark
The performance and rendering-fidelity method, the full tables, and the caveats that go with them.
/docs/clean-room
How mocanvas was built to be API-compatible with tldraw without reading tldraw's source.
mocanvas is built by Symbio. Free for non-commercial, non-profit and development use; commercial use needs an agreement. Not affiliated with or endorsed by tldraw.