# `TextureSlot`

> 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 { TextureSlot } from '@holostep-configurators/runtime-client/contract';` · stable · since 2.0.0 · section 8. Materials and textures

A map slot: a texture; 'none' (no map, whatever is underneath); or null (remove your value and
show what is underneath). Not for: removing an authored map with null, which shows it again. To
drop every GLB map, wear a [`Material`](Material.md) or `{ ref }` (they replace); a [`MaterialSpec`](MaterialSpec.md) merges.

Inherited from [`TextureSpec`](TextureSpec.md): [`url`](TextureSpec.url.md), [`image`](TextureSpec.image.md), [`optimizedUrl`](TextureSpec.optimizedUrl.md), [`enabled`](TextureSpec.enabled.md), [`uv`](TextureSpec.uv.md), [`scale`](TextureSpec.scale.md), [`offset`](TextureSpec.offset.md), [`rotationDeg`](TextureSpec.rotationDeg.md), [`sizeM`](TextureSpec.sizeM.md), [`wrap`](TextureSpec.wrap.md), [`sampling`](TextureSpec.sampling.md), [`colorSpace`](TextureSpec.colorSpace.md).

## Declaration

```ts
export type TextureSlot = TextureInput | 'none' | null;
```

## Generic-API test (spec 3.1)

| Rule | Result |
| --- | --- |
| 1. Neutral name | pass: `TextureSlot` 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) |
