Use low-quality AGI model
diff --git a/webgl/gltf/assets/AgiHQ.gltf b/webgl/gltf/assets/AgiHQ.gltf
deleted file mode 100644
index 4b364cb..0000000
--- a/webgl/gltf/assets/AgiHQ.gltf
+++ /dev/null
@@ -1,281 +0,0 @@
-{
-  "accessors": [
-    {
-      "name": "Node-Mesh_0_positions",
-      "componentType": 5126,
-      "count": 426519,
-      "min": [
-        -263.67950439453125,
-        -280.67950439453125,
-        -52.20021438598633
-      ],
-      "max": [
-        299.67950439453125,
-        247.67950439453125,
-        -13.959484100341797
-      ],
-      "type": "VEC3",
-      "bufferView": 0,
-      "byteOffset": 0
-    },
-    {
-      "name": "Node-Mesh_0_texcoords",
-      "componentType": 5126,
-      "count": 426519,
-      "min": [
-        0.001038654474541545,
-        0.0010396799771115184
-      ],
-      "max": [
-        0.9990835189819336,
-        0.9990107417106628
-      ],
-      "type": "VEC2",
-      "bufferView": 1,
-      "byteOffset": 0
-    },
-    {
-      "name": "Node-Mesh_0_indices",
-      "componentType": 5125,
-      "count": 2055249,
-      "min": [
-        0
-      ],
-      "max": [
-        426518
-      ],
-      "type": "SCALAR",
-      "bufferView": 2,
-      "byteOffset": 0
-    },
-    {
-      "name": "Node-Mesh_1_positions",
-      "componentType": 5126,
-      "count": 513603,
-      "min": [
-        -263.67950439453125,
-        -280.67950439453125,
-        -52.742218017578125
-      ],
-      "max": [
-        299.67950439453125,
-        247.67950439453125,
-        -12.004308700561523
-      ],
-      "type": "VEC3",
-      "bufferView": 0,
-      "byteOffset": 5118228
-    },
-    {
-      "name": "Node-Mesh_1_texcoords",
-      "componentType": 5126,
-      "count": 513603,
-      "min": [
-        0.0010405026841908693,
-        0.0010377200087532401
-      ],
-      "max": [
-        0.999070942401886,
-        0.9744246006011963
-      ],
-      "type": "VEC2",
-      "bufferView": 1,
-      "byteOffset": 3412152
-    },
-    {
-      "name": "Node-Mesh_1_indices",
-      "componentType": 5125,
-      "count": 2128626,
-      "min": [
-        0
-      ],
-      "max": [
-        513602
-      ],
-      "type": "SCALAR",
-      "bufferView": 2,
-      "byteOffset": 8220996
-    }
-  ],
-  "asset": {
-    "generator": "obj2gltf",
-    "version": "2.0"
-  },
-  "buffers": [
-    {
-      "name": "Model",
-      "byteLength": 35537940,
-      "uri": "Model.bin"
-    }
-  ],
-  "bufferViews": [
-    {
-      "name": "bufferView_0",
-      "buffer": 0,
-      "byteLength": 11281464,
-      "byteOffset": 0,
-      "byteStride": 12,
-      "target": 34962
-    },
-    {
-      "name": "bufferView_1",
-      "buffer": 0,
-      "byteLength": 7520976,
-      "byteOffset": 11281464,
-      "byteStride": 8,
-      "target": 34962
-    },
-    {
-      "name": "bufferView_2",
-      "buffer": 0,
-      "byteLength": 16735500,
-      "byteOffset": 18802440,
-      "target": 34963
-    }
-  ],
-  "materials": [
-    {
-      "name": "Model_0",
-      "pbrMetallicRoughness": {
-        "baseColorTexture": {
-          "index": 0
-        },
-        "baseColorFactor": [
-          1,
-          1,
-          1,
-          1
-        ],
-        "metallicFactor": 0,
-        "roughnessFactor": 1
-      },
-      "emissiveFactor": [
-        0,
-        0,
-        0
-      ],
-      "alphaMode": "OPAQUE",
-      "doubleSided": false
-    },
-    {
-      "name": "Model_1",
-      "pbrMetallicRoughness": {
-        "baseColorTexture": {
-          "index": 1
-        },
-        "baseColorFactor": [
-          1,
-          1,
-          1,
-          1
-        ],
-        "metallicFactor": 0,
-        "roughnessFactor": 1
-      },
-      "emissiveFactor": [
-        0,
-        0,
-        0
-      ],
-      "alphaMode": "OPAQUE",
-      "doubleSided": false
-    }
-  ],
-  "meshes": [
-    {
-      "name": "Node-Mesh",
-      "primitives": [
-        {
-          "attributes": {
-            "POSITION": 0,
-            "TEXCOORD_0": 1
-          },
-          "indices": 2,
-          "material": 0,
-          "mode": 4
-        },
-        {
-          "attributes": {
-            "POSITION": 3,
-            "TEXCOORD_0": 4
-          },
-          "indices": 5,
-          "material": 1,
-          "mode": 4
-        }
-      ]
-    }
-  ],
-  "nodes": [
-    {
-      "rotation": [
-        0.7071067811865476,
-        0,
-        0,
-        -0.7071067811865476
-      ],
-      "name": "Node",
-      "mesh": 0
-    },
-    {
-      "children": [
-        0
-      ],
-      "name": "Root"
-    }
-  ],
-  "samplers": [
-    {
-      "magFilter": 9729,
-      "minFilter": 9729,
-      "wrapS": 10497,
-      "wrapT": 10497
-    }
-  ],
-  "scene": 0,
-  "scenes": [
-    {
-      "nodes": [
-        1
-      ]
-    }
-  ],
-  "images": [
-    {
-      "name": "Model_0",
-      "mimeType": "image/basis",
-      "uri": "Model_0_4096.basis"
-    },
-    {
-      "name": "Model_1",
-      "mimeType": "image/basis",
-      "uri": "Model_1_4096.basis"
-    }
-  ],
-  "textures": [
-    {
-      "name": "Model_0",
-      "sampler": 0,
-      "extensions": {
-        "GOOGLE_texture_basis": {
-          "source": 0
-        }
-      }
-    },
-    {
-      "name": "Model_1",
-      "sampler": 0,
-      "extensions": {
-        "GOOGLE_texture_basis": {
-          "source": 1
-        }
-      }
-    }
-  ],
-  "extensionsUsed": [
-    "GOOGLE_texture_basis"
-  ],
-  "extensionsRequired": [
-    "GOOGLE_texture_basis"
-  ]
-}
diff --git a/webgl/gltf/assets/AgiHqSmall.gltf b/webgl/gltf/assets/AgiHqSmall.gltf
new file mode 100755
index 0000000..5a47ab5
--- /dev/null
+++ b/webgl/gltf/assets/AgiHqSmall.gltf
@@ -0,0 +1,254 @@
+{
+  "accessors": [
+    {
+      "byteOffset": 0,
+      "componentType": 5126,
+      "type": "VEC3",
+      "count": 55381,
+      "min": [
+        -527.3590087890625,
+        -104.39354705810547,
+        -495.3590087890625
+      ],
+      "max": [
+        599.3590087890625,
+        -33.72303009033203,
+        561.3590087890625
+      ],
+      "bufferView": 0,
+      "name": "mesh-0-0_Accessor_POSITION"
+    },
+    {
+      "byteOffset": 0,
+      "componentType": 5126,
+      "type": "VEC2",
+      "count": 55381,
+      "min": [
+        0.0000017028407910402166,
+        0.00000289904824057885
+      ],
+      "max": [
+        0.9993386268615723,
+        0.9999556541442871
+      ],
+      "bufferView": 1,
+      "name": "mesh-0-0_Accessor_TEXCOORD_0"
+    },
+    {
+      "byteOffset": 0,
+      "componentType": 5123,
+      "type": "SCALAR",
+      "count": 151158,
+      "bufferView": 4,
+      "name": "mesh-0-0_Accessor_indices"
+    },
+    {
+      "byteOffset": 0,
+      "componentType": 5126,
+      "type": "VEC3",
+      "count": 30806,
+      "min": [
+        -527.3590087890625,
+        -105.48443603515625,
+        -495.3590087890625
+      ],
+      "max": [
+        599.3590087890625,
+        -26.287290573120117,
+        561.3590087890625
+      ],
+      "bufferView": 2,
+      "name": "mesh-1-0_Accessor_POSITION"
+    },
+    {
+      "byteOffset": 0,
+      "componentType": 5126,
+      "type": "VEC2",
+      "count": 30806,
+      "min": [
+        0.00000964943137660157,
+        0.000003775880941248033
+      ],
+      "max": [
+        0.9999449253082275,
+        0.9999914169311523
+      ],
+      "bufferView": 3,
+      "name": "mesh-1-0_Accessor_TEXCOORD_0"
+    },
+    {
+      "byteOffset": 302316,
+      "componentType": 5123,
+      "type": "SCALAR",
+      "count": 58476,
+      "bufferView": 4,
+      "name": "mesh-1-0_Accessor_indices"
+    }
+  ],
+  "asset": {
+    "generator": "obj2gltf",
+    "version": "2.0"
+  },
+  "buffers": [
+    {
+      "name": "mesh-0-0_Buffer_POSITION",
+      "byteLength": 2143008,
+      "uri": "mesh-0-0_Buffer_POSITION.bin"
+    }
+  ],
+  "bufferViews": [
+    {
+      "buffer": 0,
+      "byteLength": 664572,
+      "byteOffset": 0,
+      "target": 34962,
+      "name": "bufferView_0",
+      "byteStride": 12
+    },
+    {
+      "buffer": 0,
+      "byteLength": 443048,
+      "byteOffset": 664572,
+      "target": 34962,
+      "name": "bufferView_0",
+      "byteStride": 8
+    },
+    {
+      "buffer": 0,
+      "byteLength": 369672,
+      "byteOffset": 1107620,
+      "target": 34962,
+      "name": "bufferView_0",
+      "byteStride": 12
+    },
+    {
+      "buffer": 0,
+      "byteLength": 246448,
+      "byteOffset": 1477292,
+      "target": 34962,
+      "name": "bufferView_0",
+      "byteStride": 8
+    },
+    {
+      "buffer": 0,
+      "byteLength": 419268,
+      "byteOffset": 1723740,
+      "target": 34963,
+      "name": "bufferView_1"
+    }
+  ],
+  "materials": [
+    {
+      "name": "Texture",
+      "pbrMetallicRoughness": {
+        "baseColorTexture": {
+          "index": 0,
+          "texCoord": 0
+        },
+        "metallicFactor": 0,
+        "roughnessFactor": 1,
+        "baseColorFactor": [
+          1,
+          1,
+          1,
+          1
+        ]
+      },
+      "emissiveTexture": {
+        "index": 0,
+        "texCoord": 0
+      },
+      "alphaMode": "OPAQUE",
+      "doubleSided": false,
+      "emissiveFactor": [
+        0,
+        0,
+        0
+      ]
+    }
+  ],
+  "meshes": [
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "POSITION": 0,
+            "TEXCOORD_0": 1
+          },
+          "indices": 2,
+          "material": 0,
+          "mode": 4
+        }
+      ],
+      "name": "mesh-split_1"
+    },
+    {
+      "primitives": [
+        {
+          "attributes": {
+            "POSITION": 3,
+            "TEXCOORD_0": 4
+          },
+          "indices": 5,
+          "material": 0,
+          "mode": 4
+        }
+      ],
+      "name": "mesh-split_2"
+    }
+  ],
+  "nodes": [
+    {
+      "children": [
+        1
+      ],
+      "name": "rootNode_0",
+      "mesh": 0
+    },
+    {
+      "mesh": 1
+    }
+  ],
+  "samplers": [
+    {
+      "magFilter": 9729,
+      "minFilter": 9729,
+      "wrapS": 33071,
+      "wrapT": 33071,
+      "name": "sampler_0"
+    }
+  ],
+  "scene": 0,
+  "scenes": [
+    {
+      "nodes": [
+        0
+      ],
+      "name": "scene"
+    }
+  ],
+  "textures": [
+    {
+      "sampler": 0,
+      "name": "textureAtlas",
+      "extensions": {
+        "GOOGLE_texture_basis": {
+          "source": 0
+        }
+      }
+    }
+  ],
+  "images": [
+    {
+      "name": "textureAtlasImage",
+      "mimeType": "image/basis",
+      "uri": "textureAtlasImage.basis"
+    }
+  ],
+  "extensionsUsed": [
+    "GOOGLE_texture_basis"
+  ],
+  "extensionsRequired": [
+    "GOOGLE_texture_basis"
+  ]
+}
diff --git a/webgl/gltf/assets/Model.bin b/webgl/gltf/assets/Model.bin
deleted file mode 100644
index abae6cf..0000000
--- a/webgl/gltf/assets/Model.bin
+++ /dev/null
Binary files differ
diff --git a/webgl/gltf/assets/Model_0_4096.basis b/webgl/gltf/assets/Model_0_4096.basis
deleted file mode 100644
index f0f00c4..0000000
--- a/webgl/gltf/assets/Model_0_4096.basis
+++ /dev/null
Binary files differ
diff --git a/webgl/gltf/assets/Model_1_4096.basis b/webgl/gltf/assets/Model_1_4096.basis
deleted file mode 100644
index 24e5c32..0000000
--- a/webgl/gltf/assets/Model_1_4096.basis
+++ /dev/null
Binary files differ
diff --git a/webgl/gltf/assets/mesh-0-0_Buffer_POSITION.bin b/webgl/gltf/assets/mesh-0-0_Buffer_POSITION.bin
new file mode 100755
index 0000000..8c4bddc
--- /dev/null
+++ b/webgl/gltf/assets/mesh-0-0_Buffer_POSITION.bin
Binary files differ
diff --git a/webgl/gltf/assets/textureAtlasImage.basis b/webgl/gltf/assets/textureAtlasImage.basis
new file mode 100644
index 0000000..2c09559
--- /dev/null
+++ b/webgl/gltf/assets/textureAtlasImage.basis
Binary files differ
diff --git a/webgl/gltf/index.html b/webgl/gltf/index.html
index 0f7c932..e9756db 100644
--- a/webgl/gltf/index.html
+++ b/webgl/gltf/index.html
@@ -64,7 +64,7 @@
 
       const loader = new THREE.GLTFLoader();
 
-      loader.load( 'assets/AgiHQ.gltf', ( gltf ) => {
+      loader.load( 'assets/AgiHqSmall.gltf', ( gltf ) => {
 
         const model = gltf.scene;
         model.scale.set( 0.01, 0.01, 0.01 );