{
  "schema": "forge.material-shelf.v1",
  "materials": {
    "Render_white": {
      "tile_size_metres": 2,
      "resolution": 1024,
      "maps": {
        "BaseColor": "materials/Render_white/BaseColor.png",
        "Normal": "materials/Render_white/Normal.png",
        "ORM": "materials/Render_white/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.8299991478472482,
        0.8199991581151366,
        0.7799991991810775
      ],
      "roughness_mean": 0.8402257358326631,
      "metalness_mean": 0,
      "height_map": "materials/Render_white/Height.png",
      "height_encoding": "16-bit grayscale",
      "displacement_scale_metres": 0.0012,
      "displacement_bias_metres": -0.0006,
      "height_formula": "outward_metres = (Height - 0.5) * 0.0012"
    },
    "Render_grey": {
      "tile_size_metres": 2,
      "resolution": 1024,
      "maps": {
        "BaseColor": "materials/Render_grey/BaseColor.png",
        "Normal": "materials/Render_grey/Normal.png",
        "ORM": "materials/Render_grey/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.4199995687902116,
        0.43999954825637905,
        0.4299995585244733
      ],
      "roughness_mean": 0.8402257358326631,
      "metalness_mean": 0,
      "height_map": "materials/Render_grey/Height.png",
      "height_encoding": "16-bit grayscale",
      "displacement_scale_metres": 0.0012,
      "displacement_bias_metres": -0.0006,
      "height_formula": "outward_metres = (Height - 0.5) * 0.0012"
    },
    "Concrete_boardmarked": {
      "tile_size_metres": 2.048,
      "resolution": 1024,
      "maps": {
        "BaseColor": "materials/Concrete_boardmarked/BaseColor.png",
        "Normal": "materials/Concrete_boardmarked/Normal.png",
        "ORM": "materials/Concrete_boardmarked/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.6091668997478273,
        0.5898282680094274,
        0.5318123727956692
      ],
      "roughness_mean": 0.7912857549330767,
      "metalness_mean": 0,
      "height_map": "materials/Concrete_boardmarked/Height.png",
      "height_encoding": "16-bit grayscale",
      "displacement_scale_metres": 0.009,
      "displacement_bias_metres": -0.0045,
      "height_formula": "outward_metres = (Height - 0.5) * 0.009"
    },
    "Larch_cladding": {
      "tile_size_metres": 1.024,
      "resolution": 1024,
      "maps": {
        "BaseColor": "materials/Larch_cladding/BaseColor.png",
        "Normal": "materials/Larch_cladding/Normal.png",
        "ORM": "materials/Larch_cladding/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.4102617085050045,
        0.34783057895020525,
        0.2764807166012593
      ],
      "roughness_mean": 0.7300000000000002,
      "metalness_mean": 0,
      "height_map": "materials/Larch_cladding/Height.png",
      "height_encoding": "16-bit grayscale",
      "displacement_scale_metres": 0.009,
      "displacement_bias_metres": -0.0045,
      "height_formula": "outward_metres = (Height - 0.5) * 0.009",
      "board_width_metres": 0.12,
      "shadow_gap_metres": 0.008,
      "grain_direction": "+V",
      "tile_boards": 8
    },
    "Larch_cladding_charred": {
      "tile_size_metres": 1.024,
      "resolution": 1024,
      "maps": {
        "BaseColor": "materials/Larch_cladding_charred/BaseColor.png",
        "Normal": "materials/Larch_cladding_charred/Normal.png",
        "ORM": "materials/Larch_cladding_charred/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.08918732793586687,
        0.08026859514229032,
        0.07134986234868804
      ],
      "roughness_mean": 0.8499999999999998,
      "metalness_mean": 0,
      "height_map": "materials/Larch_cladding_charred/Height.png",
      "height_encoding": "16-bit grayscale",
      "displacement_scale_metres": 0.009,
      "displacement_bias_metres": -0.0045,
      "height_formula": "outward_metres = (Height - 0.5) * 0.009",
      "board_width_metres": 0.12,
      "shadow_gap_metres": 0.008,
      "grain_direction": "+V",
      "tile_boards": 8
    },
    "Bronze_aluminium": {
      "tile_size_metres": 1,
      "resolution": 256,
      "maps": {
        "BaseColor": "materials/Bronze_aluminium/BaseColor.png",
        "Normal": "materials/Bronze_aluminium/Normal.png",
        "ORM": "materials/Bronze_aluminium/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.18999293942154064,
        0.1449929394215439,
        0.1049929394215427
      ],
      "roughness_mean": 0.28000000000000014,
      "metalness_mean": 1
    },
    "Glass_clear": {
      "tile_size_metres": 1,
      "resolution": 256,
      "maps": {
        "BaseColor": "materials/Glass_clear/BaseColor.png",
        "Normal": "materials/Glass_clear/Normal.png",
        "ORM": "materials/Glass_clear/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.2599970871868066,
        0.31999708718680736,
        0.3399970871868086
      ],
      "roughness_mean": 0.10000000000000002,
      "metalness_mean": 0.4
    },
    "Steel_dark": {
      "tile_size_metres": 1,
      "resolution": 256,
      "maps": {
        "BaseColor": "materials/Steel_dark/BaseColor.png",
        "Normal": "materials/Steel_dark/Normal.png",
        "ORM": "materials/Steel_dark/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.10499804076548472,
        0.11999804076548569,
        0.1299980407654871
      ],
      "roughness_mean": 0.37000000000000005,
      "metalness_mean": 1
    },
    "Zinc_coping": {
      "tile_size_metres": 1,
      "resolution": 256,
      "maps": {
        "BaseColor": "materials/Zinc_coping/BaseColor.png",
        "Normal": "materials/Zinc_coping/Normal.png",
        "ORM": "materials/Zinc_coping/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.4900111941984131,
        0.5300111941984036,
        0.5500111941984115
      ],
      "roughness_mean": 0.38999999999999996,
      "metalness_mean": 1
    },
    "Roof_gravel": {
      "tile_size_metres": 2,
      "resolution": 1024,
      "maps": {
        "BaseColor": "materials/Roof_gravel/BaseColor.png",
        "Normal": "materials/Roof_gravel/Normal.png",
        "ORM": "materials/Roof_gravel/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.39874523851009286,
        0.3887766075470873,
        0.348902083696295
      ],
      "roughness_mean": 0.7965580771951115,
      "metalness_mean": 0,
      "height_map": "materials/Roof_gravel/Height.png",
      "height_encoding": "16-bit grayscale",
      "displacement_scale_metres": 0.008,
      "displacement_bias_metres": -0.004,
      "height_formula": "outward_metres = (Height - 0.5) * 0.008"
    },
    "Paving_concrete": {
      "tile_size_metres": 2,
      "resolution": 1024,
      "maps": {
        "BaseColor": "materials/Paving_concrete/BaseColor.png",
        "Normal": "materials/Paving_concrete/Normal.png",
        "ORM": "materials/Paving_concrete/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.5699051112827241,
        0.5599067759964568,
        0.5299117701397666
      ],
      "roughness_mean": 0.7912857549330767,
      "metalness_mean": 0,
      "height_map": "materials/Paving_concrete/Height.png",
      "height_encoding": "16-bit grayscale",
      "displacement_scale_metres": 0.003,
      "displacement_bias_metres": -0.0015,
      "height_formula": "outward_metres = (Height - 0.5) * 0.003"
    },
    "Door_paint": {
      "tile_size_metres": 1,
      "resolution": 256,
      "maps": {
        "BaseColor": "materials/Door_paint/BaseColor.png",
        "Normal": "materials/Door_paint/Normal.png",
        "ORM": "materials/Door_paint/ORM.png"
      },
      "normal_convention": "OpenGL tangent +Y",
      "ORM_channels": {
        "R": "occlusion",
        "G": "roughness",
        "B": "metallic"
      },
      "wrap": "REPEAT",
      "color_space": {
        "BaseColor": "sRGB",
        "Normal": "linear",
        "ORM": "linear"
      },
      "base_color_mean": [
        0.7900035012051028,
        0.7900035012051028,
        0.7500035012050973
      ],
      "roughness_mean": 0.4800000000000002,
      "metalness_mean": 0
    }
  },
  "runtime_binding": "Bind by exact name; UV0 already divided by tile size. RepeatWrapping, flipY=false, BaseColor sRGB, Normal/ORM linear. roughness=metalness=1 with ORM. Multiply vertex COLOR_0 for planter grasses/soil; other vertices are white. Height for generated walls only; normal carries relief on atoms. Glass is deliberately opaque dark reflective glazing for closed buildings, not transmissive interior glass.",
  "provenance": {
    "license": "CC0-1.0 for Poly Haven scans; authored profile masks and metal/paint swatches generated by this builder",
    "sources": {
      "plastered_wall_04": {
        "BaseColor": {
          "path": "textures/plastered_wall_04_BaseColor.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/plastered_wall_04/plastered_wall_04_diff_1k.jpg",
          "sha256": "52d789111bbe93d311c22e49d28b56256593c8f84c75742642403da857a36503"
        },
        "Height": {
          "path": "textures/plastered_wall_04_Height.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/plastered_wall_04/plastered_wall_04_disp_1k.jpg",
          "sha256": "e20a0d7234c83a21caf0db06f8c123d03a63c6d92315adb2ca0242885bb7e716"
        },
        "ORM": {
          "path": "textures/plastered_wall_04_ORM.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/plastered_wall_04/plastered_wall_04_arm_1k.jpg",
          "sha256": "9ffc6cc7b58f95972361ac887df92fdf3e6d86b96ecadcac17cbc2676cb8617d"
        }
      },
      "concrete_wall_006": {
        "BaseColor": {
          "path": "textures/concrete_wall_006_BaseColor.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/concrete_wall_006/concrete_wall_006_diff_1k.jpg",
          "sha256": "fea247dd085cd05d8deb335234c834764d622029da351f8bcc8913935316bacd"
        },
        "Height": {
          "path": "textures/concrete_wall_006_Height.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/concrete_wall_006/concrete_wall_006_disp_1k.jpg",
          "sha256": "b27d25dc38c4ba62cfc9905a986a4f6693a9e14d892130326085633342aba952"
        },
        "ORM": {
          "path": "textures/concrete_wall_006_ORM.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/concrete_wall_006/concrete_wall_006_arm_1k.jpg",
          "sha256": "b5ab58c363e1802611c30bc456066d32b3f9b9697fb73d6acc983b8390a662ac"
        }
      },
      "rough_wood": {
        "BaseColor": {
          "path": "textures/rough_wood_BaseColor.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rough_wood/rough_wood_diff_1k.jpg",
          "sha256": "abc46d8e3163d911220f4ec3a4043b68d2b0c6d750513f80871211acfefb2a98"
        },
        "Height": {
          "path": "textures/rough_wood_Height.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rough_wood/rough_wood_disp_1k.jpg",
          "sha256": "054517a8996fc361cbc390250af27d3b45941213738b18462db16ae23c7649f7"
        },
        "ORM": {
          "path": "textures/rough_wood_ORM.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rough_wood/rough_wood_arm_1k.jpg",
          "sha256": "3d64915bf2898e6068fa4a55f9ffdd3361170265b47e145852eb3ef5e6196560"
        }
      },
      "gravelly_sand": {
        "BaseColor": {
          "path": "textures/gravelly_sand_BaseColor.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/gravelly_sand/gravelly_sand_diff_1k.jpg",
          "sha256": "bc1624594ce807f04eaa023f6f9df93ffefd20904570cd46ca302b954ef80eec"
        },
        "Height": {
          "path": "textures/gravelly_sand_Height.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/gravelly_sand/gravelly_sand_disp_1k.jpg",
          "sha256": "46ee8adede9d04ae47fc797ec5fa3ce46ab734dcd01af4b48ba3afa8270ecd00"
        },
        "ORM": {
          "path": "textures/gravelly_sand_ORM.jpg",
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/gravelly_sand/gravelly_sand_arm_1k.jpg",
          "sha256": "24ae423af3a5ca6ba78fc02fc5257d0270888fb1e60996c761ee110994c6ed6b"
        }
      }
    },
    "note": "Scan-derived adaptations, not measured larch species or measured architectural formwork."
  }
}