whiteboardlisted
Install: claude install-skill heyramzi/ai-agency
# Whiteboard
Boards live in `tool/` as TypeScript, not as drawings. A board is an array of elements built from
the helpers in `src/scene.ts` and registered in `src/boards.ts`. Run `pnpm install` in `tool/`
once, and run every command below from there.
```bash
pnpm build # every board to out/
pnpm build <board> # just one
pnpm push <board> --room '<link>' --pace 700
```
`README.md` in that folder owns the protocol and the reasoning: why Excalidraw rather than Freeform
or Miro, how the collab socket works, and the iCloud route for boards that do not need to arrive
live. **Read it before changing anything in `src/`.** This file owns how a board gets composed,
checked and drawn.
## The vocabulary
`node(cx, cy, r, label)` is a circle plus its centred caption and is the workhorse. `circle`, `text`,
`arrow`, `underline` and `ring` are the rest. Coordinates are a plain top-left canvas, y grows
downward, and every position is absolute, so a board is a set of named x constants with items hung
off them.
Colours are two constants in `src/scene.ts`, `INK` for every stroke and label and `HIGHLIGHT` for
the marker pass. Derive both from your own brand tokens rather than picking them by eye. They are
hex copies because Excalidraw stores hex, so re-derive them if the palette moves rather than
eyeballing a replacement.
**The sketchy look is a switch, not the tool.** `LOOK` in `src/scene.ts` is `clean` since 16 August
2026: figures draw as straight strok