Skip to content

Archive renders

An archive is optional and off unless the config’s archive (or PITO_ARCHIVE) names a root, such as a folder on a NAS. Then a render of a pinned, committed revision (--rev <tag or commit>, Render a tag or commit) is copied to:

<root>/Masters/prec/<app>/<shot>/<YYYY-MM-DD>_<HHMMSS>_<version>_<caller>/

with every file it wrote and its manifest.json, and one line is appended to <root>/Masters/catalog.jsonl, the catalog it shares with pfx’s renders.

archive = "~/Renders"

A working-tree render, a --bin build, a dirty revision, --no-encode, --no-archive and the demo sample are never archived. The manifest’s archive records the outcome and, for a skip, its reason: unconfigured, unpinned, no-archive, frames-only, sample, ride or test (Formats).

A leaf is built as <leaf>.partial/, each file hashed as it is copied and checked against the manifest, then renamed into place, so a leaf that exists is complete. A second render in the same second gets -<n> after its leaf.

When the root is offline, the render still succeeds: it waits in the machine cache’s archive-queue/ with the state queued, and goes with the next render or with:

Terminal window
prec archive --retry

The manifest is rewritten with the outcome once the copy lands.

Terminal window
prec archive --reindex

rebuilds catalog.jsonl from the leaves under Masters/prec/ and Masters/pfx/. The catalog line’s fields are in Formats.