{
  "schema": "forge.material-shelf.v1",
  "materials": {
    "Clay_tile_strip": {
      "tile_size_metres": 1.32,
      "tile_size_metres_xy": [
        1.32,
        0.265
      ],
      "tile_unit": "one complete strip; atlas includes edge charts",
      "maps": {
        "BaseColor": "materials/Clay_tile_strip/BaseColor.png",
        "Normal": "materials/Clay_tile_strip/Normal.png",
        "ORM": "materials/Clay_tile_strip/ORM.png"
      },
      "resolution": 1024,
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "wrap": "REPEAT",
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "roughness_factor": 1,
      "metalness_factor": 1,
      "derived_from": "Clay_tile (+ Clay_tile_dark tile variation)",
      "uv_rule": "Exception to world-scale UVs: one strip per UV0 0..1; top chart U=0..1,V=.14..98; padded edge/underside charts V<.125. B mirrors U for variation. Do not apply metre repeat."
    },
    "Blue_grey_slate_strip": {
      "tile_size_metres": 1.38,
      "tile_size_metres_xy": [
        1.38,
        0.424
      ],
      "tile_unit": "one complete strip; atlas includes edge charts",
      "maps": {
        "BaseColor": "materials/Blue_grey_slate_strip/BaseColor.png",
        "Normal": "materials/Blue_grey_slate_strip/Normal.png",
        "ORM": "materials/Blue_grey_slate_strip/ORM.png"
      },
      "resolution": 1024,
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "wrap": "REPEAT",
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "roughness_factor": 1,
      "metalness_factor": 1,
      "derived_from": "Blue_grey_slate",
      "uv_rule": "Exception to world-scale UVs: one strip per UV0 0..1; top chart U=0..1,V=.14..98; padded edge/underside charts V<.125. B mirrors U for variation. Do not apply metre repeat."
    }
  },
  "runtime_binding": "Exact name replacement; BaseColor sRGB, Normal/ORM linear, flipY=false. UV0 is already a strip atlas. No world-scale repeat. Roughness and metalness factors = 1. GLB embeds the same maps.",
  "provenance": {
    "source": "Read-only source kit geometry and registered shelf maps",
    "license": "Inherited Poly Haven CC0 shelf",
    "normal_bake": "Cycles selected-to-active tangent normal transfer from original meshes and shelf normals, cage extrusion 0.035 m, max ray 0.08 m, 4 px margin. Missed gaps use orthographic geometric height-gradient projection with 1.2 mm filtered cavity depth. BaseColor/ORM use highest-surface barycentric source UV transfer."
  }
}