# asset-catalog

Phase 2 asset catalogue generator + autogen-block writer for `docs/extracted-engine/`.

Reads `extracted/<src>/**/meta.json` (Phase 1 output) and emits both a machine-readable
`index.json` and human-readable `index.md` under `docs/extracted-engine/asset-catalog/`.
Also refreshes `<!-- AUTOGEN:NAME:start -->` … `<!-- AUTOGEN:NAME:end -->` blocks
inside hand-authored subsystem MDs (D-11).

See `../../decomp/TOOLS.md` for the broader pipeline.
See `../../.planning/phases/02-client-engine-documentation/02-RESEARCH.md` for design.
See `../extract-gmd/README.md` for the upstream extractor.

## Usage

```sh
pnpm tsx tools/asset-catalog/cli.ts catalog extracted/client-5-8 docs/extracted-engine
pnpm tsx tools/asset-catalog/cli.ts regen-autogen docs/extracted-engine
pnpm tsx tools/asset-catalog/cli.ts verify docs/extracted-engine
```

## Determinism

Output is byte-identical across runs (D-16). Sorted keys, 2-space JSON, LF only,
no timestamps, no absolute paths. Mirrors Phase 1 D-15 contract.
