FieldRequiredMeaning
$schemanoEditor schema URL/path. It does not affect generation identity.
nameyesProject/account tag namespace.
providernoDefault provider registry id. Defaults to pixellab; retrodiffusion, comfyui, and scenario are experimental.
historynoReplaced generations kept per asset in the lockfile, 0–100. Overrides the personal PIXELKILN_HISTORY default (5) for this project; 0 keeps none. See history.
stylesyesMap of style id to inherited generation/output settings.
assetsyesMap of stable asset id to subject and per-asset overrides.
{
  "$schema": "./node_modules/pixelkiln/schema/manifest.schema.json",
  "name": "my-game",          // tags every provider object pixelkiln:my-game
  "provider": "pixellab",     // the default; a style may name another
  "history": 3,               // keep three replaced generations per asset
  "styles": { "base": { "generator": "map", "outDir": "assets/generated/base" } },
  "assets": { "anvil": { "prompt": "a compact blacksmith anvil" } }
}

A resolved unit of work is one styleId/assetId. Asset ids are stable lookup keys, atlas frame ids, and default filenames; changing one is a data migration, not merely a label edit.