diff --git a/package.json b/package.json
index 9314b68..4476e88 100644
--- a/package.json
+++ b/package.json
@@ -45,9 +45,9 @@
 		"@threlte/core": "7.0.2",
 		"@threlte/extras": "7.5.4",
 		"@threlte/theatre": "^2.1.3",
-		"@types/three": "^0.158.2",
+		"@types/three": "^0.159.0",
 		"@vercel/analytics": "^1.1.1",
-		"three": "^0.158.0",
+		"three": "^0.159.0",
 		"web-vitals": "^3.5.0"
 	},
 	"lint-staged": {
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 26adcd2..5563094 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,22 +13,22 @@ dependencies:
     version: 0.7.0(@theatre/core@0.7.0)
   '@threlte/core':
     specifier: 7.0.2
-    version: 7.0.2(svelte@4.2.7)(three@0.158.0)
+    version: 7.0.2(svelte@4.2.7)(three@0.159.0)
   '@threlte/extras':
     specifier: 7.5.4
-    version: 7.5.4(svelte@4.2.7)(three@0.158.0)
+    version: 7.5.4(svelte@4.2.7)(three@0.159.0)
   '@threlte/theatre':
     specifier: ^2.1.3
-    version: 2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@7.0.2)(@threlte/extras@7.5.4)(svelte@4.2.7)(three@0.158.0)
+    version: 2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@7.0.2)(@threlte/extras@7.5.4)(svelte@4.2.7)(three@0.159.0)
   '@types/three':
-    specifier: ^0.158.2
-    version: 0.158.2
+    specifier: ^0.159.0
+    version: 0.159.0
   '@vercel/analytics':
     specifier: ^1.1.1
     version: 1.1.1
   three:
-    specifier: ^0.158.0
-    version: 0.158.0
+    specifier: ^0.159.0
+    version: 0.159.0
   web-vitals:
     specifier: ^3.5.0
     version: 3.5.0
@@ -896,28 +896,28 @@ packages:
       '@theatre/dataverse': 0.7.0
     dev: false
 
-  /@threlte/core@7.0.2(svelte@4.2.7)(three@0.158.0):
+  /@threlte/core@7.0.2(svelte@4.2.7)(three@0.159.0):
     resolution: {integrity: sha512-PCvk5K9jNjsrqGcRHn9LpkX/ulmlABfUlJ/0ygaxioO1Po/vRBpVWepm8Tg/evtrDru0/GaAablbXk9slxEfSQ==}
     peerDependencies:
       svelte: '>=4'
       three: '>=0.133'
     dependencies:
       svelte: 4.2.7
-      three: 0.158.0
+      three: 0.159.0
     dev: false
 
-  /@threlte/extras@7.5.4(svelte@4.2.7)(three@0.158.0):
+  /@threlte/extras@7.5.4(svelte@4.2.7)(three@0.159.0):
     resolution: {integrity: sha512-BsvUlzJhAnWqRwj3oUCruTb3i3JOKIxdR6c8bI16N7QmReyUcYcoGTB/UKQEt14rreb8PQMF26lstofI9IwA4g==}
     peerDependencies:
       svelte: '>=4'
       three: '>=0.133'
     dependencies:
       svelte: 4.2.7
-      three: 0.158.0
-      troika-three-text: 0.47.2(three@0.158.0)
+      three: 0.159.0
+      troika-three-text: 0.47.2(three@0.159.0)
     dev: false
 
-  /@threlte/theatre@2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@7.0.2)(@threlte/extras@7.5.4)(svelte@4.2.7)(three@0.158.0):
+  /@threlte/theatre@2.1.3(@theatre/core@0.7.0)(@theatre/studio@0.7.0)(@threlte/core@7.0.2)(@threlte/extras@7.5.4)(svelte@4.2.7)(three@0.159.0):
     resolution: {integrity: sha512-yscNIDWBoaNFQDicF+ulI1Px589bKsQtfzwNgxGbdIwRgjX6gk2bWfmZ6cgBml25yksAufroh9gZSfvfOpLtMg==}
     peerDependencies:
       '@theatre/core': '>=0.6'
@@ -929,10 +929,10 @@ packages:
     dependencies:
       '@theatre/core': 0.7.0
       '@theatre/studio': 0.7.0(@theatre/core@0.7.0)
-      '@threlte/core': 7.0.2(svelte@4.2.7)(three@0.158.0)
-      '@threlte/extras': 7.5.4(svelte@4.2.7)(three@0.158.0)
+      '@threlte/core': 7.0.2(svelte@4.2.7)(three@0.159.0)
+      '@threlte/extras': 7.5.4(svelte@4.2.7)(three@0.159.0)
       svelte: 4.2.7
-      three: 0.158.0
+      three: 0.159.0
     dev: false
 
   /@types/cookie@0.5.4:
@@ -964,8 +964,8 @@ packages:
     resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
     dev: false
 
-  /@types/three@0.158.2:
-    resolution: {integrity: sha512-KPYbdLI8VPhu7qnHqsayfkuk58Qk+20l1U5HBK7uG50EjtrqeCreurNNpnatMZje29XRuTM1A+pGHGdDBHPyUQ==}
+  /@types/three@0.159.0:
+    resolution: {integrity: sha512-2gybdh7HtX+rGUgslzK7QEJfzD2I0qrbUGzKk+dK0FDx49UHkNX0rqZVRzIgeFjBd1HzzhNNgwNoMacm3Wyc7w==}
     dependencies:
       '@types/stats.js': 0.17.3
       '@types/webxr': 0.5.8
@@ -3427,8 +3427,8 @@ packages:
       any-promise: 1.3.0
     dev: true
 
-  /three@0.158.0:
-    resolution: {integrity: sha512-TALj4EOpdDPF1henk2Q+s17K61uEAAWQ7TJB68nr7FKxqwyDr3msOt5IWdbGm4TaWKjrtWS8DJJWe9JnvsWOhQ==}
+  /three@0.159.0:
+    resolution: {integrity: sha512-eCmhlLGbBgucuo4VEA9IO3Qpc7dh8Bd4VKzr7WfW4+8hMcIfoAVi1ev0pJYN9PTTsCslbcKgBwr2wNZ1EvLInA==}
     dev: false
 
   /tiny-glob@0.2.9:
@@ -3454,24 +3454,24 @@ packages:
     resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
     dev: true
 
-  /troika-three-text@0.47.2(three@0.158.0):
+  /troika-three-text@0.47.2(three@0.159.0):
     resolution: {integrity: sha512-qylT0F+U7xGs+/PEf3ujBdJMYWbn0Qci0kLqI5BJG2kW1wdg4T1XSxneypnF05DxFqJhEzuaOR9S2SjiyknMng==}
     peerDependencies:
       three: '>=0.125.0'
     dependencies:
       bidi-js: 1.0.3
-      three: 0.158.0
-      troika-three-utils: 0.47.2(three@0.158.0)
+      three: 0.159.0
+      troika-three-utils: 0.47.2(three@0.159.0)
       troika-worker-utils: 0.47.2
       webgl-sdf-generator: 1.1.1
     dev: false
 
-  /troika-three-utils@0.47.2(three@0.158.0):
+  /troika-three-utils@0.47.2(three@0.159.0):
     resolution: {integrity: sha512-/28plhCxfKtH7MSxEGx8e3b/OXU5A0xlwl+Sbdp0H8FXUHKZDoksduEKmjQayXYtxAyuUiCRunYIv/8Vi7aiyg==}
     peerDependencies:
       three: '>=0.125.0'
     dependencies:
-      three: 0.158.0
+      three: 0.159.0
     dev: false
 
   /troika-worker-utils@0.47.2: