diff --git a/package-lock.json b/package-lock.json
index 16d2403..73dbfcc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
       "version": "0.0.1",
       "dependencies": {
         "@ant-design/icons": "^5.2.6",
-        "@react-three/drei": "^9.88.0",
+        "@react-three/drei": "^9.101.0",
         "@react-three/fiber": "^8.15.11",
         "@tensorflow/tfjs": "^4.16.0",
         "@tensorflow/tfjs-backend-webgpu": "^4.14.0",
@@ -2394,9 +2394,9 @@
       }
     },
     "node_modules/@mediapipe/tasks-vision": {
-      "version": "0.10.2",
-      "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.2.tgz",
-      "integrity": "sha512-d8Q9uRK89ZRWmED2JLI9/blpJcfdbh0iEUuMo8TgkMzNfQBY1/GC0FEJWrairTwHkxIf6Oud1vFBP+aHicWqJA=="
+      "version": "0.10.8",
+      "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.8.tgz",
+      "integrity": "sha512-Rp7ll8BHrKB3wXaRFKhrltwZl1CiXGdibPxuWXvqGnKTnv8fqa/nvftYNuSbf+pbJWKYCXdBtYTITdAUTGGh0Q=="
     },
     "node_modules/@nodelib/fs.scandir": {
       "version": "2.1.5",
@@ -2669,34 +2669,31 @@
       "integrity": "sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q=="
     },
     "node_modules/@react-three/drei": {
-      "version": "9.88.0",
-      "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.88.0.tgz",
-      "integrity": "sha512-iUTpurhyW+dLalRm/l+x9V1+/gxXriZoWppLiBemDno9nXUfSHPBn5kjMzpApH6VZvlSGhb7VNYrZvN9QUG3uA==",
+      "version": "9.101.0",
+      "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.101.0.tgz",
+      "integrity": "sha512-JuU8CKT0rbf7LP2XbDCqAEOdSSq5U3pk/BlxAlxZszRd7tByKhWZAEKY1QCZ/2pxBiIc0pWWR0rv8Me8BAQ6AQ==",
       "dependencies": {
         "@babel/runtime": "^7.11.2",
-        "@mediapipe/tasks-vision": "0.10.2",
+        "@mediapipe/tasks-vision": "0.10.8",
         "@react-spring/three": "~9.6.1",
         "@use-gesture/react": "^10.2.24",
         "camera-controls": "^2.4.2",
         "cross-env": "^7.0.3",
         "detect-gpu": "^5.0.28",
         "glsl-noise": "^0.0.0",
-        "lodash.clamp": "^4.0.3",
-        "lodash.omit": "^4.5.0",
-        "lodash.pick": "^4.4.0",
-        "maath": "^0.9.0",
+        "maath": "^0.10.7",
         "meshline": "^3.1.6",
         "react-composer": "^5.0.3",
-        "react-merge-refs": "^1.1.0",
-        "stats-gl": "^1.0.4",
+        "stats-gl": "^2.0.0",
         "stats.js": "^0.17.0",
         "suspend-react": "^0.1.3",
-        "three-mesh-bvh": "^0.6.7",
-        "three-stdlib": "^2.26.6",
-        "troika-three-text": "^0.47.2",
+        "three-mesh-bvh": "^0.7.0",
+        "three-stdlib": "^2.29.4",
+        "troika-three-text": "^0.49.0",
+        "tunnel-rat": "^0.1.2",
         "utility-types": "^3.10.0",
         "uuid": "^9.0.1",
-        "zustand": "^3.5.13"
+        "zustand": "^3.7.1"
       },
       "peerDependencies": {
         "@react-three/fiber": ">=8.0",
@@ -3474,9 +3471,9 @@
       }
     },
     "node_modules/@types/draco3d": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.5.tgz",
-      "integrity": "sha512-JdcOl2fwoCZOHGZErjnrku3h6hF/8D21VBCclyP4m9Kggh+vMXsLyAmfEiOXwUXZ1jpv2jdfWV/a5NCgw/g/Kg=="
+      "version": "1.4.9",
+      "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.9.tgz",
+      "integrity": "sha512-4MMUjMQb4yA5fJ4osXx+QxGHt0/ZSy4spT6jL1HM7Tn8OJEC35siqdnpOo+HxPhYjqEFumKfGVF9hJfdyKBIBA=="
     },
     "node_modules/@types/estree": {
       "version": "1.0.5",
@@ -5600,9 +5597,9 @@
       }
     },
     "node_modules/draco3d": {
-      "version": "1.5.6",
-      "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.6.tgz",
-      "integrity": "sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ=="
+      "version": "1.5.7",
+      "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz",
+      "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ=="
     },
     "node_modules/effect": {
       "version": "2.1.2",
@@ -8638,11 +8635,6 @@
         "node": ">=6"
       }
     },
-    "node_modules/ktx-parse": {
-      "version": "0.4.5",
-      "resolved": "https://registry.npmjs.org/ktx-parse/-/ktx-parse-0.4.5.tgz",
-      "integrity": "sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg=="
-    },
     "node_modules/language-subtag-registry": {
       "version": "0.3.22",
       "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz",
@@ -9003,11 +8995,6 @@
       "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==",
       "dev": true
     },
-    "node_modules/lodash.clamp": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/lodash.clamp/-/lodash.clamp-4.0.3.tgz",
-      "integrity": "sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg=="
-    },
     "node_modules/lodash.isfunction": {
       "version": "3.0.9",
       "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz",
@@ -9050,16 +9037,6 @@
       "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==",
       "dev": true
     },
-    "node_modules/lodash.omit": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
-      "integrity": "sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg=="
-    },
-    "node_modules/lodash.pick": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
-      "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q=="
-    },
     "node_modules/lodash.snakecase": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz",
@@ -9321,9 +9298,9 @@
       }
     },
     "node_modules/maath": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmjs.org/maath/-/maath-0.9.0.tgz",
-      "integrity": "sha512-aAR8hoUqPxlsU8VOxkS9y37jhUzdUxM017NpCuxFU1Gk+nMaZASZxymZrV8LRSHzRk/watlbfyNKu6XPUhCFrQ==",
+      "version": "0.10.7",
+      "resolved": "https://registry.npmjs.org/maath/-/maath-0.10.7.tgz",
+      "integrity": "sha512-zQ2xd7dNOIVTjAS+hj22fyj1EFYmOJX6tzKjZ92r6WDoq8hyFxjuGA2q950tmR4iC/EKXoMQdSipkaJVuUHDTg==",
       "peerDependencies": {
         "@types/three": ">=0.144.0",
         "three": ">=0.144.0"
@@ -9570,11 +9547,6 @@
         "node": ">= 6"
       }
     },
-    "node_modules/mmd-parser": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/mmd-parser/-/mmd-parser-1.0.4.tgz",
-      "integrity": "sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg=="
-    },
     "node_modules/ms": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -9826,21 +9798,6 @@
       "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
       "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
     },
-    "node_modules/opentype.js": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/opentype.js/-/opentype.js-1.3.4.tgz",
-      "integrity": "sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==",
-      "dependencies": {
-        "string.prototype.codepointat": "^0.2.1",
-        "tiny-inflate": "^1.0.3"
-      },
-      "bin": {
-        "ot": "bin/ot"
-      },
-      "engines": {
-        "node": ">= 8.0.0"
-      }
-    },
     "node_modules/optionator": {
       "version": "0.9.3",
       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -10965,15 +10922,6 @@
       "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
       "dev": true
     },
-    "node_modules/react-merge-refs": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz",
-      "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/gregberge"
-      }
-    },
     "node_modules/react-reconciler": {
       "version": "0.27.0",
       "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz",
@@ -11748,9 +11696,9 @@
       }
     },
     "node_modules/stats-gl": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/stats-gl/-/stats-gl-1.0.5.tgz",
-      "integrity": "sha512-XimMxvwnf1Qf5KwebhcoA34kcX+fWEkIl0QjNkCbu4IpoyDMMsOajExn7FIq5w569k45+LhmsuRlGSrsvmGdNw=="
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/stats-gl/-/stats-gl-2.2.2.tgz",
+      "integrity": "sha512-1RQSqf5fV/p0SDmfHVcIT8sgCxPv70KfviIdFIUYDGHWEsRtYxavP7JcMRSS50NKRgn4L81zxoOm6ejWwV/KiQ=="
     },
     "node_modules/stats.js": {
       "version": "0.17.0",
@@ -11824,11 +11772,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/string.prototype.codepointat": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
-      "integrity": "sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg=="
-    },
     "node_modules/string.prototype.trim": {
       "version": "1.2.8",
       "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
@@ -12071,37 +12014,33 @@
       "integrity": "sha512-DLU8lc0zNIPkM7rH5/e1Ks1Z8tWCGRq6g8mPowdDJpw1CFBJMU7UoJjC6PefXW7z//SSl0b2+GCw14LB+uDhng=="
     },
     "node_modules/three-mesh-bvh": {
-      "version": "0.6.7",
-      "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.6.7.tgz",
-      "integrity": "sha512-RYdjMsH+vZvjLwA+ehI4+ZqTaTehAz4iho2yfL5PdGsIHyxpB78g0iy4Emj8079m/9KBX02TzddkvPSKSruQjg==",
+      "version": "0.7.3",
+      "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.7.3.tgz",
+      "integrity": "sha512-3W6KjzmupjfE89GuHPT31kxKWZ4YGZPEZJNysJpiOZfQRsBQQgmK7v/VJPpjG6syhAvTnY+5Fr77EvIkTLpGSw==",
       "peerDependencies": {
         "three": ">= 0.151.0"
       }
     },
     "node_modules/three-stdlib": {
-      "version": "2.26.6",
-      "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.26.6.tgz",
-      "integrity": "sha512-93XercNU5UBVXOXrzekL3eltt4fR0yvXN8r4rPSMNPAjwFdHYgc8o7SqylCNLPNetB9eAHGtI3Tx7WUMRM6lMg==",
+      "version": "2.29.5",
+      "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.29.5.tgz",
+      "integrity": "sha512-p9IQsH7gT9wVqAuMsimX2JTtEoCGHlwgm3HsAeXwWqP/PWV9DjYldbggLCr0B1TMzofi/58GG1X5KTQnG6ijpw==",
       "dependencies": {
         "@types/draco3d": "^1.4.0",
         "@types/offscreencanvas": "^2019.6.4",
         "@types/webxr": "^0.5.2",
         "draco3d": "^1.4.1",
         "fflate": "^0.6.9",
-        "ktx-parse": "^0.4.5",
-        "mmd-parser": "^1.0.4",
-        "opentype.js": "^1.3.3",
-        "potpack": "^1.0.1",
-        "zstddec": "^0.0.2"
+        "potpack": "^1.0.1"
       },
       "peerDependencies": {
         "three": ">=0.128.0"
       }
     },
     "node_modules/three-stdlib/node_modules/@types/offscreencanvas": {
-      "version": "2019.7.1",
-      "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.1.tgz",
-      "integrity": "sha512-+HSrJgjBW77ALieQdMJvXhRZUIRN1597L+BKvsyeiIlHHERnqjcuOLyodK3auJ3Y3zRezNKtKAhuQWYJfEgFHQ=="
+      "version": "2019.7.3",
+      "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz",
+      "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A=="
     },
     "node_modules/throttle-debounce": {
       "version": "5.0.0",
@@ -12126,11 +12065,6 @@
         "readable-stream": "3"
       }
     },
-    "node_modules/tiny-inflate": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
-      "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
-    },
     "node_modules/tmp": {
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -12189,13 +12123,13 @@
       }
     },
     "node_modules/troika-three-text": {
-      "version": "0.47.2",
-      "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.47.2.tgz",
-      "integrity": "sha512-qylT0F+U7xGs+/PEf3ujBdJMYWbn0Qci0kLqI5BJG2kW1wdg4T1XSxneypnF05DxFqJhEzuaOR9S2SjiyknMng==",
+      "version": "0.49.0",
+      "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.49.0.tgz",
+      "integrity": "sha512-sn9BNC6eIX8OO3iAkPwjecJ7Pn21Ve8P1UNFMNeQzXx759rrqS4i4pSZs7FLMYdWyCKVXBFGimBySFwRKLjq/Q==",
       "dependencies": {
         "bidi-js": "^1.0.2",
-        "troika-three-utils": "^0.47.2",
-        "troika-worker-utils": "^0.47.2",
+        "troika-three-utils": "^0.49.0",
+        "troika-worker-utils": "^0.49.0",
         "webgl-sdf-generator": "1.1.1"
       },
       "peerDependencies": {
@@ -12203,17 +12137,17 @@
       }
     },
     "node_modules/troika-three-utils": {
-      "version": "0.47.2",
-      "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.47.2.tgz",
-      "integrity": "sha512-/28plhCxfKtH7MSxEGx8e3b/OXU5A0xlwl+Sbdp0H8FXUHKZDoksduEKmjQayXYtxAyuUiCRunYIv/8Vi7aiyg==",
+      "version": "0.49.0",
+      "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.49.0.tgz",
+      "integrity": "sha512-umitFL4cT+Fm/uONmaQEq4oZlyRHWwVClaS6ZrdcueRvwc2w+cpNQ47LlJKJswpqtMFWbEhOLy0TekmcPZOdYA==",
       "peerDependencies": {
         "three": ">=0.125.0"
       }
     },
     "node_modules/troika-worker-utils": {
-      "version": "0.47.2",
-      "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.47.2.tgz",
-      "integrity": "sha512-mzss4MeyzUkYBppn4x5cdAqrhBHFEuVmMMgLMTyFV23x6GvQMyo+/R5E5Lsbrt7WSt5RfvewjcwD1DChRTA9lA=="
+      "version": "0.49.0",
+      "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.49.0.tgz",
+      "integrity": "sha512-1xZHoJrG0HFfCvT/iyN41DvI/nRykiBtHqFkGaGgJwq5iXfIZFBiPPEHFpPpgyKM3Oo5ITHXP5wM2TNQszYdVg=="
     },
     "node_modules/ts-api-utils": {
       "version": "1.0.3",
@@ -12361,6 +12295,14 @@
       "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
       "dev": true
     },
+    "node_modules/tunnel-rat": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/tunnel-rat/-/tunnel-rat-0.1.2.tgz",
+      "integrity": "sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==",
+      "dependencies": {
+        "zustand": "^4.3.2"
+      }
+    },
     "node_modules/type-check": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -12551,6 +12493,14 @@
         "punycode": "^2.1.0"
       }
     },
+    "node_modules/use-sync-external-store": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+      "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+      "peerDependencies": {
+        "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+      }
+    },
     "node_modules/util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -12983,10 +12933,32 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/zstddec": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.0.2.tgz",
-      "integrity": "sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA=="
+    "node_modules/zustand": {
+      "version": "4.5.2",
+      "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz",
+      "integrity": "sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==",
+      "dependencies": {
+        "use-sync-external-store": "1.2.0"
+      },
+      "engines": {
+        "node": ">=12.7.0"
+      },
+      "peerDependencies": {
+        "@types/react": ">=16.8",
+        "immer": ">=9.0.6",
+        "react": ">=16.8"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "immer": {
+          "optional": true
+        },
+        "react": {
+          "optional": true
+        }
+      }
     }
   }
 }
diff --git a/package.json b/package.json
index 540557f..0056100 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
   },
   "dependencies": {
     "@ant-design/icons": "^5.2.6",
-    "@react-three/drei": "^9.88.0",
+    "@react-three/drei": "^9.101.0",
     "@react-three/fiber": "^8.15.11",
     "@tensorflow/tfjs": "^4.16.0",
     "@tensorflow/tfjs-backend-webgpu": "^4.14.0",