GDTF Share catalog ingestion

Perastage parses GDTF Share catalog payloads once through mvr/gdtf_catalog_parser. The Search GDTF dialog filters the resulting shared records, and automatic MVR replacement passes those same record types to the catalog matcher. Records without a revision identifier remain displayable for diagnostics but are explicitly non-downloadable.

The parser accepts the current catalog list and the data/list cached form. The additional fixtures, results, items, docs, rows, and catalog wrappers are compatibility-only shapes retained from Perastage's former search dialog parser.

Fixture identifiers

GDTF 1.2 defines FixtureTypeID as the unique identifier stored on the FixtureType element. The GDTF Share catalog exposes a separate field named uuid. Available official material reviewed for this change did not establish that the Share field is byte-for-byte the GDTF FixtureTypeID for every revision. Perastage therefore preserves both fields and includes them in diagnostics, but does not equate them for automatic matching. Exact identifier ranking can be enabled only after that cross-system contract is confirmed by an authoritative API definition.

Catalog diagnostics use payload size and an FNV-1a fingerprint. The fingerprint is an identity aid, not a security checksum, and no credentials or session data are included.

Automatic matching evidence

The resolved GDTF FixtureType name is authoritative model evidence. An MVR fixture node name is retained for diagnostics, but it may establish catalog identity only when the authoritative name is absent or is a recognized generic/dummy placeholder. Display/group type keys never participate in model eligibility.

Canonical matching keeps full normalized text for exact equality separately from meaningful model identity text. Descriptive terms such as Profile, Bulb, and RGBWA are excluded from meaningful containment so they cannot independently authorize a download.

Back to top