Validation And Bake
Purpose
Validation and bake is the workflow authors use to prove editable content is internally consistent, then produce runtime-ready caches, manifests, and reports. Validation reports broken references and catalog constraints. Bake turns the current authored source into deterministic output records with dependency hashes so editor reload, pack export, and CLI checks can agree about what changed.
The verified CLI entrypoint is:
cargo run --bin aether-bake -- --consumer cli --fail-on-diagnostics
Source Layers
Authored source remains the editable truth: scene documents, UI layout files, quest/dialogue/gameplay catalogs, and localization inputs. Generated artifacts are checked-in outputs whose owner command must refresh them. Bake outputs are local runtime caches under the authoring bake output root. Pack export copies the required bake outputs into a standalone bundle after its own preflight gate.
The bake manifest records each output id, path, baker id, baker fingerprint, dependency signatures, validation summary, validation issues, and content hash. If dependencies or a baker fingerprint change, only affected outputs rebuild.
Steps
- Edit authored content through the editor surface or source catalog.
- Use the relevant editor validation panel while iterating.
- Run
cargo run --bin aether-bake -- --consumer cli --fail-on-diagnosticsbefore handing content to runtime. - Use
--consumer editor-reloadfor editor live reload outputs and--consumer pack-exportwhen preparing a standalone content bundle. - Override
--output-rootand--manifestonly when a tool needs an isolated cache root.
Expected Outputs
Validation should name broken ids, references, or catalog constraints before runtime sees the data. A successful bake writes a manifest plus the outputs selected by the consumer:
- quest catalog projection cache;
- UI layout runtime cache;
- localization extraction cache.
The CLI reports how many files were written, how many outputs rebuilt, where the manifest lives, and the merged diagnostics summary.
Common Mistakes
Authors can run the wrong consumer, omit --fail-on-diagnostics, hand-edit local bake cache output, rename ids without updating references, or treat a clean editor preview as proof that pack-export output has also been baked.
Another common mistake is changing a baker or its inputs without updating the product manifest owner command. The bake registry and src/authoring_bake/products_manifest.json must stay aligned.
Recovery Paths
Fix the authored source named by the validation report, rerun the editor validation surface for quick feedback, then rerun bake with the consumer that failed. If a generated product manifest is stale, use the generated-artifact repair workflow instead of editing the JSON by hand. If pack export failed, rerun the pack-export gate after the bake output and standalone preflight are clean.