# M12-01B Status status: done task: generate a Blender 5.2 catalog v1 fixture and canonical desktop report updated: 2026-08-17 America/New_York enablingTask: true parityStateChange: false ## Scope The locked Blender 5.2 runtime generates a catalog definition v1 file and a `.blend` containing Object, Material, and World assets. A separate Blender process reopens the fixture and exports one canonical JSON report from the inventoried AssetMetaData fields. The report covers catalog hierarchy, assigned and nil catalog UUIDs, optional empty text, ordered tags, active tag, preferred import method, custom ID properties, and Blender's automatically generated Object `dimensions` metadata. This is an enabling desktop baseline. It does not define Web schema v2, migration behavior, stable Web asset IDs, or catalog mutation parity, and it does not change a ledger slice. The read-only `catalog_simple_name` remains empty because Blender's RNA catalog UUID setter clears it outside an Asset Browser context; the fixture records that behavior rather than inventing a recovery name. ## Evidence - `npm --prefix web run test:asset-catalog-v1-fixture` passed from a fresh temporary directory: `catalogs=3 assets=3 metadata=complete next=M12-01C`. - The checker verified the locked Blender version and every artifact hash, regenerated the CDF and `.blend`, opened the generated file in a second Blender process, and compared its canonical report exactly with the checked-in report. It then reopened the checked-in fixture in another Blender process and repeated the exact comparison. - Catalog definition v1 contains three deterministic UUID/path/simple-name records, including one nested path. The canonical report contains three assets across MATERIAL, OBJECT, and WORLD, preserves tag order and custom metadata, and records an uncataloged nil UUID. ## Artifact Hashes - generator: `4156ec6293562d44f87ad5a268de52fbfa31a65da8263a67a2bc45bf22999307` - canonical exporter: `3dbccd8df54d8686aa526f7967f58fd1008336c4c5b1deed01a136ba15aa3e41` - checker: `c2813aa36482eff0b23ca0209f488cfe70ea11e4f39cc6c6036d6c47bbc8e17b` - desktop `.blend`: `8facfe82e3ca0a0605c139ef5bdcbb82d27a6953a6add4e008b68af90bc1211f` - catalog definition: `a72f542acb2d2239951a2b20cda0f92305e1d6d8222f84072ad1aab52e3e4c98` - canonical report: `6fc6def0b9d0e4f51ef40c1d87a1f17074f6340c126a01aee49e5e53271c961e` - manifest: `1ee0abf961b82195e5fb586eb9e59302e4f7f839615f1ebbdf5cdcba8b60accd` ## Next Task `M12-01C`: define Web catalog schema v2, stable catalog/asset identity, and bounded text and collection limits from the verified desktop baseline. ## Rollback Remove the M12-01B generator, exporter, checker, fixture, CDF, canonical report, manifest, package command, and this status entry. Restore M12-01B to pending and `nextTask` to M12-01B. No parity ledger rollback is required.