Open-Source Wikis

/

tldraw

/

Fun facts

tldraw/tldraw

Fun facts

A small collection of trivia about the codebase.

The empty package trick

package.json replaces the canvas npm package with an empty stub via the resolutions field:

"resolutions": {
  "canvas": "npm:empty-npm-package@1.0.0"
}

The accompanying inline comment explains why:

our examples app depenends on pdf.js which pulls in canvas as an optional dependency. it slows down installs quite a bit though, so we replace it with an empty package.

The typo (depenends) survives in the source as of 15caa2104.

VOICE.md

The repo includes a 23 KB VOICE.md document at the root. Most repos do not ship a voice guide. tldraw's is opinionated about tone, headings, and product writing — and it is paired with AGENTS.md, which adds: "Use sentence case for Markdown headings, UI labels, docs titles, PR titles, and issue titles."

The Editor megafile

packages/editor/src/lib/editor/Editor.ts clocks in at 11,540 lines. It is the public face of the runtime API, and it is also the most-touched non-generated source file: 28 commits in the last 90 days.

Watermarks live in code

packages/editor/src/lib/license/ is a real subsystem, and packages/editor/src/lib/watermarks.ts is 11.6 KB of license-watermark logic. The SDK is free to use in development; production use requires a license key.

Skills as project artifacts

The repo ships a directory of "skills" (skills/) plus three symlinks (.agents/skills, .claude/skills, .cursor/skills) so the same workflow knowledge is available to any of the agent CLIs that look in their respective folders. AGENTS.md notes: "Keep skills/ as the source of truth."

A bot named Huppy

internal/huppy/ is referenced from the root package.json (yarn dev-huppy) and shows up in the contributor list as huppy-bot[bot] with 89 commits — the bot is the seventh-most-prolific committer.

The MCP app

apps/mcp-app/ is a Model Context Protocol server. The same monorepo therefore ships:

  1. The SDK to draw with.
  2. The hosted app to draw in.
  3. A docs site to learn from.
  4. A VS Code extension to edit .tldr files locally.
  5. An MCP server so AI agents can drive the canvas.

The 12 templates

templates/ holds 12 starter projects ranging from a simple Vite app to "branching-chat" (canvas-powered AI chat with visual branching) and "shader" (WebGL shaders that respond to canvas interactions). Most repos ship a starter; tldraw ships an entire shelf.

Zero downtime, seven machines

The most recent operational change in the worktree, commit f43f2cd36, scales the Zero view-syncer to seven Fly machines. The accompanying flyio-view-syncer.template.toml and flyio-replication-manager.template.toml are the most-changed config files outside generated reports.

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

Fun facts – tldraw wiki | Factory