{
  "purpose": "Local ATS design study. Nature meshes are visual set dressing, not geographically surveyed trees or rocks.",
  "models": [
    {
      "assetId": "modular_electricity_poles",
      "sourcePage": "https://polyhaven.com/a/modular_electricity_poles",
      "apiUrl": "https://api.polyhaven.com/files/modular_electricity_poles",
      "gltf": "modular_electricity_poles/modular_electricity_poles_2k.gltf",
      "resolution": "2k",
      "totalBytes": 25919087,
      "license": {
        "license": "CC0 1.0 Universal",
        "licenseUrl": "https://polyhaven.com/license",
        "licenseLegalUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
        "verified": "Official asset pages display CC0; official license page states all assets are CC0."
      },
      "sources": [
        {
          "file": "modular_electricity_poles/modular_electricity_poles_2k.gltf",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/2k/modular_electricity_poles/modular_electricity_poles_2k.gltf",
          "bytes": 149324,
          "md5": "516ec7ea60f1b090d89e9981c4182c50"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_pieces_nor_gl_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/modular_electricity_poles/modular_electricity_poles_pieces_nor_gl_2k.jpg",
          "bytes": 2923685,
          "md5": "8af39af86c2cedad5c5af00f740a6774"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_diff_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/modular_electricity_poles/modular_electricity_poles_diff_2k.jpg",
          "bytes": 2652895,
          "md5": "587fdf3b7bc5091a0cb3da26ff1fb944"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_arm_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/modular_electricity_poles/modular_electricity_poles_arm_2k.jpg",
          "bytes": 2938395,
          "md5": "5e56d1623e4f2a994c9d1491e3a422ab"
        },
        {
          "file": "modular_electricity_poles/modular_electricity_poles.bin",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/modular_electricity_poles/modular_electricity_poles.bin",
          "bytes": 7215652,
          "md5": "c6214884e3bd6ea4a2ea20b795c648f4"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_nor_gl_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/modular_electricity_poles/modular_electricity_poles_nor_gl_2k.jpg",
          "bytes": 3833235,
          "md5": "da2926aeb305161afff30713eb723c31"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_pieces_arm_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/modular_electricity_poles/modular_electricity_poles_pieces_arm_2k.jpg",
          "bytes": 3534574,
          "md5": "5c66eee5c89f8a1c157217eb9157a81e"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_pieces_diff_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/modular_electricity_poles/modular_electricity_poles_pieces_diff_2k.jpg",
          "bytes": 2671327,
          "md5": "1011f233d60e66467bfb40a3de2d5f24"
        }
      ],
      "textures": [
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_pieces_nor_gl_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_diff_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_arm_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_nor_gl_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_pieces_arm_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        },
        {
          "file": "modular_electricity_poles/textures/modular_electricity_poles_pieces_diff_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        }
      ],
      "trianglesAllNodes": 200610,
      "nodeReport": "modular_electricity_poles/node-report.json",
      "units": "meters, Y up, glTF native orientation; retain original material setup",
      "readyToLoadSubsets": [
        {
          "file": "modular_electricity_poles/preset_01.gltf",
          "derivation": "Selected original source nodes only; translated horizontally to center. No mesh edits.",
          "triangles": 31932,
          "boundsMeters": [
            [
              -0.6000000238418579,
              -2.812594175338745e-07,
              -1.5311498682878588
            ],
            [
              0.6000000238418579,
              6.130000278353691,
              0.42612069845199585
            ]
          ],
          "sizeMeters": [
            1.2000000476837158,
            6.130000559613109,
            1.9572705667398547
          ],
          "nodeNames": [
            "preset_01_bolt_small_01",
            "preset_01_bolt_small_02",
            "preset_01_bolt_small_03",
            "preset_01_bolt_small_04",
            "preset_01_bolt_small_05",
            "preset_01_bolt_small_06",
            "preset_01_bolt_small_07",
            "preset_01_bolt_small_08",
            "preset_01_bolt_small_09",
            "preset_01_cap",
            "preset_01_connection_large_02",
            "preset_01_connection_single_01",
            "preset_01_connection_small_02",
            "preset_01_fastener",
            "preset_01_fastener_connection",
            "preset_01_fastener_loop",
            "preset_01_fuse_01",
            "preset_01_fuse_02",
            "preset_01_nail_bent",
            "preset_01_pole",
            "preset_01_ring_large",
            "preset_01_ring_small",
            "preset_01_ring_small_01",
            "preset_01_ring_small_02",
            "preset_01_ring_small_03",
            "preset_01_transformer_01",
            "preset_01_transformer_02"
          ]
        },
        {
          "file": "modular_electricity_poles/preset_02.gltf",
          "derivation": "Selected original source nodes only; translated horizontally to center. No mesh edits.",
          "triangles": 26466,
          "boundsMeters": [
            [
              -0.6000000238418579,
              -2.812594175338745e-07,
              -0.42612093687057495
            ],
            [
              0.6000000238418579,
              6.130000278353691,
              0.42612069845199585
            ]
          ],
          "sizeMeters": [
            1.2000000476837158,
            6.130000559613109,
            0.8522416353225708
          ],
          "nodeNames": [
            "preset_02_cap",
            "preset_02_connection_large_01",
            "preset_02_connection_single_01",
            "preset_02_connection_single_01_02",
            "preset_02_connection_small_01",
            "preset_02_pole",
            "preset_02_ring_large",
            "preset_02_ring_large_02",
            "preset_02_ring_small_01",
            "preset_02_ring_small_02",
            "preset_02_ring_small_03",
            "preset_02_ring_small_04",
            "preset_02_ring_small_05"
          ]
        },
        {
          "file": "modular_electricity_poles/preset_03.gltf",
          "derivation": "Selected original source nodes only; translated horizontally to center. No mesh edits.",
          "triangles": 35012,
          "boundsMeters": [
            [
              -0.8500000238418579,
              -2.812594175338745e-07,
              -0.42612093687057495
            ],
            [
              0.4369264400783413,
              6.130000278353691,
              0.4261208124964734
            ]
          ],
          "sizeMeters": [
            1.2869264639201992,
            6.130000559613109,
            0.8522417493670483
          ],
          "nodeNames": [
            "preset_03_bolt_small_01",
            "preset_03_bolt_small_02",
            "preset_03_bolt_small_03",
            "preset_03_bolt_small_04",
            "preset_03_bolt_small_05",
            "preset_03_bolt_small_06",
            "preset_03_cap",
            "preset_03_connection_large_offset_01",
            "preset_03_connection_single_01",
            "preset_03_connection_small_01_02",
            "preset_03_fuse_01",
            "preset_03_nail_bent",
            "preset_03_pole",
            "preset_03_ring_large_01",
            "preset_03_ring_large_02",
            "preset_03_ring_small_01",
            "preset_03_ring_small_02",
            "preset_03_ring_small_03",
            "preset_03_ring_small_04",
            "preset_03_transformer_01"
          ]
        }
      ]
    },
    {
      "assetId": "pine_sapling_small",
      "sourcePage": "https://polyhaven.com/a/pine_sapling_small",
      "apiUrl": "https://api.polyhaven.com/files/pine_sapling_small",
      "gltf": "pine_sapling_small/pine_sapling_small_1k.gltf",
      "resolution": "1k",
      "totalBytes": 21891339,
      "license": {
        "license": "CC0 1.0 Universal",
        "licenseUrl": "https://polyhaven.com/license",
        "licenseLegalUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
        "verified": "Official asset pages display CC0; official license page states all assets are CC0."
      },
      "sources": [
        {
          "file": "pine_sapling_small/pine_sapling_small_1k.gltf",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/1k/pine_sapling_small/pine_sapling_small_1k.gltf",
          "bytes": 11442,
          "md5": "237a7672645631550ae571743aa9f55b"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_twig_arm_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/pine_sapling_small/pine_sapling_small_twig_arm_1k.jpg",
          "bytes": 394056,
          "md5": "b5062030fc42ec7bd12eb3f052054104"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_twig_diff_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/pine_sapling_small/pine_sapling_small_twig_diff_1k.jpg",
          "bytes": 477942,
          "md5": "dacc918bb421968e9ccc1956d78a2dbe"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_bark_nor_gl_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/pine_sapling_small/pine_sapling_small_bark_nor_gl_1k.jpg",
          "bytes": 1016849,
          "md5": "bb6e3a6eea777d992cef48fabfdc538c"
        },
        {
          "file": "pine_sapling_small/pine_sapling_small.bin",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/pine_sapling_small/pine_sapling_small.bin",
          "bytes": 17771796,
          "md5": "76dd1802d8de128c812f2e124a258b35"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_bark_diff_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/pine_sapling_small/pine_sapling_small_bark_diff_1k.jpg",
          "bytes": 725265,
          "md5": "7d3a558ed614c7e75594c7be3bf80311"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_bark_arm_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/pine_sapling_small/pine_sapling_small_bark_arm_1k.jpg",
          "bytes": 801278,
          "md5": "21d1abd15e40951825a4f3da110b20ea"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_twig_nor_gl_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/1k/pine_sapling_small/pine_sapling_small_twig_nor_gl_1k.jpg",
          "bytes": 692711,
          "md5": "eebc5a81f8f6231d8e18ec4ad7292798"
        }
      ],
      "textures": [
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_twig_arm_1k.jpg",
          "size": [
            1024,
            1024
          ],
          "mode": "RGB"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_twig_diff_1k.jpg",
          "size": [
            1024,
            1024
          ],
          "mode": "RGB"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_bark_nor_gl_1k.jpg",
          "size": [
            1024,
            1024
          ],
          "mode": "RGB"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_bark_diff_1k.jpg",
          "size": [
            1024,
            1024
          ],
          "mode": "RGB"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_bark_arm_1k.jpg",
          "size": [
            1024,
            1024
          ],
          "mode": "RGB"
        },
        {
          "file": "pine_sapling_small/textures/pine_sapling_small_twig_nor_gl_1k.jpg",
          "size": [
            1024,
            1024
          ],
          "mode": "RGB"
        }
      ],
      "trianglesAllNodes": 398144,
      "nodeReport": "pine_sapling_small/node-report.json",
      "units": "meters, Y up, glTF native orientation; retain original material setup",
      "readyToLoadSubsets": [
        {
          "file": "pine_sapling_small/pine_sapling_a.gltf",
          "derivation": "Selected original source nodes only; translated horizontally to center. No mesh edits.",
          "triangles": 142506,
          "boundsMeters": [
            [
              -0.36030644178390503,
              -0.015484155155718327,
              -0.3713758885860443
            ],
            [
              0.4273671805858612,
              1.283473253250122,
              0.3560454249382019
            ]
          ],
          "sizeMeters": [
            0.7876736223697662,
            1.2989574084058404,
            0.7274213135242462
          ],
          "nodeNames": [
            "pine_sapling_small_a"
          ]
        },
        {
          "file": "pine_sapling_small/pine_sapling_b.gltf",
          "derivation": "Selected original source nodes only; translated horizontally to center. No mesh edits.",
          "triangles": 122235,
          "boundsMeters": [
            [
              -0.2652446925640106,
              0.0009154988802038133,
              -0.3313728868961334
            ],
            [
              0.26351654529571533,
              1.0465238094329834,
              0.39897364377975464
            ]
          ],
          "sizeMeters": [
            0.528761237859726,
            1.0456083105527796,
            0.7303465306758881
          ],
          "nodeNames": [
            "pine_sapling_small_b"
          ]
        },
        {
          "file": "pine_sapling_small/pine_sapling_c.gltf",
          "derivation": "Selected original source nodes only; translated horizontally to center. No mesh edits.",
          "triangles": 133403,
          "boundsMeters": [
            [
              -0.23103249073028564,
              0.000687308085616678,
              -0.32069259881973267
            ],
            [
              0.28175342082977295,
              0.9620128870010376,
              0.2592729330062866
            ]
          ],
          "sizeMeters": [
            0.5127859115600586,
            0.9613255789154209,
            0.5799655318260193
          ],
          "nodeNames": [
            "pine_sapling_small_c"
          ]
        }
      ]
    },
    {
      "assetId": "boulder_01",
      "sourcePage": "https://polyhaven.com/a/boulder_01",
      "apiUrl": "https://api.polyhaven.com/files/boulder_01",
      "gltf": "boulder_01/boulder_01_2k.gltf",
      "resolution": "2k",
      "totalBytes": 13536339,
      "license": {
        "license": "CC0 1.0 Universal",
        "licenseUrl": "https://polyhaven.com/license",
        "licenseLegalUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
        "verified": "Official asset pages display CC0; official license page states all assets are CC0."
      },
      "sources": [
        {
          "file": "boulder_01/boulder_01_2k.gltf",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/2k/boulder_01/boulder_01_2k.gltf",
          "bytes": 2773,
          "md5": "3ef4b3c88c898e12b096eeb40f1edbb9"
        },
        {
          "file": "boulder_01/textures/boulder_01_nor_gl_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/boulder_01/boulder_01_nor_gl_2k.jpg",
          "bytes": 4649207,
          "md5": "73ee1783fca7605fd454f0af3e5b85fa"
        },
        {
          "file": "boulder_01/textures/boulder_01_diff_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/boulder_01/boulder_01_diff_2k.jpg",
          "bytes": 3672483,
          "md5": "63571077317c9a2d1db95894e0268a07"
        },
        {
          "file": "boulder_01/boulder_01.bin",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/gltf/8k/boulder_01/boulder_01.bin",
          "bytes": 2938808,
          "md5": "27a19fa031d8b4c3a09261f19c444dc5"
        },
        {
          "file": "boulder_01/textures/boulder_01_arm_2k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Models/jpg/2k/boulder_01/boulder_01_arm_2k.jpg",
          "bytes": 2273068,
          "md5": "94c796dfd73f72b11e557cb2c05ff51e"
        }
      ],
      "textures": [
        {
          "file": "boulder_01/textures/boulder_01_nor_gl_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        },
        {
          "file": "boulder_01/textures/boulder_01_diff_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        },
        {
          "file": "boulder_01/textures/boulder_01_arm_2k.jpg",
          "size": [
            2048,
            2048
          ],
          "mode": "RGB"
        }
      ],
      "trianglesAllNodes": 66122,
      "nodeReport": "boulder_01/node-report.json",
      "units": "meters, Y up, glTF native orientation; retain original material setup",
      "readyToLoadSubsets": []
    }
  ],
  "materials": [
    {
      "assetId": "rough_wood",
      "sourcePage": "https://polyhaven.com/a/rough_wood",
      "apiUrl": "https://api.polyhaven.com/files/rough_wood",
      "license": {
        "license": "CC0 1.0 Universal",
        "licenseUrl": "https://polyhaven.com/license",
        "licenseLegalUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
        "verified": "Official asset pages display CC0; official license page states all assets are CC0."
      },
      "maps": {
        "color": {
          "file": "rough_wood/rough_wood_diff_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rough_wood/rough_wood_diff_1k.jpg",
          "bytes": 567074,
          "md5": "92d4b3dd46bab95248f5a7680b7882e7",
          "size": [
            1024,
            1024
          ],
          "colorSpace": "sRGB"
        },
        "normalGL": {
          "file": "rough_wood/rough_wood_nor_gl_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rough_wood/rough_wood_nor_gl_1k.jpg",
          "bytes": 790334,
          "md5": "1c9829c9023f74c74eaeba28e56e5144",
          "size": [
            1024,
            1024
          ],
          "colorSpace": "linear / non-color"
        },
        "roughness": {
          "file": "rough_wood/rough_wood_rough_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/rough_wood/rough_wood_rough_1k.jpg",
          "bytes": 195056,
          "md5": "ef62954e4ea0e9cd78757ce79e6eeb58",
          "size": [
            1024,
            1024
          ],
          "colorSpace": "linear / non-color"
        }
      }
    },
    {
      "assetId": "pine_bark",
      "sourcePage": "https://polyhaven.com/a/pine_bark",
      "apiUrl": "https://api.polyhaven.com/files/pine_bark",
      "license": {
        "license": "CC0 1.0 Universal",
        "licenseUrl": "https://polyhaven.com/license",
        "licenseLegalUrl": "https://creativecommons.org/publicdomain/zero/1.0/",
        "verified": "Official asset pages display CC0; official license page states all assets are CC0."
      },
      "maps": {
        "color": {
          "file": "pine_bark/pine_bark_diff_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/pine_bark/pine_bark_diff_1k.jpg",
          "bytes": 837641,
          "md5": "7bb38cccfc647aeaf2f5b6488c815e75",
          "size": [
            1024,
            1024
          ],
          "colorSpace": "sRGB"
        },
        "normalGL": {
          "file": "pine_bark/pine_bark_nor_gl_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/pine_bark/pine_bark_nor_gl_1k.jpg",
          "bytes": 1178440,
          "md5": "7b971070fc986e517b5d2795cec0f4e0",
          "size": [
            1024,
            1024
          ],
          "colorSpace": "linear / non-color"
        },
        "roughness": {
          "file": "pine_bark/pine_bark_rough_1k.jpg",
          "sourceUrl": "https://dl.polyhaven.org/file/ph-assets/Textures/jpg/1k/pine_bark/pine_bark_rough_1k.jpg",
          "bytes": 506697,
          "md5": "f5ba950ee648056809153e0506f8a2e2",
          "size": [
            1024,
            1024
          ],
          "colorSpace": "linear / non-color"
        }
      }
    }
  ],
  "integrationNotes": [
    "GLTFLoader retains correct PBR textures, Y-up and source scale in meters.",
    "Load readyToLoadSubsets for a single pole or sapling; source full files contain kits/three variants.",
    "Pole preset files are horizontally centered at x0 with unchanged real hardware proportions.",
    "Avoid replacing source textures with flat colors. Color maps use sRGB; normal and ARM maps are non-color.",
    "ARM channels: R ambient occlusion, G roughness, B metallic. Preserve GLTFLoader material bindings.",
    "Repeat vegetation via instancing/clones with shared geometry/materials, modest yaw/scale variation, and terrain-conforming bases."
  ],
  "notDownloaded": [
    {
      "assetId": "pine_tree_01",
      "reason": "Official glTF has three LOD0 trees only, 948849556-byte geometry buffer; exceeds 150MB budget."
    },
    {
      "assetId": "pine_forest",
      "reason": "No asset under this exact ID in official public API (404)."
    }
  ],
  "matureFir": {
    "sourceAndLicense": "mature_fir/mature-fir-manifest.json",
    "lods": "mature_fir/mature-fir-lods.json",
    "hero": "mature_fir/fir_tree_c_hero.glb",
    "distance": "mature_fir/fir_tree_c_distance.glb",
    "units": "meters, Y up; natural14.4m mature tree; selected source variant C",
    "far": "mature_fir/fir_tree_c_far.glb"
  },
  "preferredMatureForest": {
    "hero": "authored_fir/fir_a_authored_lod2.glb",
    "distance": "authored_fir/fir_a_cards_distance.glb",
    "canopyPreserved": "authored_fir/fir_a_cards_preserved.glb",
    "sourceAndLicense": "authored_fir/authored-fir-manifest.json",
    "derivatives": "authored_fir/authored-distance-lods.json",
    "proof": "authored_fir/optimized-aaa-proof.png",
    "note": "Use dense author variant A card LODs. Legacy variant C needle-decimated LODs lose foliage and should not be used for a dense forest."
  }
}