Where the drawing surface came from
It was not written here.
api/napkin-sketch/ is a vendored copy of the published
@isocialpractice/napkin-sketch
build, pinned at 1.1.0, and the project's own documentation site is
the reference for what it draws. The copy is written by the package's own
command, and nothing in the folder is ever edited - a newer version is vendored
into it instead:
npx @isocialpractice/napkin-sketch vendor --list # the parts, and what each costs a page
npx @isocialpractice/napkin-sketch vendor graphic-design graphic-design/files markdown main \
--out api/napkin-sketch # fetch, verify and write the copy
node api/napkin-sketch/VENDOR-CHECK.mjs # hash the folder against its record
vendor verifies the tarball against the registry's own SHA-512
before it unpacks a byte, copies each part's entry and every file it reaches,
and records a digest per file in api/napkin-sketch/VENDOR.json.
VENDOR-CHECK.mjs is written beside it and reads that record with
plain node, no install and no network; the Pages workflow runs it
before it publishes. vendor refuses to write into a folder holding
files it has no record of, so the folder is removed first when the mechanism
itself changes.
The hand port beside it
ai-helper/graphic-designer/ is still a hand port, of the design
language helper that sits on top of that surface - it reads one finished graphic
into a written design language and generates a skill that can draw more work in
it. See
ai-helper/graphic-designer/README.md
for what changed on the way in.
Part of the cheatsheets documentation. The repository is on GitHub, and the example page it documents is here.