{
  "asset": {
    "version": "2.0"
  },
  "extensionsUsed": [
    "EXT_feature_metadata",
    "EXT_mesh_gpu_instancing"
  ],
  "extensionsRequired": [
    "EXT_mesh_gpu_instancing"
  ],
  "extensions": {
    "EXT_feature_metadata": {
      "schema": {
        "classes": {
          "box": {
            "properties": {
              "name": {
                "type": "STRING"
              },
              "volume": {
                "type": "FLOAT32"
              }
            }
          },
          "section": {
            "properties": {
              "name": {
                "type": "STRING"
              },
              "id": {
                "type": "UINT16"
              }
            }
          }
        }
      },
      "featureTables": {
        "boxTable": {
          "class": "box",
          "count": 4,
          "properties": {
            "name": {
              "offsetType": "UINT16",
              "bufferView": 4,
              "stringOffsetBufferView": 5
            },
            "volume": {
              "bufferView": 6
            }
          }
        },
        "sectionTable": {
          "class": "section",
          "count": 2,
          "properties": {
            "name": {
              "offsetType": "UINT16",
              "bufferView": 7,
              "stringOffsetBufferView": 8
            },
            "id": {
              "bufferView": 9
            }
          }
        }
      }
    }
  },
  "scene": 0,
  "scenes": [
    {
      "nodes": [
        0
      ]
    }
  ],
  "nodes": [
    {
      "mesh": 0,
      "extensions": {
        "EXT_mesh_gpu_instancing": {
          "attributes": {
            "TRANSLATION": 3,
            "ROTATION": 4,
            "SCALE": 5,
            "_FEATURE_ID_0": 6
          },
          "extensions": {
            "EXT_feature_metadata": {
              "featureIdAttributes": [
                {
                  "featureTable": "boxTable",
                  "featureIds": {
                    "constant": 0,
                    "divisor": 1
                  }
                },
                {
                  "featureTable": "sectionTable",
                  "featureIds": {
                    "attribute": "_FEATURE_ID_0"
                  }
                }
              ]
            }
          }
        }
      }
    }
  ],
  "meshes": [
    {
      "primitives": [
        {
          "attributes": {
            "POSITION": 0,
            "NORMAL": 1
          },
          "indices": 2,
          "mode": 4
        }
      ]
    }
  ],
  "accessors": [
    {
      "name": "Positions",
      "bufferView": 0,
      "byteOffset": 0,
      "componentType": 5126,
      "count": 24,
      "max": [
        0.5,
        0.5,
        0.5
      ],
      "min": [
        -0.5,
        -0.5,
        -0.5
      ],
      "type": "VEC3"
    },
    {
      "name": "Normals",
      "bufferView": 1,
      "byteOffset": 0,
      "componentType": 5126,
      "count": 24,
      "type": "VEC3"
    },
    {
      "name": "Indices",
      "bufferView": 2,
      "byteOffset": 0,
      "componentType": 5123,
      "count": 36,
      "type": "SCALAR"
    },
    {
      "name": "Instance Translations",
      "bufferView": 3,
      "byteOffset": 0,
      "componentType": 5126,
      "count": 4,
      "type": "VEC3"
    },
    {
      "name": "Instance Rotations",
      "bufferView": 3,
      "byteOffset": 12,
      "componentType": 5126,
      "count": 4,
      "type": "VEC4"
    },
    {
      "name": "Instance Scales",
      "bufferView": 3,
      "byteOffset": 28,
      "componentType": 5126,
      "count": 4,
      "type": "VEC3"
    },
    {
      "name": "Instance Feature IDs",
      "bufferView": 3,
      "byteOffset": 40,
      "componentType": 5126,
      "count": 4,
      "type": "SCALAR"
    }
  ],
  "bufferViews": [
    {
      "name": "Positions",
      "buffer": 0,
      "byteLength": 288,
      "byteOffset": 0
    },
    {
      "name": "Normals",
      "buffer": 0,
      "byteLength": 288,
      "byteOffset": 288
    },
    {
      "name": "Indices",
      "buffer": 0,
      "byteLength": 72,
      "byteOffset": 576
    },
    {
      "name": "Instance Translations, Rotations, Scales, Feature IDs",
      "buffer": 1,
      "byteLength": 176,
      "byteStride": 44,
      "byteOffset": 0
    },
    {
      "name": "Box Names",
      "buffer": 2,
      "byteLength": 40,
      "byteOffset": 0
    },
    {
      "name": "Box Name Offsets",
      "buffer": 2,
      "byteLength": 10,
      "byteOffset": 40
    },
    {
      "name": "Box Volumes",
      "buffer": 2,
      "byteLength": 16,
      "byteOffset": 56
    },
    {
      "name": "Section Name",
      "buffer": 2,
      "byteLength": 9,
      "byteOffset": 72
    },
    {
      "name": "Section Name Offsets",
      "buffer": 2,
      "byteLength": 6,
      "byteOffset": 88
    },
    {
      "name": "Section IDs",
      "buffer": 2,
      "byteLength": 4,
      "byteOffset": 96
    }
  ],
  "buffers": [
    {
      "name": "Geometry Buffer",
      "byteLength": 648,
      "uri": "geometry.bin"
    },
    {
      "name": "Instances Buffer",
      "byteLength": 176,
      "uri": "instances.bin"
    },
    {
      "name": "Metadata Buffer",
      "byteLength": 104,
      "uri": "metadata.bin"
    }
  ]
}
