Parks authors pavilion properties: discrete material tags and transform matrices. Which typing pairs are appropriate?
Select an answer to reveal the explanation.
Short Explanation
Tags are labels—tokens fit. Transforms are matrices—use matrix4d. Do not store labels as vectors or matrices as booleans. Right types keep parks tools boring and correct.
Full Explanation
Parks pavilion properties mix discrete material tags with spatial transforms. Appropriate typing pairs material tags with token types (stable enumerations/labels) and pavilion transforms with matrix4d (or equivalent matrix types). Tokens keep tag vocabularies comparable and filterable; matrices correctly represent 3D transforms for placement in the municipal stage. Selecting correct valueTypes prevents tools from misinterpreting labels as vectors or transforms as flags.
Material tags as double3 and transforms as boolean cross domains: vectors are not labels, and booleans cannot encode rotation/translation. Storing both only as string concatenations abandons typed USD properties and forces fragile parsing. Transforms as int[] face counts and tags as half3 normals misuse topology and shading types for unrelated semantics.
Exam caveat: token vs string—tokens are preferred for closed vocabularies of material tags; free-form notes may be string or customData. Transforms may be authored via Xformable ops rather than a raw matrix attribute, but when the question asks for matrix typing, matrix4d is correct.
Operational check: author a token material tag and a matrix/Xform transform on a pavilion, filter assets by tag in a library tool, confirm placement matches the matrix in the twin, and reject any export that stringifies matrices or vectorizes tags.