Files
workinf_Blender_Wasm/docs/status/M12-01A.md
mes123456 5a11045ca5
Some checks are pending
M6 deployable RC / quick (push) Waiting to run
M6 deployable RC / chromium (push) Blocked by required conditions
M6 deployable RC / release (push) Blocked by required conditions
Advance Blender 5.2 web parity through M12-03D
2026-08-17 17:30:27 -04:00

3.0 KiB

M12-01A Status

status: done task: inventory Blender 5.2 AssetMetaData, tag, and catalog fields updated: 2026-08-17 America/New_York enablingTask: true parityStateChange: false

Scope

The machine inventory freezes the Blender 5.2 storage and public API surface needed before designing a full-parity Web catalog schema. It covers every AssetMetaData DNA member, the AssetTag storage and collection operations, actual AssetMetaData RNA properties, Blend read/write participation, AssetCatalog semantic/runtime fields, catalog definition file version/record order, path hierarchy rules, and the current Web v1 interface snapshot.

This task deliberately does not create the desktop catalog fixture, Web schema v2, migrations, IndexedDB behavior, or a new verified parity slice. In particular, a source inventory is not evidence that Web preserves or writes the inventoried fields.

Findings

  • AssetMetaData has 14 DNA members: 10 persisted semantic/UI members, custom IDProperty metadata, one runtime type pointer, one derived tag count, and ABI padding. The real Blender runtime exposes 10 RNA properties.
  • author, description, copyright, and license are optional dynamic strings. Empty values are valid Blender state; the existing Web v1 manifest currently requires non-empty author/license and has no description/copyright fields.
  • catalog_id is the authoritative RFC4122 identity. catalog_simple_name is a read-only recovery copy and cannot replace the UUID-to-path mapping.
  • Catalog hierarchy is implicit in a cleaned UTF-8 slash path. CDF v1 records UUID:path:simple_name; no parent UUID is stored. Duplicate paths are legal and resolve deterministically by first-loaded state and UUID.
  • Existing Web v1 directly represents catalog ID, tags, author, and license, but misses seven inventoried metadata semantics and models hierarchy as an explicit parentId graph.

Evidence

  • npm --prefix web run test:asset-catalog-inventory passed on the first complete run: dna=14 rna=10 tag=3 catalog=3 gaps=7 next=M12-01B.
  • The checker binds eight source SHA-256 values, extracts the RNA property declarations, launches Blender 5.2.0 LTS --factory-startup --background, compares the actual runtime property identifiers/types/read-only flags, verifies Blend IO markers and CDF v1 format, and uses the TypeScript AST to freeze the current Web interfaces.
  • The inventory manifest SHA-256 is 194d5fd0fef5044f5e82a51931a061e226445f0f53410af9dc0594c70a79e936; the checker SHA-256 is 38839f47dbe82ad7931e5e444e124e87b64a604d9358be6d71cce7769439e57b.

Next Task

M12-01B: generate a desktop Blender 5.2 catalog v1 fixture and canonical JSON from the inventoried fields. Do not begin Web schema v2 until that desktop artifact is verified.

Rollback

Remove the inventory manifest, checker, package command, and this status entry; restore M12-01A to pending and move nextTask back from M12-01B. No parity ledger rollback is needed because this enabling task did not change a family slice.