Library API
Stability and file paths
- Public imports come from
pixelkiln; internalsrc/paths are not part of the package contract. - Manifest-relative outputs resolve from
loaded.root, not the process's current working directory. - New lock outputs are portable manifest-relative paths.
resolveOutputPathresolves one for file I/O;normalizeLockOutputPathsrebases absolute paths from earlier v2 locks and marks them for persistence on the nextsaveLock. Spec-aware operations derive the current destination from the manifest, so a stale lock path cannot redirect a restore. - Lock keys use
styleId/assetId. Structural members use stable output roles such asassetId/tile-03in audits and atlases. - The lockfile is a paid-work record. Use its exported load/save/upsert helpers instead of rewriting it piecemeal.
- During deliberate regeneration,
supersededOutputstemporarily retains the prior hashes.fetchAssetsmay replace only bytes that still match those hashes;{ force: true }is the caller's explicit ownership override for a changed or untracked destination.