The library folder
The images, manifests and built pages live in one folder on Vick's Mac, ~/Documents/Auspicious Reference Library/, never in git. Everything in it can be rebuilt from Figma with the scripts in the repo, so a backup is a convenience, not a necessity.
What is in it
| Path | What it holds |
|---|---|
README.txt | A short pointer to these docs, for anyone who opens the folder first |
progress.json | Every Figma page, how far each has got, the current run and the log. The Progress page is built from it |
pages/<page>/images/ | One JPEG per Figma image node, named by node id (1759-3431.jpg is node 1759:3431) |
pages/<page>/images-superseded/ | Earlier exports of nodes that were re-rendered, kept until Vick says they can go |
pages/<page>/manifest.json | Tags, colours, source, caption and Figma link per image |
pages/<page>/manifest.csv | The same, for a spreadsheet |
docs/ | A copy of these docs, including the field guide how-it-works.html |
site/ | The built library: the library page, docs/, progress/ and catalogue.json (about 5 MB; images load from R2) |
site-before-r2-2026-10-26/ | The last build with images packed inside (547 MB), kept as a fallback until Vick says it can go |
r2-ledger.json | What is in the cloud image store: each stored image's fingerprint and sizes, and which node uses it. Re-runs skip what it lists |
r2-cache/ | The grid and viewer sizes made for upload; safe to delete, they are made again when needed |
Image sizes
- Most images: longest edge 1200 px.
- Long pages (web pages and strips more than three times taller than wide): full height, up to 1200 px wide and 8000 px tall, rendered on their own from Figma. The grid shows the top of the page; the viewer scrolls the whole page.
- Originals, at the size they were uploaded to Figma, are a later pass, only for images Vick marks as needed. Every record keeps its node id, so a higher-resolution pass replaces the files without touching tags or corrections.
Viewing it
- Online: https://studio-library-three.vercel.app (hidden from search engines), updated on every push to the repository's
main, with data published bynpm run publish:data. - On this Mac, from the repo:
node ~/Documents/Github-ClaudeCode/studio-library/serve.mjs, then open http://localhost:4190. This always shows the folder as it is now.
Updating it
- After a page is tagged, upload it to the image store:
R2_TOOL=rclone python3 ~/Documents/Github-ClaudeCode/studio-library/scripts/r2_upload.py . pages/<page>from the folder. Only new images are sent. - Then rebuild the data for all pages together:
python3 ~/Documents/Github-ClaudeCode/studio-library/scripts/pack.py site pages/visual-ref-packaging pages/visual-ref-east-fragrance … --r2=r2-ledger.json --image-base=https://studio-library-images.classifiedstudio.workers.dev(every page folder, in Figma order). Images in the ledger load from the store; the rest are still packed into chunks. - After changing
progress.jsonor a doc:node ~/Documents/Github-ClaudeCode/studio-library/pages.mjsfrom the repo, to rebuild the library, docs and progress pages insite/. - Keep the docs in the repo and in
docs/here the same.