{
  "description": "Real photographic/PBR scenery assets prepared for Manx Steam Railway.",
  "license": "CC0-1.0",
  "licenseUrl": "https://polyhaven.com/license",
  "credit": "Powered by Poly Haven",
  "creditUrl": "https://polyhaven.com/",
  "preparedAt": "2026-10-15",
  "notes": [
    "Downloaded asset files only; no website preview renders used.",
    "OpenGL normal maps; sRGB diffuse, linear normal/roughness/ARM.",
    "ARM channels: R ambient occlusion, G roughness, B metallic.",
    "Leaves atlas uses source UVs and contains individual leaves, not a whole tree canopy.",
    "Sky strips: sRGB-encoded linear radiance divided by linearScale; the brightest values come from the matching 1K HDR."
  ],
  "grass": {
    "gltf": "grass-clumps.glb",
    "map": "grass-diffuse.webp",
    "normalMap": "grass-normal.webp",
    "arm": "grass-arm.webp",
    "textureFlipY": false,
    "alphaTest": 0.38,
    "doubleSided": true,
    "variants": [
      {
        "name": "grass_medium_01_tiny_c_LOD0",
        "triangles": 40,
        "boundsMetres": {
          "min": [
            -0.0020321784541010857,
            -0.0015277046477422118,
            -0.0006610661512240767
          ],
          "max": [
            0.013999270275235176,
            0.08086099475622177,
            0.028342707082629204
          ]
        }
      },
      {
        "name": "grass_medium_01_tiny_a_LOD0",
        "triangles": 79,
        "boundsMetres": {
          "min": [
            -0.023301100358366966,
            -0.0026543086860328913,
            -0.051006510853767395
          ],
          "max": [
            0.044046659022569656,
            0.10979903489351273,
            0.022762246429920197
          ]
        }
      },
      {
        "name": "grass_medium_01_tiny_b_LOD0",
        "triangles": 28,
        "boundsMetres": {
          "min": [
            -0.004174281843006611,
            -0.002296786056831479,
            -0.034134380519390106
          ],
          "max": [
            0.019395504146814346,
            0.057911694049835205,
            0.000264353962847963
          ]
        }
      },
      {
        "name": "grass_medium_01_tiny_d_LOD0",
        "triangles": 32,
        "boundsMetres": {
          "min": [
            -0.0009768229210749269,
            -0.00266977958381176,
            -0.054337579756975174
          ],
          "max": [
            0.04206297919154167,
            0.04515690729022026,
            0.034244898706674576
          ]
        }
      },
      {
        "name": "grass_medium_01_tiny_e_LOD0",
        "triangles": 62,
        "boundsMetres": {
          "min": [
            -0.026754053309559822,
            -0.0046236226335167885,
            -0.022340359166264534
          ],
          "max": [
            0.0585113987326622,
            0.0448271669447422,
            0.051811572164297104
          ]
        }
      },
      {
        "name": "grass_medium_01_tiny_f_LOD0",
        "triangles": 60,
        "boundsMetres": {
          "min": [
            -0.0030071011278778315,
            -0.0029108894523233175,
            -0.04550879821181297
          ],
          "max": [
            0.05218852683901787,
            0.044163916260004044,
            0.023381344974040985
          ]
        }
      }
    ]
  },
  "assets": [
    {
      "file": "ballast-diffuse.webp",
      "asset": "gravel_floor_02",
      "title": "Gravel Floor 02",
      "authors": {
        "Jenelle van Heerden": "Processing",
        "Dimitrios Savva": "Photography"
      },
      "source": "https://polyhaven.com/a/gravel_floor_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/gravel_floor_02/gravel_floor_02_diff_1k.jpg",
          "md5": "9e420814367b8ee7a25bcfea10ff4b08",
          "size": 1240441
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 470272,
      "sha256": "0e0c7a9efbf976746fb70d636216b34b116383627ed951ca79bd666fa9b48864",
      "physicalDimensionsMetres": [
        2.0,
        2.0
      ]
    },
    {
      "file": "ballast-normal.webp",
      "asset": "gravel_floor_02",
      "title": "Gravel Floor 02",
      "authors": {
        "Jenelle van Heerden": "Processing",
        "Dimitrios Savva": "Photography"
      },
      "source": "https://polyhaven.com/a/gravel_floor_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/gravel_floor_02/gravel_floor_02_nor_gl_1k.jpg",
          "md5": "ed3da750848a3e05faff98bc5b08c491",
          "size": 1545680
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 645304,
      "sha256": "c5fd13013a713100bf010cb59ab5c89aaf8d4fc1b8bcff60f2c7331b4f4bad97",
      "physicalDimensionsMetres": [
        2.0,
        2.0
      ]
    },
    {
      "file": "ballast-roughness.webp",
      "asset": "gravel_floor_02",
      "title": "Gravel Floor 02",
      "authors": {
        "Jenelle van Heerden": "Processing",
        "Dimitrios Savva": "Photography"
      },
      "source": "https://polyhaven.com/a/gravel_floor_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/gravel_floor_02/gravel_floor_02_rough_1k.jpg",
          "md5": "f6d14a303ac3555e5f10b3aa22dbdc3d",
          "size": 680926
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 206392,
      "sha256": "581c36f1cfcb6915df80f8a7b54bdd3b21c3f10ef9e4b9ffe38a9c925410f667",
      "physicalDimensionsMetres": [
        2.0,
        2.0
      ]
    },
    {
      "file": "aged-wood-diffuse.webp",
      "asset": "wood_planks_grey",
      "title": "Wood Planks Grey",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/wood_planks_grey",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/wood_planks_grey/wood_planks_grey_diff_1k.jpg",
          "md5": "f2b4a70fed329c13850917c5f2d1498c",
          "size": 228279
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 187168,
      "sha256": "ca5f8ca63585b616873c7a0a3ab241a4aaa7dcdecb055f051620ce7ad7710daa",
      "physicalDimensionsMetres": [
        1.5,
        1.5
      ]
    },
    {
      "file": "aged-wood-normal.webp",
      "asset": "wood_planks_grey",
      "title": "Wood Planks Grey",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/wood_planks_grey",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/wood_planks_grey/wood_planks_grey_nor_gl_1k.jpg",
          "md5": "fe633ea606ac22b732d4204a7fa52b03",
          "size": 157419
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 135136,
      "sha256": "0d6cc13974c3c6ad2a1f24a168be140ebd84053ced1327220e1d5397437cb8d5",
      "physicalDimensionsMetres": [
        1.5,
        1.5
      ]
    },
    {
      "file": "aged-wood-roughness.webp",
      "asset": "wood_planks_grey",
      "title": "Wood Planks Grey",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/wood_planks_grey",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/wood_planks_grey/wood_planks_grey_rough_1k.jpg",
          "md5": "eb620bf4c075153d9272de00f1bf7633",
          "size": 186804
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 138480,
      "sha256": "51b26a3bd7955ea668a5f6083cdd5fc2e78bc34b026cad57985906809cd0c2ba",
      "physicalDimensionsMetres": [
        1.5,
        1.5
      ]
    },
    {
      "file": "station-brick-diffuse.webp",
      "asset": "red_brick_03",
      "title": "Red Brick 03",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/red_brick_03",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/red_brick_03/red_brick_03_diff_1k.jpg",
          "md5": "d157c6d6dd774762b4269927a87fe9b5",
          "size": 694500
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 349802,
      "sha256": "1dfce374beaeee404e570d484ee412dd67d5d317be69e5f63e6d434a2dbfa8fd",
      "physicalDimensionsMetres": [
        1.0,
        1.0
      ]
    },
    {
      "file": "station-brick-normal.webp",
      "asset": "red_brick_03",
      "title": "Red Brick 03",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/red_brick_03",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/red_brick_03/red_brick_03_nor_gl_1k.jpg",
          "md5": "e89ce432d9160edb7c902f901756865f",
          "size": 955430
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 372948,
      "sha256": "a2c5b582fe15f4c7065f286d557772b8eae5bcce424f47e4087b854a6f6e89f7",
      "physicalDimensionsMetres": [
        1.0,
        1.0
      ]
    },
    {
      "file": "station-brick-roughness.webp",
      "asset": "red_brick_03",
      "title": "Red Brick 03",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/red_brick_03",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/red_brick_03/red_brick_03_rough_1k.jpg",
          "md5": "8f16439361c5fe27f9df03be279ce8c9",
          "size": 286623
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 96382,
      "sha256": "368e6b7018165a44c83ff4cc3653d4511d1f856737e632452bf153c05a5acb5f",
      "physicalDimensionsMetres": [
        1.0,
        1.0
      ]
    },
    {
      "file": "weathered-metal-diffuse.webp",
      "asset": "rusty_painted_metal",
      "title": "Rusty Painted Metal",
      "authors": {
        "Amal Kumar": "All"
      },
      "source": "https://polyhaven.com/a/rusty_painted_metal",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rusty_painted_metal/rusty_painted_metal_diff_1k.jpg",
          "md5": "3846f5567b6e7985b275a6b3867a648f",
          "size": 471866
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 49058,
      "sha256": "366b91fc42889be0849767a15811ed57ed2a6ac9cdbe597c12a99bf38ec597db",
      "physicalDimensionsMetres": [
        2.2,
        2.2
      ]
    },
    {
      "file": "weathered-metal-normal.webp",
      "asset": "rusty_painted_metal",
      "title": "Rusty Painted Metal",
      "authors": {
        "Amal Kumar": "All"
      },
      "source": "https://polyhaven.com/a/rusty_painted_metal",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rusty_painted_metal/rusty_painted_metal_nor_gl_1k.jpg",
          "md5": "b5a2c2b08219304dcd4e0b00837f3e2d",
          "size": 484158
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 42312,
      "sha256": "dd22292c9843dbf24b56594ce0c06ddeaaf27e1f4cd5eb7f8c3903a22272aa11",
      "physicalDimensionsMetres": [
        2.2,
        2.2
      ]
    },
    {
      "file": "weathered-metal-roughness.webp",
      "asset": "rusty_painted_metal",
      "title": "Rusty Painted Metal",
      "authors": {
        "Amal Kumar": "All"
      },
      "source": "https://polyhaven.com/a/rusty_painted_metal",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rusty_painted_metal/rusty_painted_metal_rough_1k.jpg",
          "md5": "4d1a17deece24665d877f818b59b7d38",
          "size": 318766
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 22696,
      "sha256": "9c7b13d1cfdc23367d78acebff6f56e3a6fc60a25f37d676e7d318d74740f08e",
      "physicalDimensionsMetres": [
        2.2,
        2.2
      ]
    },
    {
      "file": "grass-diffuse.webp",
      "asset": "grass_medium_01",
      "title": "Grass Medium 01",
      "authors": {
        "Rob Tuytel": "Photography",
        "Rico Cilliers": "Modeling"
      },
      "source": "https://polyhaven.com/a/grass_medium_01",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/grass_medium_01/grass_medium_01_diff_1k.jpg",
          "md5": "6b18ed50d776fd20c1304d9994bd764e",
          "size": 395673
        },
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/grass_medium_01/grass_medium_01_alpha_1k.jpg",
          "md5": "f1ffbffd4b568bfa72f53649bdfff20b",
          "size": 447537
        }
      ],
      "adaptation": "1K source converted to WebP; separate opacity composited into RGBA.",
      "bytes": 351902,
      "sha256": "fc4e8ec374813c6ebacb2bc834d0797709e7026cded0cefbf94646c8f82c4061",
      "physicalDimensionsMetres": [
        7.266328,
        1.25921,
        1.177058
      ]
    },
    {
      "file": "grass-normal.webp",
      "asset": "grass_medium_01",
      "title": "Grass Medium 01",
      "authors": {
        "Rob Tuytel": "Photography",
        "Rico Cilliers": "Modeling"
      },
      "source": "https://polyhaven.com/a/grass_medium_01",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/grass_medium_01/grass_medium_01_nor_gl_1k.jpg",
          "md5": "fcf43dd1253f56e4c361079f34155c37",
          "size": 956166
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 321506,
      "sha256": "a2073934f61239e8258c199686daaab9cde46f18805f06ccd39d210e2fd840b1",
      "physicalDimensionsMetres": [
        7.266328,
        1.25921,
        1.177058
      ]
    },
    {
      "file": "grass-arm.webp",
      "asset": "grass_medium_01",
      "title": "Grass Medium 01",
      "authors": {
        "Rob Tuytel": "Photography",
        "Rico Cilliers": "Modeling"
      },
      "source": "https://polyhaven.com/a/grass_medium_01",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/grass_medium_01/grass_medium_01_arm_1k.jpg",
          "md5": "37ed2730a507b681af2e9f9f7ef3ae5e",
          "size": 679518
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 148944,
      "sha256": "daea10104dfa192755a31b916f673961943f396bfa81a690a7e98c96a61ce5ce",
      "physicalDimensionsMetres": [
        7.266328,
        1.25921,
        1.177058
      ]
    },
    {
      "file": "leaves-diffuse.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02",
      "authors": {
        "Rico Cilliers": "All"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_leaves_diff_1k.jpg",
          "md5": "315cbc2cebfb399e649ccd39112c109a",
          "size": 340003
        },
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_leaves_alpha_1k.jpg",
          "md5": "d36f9fbfa91af8dc1bca0cbafee70070",
          "size": 245083
        }
      ],
      "adaptation": "1K source converted to WebP; separate opacity composited into RGBA.",
      "bytes": 187744,
      "sha256": "2825eb32fd74b5e57cdcc5583c308552e752951fc6d9aba6f0234e5c1b4c9719",
      "physicalDimensionsMetres": [
        2.921435,
        4.292874,
        4.649934
      ]
    },
    {
      "file": "leaves-normal.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02",
      "authors": {
        "Rico Cilliers": "All"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_leaves_nor_gl_1k.jpg",
          "md5": "b06c87e73f54d9654f66d67e9de7aa85",
          "size": 681604
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 157982,
      "sha256": "0ea4faef6921a8e2beae9d824eed74fcae42e1958bc5d35606cb13bd0fad1f6e",
      "physicalDimensionsMetres": [
        2.921435,
        4.292874,
        4.649934
      ]
    },
    {
      "file": "leaves-arm.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02",
      "authors": {
        "Rico Cilliers": "All"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_leaves_arm_1k.jpg",
          "md5": "3dad5bafc732f7692db32a262530bbab",
          "size": 633698
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 88978,
      "sha256": "898700107b400d33d9f19ef7d49e1f696a0d8d5ad7f2584a337f892afb931282",
      "physicalDimensionsMetres": [
        2.921435,
        4.292874,
        4.649934
      ]
    },
    {
      "file": "bark-diffuse.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02",
      "authors": {
        "Rico Cilliers": "All"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_branch_diff_1k.jpg",
          "md5": "88b531469f5dba2fc44ca85df3776e7c",
          "size": 449977
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 82502,
      "sha256": "8fc3f3046fd7a69c94b7f6a86eebbbbcdb2128fa6b41a1f73183a6d76efc0592",
      "physicalDimensionsMetres": [
        2.921435,
        4.292874,
        4.649934
      ]
    },
    {
      "file": "bark-normal.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02",
      "authors": {
        "Rico Cilliers": "All"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_branch_nor_gl_1k.jpg",
          "md5": "00a3eed0d4d28e7e890d9ec6ac0619af",
          "size": 581596
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 150972,
      "sha256": "46446ef552e53f048eefa3c183cccd83b4825220e1e0056cd618fe1434ca4f7a",
      "physicalDimensionsMetres": [
        2.921435,
        4.292874,
        4.649934
      ]
    },
    {
      "file": "bark-arm.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02",
      "authors": {
        "Rico Cilliers": "All"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_branch_arm_1k.jpg",
          "md5": "9ec3d8428295d87ae363bf0d1e0a8288",
          "size": 375732
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 45760,
      "sha256": "afe2f2d1d6048c6ad1fcc23167fb3c25c729b799cc7918f76540449dbbd9feeb",
      "physicalDimensionsMetres": [
        2.921435,
        4.292874,
        4.649934
      ]
    },
    {
      "file": "partly-cloudy-sky-1k.hdr",
      "asset": "kloofendal_48d_partly_cloudy_puresky",
      "title": "Kloofendal 48d Partly Cloudy (Pure Sky)",
      "authors": {
        "Greg Zaal": "Original",
        "Jarod Guest": "Sky edits"
      },
      "source": "https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/kloofendal_48d_partly_cloudy_puresky_1k.hdr",
          "md5": "c69498687e876bf68d2a8b8a62234eb9",
          "size": 1435119
        }
      ],
      "adaptation": "Unmodified 1K HDR radiance asset; photographic pure sky without ground panorama.",
      "bytes": 1435119,
      "sha256": "fd94c84997b8a3c353b62c2125a9b44e19509956986a126e472684432a02d798"
    },
    {
      "file": "golden-sky-1k.hdr",
      "asset": "qwantani_sunset_puresky",
      "title": "Qwantani Sunset (Pure Sky)",
      "authors": {
        "Greg Zaal": "Photography",
        "Jarod Guest": "Processing"
      },
      "source": "https://polyhaven.com/a/qwantani_sunset_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/qwantani_sunset_puresky_1k.hdr",
          "md5": "fe79b1b213166a70871eaddf7fce8c4e",
          "size": 1061624
        }
      ],
      "adaptation": "Unmodified 1K HDR radiance asset; photographic pure sky without ground panorama.",
      "bytes": 1061624,
      "sha256": "e90f2130848de0364b76d2b3da7a72ce31bbb95d66bd86d5b4f85f0626421b8d"
    },
    {
      "file": "overcast-sky-1k.hdr",
      "asset": "kloofendal_overcast_puresky",
      "title": "Kloofendal Overcast (Pure Sky)",
      "authors": {
        "Greg Zaal": "All"
      },
      "source": "https://polyhaven.com/a/kloofendal_overcast_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/kloofendal_overcast_puresky_1k.hdr",
          "md5": "d5c53f6432193893e7dc17eb65e67409",
          "size": 1174053
        }
      ],
      "adaptation": "Unmodified 1K HDR radiance asset; photographic pure sky without ground panorama.",
      "bytes": 1174053,
      "sha256": "5f98aa01d43a49cd899299751a978b3e5559a76300198b5dd2d9c68ecc4ad130"
    },
    {
      "file": "grass-clumps.glb",
      "asset": "grass_medium_01",
      "title": "Grass Medium 01",
      "authors": {
        "Rob Tuytel": "Photography",
        "Rico Cilliers": "Modeling"
      },
      "source": "https://polyhaven.com/a/grass_medium_01",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/grass_medium_01/grass_medium_01.bin",
          "md5": "e0527a0561c2dae5b7b5c1b478d8c6bf",
          "size": 1006632
        }
      ],
      "adaptation": "Six original clumps extracted without geometry simplification; demonstration translations removed. Geometry-only GLB; assign the separate alpha-composited grass PBR material.",
      "bytes": 17576,
      "sha256": "4b8a7e8e274a2a027eee4400b0f4088667283b180b5eb3df3950abd189f74429",
      "physicalDimensionsMetres": [
        7.266328,
        1.25921,
        1.177058
      ]
    },
    {
      "file": "tree-canopy-atlas.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02: four rendered impostors",
      "authors": {
        "Rico Cilliers": "Original model and materials",
        "Manx Wire": "CPU impostor preparation"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/tree_small_02/tree_small_02.bin",
          "md5": "7a7019a87e6fe0d7475c0fa2e08d8962",
          "size": 95102324
        },
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_branch_diff_1k.jpg",
          "md5": "88b531469f5dba2fc44ca85df3776e7c",
          "size": 449977
        },
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_leaves_diff_1k.jpg",
          "md5": "315cbc2cebfb399e649ccd39112c109a",
          "size": 340003
        },
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_leaves_alpha_1k.jpg",
          "md5": "d36f9fbfa91af8dc1bca0cbafee70070",
          "size": 245083
        },
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_diff_1k.jpg",
          "md5": "a7287a3f4e7f0d4577cb949b245f5b14",
          "size": 863246
        }
      ],
      "adaptation": "Actual 2,062,487-triangle CC0 tree CPU-rendered orthographically in four directions. Soft neutral daylight shaded from original vertex normals and diffuse maps. Straight alpha, RGB dilation 16px within each tile, WebP quality 90. No website preview renders were used.",
      "bytes": 594758,
      "sha256": "0684f9a9db89ef57db655fff16683b8a4c9460c6c1e96070ce5d02a90778d0ec"
    },
    {
      "file": "near-tree.glb",
      "asset": "tree_small_02",
      "title": "Tree Small 02: railway foreground LOD",
      "authors": {
        "Rico Cilliers": "Original model and materials",
        "Manx Wire": "Foreground LOD preparation"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/tree_small_02/tree_small_02.bin",
          "md5": "7a7019a87e6fe0d7475c0fa2e08d8962",
          "size": 95102324
        }
      ],
      "adaptation": "Foreground LOD: original branch and trunk geometry reduced with bundled meshoptimizer (1192 + 646 triangles); leaf canopy distribution reconstructed from original vertices as 766 crossed branch cards (1532 triangles). Cards carry separate local UVs for feathered alpha edges. Geometry only; no external buffers or runtime simplification.",
      "bytes": 231356,
      "sha256": "0c47aac7aa17a1346397d2e1f92842049fa7b1eb3bd002a989e94a9fc6b2fa71"
    },
    {
      "file": "tree-trunk-diffuse.webp",
      "asset": "tree_small_02",
      "title": "Tree Small 02: trunk diffuse",
      "authors": {
        "Rico Cilliers": "Original model and materials",
        "Manx Wire": "Foreground LOD preparation"
      },
      "source": "https://polyhaven.com/a/tree_small_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/tree_small_02/tree_small_02_diff_1k.jpg",
          "md5": "a7287a3f4e7f0d4577cb949b245f5b14",
          "size": 863246
        }
      ],
      "adaptation": "Original 1K trunk diffuse converted to WebP for the foreground LOD; original UV orientation preserved.",
      "bytes": 283952,
      "sha256": "f83cb4147e88b06d5d0d6cd787a898832f37b07c51e713c12f7e46beac8c4efa"
    },
    {
      "file": "partly-cloudy-sky-4k.webp",
      "asset": "kloofendal_48d_partly_cloudy_puresky",
      "title": "Kloofendal 48d Partly Cloudy (Pure Sky): sharp background strip",
      "authors": {
        "Greg Zaal": "Original",
        "Jarod Guest": "Sky edits"
      },
      "source": "https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/4k/kloofendal_48d_partly_cloudy_puresky_4k.hdr",
          "md5": "816340c969d2e60d659051d13ac3c4dc",
          "size": 20674857
        }
      ],
      "adaptation": "Upper 1058 rows of the 4K equirectangular HDR (+90 to -2.99 degrees elevation), full width (4096 px). Stored as sRGB WebP quality 92 of linear radiance divided by 4; values above that (sun and brightest cloud edges) are clipped here and taken from the 1K HDR at run time.",
      "linearScale": 4,
      "elevationDegrees": [
        -2.98828,
        90
      ],
      "bytes": 156502,
      "sha256": "4fe896150246fb88d455296b0e9bfb341ab8ab796a8b6ed62153333823d7bfdd"
    },
    {
      "file": "partly-cloudy-sky-2k.webp",
      "asset": "kloofendal_48d_partly_cloudy_puresky",
      "title": "Kloofendal 48d Partly Cloudy (Pure Sky): sharp background strip",
      "authors": {
        "Greg Zaal": "Original",
        "Jarod Guest": "Sky edits"
      },
      "source": "https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/4k/kloofendal_48d_partly_cloudy_puresky_4k.hdr",
          "md5": "816340c969d2e60d659051d13ac3c4dc",
          "size": 20674857
        }
      ],
      "adaptation": "Upper 529 rows of the 4K equirectangular HDR (+90 to -2.99 degrees elevation), box-filtered to half size (2048 px). Stored as sRGB WebP quality 92 of linear radiance divided by 4; values above that (sun and brightest cloud edges) are clipped here and taken from the 1K HDR at run time.",
      "linearScale": 4,
      "elevationDegrees": [
        -2.98828,
        90
      ],
      "bytes": 68294,
      "sha256": "0b2027dc39e2f4343d9a8306deb158778867151d1c7cc5cae3848b7332ff9824"
    },
    {
      "file": "golden-sky-4k.webp",
      "asset": "qwantani_sunset_puresky",
      "title": "Qwantani Sunset (Pure Sky): sharp background strip",
      "authors": {
        "Greg Zaal": "Photography",
        "Jarod Guest": "Processing"
      },
      "source": "https://polyhaven.com/a/qwantani_sunset_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/4k/qwantani_sunset_puresky_4k.hdr",
          "md5": "8db17d46ba7957eb5d06d79d6da93f56",
          "size": 16890545
        }
      ],
      "adaptation": "Upper 1058 rows of the 4K equirectangular HDR (+90 to -2.99 degrees elevation), full width (4096 px). Stored as sRGB WebP quality 92 of linear radiance divided by 5; values above that (sun and brightest cloud edges) are clipped here and taken from the 1K HDR at run time.",
      "linearScale": 5,
      "elevationDegrees": [
        -2.98828,
        90
      ],
      "bytes": 51310,
      "sha256": "df717176cea77bd5eeedea8569023dd716e97f24fe62043bcefc402d39f9abee"
    },
    {
      "file": "golden-sky-2k.webp",
      "asset": "qwantani_sunset_puresky",
      "title": "Qwantani Sunset (Pure Sky): sharp background strip",
      "authors": {
        "Greg Zaal": "Photography",
        "Jarod Guest": "Processing"
      },
      "source": "https://polyhaven.com/a/qwantani_sunset_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/4k/qwantani_sunset_puresky_4k.hdr",
          "md5": "8db17d46ba7957eb5d06d79d6da93f56",
          "size": 16890545
        }
      ],
      "adaptation": "Upper 529 rows of the 4K equirectangular HDR (+90 to -2.99 degrees elevation), box-filtered to half size (2048 px). Stored as sRGB WebP quality 92 of linear radiance divided by 5; values above that (sun and brightest cloud edges) are clipped here and taken from the 1K HDR at run time.",
      "linearScale": 5,
      "elevationDegrees": [
        -2.98828,
        90
      ],
      "bytes": 18618,
      "sha256": "c5df8d150d50fe2a6d48a98fecc42faaee1d5e31ae18145e1717a738a35e47ff"
    },
    {
      "file": "overcast-sky-4k.webp",
      "asset": "kloofendal_overcast_puresky",
      "title": "Kloofendal Overcast (Pure Sky): sharp background strip",
      "authors": {
        "Greg Zaal": "All"
      },
      "source": "https://polyhaven.com/a/kloofendal_overcast_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/4k/kloofendal_overcast_puresky_4k.hdr",
          "md5": "6678d8e9a87f9b8cdfc4fc4038591d59",
          "size": 16953534
        }
      ],
      "adaptation": "Upper 1058 rows of the 4K equirectangular HDR (+90 to -2.99 degrees elevation), full width (4096 px). Stored as sRGB WebP quality 92 of linear radiance divided by 6; values above that (sun and brightest cloud edges) are clipped here and taken from the 1K HDR at run time.",
      "linearScale": 6,
      "elevationDegrees": [
        -2.98828,
        90
      ],
      "bytes": 71524,
      "sha256": "01a3adf7e91497d02a1c7eae51db831d4148f7d2f97f941a8fd917ac15361f3b"
    },
    {
      "file": "overcast-sky-2k.webp",
      "asset": "kloofendal_overcast_puresky",
      "title": "Kloofendal Overcast (Pure Sky): sharp background strip",
      "authors": {
        "Greg Zaal": "All"
      },
      "source": "https://polyhaven.com/a/kloofendal_overcast_puresky",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/4k/kloofendal_overcast_puresky_4k.hdr",
          "md5": "6678d8e9a87f9b8cdfc4fc4038591d59",
          "size": 16953534
        }
      ],
      "adaptation": "Upper 529 rows of the 4K equirectangular HDR (+90 to -2.99 degrees elevation), box-filtered to half size (2048 px). Stored as sRGB WebP quality 92 of linear radiance divided by 6; values above that (sun and brightest cloud edges) are clipped here and taken from the 1K HDR at run time.",
      "linearScale": 6,
      "elevationDegrees": [
        -2.98828,
        90
      ],
      "bytes": 25690,
      "sha256": "7e00c2cd22e63d1e0ec509d7672f96ff251de3749359f01eec8f88cf6827bcb3"
    },
    {
      "file": "house-render-diffuse.webp",
      "asset": "white_stucco_02",
      "title": "White Stucco 02",
      "authors": {
        "Dimitrios Savva": "All"
      },
      "source": "https://polyhaven.com/a/white_stucco_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/white_stucco_02/white_stucco_02_diff_1k.jpg",
          "md5": "388388828a5999a17da48921494a4039",
          "size": 704132
        }
      ],
      "adaptation": "1K source desaturated to a neutral light grey so each building can take its own paint colour, then converted to WebP.",
      "bytes": 193630,
      "sha256": "6a79fd7dfa50cf62f154d749e20d107b02dedcba93363065bdc93db384160abb",
      "physicalDimensionsMetres": [
        1.8,
        1.8
      ]
    },
    {
      "file": "house-render-normal.webp",
      "asset": "white_stucco_02",
      "title": "White Stucco 02",
      "authors": {
        "Dimitrios Savva": "All"
      },
      "source": "https://polyhaven.com/a/white_stucco_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/white_stucco_02/white_stucco_02_nor_gl_1k.jpg",
          "md5": "07670dfc9f6198642f621ad1aa5e3e08",
          "size": 1223733
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 463228,
      "sha256": "d32b80fc2252b6396f4b6dd74a24fba0a92e0c7d736160bfa0d80fd0cd533dd5",
      "physicalDimensionsMetres": [
        1.8,
        1.8
      ]
    },
    {
      "file": "house-render-roughness.webp",
      "asset": "white_stucco_02",
      "title": "White Stucco 02",
      "authors": {
        "Dimitrios Savva": "All"
      },
      "source": "https://polyhaven.com/a/white_stucco_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/white_stucco_02/white_stucco_02_rough_1k.jpg",
          "md5": "e1959e8627e36625a61e4c618e36c1e5",
          "size": 453400
        }
      ],
      "adaptation": "1K source converted to greyscale WebP.",
      "bytes": 39710,
      "sha256": "c947c4bf90ef120d23675243af8f9da06ea3246027ed38b2b2f057320311d912",
      "physicalDimensionsMetres": [
        1.8,
        1.8
      ]
    },
    {
      "file": "slate-roof-diffuse.webp",
      "asset": "roof_slates_02",
      "title": "Roof Slates 02",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/roof_slates_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/roof_slates_02/roof_slates_02_diff_1k.jpg",
          "md5": "d7683ac63f6d46159790186f2e19919f",
          "size": 515626
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 203504,
      "sha256": "5cb750e15fe2a0a2dcb84c3569689b914e6e93ffe305bddfc136d0da9a43aff8",
      "physicalDimensionsMetres": [
        3.0,
        3.0
      ]
    },
    {
      "file": "slate-roof-normal.webp",
      "asset": "roof_slates_02",
      "title": "Roof Slates 02",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/roof_slates_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/roof_slates_02/roof_slates_02_nor_gl_1k.jpg",
          "md5": "e661093ac3305df7de9159ad07ef5f75",
          "size": 763206
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 288164,
      "sha256": "fa73641f657f9bbc8b0e82b36b487ac2f34e8161903026715e25a47d7b730028",
      "physicalDimensionsMetres": [
        3.0,
        3.0
      ]
    },
    {
      "file": "slate-roof-roughness.webp",
      "asset": "roof_slates_02",
      "title": "Roof Slates 02",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/roof_slates_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/roof_slates_02/roof_slates_02_rough_1k.jpg",
          "md5": "90922aa9a6fe1bd6b6fc59548e476705",
          "size": 307076
        }
      ],
      "adaptation": "1K source converted to greyscale WebP.",
      "bytes": 111486,
      "sha256": "2e6dd3a35d33b2e2c7ec2bfa8b1877197b0b4f13a89176feb448f72921c7df8d",
      "physicalDimensionsMetres": [
        3.0,
        3.0
      ]
    },
    {
      "file": "asphalt-diffuse.webp",
      "asset": "asphalt_02",
      "title": "Asphalt 02",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/asphalt_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/asphalt_02/asphalt_02_diff_1k.jpg",
          "md5": "fa19772d4817754c3efab708c651f5a8",
          "size": 731707
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 418120,
      "sha256": "2f2b9df1872c01734c39ea0af02924a67427ae890393d2f2077ab904f327e451",
      "physicalDimensionsMetres": [
        3.0,
        3.0
      ]
    },
    {
      "file": "asphalt-normal.webp",
      "asset": "asphalt_02",
      "title": "Asphalt 02",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/asphalt_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/asphalt_02/asphalt_02_nor_gl_1k.jpg",
          "md5": "338da8de636ea36133170578cac82e8e",
          "size": 1240122
        }
      ],
      "adaptation": "1K source converted to WebP; original map orientation preserved.",
      "bytes": 492200,
      "sha256": "8ba0fe07a7c7e110b51d530f72a79bd1dee860bedade02eb34c353e136d085b9",
      "physicalDimensionsMetres": [
        3.0,
        3.0
      ]
    },
    {
      "file": "asphalt-roughness.webp",
      "asset": "asphalt_02",
      "title": "Asphalt 02",
      "authors": {
        "Rob Tuytel": "All"
      },
      "source": "https://polyhaven.com/a/asphalt_02",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/asphalt_02/asphalt_02_rough_1k.jpg",
          "md5": "ec80a2929797c1b3ffc121c4f665585a",
          "size": 544032
        }
      ],
      "adaptation": "1K source converted to greyscale WebP.",
      "bytes": 321178,
      "sha256": "d3c733552957dc60b0b173375ce5e629fc55dfd0f6c920c47c726dc1e5ab2310",
      "physicalDimensionsMetres": [
        3.0,
        3.0
      ]
    },
    {
      "file": "meadow-ground-diffuse.webp",
      "asset": "leafy_grass",
      "title": "Leafy Grass",
      "authors": {
        "Charlotte Baglioni": "All"
      },
      "source": "https://polyhaven.com/a/leafy_grass",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/leafy_grass/leafy_grass_diff_1k.jpg",
          "md5": "0dbc071e91d6905edfcfbe8eb785a1ab",
          "size": 1195394
        }
      ],
      "adaptation": "1K source converted to WebP. Used only for brightness grain on nearby ground: the colour of each field comes from the satellite imagery, so the leaf litter in this scan is not shown as brown.",
      "bytes": 404544,
      "sha256": "f7ea59b0bf60e67d739459dce0a698a152f396dd8ecf31f9ced8e4cdd15888b1",
      "physicalDimensionsMetres": [
        2,
        2
      ]
    },
    {
      "file": "meadow-ground-normal.webp",
      "asset": "leafy_grass",
      "title": "Leafy Grass",
      "authors": {
        "Charlotte Baglioni": "All"
      },
      "source": "https://polyhaven.com/a/leafy_grass",
      "license": "CC0-1.0",
      "licenseUrl": "https://polyhaven.com/license",
      "sourceFiles": [
        {
          "url": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/leafy_grass/leafy_grass_nor_gl_1k.jpg",
          "md5": "8279e096e204ea326d57a318869f99df",
          "size": 1466049
        }
      ],
      "adaptation": "1K OpenGL normal map converted to WebP; small surface relief on nearby ground on desktop graphics.",
      "bytes": 603758,
      "sha256": "76fcc8c604ad0c28e014633d6ae3a368e8b177749795081e49fc6e4a52c97041",
      "physicalDimensionsMetres": [
        2,
        2
      ]
    }
  ],
  "treeImpostor": {
    "map": "tree-canopy-atlas.webp",
    "widthPixels": 2048,
    "heightPixels": 2048,
    "grid": [
      2,
      2
    ],
    "cellPixels": [
      1024,
      1024
    ],
    "planeWidthMetres": 6.3,
    "planeHeightMetres": 4.8,
    "planeCentreYMetres": 2.25,
    "groundFromBottomMetres": 0.15,
    "actualModelBoundsMetres": {
      "min": [
        -1.3089934587,
        -0.0241038464,
        -1.3826267719
      ],
      "max": [
        1.6077065468,
        4.5326371193,
        2.909850359
      ]
    },
    "alpha": "straight",
    "alphaTest": 0.38,
    "views": [
      {
        "cell": [
          0,
          0
        ],
        "yawDegrees": 0,
        "cameraFrom": "+Z",
        "uvMin": [
          0,
          0.5
        ],
        "uvMax": [
          0.5,
          1
        ]
      },
      {
        "cell": [
          1,
          0
        ],
        "yawDegrees": 90,
        "cameraFrom": "+X",
        "uvMin": [
          0.5,
          0.5
        ],
        "uvMax": [
          1,
          1
        ]
      },
      {
        "cell": [
          0,
          1
        ],
        "yawDegrees": 180,
        "cameraFrom": "-Z",
        "uvMin": [
          0,
          0
        ],
        "uvMax": [
          0.5,
          0.5
        ]
      },
      {
        "cell": [
          1,
          1
        ],
        "yawDegrees": 270,
        "cameraFrom": "-X",
        "uvMin": [
          0.5,
          0
        ],
        "uvMax": [
          1,
          0.5
        ]
      }
    ],
    "uvConvention": "UV bounds for Three TextureLoader default flipY=true; atlas cells listed top-left first."
  },
  "foregroundTree": {
    "geometry": "near-tree.glb",
    "triangles": 3370,
    "sourceTriangles": 2062487,
    "maxTreesPer480MetreSector": 12,
    "enabledOnLightQuality": false,
    "leafCards": "Feathered alpha-tested branch cards arranged using original 3D canopy positions; distant trees retain four-view impostors."
  }
}
