Art generation
One master prompt drives a Codex session through every image the game still needs, one by one. This page shows the queue and keeps a history of everything already generated.
Open Codex in the zoen/ folder and paste this once. It reads art-requests/queue.json (only what is still missing, P0 first, with the exact reference image files), saves each image to its path, and runs node tools/art-sync.mjs, which publishes the art, writes the icon paths into the game data and marks the request done here. Run it again any time: finished images are skipped.
You are generating game art for Zoen. Work in the current folder (zoen/).
1. Read art-requests/queue.json. It lists only the images that are still missing, already in the right order
(P0 first). Each entry has: id, saveAs (exact output path), size, transparent, slicing, referenceFiles,
prompt, avoid, acceptance, afterSave.
2. For each entry, in order, until you run out of budget:
a. Open every path in referenceFiles and study them: they are the accepted art the new image must match
(frame, lighting, palette, paint style). Never edit or overwrite anything in art/originals/.
b. Generate ONE image from "prompt" (treat "avoid" as negative instructions) at "size". If "transparent" is
true the background must be real alpha, not a checkerboard. If "slicing" is set, lay the pieces out exactly
as described with transparent gaps.
c. Check it against every line in "acceptance". If it fails, regenerate (max 3 tries) and keep the best.
d. Save it as PNG to the exact "saveAs" path (create folders). Do not rename. Do not save drafts there.
If the entry says "exact", resize/crop to exactly that size with PIL and keep the alpha channel.
e. Append ONE line of JSON to logs/image-gen.jsonl (create it if missing) for the ledger, e.g.
{"ts":"<ISO time>","request":"<id>","file":"<saveAs>","size":"<size>","quality":"high","attempts":<n>,"ok":true,"tool":"<image tool or model you used>"}
Use "ok":false with a short "note" when you give up on an entry.
3. After each batch of up to 10 images (and at the end) run: node tools/art-sync.mjs
It publishes the images to the wiki, writes the new icon paths into the game data (the "afterSave" line of each
entry tells you exactly which file and field), marks the requests done and regenerates queue.json.
Then run: pnpm data:test — it must pass. If it fails, report the failing test and stop.
4. Finish with a short report: images saved (ids), anything skipped and why, and the art-sync summary.
5. Then run: node tools/task-log.mjs report — it adds this Codex session's token usage to the wiki Ledger.
Never commit, push or delete files. Never spend money or call paid APIs without the owner's approval.Each generated image is logged (logs/image-gen.jsonl) and its Codex token usage appears on the Ledger. The list below is what is still queued; the prompts live in art-requests/queue.json, so you never copy them one by one.
Loading requests…
