Open-Source Wikis

/

tldraw

/

Packages

tldraw/tldraw

Packages

Every workspace under packages/. The SDK is built from a layered set of npm packages plus a few internal-only ones used by the apps.

Layout

Package Public name on npm Layer Purpose
packages/editor @tldraw/editor Core The infinite-canvas editor runtime. No default shapes/tools/UI.
packages/tldraw tldraw SDK Full SDK: editor + default shapes, tools, bindings, UI, CSS.
packages/store @tldraw/store Core Reactive in-memory record database with migrations and side-effects.
packages/tlschema @tldraw/tlschema Core Record-type definitions for shapes, bindings, pages, instance, presence, assets.
packages/state @tldraw/state Foundation Reactive signals (Atom, Computed, Reactor).
packages/state-react @tldraw/state-react Foundation React hooks for @tldraw/state.
packages/sync-core @tldraw/sync-core Foundation Multiplayer protocol, room engine, transport adapters.
packages/sync @tldraw/sync SDK React hooks (useSync, useSyncDemo) over sync-core.
packages/utils @tldraw/utils Foundation Shared helpers (collections, throttle, retry, fractional indexing, version registry).
packages/validate @tldraw/validate Foundation Tiny runtime validator used by the schema.
packages/assets @tldraw/assets Foundation Icons, fonts, translations, embed definitions.
packages/create-tldraw create-tldraw Tooling The npx create-tldraw@latest scaffolder.
packages/dotcom-shared internal Internal Types shared between the dotcom client and its workers.
packages/worker-shared internal Internal Helpers used by multiple Cloudflare workers.
packages/namespaced-tldraw internal Internal Namespaced re-bundling of the SDK for embedding.
packages/mermaid internal Internal Mermaid integration helpers used by the docs.
packages/driver internal Internal Driver / runner harness used in tests/automation.

Reading order

If you're new to the SDK and want to understand the layers from the bottom up:

  1. packages/state — what a signal is.
  2. packages/store — what a record is and how the store reacts.
  3. packages/tlschema — what records the document is made of.
  4. packages/editor — the runtime API and managers.
  5. packages/tldraw — default shapes/tools/UI.
  6. packages/sync-core and packages/sync — multiplayer.

Conventions

  • Every public package has its own api-report.api.md and *.d.ts rollup, generated by internal/scripts/build-api.ts.
  • Public exports go through packages/<name>/src/index.ts.
  • Tests are colocated as *.test.ts / *.test.tsx.
  • Versioning: SDK packages share a version tag (e.g., 4.5.10). Internal packages stay at 0.0.0.
  • License: every public package ships under the tldraw license.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Packages – tldraw wiki | Factory