CLI referenceReconciliation and lifecycle

edit

Hand-edit one asset in the editor you already use, without touching the generated file.

pixelkiln edit --only anvil --style base
PIXELKILN_EDITOR="open -a Aseprite" pixelkiln edit --only anvil --style base
pixelkiln edit detach --only anvil --style base

The generated PNG is the provenance record. Its hash is in the lockfile, plan verifies it, and a regeneration replaces it, so the edit lives in a sibling file. edit copies the generated art to <outDir>/edits/<same relative path>, declares it as the asset's source (or sourceByStyle entry for that style when the asset is in several styles), and opens it. mount and pack then place the edit; quality profiles read it; a revision starts from it; and plan keeps reporting the generation itself as ok. Run it again to reopen the same file. detach clears the manifest key and leaves the file where it is. --no-open creates and declares without launching anything.

PIXELKILN_EDITOR names the program (a name, or a command with arguments; the file path is appended). Without it the file opens with the OS default handler. A set of PNG outputs, such as a ComfyUI frames animation or a PixelLab tiles set, is edited as a set: one file per member, <outDir>/edits/<name>-<role>.png, with the manifest source naming the stem (<outDir>/edits/<name>.png), and the first member is what opens; pack, mount, and export place the members by role. GIF animations and sets with a GIF in them are refused with the reason. --only must resolve to one asset in one style, so add --style when the asset is shared.