# `ConfiguratorNode`

> Contract 2.0.0 · package sha256 `a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e` · generated from `configurator-runtime.d.ts` by `services/onsite-scripter/scripts/build-contract-docs.mjs`; edit the source, not this file.

Type · `import type { ConfiguratorNode } from '@holostep-configurators/runtime-client/contract';` · stable · since 2.0.0 · section 21. Stored data (vendored; replaces @holo/interfaces)

Any stored node. Narrow on [`type`](IModelNode.type.md).

Inherited from [`IModelNode`](IModelNode.md): [`type`](IModelNode.type.md), [`glbUrl`](IModelNode.glbUrl.md), [`optGlbUrl`](IModelNode.optGlbUrl.md), [`plainGlbUrl`](IModelNode.plainGlbUrl.md), [`plainOptGlbUrl`](IModelNode.plainOptGlbUrl.md), [`encrypted`](IModelNode.encrypted.md), [`position`](IModelNode.position.md), [`rotation`](IModelNode.rotation.md), [`scale`](IModelNode.scale.md), [`defaultNodeId`](IModelNode.defaultNodeId.md), [`globalMaterialList`](IModelNode.globalMaterialList.md), [`magneticPlanes`](IModelNode.magneticPlanes.md), [`space`](IModelNode.space.md), [`tryOn`](IModelNode.tryOn.md), [`tryOnUrl`](IModelNode.tryOnUrl.md), [`tryOnCandidateUrl`](IModelNode.tryOnCandidateUrl.md).

Inherited from [`IConfiguratorNode`](IConfiguratorNode.md): [`_id`](IConfiguratorNode._id.md), [`type`](IConfiguratorNode.type.md), [`nodeId`](IConfiguratorNode.nodeId.md), [`label`](IConfiguratorNode.label.md), [`order`](IConfiguratorNode.order.md), [`enabled`](IConfiguratorNode.enabled.md), [`expanded`](IConfiguratorNode.expanded.md), [`createdAt`](IConfiguratorNode.createdAt.md), [`updatedAt`](IConfiguratorNode.updatedAt.md), [`children`](IConfiguratorNode.children.md), [`thumbnailUrl`](IConfiguratorNode.thumbnailUrl.md), [`attributes`](IConfiguratorNode.attributes.md).

Inherited from [`IConfiguratorNode`](IConfiguratorNode.md): [`_id`](IConfiguratorNode._id.md), [`type`](IConfiguratorNode.type.md), [`nodeId`](IConfiguratorNode.nodeId.md), [`label`](IConfiguratorNode.label.md), [`order`](IConfiguratorNode.order.md), [`enabled`](IConfiguratorNode.enabled.md), [`expanded`](IConfiguratorNode.expanded.md), [`createdAt`](IConfiguratorNode.createdAt.md), [`updatedAt`](IConfiguratorNode.updatedAt.md), [`children`](IConfiguratorNode.children.md), [`thumbnailUrl`](IConfiguratorNode.thumbnailUrl.md), [`attributes`](IConfiguratorNode.attributes.md).

Inherited from [`IGroupNode`](IGroupNode.md): [`type`](IGroupNode.type.md), [`defaultNodeId`](IGroupNode.defaultNodeId.md), [`globalMaterial`](IGroupNode.globalMaterial.md), [`childDefaults`](IGroupNode.childDefaults.md).

Inherited from [`IConfiguratorNode`](IConfiguratorNode.md): [`_id`](IConfiguratorNode._id.md), [`type`](IConfiguratorNode.type.md), [`nodeId`](IConfiguratorNode.nodeId.md), [`label`](IConfiguratorNode.label.md), [`order`](IConfiguratorNode.order.md), [`enabled`](IConfiguratorNode.enabled.md), [`expanded`](IConfiguratorNode.expanded.md), [`createdAt`](IConfiguratorNode.createdAt.md), [`updatedAt`](IConfiguratorNode.updatedAt.md), [`children`](IConfiguratorNode.children.md), [`thumbnailUrl`](IConfiguratorNode.thumbnailUrl.md), [`attributes`](IConfiguratorNode.attributes.md).

## Declaration

```ts
export type ConfiguratorNode = IModelNode | IMaterialNode | IGroupNode;
```

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `ConfiguratorNode` names no product |
| 2. A precedent | not recorded: no ledger row (coverage.json) names this member or its owner |
| 3. Two apps, or labs | not recorded: no ledger row names this member or its owner |
| 4. The cheaper fix first | not recorded per member (Appendix B decides it per need) |
