# Restorable with `npm install` — the pack builder needs classic-level.
node_modules/

# LevelDB runtime scratch. The pack DATA is committed on purpose (see README):
# a remote Foundry needs the built compendia, and building them requires Node.
#
# LOG is LevelDB's own diagnostic text — "Delete type=3 #1", compaction notes — and it
# is rewritten every time a pack is OPENED, not only when one is rebuilt. Tracking it
# meant all eighteen went dirty whenever anything merely READ the compendia, Foundry
# and any verification script included, which was most of the noise in git status here
# and the reason pack churn kept appearing in commits that had not touched content.
#
# Verified disposable before ignoring: a pack copy with LOG and LOG.old deleted opens
# correctly, reads back all its documents, and LevelDB writes a fresh LOG on open.
#
# CURRENT and MANIFEST-* are deliberately NOT in this list. They are how a fresh clone
# finds the data, and ignoring them would ship a compendium nobody can open.
packs/*/LOCK
packs/*/LOG
packs/*/LOG.old

# macOS
.DS_Store

# Impeccable design-hook scratch; the config beside it records real decisions.
.impeccable/hook.cache.json

# The creature currently taken from the illustration queue (tools/mj-queue.mjs).
# Machine-local working state, not a fact about the repo.
.mj-inflight

# Raw Midjourney plates and the superseded PNG tokens. Working files, not deliverables:
# tools/make-art.py derives art/portraits/<key>.webp and art/tokens/<key>.webp from these,
# and only the derivatives ship. 47 plates at 2.3 MB each would be 93 MB of history for
# pictures nothing renders at that size. Keep the originals; do not commit them.
art/creatures/
art/tokens/*.png
