pack
Build a deterministic RGBA sprite sheet, JSON atlas, and .pixelkiln.json
provenance companion. Manifest mode reads lock outputs. When the style has a
quality profile, it requires current human approval, packs the derived PNGs,
and binds their quality records into sheet provenance. Explicit-input mode needs
no manifest:
pixelkiln pack --style neon --columns 8
pixelkiln pack --inputs sprites.json --out dist/sheet
Use repeatable --output-role for structural members or --primary-only for
unambiguous single outputs. These modes are mutually exclusive.
--format chooses the document written beside the sheet. generic (the
default) is PixelKiln's atlas: frames by id with their rectangles, and
sets for every multi-output asset on the sheet, a frame set with its fps
or a structural set's members. aseprite writes Aseprite's sheet JSON in
its hash layout, which Phaser's load.aseprite, Unity's Aseprite importers,
and Godot's Aseprite plugins read: each frame set becomes a frameTag with
per-frame durations of 1000 / fps. godot writes a Godot 4 SpriteFrames
resource (.tres) an AnimatedSprite2D plays as it is: one AtlasTexture
per frame, a frame set as one looping animation at its fps, every other
sprite as a one-frame animation under its id.
pixelkiln pack --style hero --format aseprite # hero-sheet.png + hero-sheet.json
pixelkiln pack --style hero --format godot # hero-sheet.png + hero-sheet.tres
One document per run, like export; the sheet PNG is identical whichever
format is chosen, and the .pixelkiln.json companion records the format.