| name | excalidraw |
| description | Generate an Excalidraw whiteboard in Sean's hand-drawn video style (Excalifont, roughness 1, green signature, socials + watermark, source labels). Use whenever the user wants a whiteboard, diagram, teaching board, or "chart" for a video or the docs/whiteboards gallery — anything Sean will film with.
|
Excalidraw whiteboards, Sean's way
Boards are generated from code so they match the masters in ~/Developer/Excalidraw
exactly — Sean films with them directly. Never hand-write .excalidraw JSON; use the
style engine, which locks the values that a from-scratch board always gets wrong.
The five things a naive board gets wrong (all fixed by the engine)
fontFamily 5 (Excalifont) — NOT 1 (legacy Virgil). Wrong font = wrong board.
roughness 1 (controlled) — NOT 2 (scratchy).
- Stroke-width hierarchy
1 detail / 2 container / 4 emphasis — not flat 2.
- Type scale = Excalidraw presets S=16 / M=20 / L=28. Majority is S/M;
L (28) reserved for big titles only. Don't inflate past the presets.
- Signature green
#b2f2bb, frames, socials block, watermark, source labels.
How to build one
from waku.ops.whiteboard import style as S
e = []
e.append(S.text(60, 40, "Title", size=S.FS_TITLE))
e.append(S.underline(64, 120, 800, color=S.PAL["orange"][]))
e += S.labeled_box(, , , , , color=)
e += S.pill_header(, , , , color=)
e += S.ellipse(, , , , , color=)
e += S.diamond(, , , , , color=)
e += S.labeled_arrow(, , , , )
e += S.socials_block(, )
e.append(S.watermark(, ))
e.append(S.source_label(, , ))
e.append(S.red_note(, , ))
S.validate(e)
doc = S.document(e)