Changelog — December 2022 (original build)
The project's first month: from the Initial Commit (2022-12-06) to a working CLI generator with a randomization engine, a large CC-licensed list library, dozens of dynamic prompts, JSON settings, and the beginnings of the Express web gallery + generation UI. 178 commits.
Reconstructed retrospectively. This era predates the per-commit inline changelog rule (see
../version.md), so these entries are written after the fact from the git log and grouped by theme, not one-per-commit — the goal is that every piece of work is accounted for, in a form you can actually read. Dates anchor each theme to where it happened. Newest theme on top.
2022-12-28 → 12-29 — A writable Settings tab + quality-of-life launch
The web UI's settings tab went from read-only to read/write — you can now edit user-settings.json
from the browser. Added a .bat to auto-launch the server and auto-open the browser on start, made
the interface work cleanly with zero images, and let you type a custom prompt into the search bar when
hitting "new" on the home page (it overrides the default prompt and sticks around for future re-rolls).
2022-12-25 → 12-27 — Generation from the browser: spawned process, progress, re-rolls, deletes
The web gallery became a real generation front-end. Generation now opens a port to monitor progress and writes results to a file; the server spawns a second process to do the actual prompt/image work so a long or crashy run can't take the UI down. Added a proper progress screen, a navbar, file-download triggers, and a "make art" button on the home page. Introduced the concept of re-rolling an image and wired it through the gallery; added deleting images on disk (with a confirmation step) plus correct orphaning/auto-deletion of upscales and variations when a parent goes away. Stopped recursively scanning the output folder, and stopped tagging upscales-of-variations as variations.
2022-12-23 → 12-24 — Template engine + the image-details page
Moved the web views onto a Pug template engine with a shared layout spanning pages, and added home-page stats (total image + keyword counts, paving the way for keyword-popularity visuals). Built the single-image details page: click an image in the feed to see its details and browse related images that share keywords, with action buttons. (The commit messages from these days are candid about the bugs and the one-person workload.)
2022-12-21 → 12-22 — The web gallery is born
Added an Express webserver with a searchable image gallery. Generated JSON now stores the command
used and the original prompt settings so an image can be reproduced/re-rolled. Added app icons,
moved the JSON API to its own URL path, fixed the gallery showing duplicates, randomized search results,
and merged the separate server-api into server-web — then renamed it simply server. Added the
beach dynamic prompt (user-submitted, then tuned) and a convention for user-submitted dynamic
prompts via a user- prefix.
2022-12-20 — Data folder + auto-convert; vehicles & ships
Moved all data files out of the repo root into a data/ folder to clean up the tree, and added
auto-conversion of old .txt lists to JSON (embedding upscale/variation data into the JSON). Allowed
expansions to also expand into dynamic prompts. Added vehicle and ship dynamic prompts (and
pruned low-training-data words from the vehicle list).
2022-12-18 → 12-19 — The 2.0 refactor
A major refactor (the commits note ~8 hours of work and a couple of deliberately broken checkpoints)
landed the project at 2.0. Added legacy support for v1 dynamic prompts (use the old ones by
suffixing -v1). The engine now cycles through the correct prompt functions for the target AI, so
emphasis/editing/alternating get used evenly instead of being scarce when not in Stable-Diffusion mode.
Person prompts auto-convert to a danbooru person when danbooru tags are in use.
2022-12-15 → 12-17 — Server split + JSON settings + the anime toggle + many dynamic prompts
A large structural change: moved shared code into a separate common file and stood up server.js,
and converted user-settings.js → user-settings.json (and presets to JSON) so API front-ends can
read and write settings. Console output was kept working even under the server. Added an easy
anime / non-anime switch for generation. A burst of new dynamic prompts arrived — cave, sticker,
silhouette, 3d-print, retro comic book, psychedelic, space hologram, space, anime-irl — and the dynamic
prompts learned to combine fully-weighted and to support NovelAI and Midjourney prompt modes.
2022-12-14 — More lists, more people prompts
Added colors, hairstyle, and emotions lists; added princess and school-room dynamic prompts and folded emotion into the person/princess generators.
2022-12-08 → 12-09 — The randomization engine + --chaos + stacking
Built out the prompt-keyword randomization that defines the tool. Added --keywords as a clearer alias
for --dict, and replaced separate full-random keywords with randomize-by-omission (don't name a list
and it gets randomized) for flexibility and consistency. Added keyword random alternating and editing,
then spent real effort fine-tuning how hard the prompt is mangled. Added the --chaos parameter,
the pixel-art expansion, the castle and room dynamic prompts, and made dynamic prompts
combine with AND and stack. Fixed yargs turning an empty prompt/negative-prompt into the string
"true", and added a way to prefix prompts even when a dynamic prompt replaces the whole prompt.
2022-12-06 → 12-07 — Birth, and the CC-licensed list library
The Initial Commit plus the first week. The program auto-creates user-settings.js on first run.
Defaults shifted from danbooru to a class dictionary / artists. Then the lists exploded: cities,
time/weather, building-style, render-color, art-style lists, and the discovery of a "gold mine" of
CC-licensed lists (credited to u/Carlyone in list-credits.md) that replaced a couple of hand-made
ones. First dynamic prompts: candlelight (+ danbooru variant), city, landscape, house and a
greatly-improved person generator. Core dynamic prompts were prefixed with _, and early bugs were
fixed (some artist names getting emphasized; blank list items printing; danbooru emoji keywords with
underscores; the high-res-fix batch-count progress bar).