{
  "version": 1,
  "attribution": "3D models re-hosted by UFO@home, each under its own author's licence",
  "models": [
    {
      "id": "kenney-car-kit-sedan",
      "kind": "vehicle",
      "name": "Saloon car (generic, stylised)",
      "parameters": { "lightRigs": ["car-headlights", "car-hazards"] },
      "file": "kenney-car-kit/sedan.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "widthM": 1.8, "lengthM": 4.6, "heightM": 1.45 },
      "credit": {
        "title": "Car Kit 3.1 — sedan",
        "author": "Kenney",
        "license": "CC0 1.0",
        "sourceUrl": "https://kenney.nl/assets/car-kit"
      }
    },
    {
      "id": "kenney-car-kit-police",
      "kind": "vehicle",
      "name": "Patrol car (generic, stylised)",
      "parameters": { "lightRigs": ["car-headlights", "car-hazards", "emergency-beacons"] },
      "file": "kenney-car-kit/police.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "widthM": 1.8, "lengthM": 4.6, "heightM": 1.45 },
      "credit": {
        "title": "Car Kit 3.1 — police",
        "author": "Kenney",
        "license": "CC0 1.0",
        "sourceUrl": "https://kenney.nl/assets/car-kit"
      }
    },
    {
      "id": "kenney-suburban-house",
      "kind": "building",
      "name": "Detached house, one storey (generic, stylised)",
      "file": "kenney-city-kit-suburban/house.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "widthM": 12.5, "lengthM": 10, "heightM": 8 },
      "credit": {
        "title": "City Kit (Suburban) 2.0 — building type A",
        "author": "Kenney",
        "license": "CC0 1.0",
        "sourceUrl": "https://kenney.nl/assets/city-kit-suburban"
      }
    },
    {
      "id": "jungle-jim-tree-large-a",
      "kind": "tree",
      "name": "Large broadleaf tree A (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jungle-jim-realistic-trees/large-a.glb",
      "sizeM": { "widthM": 9.8, "lengthM": 9.9, "heightM": 10.3 },
      "credit": {
        "title": "Realistic Trees Collection — Large broadleaf tree A",
        "author": "Jungle Jim",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/realistic-trees-collection-fe67c886eebf4bcb988d7c45e69995ad"
      }
    },
    {
      "id": "jungle-jim-tree-large-b",
      "kind": "tree",
      "name": "Large broadleaf tree B (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jungle-jim-realistic-trees/large-b.glb",
      "sizeM": { "widthM": 7, "lengthM": 6.6, "heightM": 8.1 },
      "credit": {
        "title": "Realistic Trees Collection — Large broadleaf tree B",
        "author": "Jungle Jim",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/realistic-trees-collection-fe67c886eebf4bcb988d7c45e69995ad"
      }
    },
    {
      "id": "jungle-jim-tree-large-c",
      "kind": "tree",
      "name": "Large broadleaf tree C (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jungle-jim-realistic-trees/large-c.glb",
      "sizeM": { "widthM": 10.8, "lengthM": 10.8, "heightM": 10.7 },
      "credit": {
        "title": "Realistic Trees Collection — Large broadleaf tree C",
        "author": "Jungle Jim",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/realistic-trees-collection-fe67c886eebf4bcb988d7c45e69995ad"
      }
    },
    {
      "id": "jungle-jim-tree-medium-a",
      "kind": "tree",
      "name": "Medium broadleaf tree A (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jungle-jim-realistic-trees/medium-a.glb",
      "sizeM": { "widthM": 5.7, "lengthM": 5.8, "heightM": 6.7 },
      "credit": {
        "title": "Realistic Trees Collection — Medium broadleaf tree A",
        "author": "Jungle Jim",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/realistic-trees-collection-fe67c886eebf4bcb988d7c45e69995ad"
      }
    },
    {
      "id": "jungle-jim-tree-medium-b",
      "kind": "tree",
      "name": "Medium broadleaf tree B (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jungle-jim-realistic-trees/medium-b.glb",
      "sizeM": { "widthM": 4.2, "lengthM": 4.3, "heightM": 4.7 },
      "credit": {
        "title": "Realistic Trees Collection — Medium broadleaf tree B",
        "author": "Jungle Jim",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/realistic-trees-collection-fe67c886eebf4bcb988d7c45e69995ad"
      }
    },
    {
      "id": "jungle-jim-tree-medium-c",
      "kind": "tree",
      "name": "Medium broadleaf tree C (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jungle-jim-realistic-trees/medium-c.glb",
      "sizeM": { "widthM": 4.4, "lengthM": 3.8, "heightM": 4.9 },
      "credit": {
        "title": "Realistic Trees Collection — Medium broadleaf tree C",
        "author": "Jungle Jim",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/realistic-trees-collection-fe67c886eebf4bcb988d7c45e69995ad"
      }
    },
    {
      "id": "jungle-jim-tree-bush",
      "kind": "shrub",
      "name": "Bush (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jungle-jim-realistic-trees/bush.glb",
      "sizeM": { "widthM": 3.3, "lengthM": 3.2, "heightM": 2.1 },
      "credit": {
        "title": "Realistic Trees Collection — Bush",
        "author": "Jungle Jim",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/realistic-trees-collection-fe67c886eebf4bcb988d7c45e69995ad"
      }
    },
    {
      "id": "jagobo-tree-maple-a",
      "kind": "tree",
      "name": "Maple A (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jagobo-mountain-trees/maple-a.glb",
      "sizeM": { "widthM": 8.3, "lengthM": 9.3, "heightM": 13 },
      "credit": {
        "title": "Mountain Trees — Maple A",
        "author": "Jagobo",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/mountain-trees-b914384f931d4b3585bd4f0bf48f0da3"
      }
    },
    {
      "id": "jagobo-tree-maple-b",
      "kind": "tree",
      "name": "Maple B (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jagobo-mountain-trees/maple-b.glb",
      "sizeM": { "widthM": 10.8, "lengthM": 11.3, "heightM": 17 },
      "credit": {
        "title": "Mountain Trees — Maple B",
        "author": "Jagobo",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/mountain-trees-b914384f931d4b3585bd4f0bf48f0da3"
      }
    },
    {
      "id": "jagobo-tree-aspen-a",
      "kind": "tree",
      "name": "Aspen A (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jagobo-mountain-trees/aspen-a.glb",
      "sizeM": { "widthM": 6.5, "lengthM": 7.3, "heightM": 9 },
      "credit": {
        "title": "Mountain Trees — Aspen A",
        "author": "Jagobo",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/mountain-trees-b914384f931d4b3585bd4f0bf48f0da3"
      }
    },
    {
      "id": "jagobo-tree-aspen-b",
      "kind": "tree",
      "name": "Aspen B (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jagobo-mountain-trees/aspen-b.glb",
      "sizeM": { "widthM": 8.4, "lengthM": 8.4, "heightM": 12.9 },
      "credit": {
        "title": "Mountain Trees — Aspen B",
        "author": "Jagobo",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/mountain-trees-b914384f931d4b3585bd4f0bf48f0da3"
      }
    },
    {
      "id": "jagobo-tree-pine-a",
      "kind": "tree",
      "name": "Pine A (conifer)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jagobo-mountain-trees/pine-a.glb",
      "sizeM": { "widthM": 11.3, "lengthM": 11.3, "heightM": 22 },
      "credit": {
        "title": "Mountain Trees — Pine A",
        "author": "Jagobo",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/mountain-trees-b914384f931d4b3585bd4f0bf48f0da3"
      }
    },
    {
      "id": "jagobo-tree-pine-b",
      "kind": "tree",
      "name": "Pine B (conifer)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jagobo-mountain-trees/pine-b.glb",
      "sizeM": { "widthM": 12.2, "lengthM": 12.4, "heightM": 20.8 },
      "credit": {
        "title": "Mountain Trees — Pine B",
        "author": "Jagobo",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/mountain-trees-b914384f931d4b3585bd4f0bf48f0da3"
      }
    },
    {
      "id": "jagobo-tree-juniper",
      "kind": "tree",
      "name": "Juniper (conifer)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "jagobo-mountain-trees/juniper.glb",
      "sizeM": { "widthM": 5.9, "lengthM": 4.6, "heightM": 7.5 },
      "credit": {
        "title": "Mountain Trees — Juniper",
        "author": "Jagobo",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/mountain-trees-b914384f931d4b3585bd4f0bf48f0da3"
      }
    },
    {
      "id": "nicholas-3d-tree-a",
      "kind": "tree",
      "name": "Tree A (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "nicholas-3d-low-poly-trees/a.glb",
      "sizeM": { "widthM": 3.1, "lengthM": 3.3, "heightM": 6.5 },
      "credit": {
        "title": "Low Poly Trees Free — Tree A",
        "author": "Nicholas-3D",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/low-poly-trees-free-6a2952e0ebdd41fa93cefda6ae0a4102"
      }
    },
    {
      "id": "nicholas-3d-tree-b",
      "kind": "tree",
      "name": "Tree B (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "nicholas-3d-low-poly-trees/b.glb",
      "sizeM": { "widthM": 3.4, "lengthM": 3.2, "heightM": 7.1 },
      "credit": {
        "title": "Low Poly Trees Free — Tree B",
        "author": "Nicholas-3D",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/low-poly-trees-free-6a2952e0ebdd41fa93cefda6ae0a4102"
      }
    },
    {
      "id": "nicholas-3d-tree-c",
      "kind": "tree",
      "name": "Tree C (realistic)",
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "foliageColor",
            "fallback": "#4a7a3a",
            "label": { "en": "Foliage colour", "fr": "Couleur du feuillage", "es": "Color del follaje", "it": "Colore del fogliame" },
            "hint": {
              "en": "The colour of the leaves, over the model's own: an autumn tree, a drought-yellowed one. The bark keeps its own.",
              "fr": "La couleur des feuilles, sur celle du modèle : un arbre d'automne, un arbre jauni par la sécheresse. L'écorce garde la sienne.",
              "es": "El color de las hojas, sobre el del modelo: un árbol de otoño, uno amarillento por la sequía. La corteza conserva el suyo.",
              "it": "Il colore delle foglie, sopra quello del modello: un albero d'autunno, uno ingiallito dalla siccità. La corteccia mantiene il suo."
            }
          }
        ],
        "bindings": { "foliageColor": { "materials": ["^leaves$"] } }
      },
      "file": "nicholas-3d-low-poly-trees/c.glb",
      "sizeM": { "widthM": 3.3, "lengthM": 3.4, "heightM": 7 },
      "credit": {
        "title": "Low Poly Trees Free — Tree C",
        "author": "Nicholas-3D",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/low-poly-trees-free-6a2952e0ebdd41fa93cefda6ae0a4102"
      }
    },
    {
      "id": "kenney-street-light-curved",
      "kind": "streetlight",
      "name": "Street lamp, curved arm (generic, stylised)",
      "file": "kenney-city-kit-roads/street-light-curved.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "widthM": 0.35, "lengthM": 1.55, "heightM": 4.5 },
      "credit": {
        "title": "City Kit (Roads) 2.0 — curved light",
        "author": "Kenney",
        "license": "CC0 1.0",
        "sourceUrl": "https://kenney.nl/assets/city-kit-roads"
      }
    },
    {
      "id": "amvlab-a320",
      "kind": "aircraft",
      "name": "Airbus A320 (plain, no livery)",
      "parameters": { "lightRigs": ["airliner"] },
      "file": "amvlab-aircraft/A320_nologo.glb",
      "headingOffsetDeg": -90,
      "sizeM": { "widthM": 34.1, "lengthM": 37.6, "heightM": 11.8 },
      "credit": {
        "title": "Airbus A320, logo-free variant",
        "author": "amvlab",
        "license": "CC BY 4.0",
        "sourceUrl": "https://github.com/amvlab/aircraft-models"
      }
    },
    {
      "id": "davidmarton-a320-cockpit",
      "kind": "aircraft",
      "name": "Airbus A320 flight deck (interior only)",
      "file": "davidmarton-a320-cockpit/cockpit.glb",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 3.257, "lengthM": 2.591, "heightM": 2.127 },
      "credit": {
        "title": "A320 Cockpit 2 (the flight deck only, scaled to the real size)",
        "author": "davidmarton1987",
        "license": "CC BY 4.0",
        "sourceUrl": "https://sketchfab.com/3d-models/a320-cockpit-2-5fb0c671a91042c1a9d8f2cf3e2df021"
      }
    },
    {
      "id": "ufoathome-duboc-seated",
      "kind": "entity",
      "name": "Captain Jean-Charles Duboc, seated at the left seat of a flight deck (realistic, MakeHuman)",
      "file": "makehuman-people/duboc-slumped-headset-gaze.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "widthM": 0.809, "lengthM": 1.239, "heightM": 1.292 },
      "credit": {
        "title": "Captain Duboc, slumped in his seat: stout, balding, bearded, glasses, white shirt with four stripes, after his portrait on rr0.org; the headset is the one of \"A320 Cockpit 2\" by davidmarton1987 (CC BY 4.0)",
        "author": "MakeHuman community (MPFB), assembled by UFO@home; headset by davidmarton1987",
        "license": "CC0 1.0 (the figure), CC BY 4.0 (the headset)",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_pilot.py"
      }
    },
    {
      "id": "poly-google-airliner",
      "kind": "aircraft",
      "name": "Airliner (generic, stylised)",
      "parameters": {
        "lightRigs": ["airliner"],
        "parameters": [
          {
            "type": "boolean",
            "key": "gearUp",
            "label": { "en": "Landing gear retracted", "fr": "Train d'atterrissage rentré", "es": "Tren de aterrizaje recogido", "it": "Carrello retratto" },
            "hint": {
              "en": "An aircraft in flight has its wheels up; the model is drawn with them down, as it was made.",
              "fr": "Un avion en vol a ses roues rentrées ; le modèle est dessiné avec elles sorties, comme il a été fait.",
              "es": "Una aeronave en vuelo tiene las ruedas recogidas; el modelo está dibujado con ellas fuera, como fue hecho.",
              "it": "Un aereo in volo ha le ruote retratte; il modello è disegnato con esse fuori, come è stato fatto."
            }
          }
        ],
        "bindings": { "gearUp": { "nodes": ["^Wheel\\d+$"] } }
      },
      "file": "poly-google/airplane.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "widthM": 35.8, "lengthM": 37.6, "heightM": 11.8 },
      "credit": {
        "title": "Airplane",
        "author": "Poly by Google",
        "license": "CC BY 3.0",
        "sourceUrl": "https://poly.pizza/m/8ciDd9k8wha"
      }
    },
    {
      "id": "ufoathome-socorro-craft",
      "kind": "aircraft",
      "name": "Socorro craft, after Lonnie Zamora's account (stand-in)",
      "parameters": {
        "sound": "silent",
        "lights": false,
        "parameters": [
          {
            "type": "colour",
            "key": "hullColor",
            "fallback": "#b8bcc2",
            "label": {
              "en": "Hull colour",
              "fr": "Couleur de la coque",
              "es": "Color del casco",
              "it": "Colore dello scafo"
            },
            "hint": {
              "en": "The colour of the craft's hull, over the model's own: the legs, the dome and the markings keep theirs.",
              "fr": "La couleur de la coque de l'engin, sur celle du modèle : les pieds, la coupole et les marques gardent les leurs.",
              "es": "El color del casco del aparato, sobre el del modelo: las patas, la cúpula y las marcas conservan las suyas.",
              "it": "Il colore dello scafo del velivolo, sopra quello del modello: le gambe, la cupola e i contrassegni mantengono i loro."
            }
          },
          {
            "type": "boolean",
            "key": "legsUp",
            "label": {
              "en": "Landing legs retracted",
              "fr": "Pieds rentrés",
              "es": "Patas recogidas",
              "it": "Gambe retratte"
            },
            "hint": {
              "en": "A craft standing on its legs, or one that has drawn them up.",
              "fr": "Un engin posé sur ses pieds, ou qui les a rentrés.",
              "es": "Un aparato posado sobre sus patas, o que las ha recogido.",
              "it": "Un velivolo posato sulle sue gambe, o che le ha ritirate."
            }
          }
        ],
        "bindings": {
          "hullColor": {
            "materials": [
              "^hull$"
            ]
          },
          "legsUp": {
            "nodes": [
              "^(leg|pad)-\\d+$"
            ]
          }
        }
      },
      "file": "ufoathome-socorro-craft/craft.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 4.07, "lengthM": 4.65, "heightM": 2.8 },
      "credit": {
        "title": "Socorro craft, a stand-in after Lonnie Zamora's account",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-socorro-craft.ts"
      }
    },
    {
      "id": "ufoathome-socorro-craft-stanford",
      "kind": "aircraft",
      "name": "Socorro craft with the inverted-V insignia Ray Stanford holds was the real one (stand-in)",
      "parameters": {
        "sound": "silent",
        "lights": false,
        "parameters": [
          {
            "type": "colour",
            "key": "hullColor",
            "fallback": "#b8bcc2",
            "label": {
              "en": "Hull colour",
              "fr": "Couleur de la coque",
              "es": "Color del casco",
              "it": "Colore dello scafo"
            },
            "hint": {
              "en": "The colour of the craft's hull, over the model's own: the legs, the dome and the markings keep theirs.",
              "fr": "La couleur de la coque de l'engin, sur celle du modèle : les pieds, la coupole et les marques gardent les leurs.",
              "es": "El color del casco del aparato, sobre el del modelo: las patas, la cúpula y las marcas conservan las suyas.",
              "it": "Il colore dello scafo del velivolo, sopra quello del modello: le gambe, la cupola e i contrassegni mantengono i loro."
            }
          },
          {
            "type": "boolean",
            "key": "legsUp",
            "label": {
              "en": "Landing legs retracted",
              "fr": "Pieds rentrés",
              "es": "Patas recogidas",
              "it": "Gambe retratte"
            },
            "hint": {
              "en": "A craft standing on its legs, or one that has drawn them up.",
              "fr": "Un engin posé sur ses pieds, ou qui les a rentrés.",
              "es": "Un aparato posado sobre sus patas, o que las ha recogido.",
              "it": "Un velivolo posato sulle sue gambe, o che le ha ritirate."
            }
          }
        ],
        "bindings": {
          "hullColor": {
            "materials": [
              "^hull$"
            ]
          },
          "legsUp": {
            "nodes": [
              "^(leg|pad)-\\d+$"
            ]
          }
        }
      },
      "file": "ufoathome-socorro-craft/craft-stanford.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 4.07, "lengthM": 4.65, "heightM": 2.8 },
      "credit": {
        "title": "Socorro craft, a stand-in after Lonnie Zamora's account, with the inverted-V insignia",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-socorro-craft.ts"
      }
    },
    {
      "id": "ufoathome-valensole-craft",
      "kind": "aircraft",
      "name": "Valensole craft, after Maurice Masse's account (stand-in)",
      "parameters": {
        "sound": "silent",
        "lights": false,
        "parameters": [
          {
            "type": "colour",
            "key": "hullColor",
            "fallback": "#b8bcc2",
            "label": {
              "en": "Hull colour",
              "fr": "Couleur de la coque",
              "es": "Color del casco",
              "it": "Colore dello scafo"
            },
            "hint": {
              "en": "The colour of the craft's hull, over the model's own: the legs, the dome and the markings keep theirs.",
              "fr": "La couleur de la coque de l'engin, sur celle du modèle : les pieds, la coupole et les marques gardent les leurs.",
              "es": "El color del casco del aparato, sobre el del modelo: las patas, la cúpula y las marcas conservan las suyas.",
              "it": "Il colore dello scafo del velivolo, sopra quello del modello: le gambe, la cupola e i contrassegni mantengono i loro."
            }
          },
          {
            "type": "boolean",
            "key": "legsUp",
            "label": {
              "en": "Landing legs retracted",
              "fr": "Pieds rentrés",
              "es": "Patas recogidas",
              "it": "Gambe retratte"
            },
            "hint": {
              "en": "A craft standing on its legs, or one that has drawn them up.",
              "fr": "Un engin posé sur ses pieds, ou qui les a rentrés.",
              "es": "Un aparato posado sobre sus patas, o que las ha recogido.",
              "it": "Un velivolo posato sulle sue gambe, o che le ha ritirate."
            }
          }
        ],
        "bindings": {
          "hullColor": {
            "materials": [
              "^hull$"
            ]
          },
          "legsUp": {
            "nodes": [
              "^legs$"
            ]
          }
        }
      },
      "file": "ufoathome-valensole-craft/craft.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 3.49, "lengthM": 3.49, "heightM": 2.42 },
      "credit": {
        "title": "Valensole craft, a stand-in after Maurice Masse's account",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-valensole-craft.ts"
      }
    },
    {
      "id": "ufoathome-silly-le-long-craft",
      "kind": "aircraft",
      "name": "Silly-le-Long phenomenon, after T1's account: a flat concrete-grey triangle with its lights (stand-in)",
      "parameters": {
        "sound": "silent",
        "lights": false,
        "parameters": [
          {
            "type": "colour",
            "key": "hullColor",
            "fallback": "#b8bcc2",
            "label": {
              "en": "Hull colour",
              "fr": "Couleur de la coque",
              "es": "Color del casco",
              "it": "Colore dello scafo"
            },
            "hint": {
              "en": "The colour of the craft's hull, over the model's own: the legs, the dome and the markings keep theirs.",
              "fr": "La couleur de la coque de l'engin, sur celle du modèle : les pieds, la coupole et les marques gardent les leurs.",
              "es": "El color del casco del aparato, sobre el del modelo: las patas, la cúpula y las marcas conservan las suyas.",
              "it": "Il colore dello scafo del velivolo, sopra quello del modello: le gambe, la cupola e i contrassegni mantengono i loro."
            }
          }
        ],
        "bindings": {
          "hullColor": {
            "materials": [
              "^hull$"
            ]
          }
        }
      },
      "file": "ufoathome-silly-le-long-craft/craft.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 34, "lengthM": 20.12, "heightM": 2.4 },
      "credit": {
        "title": "Silly-le-Long phenomenon, a stand-in after T1's account (GEIPAN 2015-05-09194)",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-silly-le-long-craft.ts"
      }
    },
    {
      "id": "ufoathome-braine-le-comte-craft",
      "kind": "aircraft",
      "name": "Braine-le-Comte phenomenon, after its three observers: a flat rounded boomerang (stand-in)",
      "parameters": { "sound": "silent", "lights": false },
      "file": "ufoathome-braine-le-comte-craft/craft.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 10.5, "lengthM": 5.36, "heightM": 1.3 },
      "credit": {
        "title": "Braine-le-Comte phenomenon, a stand-in after its three observers (COBEPS 20150712BraineleComte)",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-braine-le-comte-craft.ts"
      }
    },
    {
      "id": "ufoathome-chiles-craft",
      "kind": "aircraft",
      "name": "Chiles-Whitted object as Clarence Chiles drew it: a tapered cigar with no porthole (stand-in)",
      "parameters": { "sound": "silent", "lights": false },
      "file": "ufoathome-chiles-whitted-craft/chiles.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 3.17, "lengthM": 30, "heightM": 3.17 },
      "credit": {
        "title": "Chiles-Whitted object, a stand-in after Clarence Chiles's own drawing",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-chiles-whitted-craft.ts"
      }
    },
    {
      "id": "ufoathome-whitted-craft",
      "kind": "aircraft",
      "name": "Chiles-Whitted object as John Whitted drew it: a blunt cylinder with two rows of windows (stand-in)",
      "parameters": { "sound": "silent", "lights": false },
      "file": "ufoathome-chiles-whitted-craft/whitted.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 5.4, "lengthM": 30, "heightM": 5.43 },
      "credit": {
        "title": "Chiles-Whitted object, a stand-in after John Whitted's own drawing",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-chiles-whitted-craft.ts"
      }
    },
    {
      "id": "amvlab-b737",
      "kind": "aircraft",
      "name": "Boeing 737 (plain, no livery)",
      "parameters": { "lightRigs": ["airliner"] },
      "file": "amvlab-aircraft/B737_nologo.glb",
      "headingOffsetDeg": -90,
      "sizeM": { "widthM": 35.8, "lengthM": 39.5, "heightM": 12.5 },
      "credit": {
        "title": "Boeing 737, logo-free variant",
        "author": "amvlab",
        "license": "CC BY 4.0",
        "sourceUrl": "https://github.com/amvlab/aircraft-models"
      }
    },
    {
      "id": "amvlab-a350",
      "kind": "aircraft",
      "name": "Airbus A350 (plain, no livery)",
      "parameters": { "sound": "airliner-wide", "lightRigs": ["airliner"] },
      "file": "amvlab-aircraft/A350_nologo.glb",
      "headingOffsetDeg": -90,
      "sizeM": { "widthM": 64.75, "lengthM": 66.8, "heightM": 17.05 },
      "credit": {
        "title": "Airbus A350, logo-free variant",
        "author": "amvlab",
        "license": "CC BY 4.0",
        "sourceUrl": "https://github.com/amvlab/aircraft-models"
      }
    },
    {
      "id": "amvlab-a380",
      "kind": "aircraft",
      "name": "Airbus A380 (plain, no livery)",
      "parameters": { "sound": "airliner-wide", "lightRigs": ["airliner"] },
      "file": "amvlab-aircraft/A380_nologo.glb",
      "headingOffsetDeg": -90,
      "sizeM": { "widthM": 79.75, "lengthM": 72.7, "heightM": 24.1 },
      "credit": {
        "title": "Airbus A380, logo-free variant",
        "author": "amvlab",
        "license": "CC BY 4.0",
        "sourceUrl": "https://github.com/amvlab/aircraft-models"
      }
    },
    {
      "id": "amvlab-b787",
      "kind": "aircraft",
      "name": "Boeing 787 (plain, no livery)",
      "parameters": { "sound": "airliner-wide", "lightRigs": ["airliner"] },
      "file": "amvlab-aircraft/B787_nologo.glb",
      "headingOffsetDeg": -90,
      "sizeM": { "widthM": 60.1, "lengthM": 62.8, "heightM": 17.0 },
      "credit": {
        "title": "Boeing 787, logo-free variant",
        "author": "amvlab",
        "license": "CC BY 4.0",
        "sourceUrl": "https://github.com/amvlab/aircraft-models"
      }
    },
    {
      "id": "makehuman-farmer-40s",
      "kind": ["observer", "entity"],
      "name": "Man in his forties, denim shirt and jeans (realistic, MakeHuman)",
      "file": "makehuman-people/farmer-40s.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.74 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Man in his forties, denim shirt and jeans",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "makehuman-man-overalls",
      "kind": ["observer", "entity"],
      "name": "Man in overalls (realistic, MakeHuman)",
      "file": "makehuman-people/man-overalls.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.78 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Man in overalls",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "makehuman-man-jacket",
      "kind": ["observer", "entity"],
      "name": "Man in a green jacket and jeans (realistic, MakeHuman)",
      "file": "makehuman-people/man-jacket.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.8 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Man in a green jacket and jeans",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "ufoathome-chief-steward",
      "kind": ["observer", "entity"],
      "name": "Chief steward in a uniform, his head turning (realistic, MakeHuman)",
      "file": "makehuman-people/chief-steward.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.8 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Chief steward, the man in a jacket with a head that turns (see scripts/people/split_head.py); the colour of the clothes is the recording's",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "makehuman-old-man",
      "kind": ["observer", "entity"],
      "name": "Old man, striped shirt (realistic, MakeHuman)",
      "file": "makehuman-people/old-man.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.7 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Old man, striped shirt",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "makehuman-woman",
      "kind": ["observer", "entity"],
      "name": "Woman, plain top and jeans (realistic, MakeHuman)",
      "file": "makehuman-people/woman.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.65 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Woman, plain top and jeans",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "ufoathome-cussac-francois",
      "kind": ["observer"],
      "name": "François, 13 and a half, dark top and trousers (realistic, MakeHuman)",
      "file": "makehuman-people/cussac-francois-13.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.55 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "François, 13 and a half, dark top and trousers (realistic, MakeHuman)",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "ufoathome-cussac-anne-marie",
      "kind": ["observer"],
      "name": "Anne-Marie, 9, dark jacket (realistic, MakeHuman)",
      "file": "makehuman-people/cussac-anne-marie-9.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.3 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Anne-Marie, 9, dark jacket (realistic, MakeHuman)",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "ufoathome-trans-en-provence-craft",
      "kind": "aircraft",
      "name": "Trans-en-Provence craft, after Renato Nicolaï's account: two inverted bowls, a ledge, two feet (stand-in)",
      "parameters": {
        "sound": "silent",
        "lights": false,
        "parameters": [
          {
            "type": "colour",
            "key": "hullColor",
            "fallback": "#b8bcc2",
            "label": {
              "en": "Hull colour",
              "fr": "Couleur de la coque",
              "es": "Color del casco",
              "it": "Colore dello scafo"
            },
            "hint": {
              "en": "The colour of the craft's hull, over the model's own: the legs, the dome and the markings keep theirs.",
              "fr": "La couleur de la coque de l'engin, sur celle du modèle : les pieds, la coupole et les marques gardent les leurs.",
              "es": "El color del casco del aparato, sobre el del modelo: las patas, la cúpula y las marcas conservan las suyas.",
              "it": "Il colore dello scafo del velivolo, sopra quello del modello: le gambe, la cupola e i contrassegni mantengono i loro."
            }
          }
        ],
        "bindings": {
          "hullColor": {
            "materials": [
              "^hull$"
            ]
          }
        }
      },
      "file": "ufoathome-trans-en-provence-craft/craft.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 2.5, "lengthM": 2.5, "heightM": 1.8 },
      "credit": {
        "title": "Trans-en-Provence craft, a stand-in after the GEPAN's Technical Note 16",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-trans-en-provence-craft.ts"
      }
    },
    {
      "id": "ufoathome-valensole-being-pv-1965-07-02",
      "kind": "entity",
      "name": "Valensole man, after Maurice Masse's statement of 2 July 1965 (stand-in)",
      "file": "makehuman-people/valensole-being-pv-1965-07-02.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.0 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Valensole man, a stand-in after the procès-verbal of 2 July 1965",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "ufoathome-valensole-being-pv-1965-08-18",
      "kind": "entity",
      "name": "Valensole being, after Maurice Masse's statement of 18 August 1965 (stand-in)",
      "file": "makehuman-people/valensole-being-pv-1965-08-18.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 0.95 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Valensole being, a stand-in after the procès-verbal of 18 August 1965",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/build_people.py"
      }
    },
    {
      "id": "ufoathome-cussac-being",
      "kind": "entity",
      "name": "Cussac being, all black (stand-in)",
      "file": "makehuman-people/cussac-being.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.1 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Cussac being, a stand-in after the children's accounts of 29 August 1967",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/derive_cussac_being.py"
      }
    },
    {
      "id": "ufoathome-socorro-figure",
      "kind": "entity",
      "name": "Socorro figure in white coveralls, after Lonnie Zamora's account (stand-in)",
      "file": "makehuman-people/socorro-figure.glb",
      "headingOffsetDeg": 180,
      "sizeM": { "heightM": 1.3 },
      "parameters": {
        "parameters": [
          {
            "type": "colour",
            "key": "costumeColor",
            "fallback": "#c8c8c8",
            "label": { "en": "Costume colour", "fr": "Couleur du costume", "es": "Color del traje", "it": "Colore del costume" },
            "hint": {
              "en": "The colour of the clothes, over the model's own: the figure keeps its skin, hair and shoes.",
              "fr": "La couleur des vêtements, sur celle du modèle : la silhouette garde sa peau, ses cheveux et ses chaussures.",
              "es": "El color de la ropa, sobre el del modelo: la figura conserva su piel, su pelo y sus zapatos.",
              "it": "Il colore dei vestiti, sopra quello del modello: la figura mantiene pelle, capelli e scarpe."
            }
          }
        ],
        "bindings": { "costumeColor": { "materials": ["^Human\\.(fe)?male_[a-z]*(suit|coverall)"] } }
      },
      "credit": {
        "title": "Socorro figure, a stand-in after Lonnie Zamora's account: the Valensole man of 2 July 1965 in white cloth",
        "author": "MakeHuman community (MPFB), assembled by UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/people/derive_socorro_figure.py"
      }
    },
    {
      "id": "ufoathome-mcminnville-object",
      "kind": "aircraft",
      "name": "McMinnville object as the 1950 prints show it: flat dark base, shouldered dome, small stub on top (stand-in)",
      "parameters": {
        "sound": "silent",
        "lights": false,
        "parameters": [
          {
            "type": "colour",
            "key": "hullColor",
            "fallback": "#b8bcc2",
            "label": {
              "en": "Hull colour",
              "fr": "Couleur de la coque",
              "es": "Color del casco",
              "it": "Colore dello scafo"
            },
            "hint": {
              "en": "The colour of the craft's hull, over the model's own: the legs, the dome and the markings keep theirs.",
              "fr": "La couleur de la coque de l'engin, sur celle du modèle : les pieds, la coupole et les marques gardent les leurs.",
              "es": "El color del casco del aparato, sobre el del modelo: las patas, la cúpula y las marcas conservan las suyas.",
              "it": "Il colore dello scafo del velivolo, sopra quello del modello: le gambe, la cupola e i contrassegni mantengono i loro."
            }
          }
        ],
        "bindings": {
          "hullColor": {
            "materials": [
              "^hull$"
            ]
          }
        }
      },
      "file": "ufoathome-mcminnville-object/object.gltf",
      "headingOffsetDeg": 0,
      "sizeM": { "widthM": 0.12, "lengthM": 0.12, "heightM": 0.041 },
      "credit": {
        "title": "McMinnville object, a stand-in after Paul Trent's photographs and the IPACO study",
        "author": "UFO@home",
        "license": "CC0 1.0",
        "sourceUrl": "https://github.com/RR0/UfoAtHome/blob/main/scripts/build-mcminnville-object.ts"
      }
    }
  ]
}
