Concepts
Product model
3D model binding, root asset pinning, and linked asset registry.
A ProductModel (ProductModelAssetModel) connects a ProductRevision to 3D geometry and sub-assemblies.
Schema contract
type ProductModelAssetModel {
id: ID!
productRevisionId: String!
key: String!
name: String!
assetId: String!
objectAssetRevisionId: String!
linkedAssets: [ProductModelLinkedAssetModel!]
targets: [ModelTargetModel!]
}
type ProductModelLinkedAssetModel {
id: ID!
productModelId: String!
key: String!
role: ProductModelAssetRole!
assetRevisionId: String!
}
enum ProductModelAssetRole {
OBJECT
MATERIAL
TEXTURE
ANIMATION
ENVIRONMENT
SHADER
}Invariants
objectAssetRevisionIdis the single authoritative root model pin.linkedAssetsdefines the universe of assets that can be swapped into the scene viaREPLACE_COMPONENT.