refine
Build or verify the quality profile declared by selected manifest styles. This work is provider-neutral and offline:
pixelkiln refine --style environment --only mountain,fortress
pixelkiln refine check --style environment --json
Manifest mode reads the final output directory, palette, detector confidence,
optional transparency floor, fixer revision, and frame-set fps from
style.quality. It uses a declared asset source, one intact downloaded PNG,
or every ordered ComfyUI frame. Raw provider output stays untouched. A repeated run skips current pending and
approved records; --force rebuilds them and resets approval.
refine check exits nonzero until every selected profile result is current and
approved. plan shows the same quality state without changing provider cost or
generation actionability. pack and mount fail closed and use only approved
profile output.
For a frame-set style, pack uses every approved role. mount requires
asset.outputRole for each frame-set asset assigned to a fixed cell.
Pass --from to refine one PNG without a manifest. Path mode also needs
--out and an explicit palette.
Install the pinned Pixel Art Fixer package into an isolated Python environment before the first run. The ComfyUI guide has the exact command and revision.
PALETTE="#141b1e,#23312a,#384d4f,#526a8d,#709fcf,#865c45,#c6a766,#f1bb70"
pixelkiln refine \
--from working-canvas.png \
--out art/mountain-native.png \
--palette "$PALETTE" \
--fixer-python .pixelkiln/pixelfixer/bin/python
Both modes run Pixel Art Fixer at its recorded revision, require high grid
confidence by default, reconstruct one stored pixel per detected cell, and
maps every visible pixel to the nearest supplied color without dithering. The
palette size becomes the color-count ceiling. --min-transparency can add an
alpha threshold for isolated assets. Failed checks write nothing.
The output is accompanied by <name>.pixelkiln.json. The record hashes the
source and output and stores the fixer revision, detected grid, palette, audit,
and review state. It starts as pending; an automated pass is not art approval.
pixelkiln refine approve \
--from art/mountain-native.pixelkiln.json \
--reviewer "Mina" \
--note "Readable at 1x; alpha edge is clean"
pixelkiln refine check \
--from art/mountain-native.pixelkiln.json \
--json
approve remains record-based because approval belongs to exact bytes: one PNG
or one ordered frame set. It asks the reviewer to confirm the native 1× and
integer-zoom checks. Use --yes
only when that review already happened and the named person is recording it
non-interactively. check exits nonzero when approval is pending or when the
source, output, palette metadata, fixer revision, or audit record has changed.
Any actual rebuild resets approval to pending.
--min-grid-confidence medium or low weakens the structural gate. Do that
only after inspecting a representative batch. --fixer-revision records a
different pinned installation; it does not install or verify that revision for
you.