tldraw/tldraw
Other packages
The remaining workspaces under packages/ are internal-only or special-purpose. They are not published as their own npm packages (or they are thin wrappers around something that is).
dotcom-shared
Path: packages/dotcom-shared/.
Types and runtime helpers shared between apps/dotcom/client and the various dotcom workers (sync-worker, asset-upload-worker, image-resize-worker, tldrawusercontent-worker). Any data structure that crosses the client/worker boundary lives here so both sides agree on the shape.
worker-shared
Path: packages/worker-shared/.
Helpers used by multiple Cloudflare workers — request validation, error formatting, common middleware. Workers import from here instead of duplicating code.
namespaced-tldraw
Path: packages/namespaced-tldraw/.
A namespaced re-bundling of the SDK so that two versions can coexist on the same page (used in some embedding scenarios where the host page may already include a different version of tldraw).
mermaid
Path: packages/mermaid/.
Mermaid-related helpers used by the docs site and possibly examples. Lets the docs render Mermaid diagrams without dragging the full dependency into every consumer.
driver
Path: packages/driver/.
A driver / runner harness used to script the editor in tests and automation. Provides a higher-level interface to the editor than raw method calls — useful for e2e fixtures and headless rendering.
How they fit together
graph LR
Client[apps/dotcom/client] --> dotcomshared[dotcom-shared]
SyncWorker[apps/dotcom/sync-worker] --> dotcomshared
AssetWorker[apps/dotcom/asset-upload-worker] --> dotcomshared
ImageWorker[apps/dotcom/image-resize-worker] --> dotcomshared
UserContentWorker[apps/dotcom/tldrawusercontent-worker] --> dotcomshared
SyncWorker --> workershared[worker-shared]
AssetWorker --> workershared
ImageWorker --> workershared
UserContentWorker --> workershared
Bemo[apps/bemo-worker] --> workershared
Docs[apps/docs] --> mermaid
Tests[tests, e2e] --> driver
Embeds[third-party embed] --> namespacedtldraw[namespaced-tldraw]These packages don't own significant feature logic on their own — they prevent duplication and version drift across the apps that use them.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.