MapSlot ​Contract 2.0.0 · package sha256
a857eca95b35921109faf997094bb4192f12527d9d0fcd4be7e97f06425bad6e· generated fromconfigurator-runtime.d.tsbyservices/onsite-scripter/scripts/build-contract-docs.mjs; edit the source, not this file.
Type · import type { MapSlot } from '@holostep-configurators/runtime-client/contract'; · stable · since 2.0.0 · section 8. Materials and textures
The map slots of a material (glTF and KHR names). 'orm' is one packed image: occlusion in red,
roughness in green, metallic in blue. A GLB fills 'occlusion' from its occlusionTexture and
'roughness' and 'metallic' from its metallicRoughnessTexture, even when they share one image, and
never fills 'orm'. In each of those three channels its own slot wins over 'orm' when it holds a
texture or 'none': occlusion: 'none' drops occlusion alone, whatever image carries it, and
roughness and metallic keep theirs. That holds within one layer (the GLB, the scene model's
MaterialNode, a rule; spec section 6.10, R1): an 'orm' texture fills each of the three
channels its own layer leaves empty, over the layers below, the GLB's own maps included, as
1.x binds a stored ORM map to every channel its node has no map for. orm: 'none' clears only
an 'orm' from below. The colour slots are 'baseColor', 'emissive', 'sheenColor' and
'specularColor', decoded as sRGB by default; every other slot holds data and decodes linear
(TextureSpec.colorSpace).
To drop every GLB map, wear a Material or { ref }, which replace what the part wears; a
MaterialSpec merges, so a slot it leaves out keeps the GLB's map (MaterialInput).
export type MapSlot = 'baseColor' | 'normal' | 'metallic' | 'roughness' | 'occlusion' | 'orm' | 'emissive' | 'alpha' | 'clearcoat' | 'clearcoatRoughness' | 'clearcoatNormal' | 'sheenColor' | 'sheenRoughness' | 'specular' | 'specularColor';
| Rule | Result |
|---|---|
| 1. Neutral name | pass: MapSlot names no product |
| 2. A precedent | pass: Blender Principled BSDF (Metallic, Roughness inputs) (row K16) |
| 3. Two apps, or labs | one app recorded: app-fc07850558 (spec 3.1 rule 3 asks for two, or labs) |
| 4. The cheaper fix first | decided per need in Appendix B: rows K16 at tier stable (a member only where no rule, data, asset or app code serves the need) |