@needle-tools/gltf-progressive 3.6.0-alpha.2 → 3.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +42 -8
  3. package/examples/modelviewer-multiple.html +4 -4
  4. package/examples/modelviewer.html +4 -4
  5. package/examples/offscreen/index.html +15 -0
  6. package/examples/offscreen/main.js +98 -0
  7. package/examples/react-three-fiber/index.html +2 -2
  8. package/examples/react-three-fiber/package-lock.json +482 -484
  9. package/examples/react-three-fiber/package.json +4 -4
  10. package/examples/react-three-fiber/src/App.tsx +76 -21
  11. package/examples/react-three-fiber/src/styles.css +2 -4
  12. package/examples/react-three-fiber/vite.config.js +2 -2
  13. package/examples/shared/example-utils.js +297 -0
  14. package/examples/shared/example.css +44 -0
  15. package/examples/shared/runtime.js +34 -0
  16. package/examples/threejs/index.html +6 -10
  17. package/examples/threejs/main.js +5 -23
  18. package/examples/webgpu/index.html +15 -0
  19. package/examples/webgpu/main.js +105 -0
  20. package/examples/worker-rendering/index.html +15 -0
  21. package/examples/worker-rendering/main.js +109 -0
  22. package/examples/worker-rendering/worker.js +166 -0
  23. package/gltf-progressive.js +670 -559
  24. package/gltf-progressive.min.js +9 -9
  25. package/gltf-progressive.umd.cjs +9 -9
  26. package/lib/extension.d.ts +6 -0
  27. package/lib/extension.js +85 -16
  28. package/lib/loaders.d.ts +1 -8
  29. package/lib/loaders.js +15 -2
  30. package/lib/lods.debug.js +1 -1
  31. package/lib/lods.manager.d.ts +3 -0
  32. package/lib/lods.manager.js +62 -18
  33. package/lib/utils.d.ts +1 -1
  34. package/lib/utils.internal.d.ts +27 -0
  35. package/lib/utils.internal.js +68 -25
  36. package/lib/version.js +1 -1
  37. package/lib/worker/loader.mainthread.js +6 -4
  38. package/package.json +8 -3
@@ -9,17 +9,17 @@
9
9
  "version": "1.0.0",
10
10
  "dependencies": {
11
11
  "@needle-tools/gltf-progressive": "file:../..",
12
- "@react-three/drei": "^9.0.1",
13
- "@react-three/fiber": "^8.0.6",
12
+ "@react-three/drei": "9.122.0",
13
+ "@react-three/fiber": "8.18.0",
14
14
  "react": "^18.0.0",
15
15
  "react-dom": "^18.0.0",
16
- "three": "0.162.0",
16
+ "three": "0.184.0",
17
17
  "typescript": "4.7.4"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/react": "18.0.15",
21
21
  "@types/react-dom": "17.0.0",
22
- "@types/three": "0.162.0",
22
+ "@types/three": "0.184.0",
23
23
  "@vitejs/plugin-basic-ssl": "^1.0.1",
24
24
  "@vitejs/plugin-react": "^1.3.0",
25
25
  "typescript": "4.1.3",
@@ -29,20 +29,28 @@
29
29
  },
30
30
  "../..": {
31
31
  "name": "@needle-tools/gltf-progressive",
32
- "version": "1.0.0-alpha.17",
32
+ "version": "3.6.0-canary.5401de9",
33
+ "license": "MIT",
33
34
  "devDependencies": {
35
+ "@needle-tools/engine": "^5.1.0-alpha.6",
36
+ "@needle-tools/three-test-matrix": "^0.1.0",
34
37
  "@stylistic/eslint-plugin-ts": "^1.5.4",
35
- "@types/three": "0.162.0",
38
+ "@types/three": "0.183.1",
36
39
  "@typescript-eslint/eslint-plugin": "^6.2.0",
37
40
  "@typescript-eslint/parser": "^6.2.0",
41
+ "@vitest/browser-playwright": "^4.1.8",
38
42
  "eslint": "^8.56.0",
39
43
  "eslint-plugin-import": "^2.29.1",
40
44
  "eslint-plugin-no-secrets": "^0.8.9",
41
45
  "eslint-plugin-no-unsanitized": "^4.0.2",
42
46
  "eslint-plugin-promise": "^6.1.1",
43
47
  "eslint-plugin-xss": "^0.1.12",
48
+ "nodemon": "^3.1.4",
49
+ "npm-watch": "^0.13.0",
50
+ "playwright": "^1.60.0",
44
51
  "three": ">= 0.160.0",
45
- "vite": "<= 4.3.9"
52
+ "vite": "7",
53
+ "vitest": "^4.1.8"
46
54
  },
47
55
  "peerDependencies": {
48
56
  "three": ">= 0.160.0"
@@ -402,11 +410,10 @@
402
410
  }
403
411
  },
404
412
  "node_modules/@babel/runtime": {
405
- "version": "7.24.4",
413
+ "version": "7.29.7",
414
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
415
+ "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==",
406
416
  "license": "MIT",
407
- "dependencies": {
408
- "regenerator-runtime": "^0.14.0"
409
- },
410
417
  "engines": {
411
418
  "node": ">=6.9.0"
412
419
  }
@@ -460,6 +467,12 @@
460
467
  "node": ">=6.9.0"
461
468
  }
462
469
  },
470
+ "node_modules/@dimforge/rapier3d-compat": {
471
+ "version": "0.12.0",
472
+ "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz",
473
+ "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==",
474
+ "license": "Apache-2.0"
475
+ },
463
476
  "node_modules/@esbuild/android-arm": {
464
477
  "version": "0.17.19",
465
478
  "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
@@ -844,18 +857,6 @@
844
857
  "node": ">=6.0.0"
845
858
  }
846
859
  },
847
- "node_modules/@jridgewell/source-map": {
848
- "version": "0.3.6",
849
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
850
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
851
- "dev": true,
852
- "optional": true,
853
- "peer": true,
854
- "dependencies": {
855
- "@jridgewell/gen-mapping": "^0.3.5",
856
- "@jridgewell/trace-mapping": "^0.3.25"
857
- }
858
- },
859
860
  "node_modules/@jridgewell/sourcemap-codec": {
860
861
  "version": "1.4.15",
861
862
  "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
@@ -873,32 +874,49 @@
873
874
  }
874
875
  },
875
876
  "node_modules/@mediapipe/tasks-vision": {
876
- "version": "0.10.8",
877
+ "version": "0.10.17",
878
+ "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz",
879
+ "integrity": "sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==",
877
880
  "license": "Apache-2.0"
878
881
  },
882
+ "node_modules/@monogrid/gainmap-js": {
883
+ "version": "3.4.0",
884
+ "resolved": "https://registry.npmjs.org/@monogrid/gainmap-js/-/gainmap-js-3.4.0.tgz",
885
+ "integrity": "sha512-2Z0FATFHaoYJ8b+Y4y4Hgfn3FRFwuU5zRrk+9dFWp4uGAdHGqVEdP7HP+gLA3X469KXHmfupJaUbKo1b/aDKIg==",
886
+ "license": "MIT",
887
+ "dependencies": {
888
+ "promise-worker-transferable": "^1.0.4"
889
+ },
890
+ "peerDependencies": {
891
+ "three": ">= 0.159.0"
892
+ }
893
+ },
879
894
  "node_modules/@needle-tools/gltf-progressive": {
880
895
  "resolved": "../..",
881
896
  "link": true
882
897
  },
883
898
  "node_modules/@react-spring/animated": {
884
- "version": "9.6.1",
899
+ "version": "9.7.5",
900
+ "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.5.tgz",
901
+ "integrity": "sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==",
885
902
  "license": "MIT",
886
903
  "dependencies": {
887
- "@react-spring/shared": "~9.6.1",
888
- "@react-spring/types": "~9.6.1"
904
+ "@react-spring/shared": "~9.7.5",
905
+ "@react-spring/types": "~9.7.5"
889
906
  },
890
907
  "peerDependencies": {
891
908
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
892
909
  }
893
910
  },
894
911
  "node_modules/@react-spring/core": {
895
- "version": "9.6.1",
912
+ "version": "9.7.5",
913
+ "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.5.tgz",
914
+ "integrity": "sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w==",
896
915
  "license": "MIT",
897
916
  "dependencies": {
898
- "@react-spring/animated": "~9.6.1",
899
- "@react-spring/rafz": "~9.6.1",
900
- "@react-spring/shared": "~9.6.1",
901
- "@react-spring/types": "~9.6.1"
917
+ "@react-spring/animated": "~9.7.5",
918
+ "@react-spring/shared": "~9.7.5",
919
+ "@react-spring/types": "~9.7.5"
902
920
  },
903
921
  "funding": {
904
922
  "type": "opencollective",
@@ -909,28 +927,34 @@
909
927
  }
910
928
  },
911
929
  "node_modules/@react-spring/rafz": {
912
- "version": "9.6.1",
930
+ "version": "9.7.5",
931
+ "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.7.5.tgz",
932
+ "integrity": "sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw==",
913
933
  "license": "MIT"
914
934
  },
915
935
  "node_modules/@react-spring/shared": {
916
- "version": "9.6.1",
936
+ "version": "9.7.5",
937
+ "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.5.tgz",
938
+ "integrity": "sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw==",
917
939
  "license": "MIT",
918
940
  "dependencies": {
919
- "@react-spring/rafz": "~9.6.1",
920
- "@react-spring/types": "~9.6.1"
941
+ "@react-spring/rafz": "~9.7.5",
942
+ "@react-spring/types": "~9.7.5"
921
943
  },
922
944
  "peerDependencies": {
923
945
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
924
946
  }
925
947
  },
926
948
  "node_modules/@react-spring/three": {
927
- "version": "9.6.1",
949
+ "version": "9.7.5",
950
+ "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.7.5.tgz",
951
+ "integrity": "sha512-RxIsCoQfUqOS3POmhVHa1wdWS0wyHAUway73uRLp3GAL5U2iYVNdnzQsep6M2NZ994BlW8TcKuMtQHUqOsy6WA==",
928
952
  "license": "MIT",
929
953
  "dependencies": {
930
- "@react-spring/animated": "~9.6.1",
931
- "@react-spring/core": "~9.6.1",
932
- "@react-spring/shared": "~9.6.1",
933
- "@react-spring/types": "~9.6.1"
954
+ "@react-spring/animated": "~9.7.5",
955
+ "@react-spring/core": "~9.7.5",
956
+ "@react-spring/shared": "~9.7.5",
957
+ "@react-spring/types": "~9.7.5"
934
958
  },
935
959
  "peerDependencies": {
936
960
  "@react-three/fiber": ">=6.0",
@@ -939,41 +963,44 @@
939
963
  }
940
964
  },
941
965
  "node_modules/@react-spring/types": {
942
- "version": "9.6.1",
966
+ "version": "9.7.5",
967
+ "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.5.tgz",
968
+ "integrity": "sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g==",
943
969
  "license": "MIT"
944
970
  },
945
971
  "node_modules/@react-three/drei": {
946
- "version": "9.105.4",
972
+ "version": "9.122.0",
973
+ "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.122.0.tgz",
974
+ "integrity": "sha512-SEO/F/rBCTjlLez7WAlpys+iGe9hty4rNgjZvgkQeXFSiwqD4Hbk/wNHMAbdd8vprO2Aj81mihv4dF5bC7D0CA==",
947
975
  "license": "MIT",
948
976
  "dependencies": {
949
- "@babel/runtime": "^7.11.2",
950
- "@mediapipe/tasks-vision": "0.10.8",
951
- "@monogrid/gainmap-js": "^3.0.5",
952
- "@react-spring/three": "~9.6.1",
953
- "@use-gesture/react": "^10.2.24",
954
- "camera-controls": "^2.4.2",
977
+ "@babel/runtime": "^7.26.0",
978
+ "@mediapipe/tasks-vision": "0.10.17",
979
+ "@monogrid/gainmap-js": "^3.0.6",
980
+ "@react-spring/three": "~9.7.5",
981
+ "@use-gesture/react": "^10.3.1",
982
+ "camera-controls": "^2.9.0",
955
983
  "cross-env": "^7.0.3",
956
- "detect-gpu": "^5.0.28",
984
+ "detect-gpu": "^5.0.56",
957
985
  "glsl-noise": "^0.0.0",
958
- "hls.js": "1.3.5",
959
- "maath": "^0.10.7",
960
- "meshline": "^3.1.6",
986
+ "hls.js": "^1.5.17",
987
+ "maath": "^0.10.8",
988
+ "meshline": "^3.3.1",
961
989
  "react-composer": "^5.0.3",
962
- "stats-gl": "^2.0.0",
990
+ "stats-gl": "^2.2.8",
963
991
  "stats.js": "^0.17.0",
964
992
  "suspend-react": "^0.1.3",
965
- "three-mesh-bvh": "^0.7.0",
966
- "three-stdlib": "^2.29.4",
967
- "troika-three-text": "^0.49.0",
993
+ "three-mesh-bvh": "^0.7.8",
994
+ "three-stdlib": "^2.35.6",
995
+ "troika-three-text": "^0.52.0",
968
996
  "tunnel-rat": "^0.1.2",
969
- "utility-types": "^3.10.0",
970
- "uuid": "^9.0.1",
971
- "zustand": "^3.7.1"
997
+ "utility-types": "^3.11.0",
998
+ "zustand": "^5.0.1"
972
999
  },
973
1000
  "peerDependencies": {
974
- "@react-three/fiber": ">=8.0",
975
- "react": ">=18.0",
976
- "react-dom": ">=18.0",
1001
+ "@react-three/fiber": "^8",
1002
+ "react": "^18",
1003
+ "react-dom": "^18",
977
1004
  "three": ">=0.137"
978
1005
  },
979
1006
  "peerDependenciesMeta": {
@@ -982,50 +1009,10 @@
982
1009
  }
983
1010
  }
984
1011
  },
985
- "node_modules/@react-three/drei/node_modules/@monogrid/gainmap-js": {
986
- "version": "3.0.5",
987
- "license": "MIT",
988
- "dependencies": {
989
- "promise-worker-transferable": "^1.0.4"
990
- },
991
- "peerDependencies": {
992
- "three": ">= 0.159.0"
993
- }
994
- },
995
- "node_modules/@react-three/drei/node_modules/@types/three": {
996
- "version": "0.164.0",
997
- "license": "MIT",
998
- "peer": true,
999
- "dependencies": {
1000
- "@tweenjs/tween.js": "~23.1.1",
1001
- "@types/stats.js": "*",
1002
- "@types/webxr": "*",
1003
- "fflate": "~0.8.2",
1004
- "meshoptimizer": "~0.18.1"
1005
- }
1006
- },
1007
- "node_modules/@react-three/drei/node_modules/fflate": {
1008
- "version": "0.8.2",
1009
- "license": "MIT",
1010
- "peer": true
1011
- },
1012
- "node_modules/@react-three/drei/node_modules/maath": {
1013
- "version": "0.10.7",
1014
- "license": "MIT",
1015
- "peerDependencies": {
1016
- "@types/three": ">=0.144.0",
1017
- "three": ">=0.144.0"
1018
- }
1019
- },
1020
- "node_modules/@react-three/drei/node_modules/three-mesh-bvh": {
1021
- "version": "0.7.4",
1022
- "license": "MIT",
1023
- "peerDependencies": {
1024
- "three": ">= 0.151.0"
1025
- }
1026
- },
1027
1012
  "node_modules/@react-three/fiber": {
1028
- "version": "8.16.2",
1013
+ "version": "8.18.0",
1014
+ "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-8.18.0.tgz",
1015
+ "integrity": "sha512-FYZZqD0UUHUswKz3LQl2Z7H24AhD14XGTsIRw3SJaXUxyfVMi+1yiZGmqTcPt/CkPpdU7rrxqcyQ1zJE5DjvIQ==",
1029
1016
  "license": "MIT",
1030
1017
  "dependencies": {
1031
1018
  "@babel/runtime": "^7.17.8",
@@ -1035,7 +1022,7 @@
1035
1022
  "buffer": "^6.0.3",
1036
1023
  "its-fine": "^1.0.6",
1037
1024
  "react-reconciler": "^0.27.0",
1038
- "react-use-measure": "^2.1.1",
1025
+ "react-use-measure": "^2.1.7",
1039
1026
  "scheduler": "^0.21.0",
1040
1027
  "suspend-react": "^0.1.3",
1041
1028
  "zustand": "^3.7.1"
@@ -1045,8 +1032,8 @@
1045
1032
  "expo-asset": ">=8.4",
1046
1033
  "expo-file-system": ">=11.0",
1047
1034
  "expo-gl": ">=11.0",
1048
- "react": ">=18.0",
1049
- "react-dom": ">=18.0",
1035
+ "react": ">=18 <19",
1036
+ "react-dom": ">=18 <19",
1050
1037
  "react-native": ">=0.64",
1051
1038
  "three": ">=0.133"
1052
1039
  },
@@ -1071,6 +1058,23 @@
1071
1058
  }
1072
1059
  }
1073
1060
  },
1061
+ "node_modules/@react-three/fiber/node_modules/zustand": {
1062
+ "version": "3.7.2",
1063
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz",
1064
+ "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==",
1065
+ "license": "MIT",
1066
+ "engines": {
1067
+ "node": ">=12.7.0"
1068
+ },
1069
+ "peerDependencies": {
1070
+ "react": ">=16.8"
1071
+ },
1072
+ "peerDependenciesMeta": {
1073
+ "react": {
1074
+ "optional": true
1075
+ }
1076
+ }
1077
+ },
1074
1078
  "node_modules/@rollup/pluginutils": {
1075
1079
  "version": "4.2.1",
1076
1080
  "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
@@ -1085,26 +1089,21 @@
1085
1089
  }
1086
1090
  },
1087
1091
  "node_modules/@tweenjs/tween.js": {
1088
- "version": "23.1.1",
1092
+ "version": "23.1.3",
1093
+ "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
1094
+ "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==",
1089
1095
  "license": "MIT"
1090
1096
  },
1091
1097
  "node_modules/@types/draco3d": {
1092
- "version": "1.4.9",
1098
+ "version": "1.4.10",
1099
+ "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.10.tgz",
1100
+ "integrity": "sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==",
1093
1101
  "license": "MIT"
1094
1102
  },
1095
- "node_modules/@types/node": {
1096
- "version": "20.12.13",
1097
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz",
1098
- "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==",
1099
- "dev": true,
1100
- "optional": true,
1101
- "peer": true,
1102
- "dependencies": {
1103
- "undici-types": "~5.26.4"
1104
- }
1105
- },
1106
1103
  "node_modules/@types/offscreencanvas": {
1107
1104
  "version": "2019.7.3",
1105
+ "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz",
1106
+ "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==",
1108
1107
  "license": "MIT"
1109
1108
  },
1110
1109
  "node_modules/@types/prop-types": {
@@ -1131,6 +1130,8 @@
1131
1130
  },
1132
1131
  "node_modules/@types/react-reconciler": {
1133
1132
  "version": "0.26.7",
1133
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz",
1134
+ "integrity": "sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==",
1134
1135
  "license": "MIT",
1135
1136
  "dependencies": {
1136
1137
  "@types/react": "*"
@@ -1146,19 +1147,35 @@
1146
1147
  "license": "MIT"
1147
1148
  },
1148
1149
  "node_modules/@types/three": {
1149
- "version": "0.162.0",
1150
- "dev": true,
1150
+ "version": "0.184.0",
1151
+ "resolved": "https://registry.npmjs.org/@types/three/-/three-0.184.0.tgz",
1152
+ "integrity": "sha512-4mY2tZAu0y0B0567w7013BBXSpsP0+Z48NJvmNo4Y/Pf76yCyz6Jw4P3tUVs10WuYNXXZ+wmHyGWpCek3amJxA==",
1151
1153
  "license": "MIT",
1152
1154
  "dependencies": {
1153
- "@tweenjs/tween.js": "~23.1.1",
1155
+ "@dimforge/rapier3d-compat": "~0.12.0",
1156
+ "@tweenjs/tween.js": "~23.1.3",
1154
1157
  "@types/stats.js": "*",
1155
- "@types/webxr": "*",
1156
- "fflate": "~0.6.10",
1157
- "meshoptimizer": "~0.18.1"
1158
+ "@types/webxr": ">=0.5.17",
1159
+ "fflate": "~0.8.2",
1160
+ "meshoptimizer": "~1.1.1"
1158
1161
  }
1159
1162
  },
1163
+ "node_modules/@types/three/node_modules/fflate": {
1164
+ "version": "0.8.3",
1165
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz",
1166
+ "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==",
1167
+ "license": "MIT"
1168
+ },
1169
+ "node_modules/@types/three/node_modules/meshoptimizer": {
1170
+ "version": "1.1.1",
1171
+ "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-1.1.1.tgz",
1172
+ "integrity": "sha512-oRFNWJRDA/WTrVj7NWvqa5HqE1t9MYDj2VaWirQCzCCrAd2GHrqR/sQezCxiWATPNlKTcRaPRHPJwIRoPBAp5g==",
1173
+ "license": "MIT"
1174
+ },
1160
1175
  "node_modules/@types/webxr": {
1161
- "version": "0.5.15",
1176
+ "version": "0.5.24",
1177
+ "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz",
1178
+ "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==",
1162
1179
  "license": "MIT"
1163
1180
  },
1164
1181
  "node_modules/@use-gesture/core": {
@@ -1206,20 +1223,6 @@
1206
1223
  "node": ">=12.0.0"
1207
1224
  }
1208
1225
  },
1209
- "node_modules/acorn": {
1210
- "version": "8.11.3",
1211
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
1212
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
1213
- "dev": true,
1214
- "optional": true,
1215
- "peer": true,
1216
- "bin": {
1217
- "acorn": "bin/acorn"
1218
- },
1219
- "engines": {
1220
- "node": ">=0.4.0"
1221
- }
1222
- },
1223
1226
  "node_modules/ansi-styles": {
1224
1227
  "version": "3.2.1",
1225
1228
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -1234,6 +1237,8 @@
1234
1237
  },
1235
1238
  "node_modules/base64-js": {
1236
1239
  "version": "1.5.1",
1240
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1241
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1237
1242
  "funding": [
1238
1243
  {
1239
1244
  "type": "github",
@@ -1252,6 +1257,8 @@
1252
1257
  },
1253
1258
  "node_modules/bidi-js": {
1254
1259
  "version": "1.0.3",
1260
+ "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
1261
+ "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
1255
1262
  "license": "MIT",
1256
1263
  "dependencies": {
1257
1264
  "require-from-string": "^2.0.2"
@@ -1291,6 +1298,8 @@
1291
1298
  },
1292
1299
  "node_modules/buffer": {
1293
1300
  "version": "6.0.3",
1301
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
1302
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
1294
1303
  "funding": [
1295
1304
  {
1296
1305
  "type": "github",
@@ -1311,16 +1320,10 @@
1311
1320
  "ieee754": "^1.2.1"
1312
1321
  }
1313
1322
  },
1314
- "node_modules/buffer-from": {
1315
- "version": "1.1.2",
1316
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
1317
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
1318
- "dev": true,
1319
- "optional": true,
1320
- "peer": true
1321
- },
1322
1323
  "node_modules/camera-controls": {
1323
- "version": "2.8.3",
1324
+ "version": "2.10.1",
1325
+ "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.10.1.tgz",
1326
+ "integrity": "sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==",
1324
1327
  "license": "MIT",
1325
1328
  "peerDependencies": {
1326
1329
  "three": ">=0.126.1"
@@ -1413,10 +1416,6 @@
1413
1416
  "version": "3.1.3",
1414
1417
  "license": "MIT"
1415
1418
  },
1416
- "node_modules/debounce": {
1417
- "version": "1.2.1",
1418
- "license": "MIT"
1419
- },
1420
1419
  "node_modules/debug": {
1421
1420
  "version": "4.3.4",
1422
1421
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -1435,7 +1434,9 @@
1435
1434
  }
1436
1435
  },
1437
1436
  "node_modules/detect-gpu": {
1438
- "version": "5.0.38",
1437
+ "version": "5.0.70",
1438
+ "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.70.tgz",
1439
+ "integrity": "sha512-bqerEP1Ese6nt3rFkwPnGbsUF9a4q+gMmpTVVOEzoCyeCc+y7/RvJnQZJx1JwhgQI5Ntg0Kgat8Uu7XpBqnz1w==",
1439
1440
  "license": "MIT",
1440
1441
  "dependencies": {
1441
1442
  "webgl-constants": "^1.1.1"
@@ -1443,6 +1444,8 @@
1443
1444
  },
1444
1445
  "node_modules/draco3d": {
1445
1446
  "version": "1.5.7",
1447
+ "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz",
1448
+ "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==",
1446
1449
  "license": "Apache-2.0"
1447
1450
  },
1448
1451
  "node_modules/electron-to-chromium": {
@@ -1514,6 +1517,8 @@
1514
1517
  },
1515
1518
  "node_modules/fflate": {
1516
1519
  "version": "0.6.10",
1520
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz",
1521
+ "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==",
1517
1522
  "license": "MIT"
1518
1523
  },
1519
1524
  "node_modules/fs-extra": {
@@ -1603,11 +1608,15 @@
1603
1608
  }
1604
1609
  },
1605
1610
  "node_modules/hls.js": {
1606
- "version": "1.3.5",
1611
+ "version": "1.6.16",
1612
+ "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.16.tgz",
1613
+ "integrity": "sha512-VSIRpLfRwlAAdGL4wiTucx2ScRipo0ed1FBatWkyt832jC4CReKstga6yIhYVwGu9LOBjuX9wzmRMeQdBJtzEA==",
1607
1614
  "license": "Apache-2.0"
1608
1615
  },
1609
1616
  "node_modules/ieee754": {
1610
1617
  "version": "1.2.1",
1618
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
1619
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
1611
1620
  "funding": [
1612
1621
  {
1613
1622
  "type": "github",
@@ -1626,18 +1635,10 @@
1626
1635
  },
1627
1636
  "node_modules/immediate": {
1628
1637
  "version": "3.0.6",
1638
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
1639
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
1629
1640
  "license": "MIT"
1630
1641
  },
1631
- "node_modules/immer": {
1632
- "version": "9.0.21",
1633
- "license": "MIT",
1634
- "optional": true,
1635
- "peer": true,
1636
- "funding": {
1637
- "type": "opencollective",
1638
- "url": "https://opencollective.com/immer"
1639
- }
1640
- },
1641
1642
  "node_modules/is-core-module": {
1642
1643
  "version": "2.13.1",
1643
1644
  "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
@@ -1652,6 +1653,8 @@
1652
1653
  },
1653
1654
  "node_modules/is-promise": {
1654
1655
  "version": "2.2.2",
1656
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
1657
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
1655
1658
  "license": "MIT"
1656
1659
  },
1657
1660
  "node_modules/isexe": {
@@ -1660,6 +1663,8 @@
1660
1663
  },
1661
1664
  "node_modules/its-fine": {
1662
1665
  "version": "1.2.5",
1666
+ "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-1.2.5.tgz",
1667
+ "integrity": "sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==",
1663
1668
  "license": "MIT",
1664
1669
  "dependencies": {
1665
1670
  "@types/react-reconciler": "^0.28.0"
@@ -1669,9 +1674,11 @@
1669
1674
  }
1670
1675
  },
1671
1676
  "node_modules/its-fine/node_modules/@types/react-reconciler": {
1672
- "version": "0.28.8",
1677
+ "version": "0.28.9",
1678
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz",
1679
+ "integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==",
1673
1680
  "license": "MIT",
1674
- "dependencies": {
1681
+ "peerDependencies": {
1675
1682
  "@types/react": "*"
1676
1683
  }
1677
1684
  },
@@ -1717,6 +1724,8 @@
1717
1724
  },
1718
1725
  "node_modules/lie": {
1719
1726
  "version": "3.3.0",
1727
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
1728
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
1720
1729
  "license": "MIT",
1721
1730
  "dependencies": {
1722
1731
  "immediate": "~3.0.5"
@@ -1741,8 +1750,20 @@
1741
1750
  "yallist": "^3.0.2"
1742
1751
  }
1743
1752
  },
1753
+ "node_modules/maath": {
1754
+ "version": "0.10.8",
1755
+ "resolved": "https://registry.npmjs.org/maath/-/maath-0.10.8.tgz",
1756
+ "integrity": "sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==",
1757
+ "license": "MIT",
1758
+ "peerDependencies": {
1759
+ "@types/three": ">=0.134.0",
1760
+ "three": ">=0.134.0"
1761
+ }
1762
+ },
1744
1763
  "node_modules/meshline": {
1745
- "version": "3.3.0",
1764
+ "version": "3.3.1",
1765
+ "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.3.1.tgz",
1766
+ "integrity": "sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==",
1746
1767
  "license": "MIT",
1747
1768
  "peerDependencies": {
1748
1769
  "three": ">=0.137"
@@ -1850,10 +1871,14 @@
1850
1871
  },
1851
1872
  "node_modules/potpack": {
1852
1873
  "version": "1.0.2",
1874
+ "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz",
1875
+ "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==",
1853
1876
  "license": "ISC"
1854
1877
  },
1855
1878
  "node_modules/promise-worker-transferable": {
1856
1879
  "version": "1.0.4",
1880
+ "resolved": "https://registry.npmjs.org/promise-worker-transferable/-/promise-worker-transferable-1.0.4.tgz",
1881
+ "integrity": "sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==",
1857
1882
  "license": "Apache-2.0",
1858
1883
  "dependencies": {
1859
1884
  "is-promise": "^2.1.0",
@@ -1913,6 +1938,8 @@
1913
1938
  },
1914
1939
  "node_modules/react-reconciler": {
1915
1940
  "version": "0.27.0",
1941
+ "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz",
1942
+ "integrity": "sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==",
1916
1943
  "license": "MIT",
1917
1944
  "dependencies": {
1918
1945
  "loose-envify": "^1.1.0",
@@ -1935,22 +1962,24 @@
1935
1962
  }
1936
1963
  },
1937
1964
  "node_modules/react-use-measure": {
1938
- "version": "2.1.1",
1965
+ "version": "2.1.7",
1966
+ "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz",
1967
+ "integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==",
1939
1968
  "license": "MIT",
1940
- "dependencies": {
1941
- "debounce": "^1.2.1"
1942
- },
1943
1969
  "peerDependencies": {
1944
1970
  "react": ">=16.13",
1945
1971
  "react-dom": ">=16.13"
1972
+ },
1973
+ "peerDependenciesMeta": {
1974
+ "react-dom": {
1975
+ "optional": true
1976
+ }
1946
1977
  }
1947
1978
  },
1948
- "node_modules/regenerator-runtime": {
1949
- "version": "0.14.1",
1950
- "license": "MIT"
1951
- },
1952
1979
  "node_modules/require-from-string": {
1953
1980
  "version": "2.0.2",
1981
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
1982
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
1954
1983
  "license": "MIT",
1955
1984
  "engines": {
1956
1985
  "node": ">=0.10.0"
@@ -1991,6 +2020,8 @@
1991
2020
  },
1992
2021
  "node_modules/scheduler": {
1993
2022
  "version": "0.21.0",
2023
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz",
2024
+ "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==",
1994
2025
  "license": "MIT",
1995
2026
  "dependencies": {
1996
2027
  "loose-envify": "^1.1.0"
@@ -2031,29 +2062,6 @@
2031
2062
  "node": ">=0.10.0"
2032
2063
  }
2033
2064
  },
2034
- "node_modules/source-map-support": {
2035
- "version": "0.5.21",
2036
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
2037
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
2038
- "dev": true,
2039
- "optional": true,
2040
- "peer": true,
2041
- "dependencies": {
2042
- "buffer-from": "^1.0.0",
2043
- "source-map": "^0.6.0"
2044
- }
2045
- },
2046
- "node_modules/source-map-support/node_modules/source-map": {
2047
- "version": "0.6.1",
2048
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2049
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2050
- "dev": true,
2051
- "optional": true,
2052
- "peer": true,
2053
- "engines": {
2054
- "node": ">=0.10.0"
2055
- }
2056
- },
2057
2065
  "node_modules/stats-gl": {
2058
2066
  "version": "2.2.8",
2059
2067
  "license": "MIT",
@@ -2106,45 +2114,33 @@
2106
2114
  },
2107
2115
  "node_modules/suspend-react": {
2108
2116
  "version": "0.1.3",
2117
+ "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz",
2118
+ "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==",
2109
2119
  "license": "MIT",
2110
2120
  "peerDependencies": {
2111
2121
  "react": ">=17.0"
2112
2122
  }
2113
2123
  },
2114
- "node_modules/terser": {
2115
- "version": "5.31.0",
2116
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz",
2117
- "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==",
2118
- "dev": true,
2119
- "optional": true,
2120
- "peer": true,
2121
- "dependencies": {
2122
- "@jridgewell/source-map": "^0.3.3",
2123
- "acorn": "^8.8.2",
2124
- "commander": "^2.20.0",
2125
- "source-map-support": "~0.5.20"
2126
- },
2127
- "bin": {
2128
- "terser": "bin/terser"
2129
- },
2130
- "engines": {
2131
- "node": ">=10"
2132
- }
2133
- },
2134
- "node_modules/terser/node_modules/commander": {
2135
- "version": "2.20.3",
2136
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
2137
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
2138
- "dev": true,
2139
- "optional": true,
2140
- "peer": true
2141
- },
2142
2124
  "node_modules/three": {
2143
- "version": "0.162.0",
2125
+ "version": "0.184.0",
2126
+ "resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz",
2127
+ "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg==",
2144
2128
  "license": "MIT"
2145
2129
  },
2130
+ "node_modules/three-mesh-bvh": {
2131
+ "version": "0.7.8",
2132
+ "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.7.8.tgz",
2133
+ "integrity": "sha512-BGEZTOIC14U0XIRw3tO4jY7IjP7n7v24nv9JXS1CyeVRWOCkcOMhRnmENUjuV39gktAw4Ofhr0OvIAiTspQrrw==",
2134
+ "deprecated": "Deprecated due to three.js version incompatibility. Please use v0.8.0, instead.",
2135
+ "license": "MIT",
2136
+ "peerDependencies": {
2137
+ "three": ">= 0.151.0"
2138
+ }
2139
+ },
2146
2140
  "node_modules/three-stdlib": {
2147
- "version": "2.29.7",
2141
+ "version": "2.36.1",
2142
+ "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.36.1.tgz",
2143
+ "integrity": "sha512-XyGQrFmNQ5O/IoKm556ftwKsBg11TIb301MB5dWNicziQBEs2g3gtOYIf7pFiLa0zI2gUwhtCjv9fmjnxKZ1Cg==",
2148
2144
  "license": "MIT",
2149
2145
  "dependencies": {
2150
2146
  "@types/draco3d": "^1.4.0",
@@ -2168,12 +2164,14 @@
2168
2164
  }
2169
2165
  },
2170
2166
  "node_modules/troika-three-text": {
2171
- "version": "0.49.1",
2167
+ "version": "0.52.4",
2168
+ "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.52.4.tgz",
2169
+ "integrity": "sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==",
2172
2170
  "license": "MIT",
2173
2171
  "dependencies": {
2174
2172
  "bidi-js": "^1.0.2",
2175
- "troika-three-utils": "^0.49.0",
2176
- "troika-worker-utils": "^0.49.0",
2173
+ "troika-three-utils": "^0.52.4",
2174
+ "troika-worker-utils": "^0.52.0",
2177
2175
  "webgl-sdf-generator": "1.1.1"
2178
2176
  },
2179
2177
  "peerDependencies": {
@@ -2181,14 +2179,18 @@
2181
2179
  }
2182
2180
  },
2183
2181
  "node_modules/troika-three-utils": {
2184
- "version": "0.49.0",
2182
+ "version": "0.52.4",
2183
+ "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.52.4.tgz",
2184
+ "integrity": "sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==",
2185
2185
  "license": "MIT",
2186
2186
  "peerDependencies": {
2187
2187
  "three": ">=0.125.0"
2188
2188
  }
2189
2189
  },
2190
2190
  "node_modules/troika-worker-utils": {
2191
- "version": "0.49.0",
2191
+ "version": "0.52.0",
2192
+ "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.52.0.tgz",
2193
+ "integrity": "sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw==",
2192
2194
  "license": "MIT"
2193
2195
  },
2194
2196
  "node_modules/tunnel-rat": {
@@ -2236,14 +2238,6 @@
2236
2238
  "node": ">=4.2.0"
2237
2239
  }
2238
2240
  },
2239
- "node_modules/undici-types": {
2240
- "version": "5.26.5",
2241
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
2242
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
2243
- "dev": true,
2244
- "optional": true,
2245
- "peer": true
2246
- },
2247
2241
  "node_modules/universalify": {
2248
2242
  "version": "2.0.1",
2249
2243
  "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -2297,17 +2291,6 @@
2297
2291
  "node": ">= 4"
2298
2292
  }
2299
2293
  },
2300
- "node_modules/uuid": {
2301
- "version": "9.0.1",
2302
- "funding": [
2303
- "https://github.com/sponsors/broofa",
2304
- "https://github.com/sponsors/ctavan"
2305
- ],
2306
- "license": "MIT",
2307
- "bin": {
2308
- "uuid": "dist/bin/uuid"
2309
- }
2310
- },
2311
2294
  "node_modules/vite": {
2312
2295
  "version": "4.3.9",
2313
2296
  "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
@@ -2441,10 +2424,14 @@
2441
2424
  }
2442
2425
  },
2443
2426
  "node_modules/webgl-constants": {
2444
- "version": "1.1.1"
2427
+ "version": "1.1.1",
2428
+ "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz",
2429
+ "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg=="
2445
2430
  },
2446
2431
  "node_modules/webgl-sdf-generator": {
2447
2432
  "version": "1.1.1",
2433
+ "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz",
2434
+ "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==",
2448
2435
  "license": "MIT"
2449
2436
  },
2450
2437
  "node_modules/which": {
@@ -2467,17 +2454,31 @@
2467
2454
  "dev": true
2468
2455
  },
2469
2456
  "node_modules/zustand": {
2470
- "version": "3.7.2",
2457
+ "version": "5.0.14",
2458
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz",
2459
+ "integrity": "sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==",
2471
2460
  "license": "MIT",
2472
2461
  "engines": {
2473
- "node": ">=12.7.0"
2462
+ "node": ">=12.20.0"
2474
2463
  },
2475
2464
  "peerDependencies": {
2476
- "react": ">=16.8"
2465
+ "@types/react": ">=18.0.0",
2466
+ "immer": ">=9.0.6",
2467
+ "react": ">=18.0.0",
2468
+ "use-sync-external-store": ">=1.2.0"
2477
2469
  },
2478
2470
  "peerDependenciesMeta": {
2471
+ "@types/react": {
2472
+ "optional": true
2473
+ },
2474
+ "immer": {
2475
+ "optional": true
2476
+ },
2479
2477
  "react": {
2480
2478
  "optional": true
2479
+ },
2480
+ "use-sync-external-store": {
2481
+ "optional": true
2481
2482
  }
2482
2483
  }
2483
2484
  }
@@ -2734,10 +2735,9 @@
2734
2735
  }
2735
2736
  },
2736
2737
  "@babel/runtime": {
2737
- "version": "7.24.4",
2738
- "requires": {
2739
- "regenerator-runtime": "^0.14.0"
2740
- }
2738
+ "version": "7.29.7",
2739
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.7.tgz",
2740
+ "integrity": "sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw=="
2741
2741
  },
2742
2742
  "@babel/template": {
2743
2743
  "version": "7.24.6",
@@ -2779,6 +2779,11 @@
2779
2779
  "to-fast-properties": "^2.0.0"
2780
2780
  }
2781
2781
  },
2782
+ "@dimforge/rapier3d-compat": {
2783
+ "version": "0.12.0",
2784
+ "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz",
2785
+ "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow=="
2786
+ },
2782
2787
  "@esbuild/android-arm": {
2783
2788
  "version": "0.17.19",
2784
2789
  "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
@@ -2956,18 +2961,6 @@
2956
2961
  "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
2957
2962
  "dev": true
2958
2963
  },
2959
- "@jridgewell/source-map": {
2960
- "version": "0.3.6",
2961
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
2962
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
2963
- "dev": true,
2964
- "optional": true,
2965
- "peer": true,
2966
- "requires": {
2967
- "@jridgewell/gen-mapping": "^0.3.5",
2968
- "@jridgewell/trace-mapping": "^0.3.25"
2969
- }
2970
- },
2971
2964
  "@jridgewell/sourcemap-codec": {
2972
2965
  "version": "1.4.15",
2973
2966
  "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
@@ -2985,124 +2978,124 @@
2985
2978
  }
2986
2979
  },
2987
2980
  "@mediapipe/tasks-vision": {
2988
- "version": "0.10.8"
2981
+ "version": "0.10.17",
2982
+ "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz",
2983
+ "integrity": "sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg=="
2984
+ },
2985
+ "@monogrid/gainmap-js": {
2986
+ "version": "3.4.0",
2987
+ "resolved": "https://registry.npmjs.org/@monogrid/gainmap-js/-/gainmap-js-3.4.0.tgz",
2988
+ "integrity": "sha512-2Z0FATFHaoYJ8b+Y4y4Hgfn3FRFwuU5zRrk+9dFWp4uGAdHGqVEdP7HP+gLA3X469KXHmfupJaUbKo1b/aDKIg==",
2989
+ "requires": {
2990
+ "promise-worker-transferable": "^1.0.4"
2991
+ }
2989
2992
  },
2990
2993
  "@needle-tools/gltf-progressive": {
2991
2994
  "version": "file:../..",
2992
2995
  "requires": {
2996
+ "@needle-tools/engine": "^5.1.0-alpha.6",
2997
+ "@needle-tools/three-test-matrix": "^0.1.0",
2993
2998
  "@stylistic/eslint-plugin-ts": "^1.5.4",
2994
- "@types/three": "0.162.0",
2999
+ "@types/three": "0.183.1",
2995
3000
  "@typescript-eslint/eslint-plugin": "^6.2.0",
2996
3001
  "@typescript-eslint/parser": "^6.2.0",
3002
+ "@vitest/browser-playwright": "^4.1.8",
2997
3003
  "eslint": "^8.56.0",
2998
3004
  "eslint-plugin-import": "^2.29.1",
2999
3005
  "eslint-plugin-no-secrets": "^0.8.9",
3000
3006
  "eslint-plugin-no-unsanitized": "^4.0.2",
3001
3007
  "eslint-plugin-promise": "^6.1.1",
3002
3008
  "eslint-plugin-xss": "^0.1.12",
3009
+ "nodemon": "^3.1.4",
3010
+ "npm-watch": "^0.13.0",
3011
+ "playwright": "^1.60.0",
3003
3012
  "three": ">= 0.160.0",
3004
- "vite": "<= 4.3.9"
3013
+ "vite": "7",
3014
+ "vitest": "^4.1.8"
3005
3015
  }
3006
3016
  },
3007
3017
  "@react-spring/animated": {
3008
- "version": "9.6.1",
3018
+ "version": "9.7.5",
3019
+ "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.5.tgz",
3020
+ "integrity": "sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==",
3009
3021
  "requires": {
3010
- "@react-spring/shared": "~9.6.1",
3011
- "@react-spring/types": "~9.6.1"
3022
+ "@react-spring/shared": "~9.7.5",
3023
+ "@react-spring/types": "~9.7.5"
3012
3024
  }
3013
3025
  },
3014
3026
  "@react-spring/core": {
3015
- "version": "9.6.1",
3027
+ "version": "9.7.5",
3028
+ "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.5.tgz",
3029
+ "integrity": "sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w==",
3016
3030
  "requires": {
3017
- "@react-spring/animated": "~9.6.1",
3018
- "@react-spring/rafz": "~9.6.1",
3019
- "@react-spring/shared": "~9.6.1",
3020
- "@react-spring/types": "~9.6.1"
3031
+ "@react-spring/animated": "~9.7.5",
3032
+ "@react-spring/shared": "~9.7.5",
3033
+ "@react-spring/types": "~9.7.5"
3021
3034
  }
3022
3035
  },
3023
3036
  "@react-spring/rafz": {
3024
- "version": "9.6.1"
3037
+ "version": "9.7.5",
3038
+ "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.7.5.tgz",
3039
+ "integrity": "sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw=="
3025
3040
  },
3026
3041
  "@react-spring/shared": {
3027
- "version": "9.6.1",
3042
+ "version": "9.7.5",
3043
+ "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.5.tgz",
3044
+ "integrity": "sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw==",
3028
3045
  "requires": {
3029
- "@react-spring/rafz": "~9.6.1",
3030
- "@react-spring/types": "~9.6.1"
3046
+ "@react-spring/rafz": "~9.7.5",
3047
+ "@react-spring/types": "~9.7.5"
3031
3048
  }
3032
3049
  },
3033
3050
  "@react-spring/three": {
3034
- "version": "9.6.1",
3051
+ "version": "9.7.5",
3052
+ "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.7.5.tgz",
3053
+ "integrity": "sha512-RxIsCoQfUqOS3POmhVHa1wdWS0wyHAUway73uRLp3GAL5U2iYVNdnzQsep6M2NZ994BlW8TcKuMtQHUqOsy6WA==",
3035
3054
  "requires": {
3036
- "@react-spring/animated": "~9.6.1",
3037
- "@react-spring/core": "~9.6.1",
3038
- "@react-spring/shared": "~9.6.1",
3039
- "@react-spring/types": "~9.6.1"
3055
+ "@react-spring/animated": "~9.7.5",
3056
+ "@react-spring/core": "~9.7.5",
3057
+ "@react-spring/shared": "~9.7.5",
3058
+ "@react-spring/types": "~9.7.5"
3040
3059
  }
3041
3060
  },
3042
3061
  "@react-spring/types": {
3043
- "version": "9.6.1"
3062
+ "version": "9.7.5",
3063
+ "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.5.tgz",
3064
+ "integrity": "sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g=="
3044
3065
  },
3045
3066
  "@react-three/drei": {
3046
- "version": "9.105.4",
3047
- "requires": {
3048
- "@babel/runtime": "^7.11.2",
3049
- "@mediapipe/tasks-vision": "0.10.8",
3050
- "@monogrid/gainmap-js": "^3.0.5",
3051
- "@react-spring/three": "~9.6.1",
3052
- "@use-gesture/react": "^10.2.24",
3053
- "camera-controls": "^2.4.2",
3067
+ "version": "9.122.0",
3068
+ "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.122.0.tgz",
3069
+ "integrity": "sha512-SEO/F/rBCTjlLez7WAlpys+iGe9hty4rNgjZvgkQeXFSiwqD4Hbk/wNHMAbdd8vprO2Aj81mihv4dF5bC7D0CA==",
3070
+ "requires": {
3071
+ "@babel/runtime": "^7.26.0",
3072
+ "@mediapipe/tasks-vision": "0.10.17",
3073
+ "@monogrid/gainmap-js": "^3.0.6",
3074
+ "@react-spring/three": "~9.7.5",
3075
+ "@use-gesture/react": "^10.3.1",
3076
+ "camera-controls": "^2.9.0",
3054
3077
  "cross-env": "^7.0.3",
3055
- "detect-gpu": "^5.0.28",
3078
+ "detect-gpu": "^5.0.56",
3056
3079
  "glsl-noise": "^0.0.0",
3057
- "hls.js": "1.3.5",
3058
- "maath": "^0.10.7",
3059
- "meshline": "^3.1.6",
3080
+ "hls.js": "^1.5.17",
3081
+ "maath": "^0.10.8",
3082
+ "meshline": "^3.3.1",
3060
3083
  "react-composer": "^5.0.3",
3061
- "stats-gl": "^2.0.0",
3084
+ "stats-gl": "^2.2.8",
3062
3085
  "stats.js": "^0.17.0",
3063
3086
  "suspend-react": "^0.1.3",
3064
- "three-mesh-bvh": "^0.7.0",
3065
- "three-stdlib": "^2.29.4",
3066
- "troika-three-text": "^0.49.0",
3087
+ "three-mesh-bvh": "^0.7.8",
3088
+ "three-stdlib": "^2.35.6",
3089
+ "troika-three-text": "^0.52.0",
3067
3090
  "tunnel-rat": "^0.1.2",
3068
- "utility-types": "^3.10.0",
3069
- "uuid": "^9.0.1",
3070
- "zustand": "^3.7.1"
3071
- },
3072
- "dependencies": {
3073
- "@monogrid/gainmap-js": {
3074
- "version": "3.0.5",
3075
- "requires": {
3076
- "promise-worker-transferable": "^1.0.4"
3077
- }
3078
- },
3079
- "@types/three": {
3080
- "version": "0.164.0",
3081
- "peer": true,
3082
- "requires": {
3083
- "@tweenjs/tween.js": "~23.1.1",
3084
- "@types/stats.js": "*",
3085
- "@types/webxr": "*",
3086
- "fflate": "~0.8.2",
3087
- "meshoptimizer": "~0.18.1"
3088
- }
3089
- },
3090
- "fflate": {
3091
- "version": "0.8.2",
3092
- "peer": true
3093
- },
3094
- "maath": {
3095
- "version": "0.10.7",
3096
- "requires": {}
3097
- },
3098
- "three-mesh-bvh": {
3099
- "version": "0.7.4",
3100
- "requires": {}
3101
- }
3091
+ "utility-types": "^3.11.0",
3092
+ "zustand": "^5.0.1"
3102
3093
  }
3103
3094
  },
3104
3095
  "@react-three/fiber": {
3105
- "version": "8.16.2",
3096
+ "version": "8.18.0",
3097
+ "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-8.18.0.tgz",
3098
+ "integrity": "sha512-FYZZqD0UUHUswKz3LQl2Z7H24AhD14XGTsIRw3SJaXUxyfVMi+1yiZGmqTcPt/CkPpdU7rrxqcyQ1zJE5DjvIQ==",
3106
3099
  "requires": {
3107
3100
  "@babel/runtime": "^7.17.8",
3108
3101
  "@types/react-reconciler": "^0.26.7",
@@ -3111,10 +3104,18 @@
3111
3104
  "buffer": "^6.0.3",
3112
3105
  "its-fine": "^1.0.6",
3113
3106
  "react-reconciler": "^0.27.0",
3114
- "react-use-measure": "^2.1.1",
3107
+ "react-use-measure": "^2.1.7",
3115
3108
  "scheduler": "^0.21.0",
3116
3109
  "suspend-react": "^0.1.3",
3117
3110
  "zustand": "^3.7.1"
3111
+ },
3112
+ "dependencies": {
3113
+ "zustand": {
3114
+ "version": "3.7.2",
3115
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz",
3116
+ "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==",
3117
+ "requires": {}
3118
+ }
3118
3119
  }
3119
3120
  },
3120
3121
  "@rollup/pluginutils": {
@@ -3128,24 +3129,19 @@
3128
3129
  }
3129
3130
  },
3130
3131
  "@tweenjs/tween.js": {
3131
- "version": "23.1.1"
3132
+ "version": "23.1.3",
3133
+ "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
3134
+ "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA=="
3132
3135
  },
3133
3136
  "@types/draco3d": {
3134
- "version": "1.4.9"
3135
- },
3136
- "@types/node": {
3137
- "version": "20.12.13",
3138
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz",
3139
- "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==",
3140
- "dev": true,
3141
- "optional": true,
3142
- "peer": true,
3143
- "requires": {
3144
- "undici-types": "~5.26.4"
3145
- }
3137
+ "version": "1.4.10",
3138
+ "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.10.tgz",
3139
+ "integrity": "sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw=="
3146
3140
  },
3147
3141
  "@types/offscreencanvas": {
3148
- "version": "2019.7.3"
3142
+ "version": "2019.7.3",
3143
+ "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz",
3144
+ "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A=="
3149
3145
  },
3150
3146
  "@types/prop-types": {
3151
3147
  "version": "15.7.12"
@@ -3169,6 +3165,8 @@
3169
3165
  },
3170
3166
  "@types/react-reconciler": {
3171
3167
  "version": "0.26.7",
3168
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz",
3169
+ "integrity": "sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==",
3172
3170
  "requires": {
3173
3171
  "@types/react": "*"
3174
3172
  }
@@ -3182,18 +3180,34 @@
3182
3180
  "version": "0.17.3"
3183
3181
  },
3184
3182
  "@types/three": {
3185
- "version": "0.162.0",
3186
- "dev": true,
3183
+ "version": "0.184.0",
3184
+ "resolved": "https://registry.npmjs.org/@types/three/-/three-0.184.0.tgz",
3185
+ "integrity": "sha512-4mY2tZAu0y0B0567w7013BBXSpsP0+Z48NJvmNo4Y/Pf76yCyz6Jw4P3tUVs10WuYNXXZ+wmHyGWpCek3amJxA==",
3187
3186
  "requires": {
3188
- "@tweenjs/tween.js": "~23.1.1",
3187
+ "@dimforge/rapier3d-compat": "~0.12.0",
3188
+ "@tweenjs/tween.js": "~23.1.3",
3189
3189
  "@types/stats.js": "*",
3190
- "@types/webxr": "*",
3191
- "fflate": "~0.6.10",
3192
- "meshoptimizer": "~0.18.1"
3190
+ "@types/webxr": ">=0.5.17",
3191
+ "fflate": "~0.8.2",
3192
+ "meshoptimizer": "~1.1.1"
3193
+ },
3194
+ "dependencies": {
3195
+ "fflate": {
3196
+ "version": "0.8.3",
3197
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz",
3198
+ "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA=="
3199
+ },
3200
+ "meshoptimizer": {
3201
+ "version": "1.1.1",
3202
+ "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-1.1.1.tgz",
3203
+ "integrity": "sha512-oRFNWJRDA/WTrVj7NWvqa5HqE1t9MYDj2VaWirQCzCCrAd2GHrqR/sQezCxiWATPNlKTcRaPRHPJwIRoPBAp5g=="
3204
+ }
3193
3205
  }
3194
3206
  },
3195
3207
  "@types/webxr": {
3196
- "version": "0.5.15"
3208
+ "version": "0.5.24",
3209
+ "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz",
3210
+ "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg=="
3197
3211
  },
3198
3212
  "@use-gesture/core": {
3199
3213
  "version": "10.3.1"
@@ -3227,14 +3241,6 @@
3227
3241
  "resolve": "^1.22.0"
3228
3242
  }
3229
3243
  },
3230
- "acorn": {
3231
- "version": "8.11.3",
3232
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
3233
- "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
3234
- "dev": true,
3235
- "optional": true,
3236
- "peer": true
3237
- },
3238
3244
  "ansi-styles": {
3239
3245
  "version": "3.2.1",
3240
3246
  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -3245,10 +3251,14 @@
3245
3251
  }
3246
3252
  },
3247
3253
  "base64-js": {
3248
- "version": "1.5.1"
3254
+ "version": "1.5.1",
3255
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
3256
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
3249
3257
  },
3250
3258
  "bidi-js": {
3251
3259
  "version": "1.0.3",
3260
+ "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
3261
+ "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
3252
3262
  "requires": {
3253
3263
  "require-from-string": "^2.0.2"
3254
3264
  }
@@ -3267,21 +3277,17 @@
3267
3277
  },
3268
3278
  "buffer": {
3269
3279
  "version": "6.0.3",
3280
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
3281
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
3270
3282
  "requires": {
3271
3283
  "base64-js": "^1.3.1",
3272
3284
  "ieee754": "^1.2.1"
3273
3285
  }
3274
3286
  },
3275
- "buffer-from": {
3276
- "version": "1.1.2",
3277
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
3278
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
3279
- "dev": true,
3280
- "optional": true,
3281
- "peer": true
3282
- },
3283
3287
  "camera-controls": {
3284
- "version": "2.8.3",
3288
+ "version": "2.10.1",
3289
+ "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.10.1.tgz",
3290
+ "integrity": "sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==",
3285
3291
  "requires": {}
3286
3292
  },
3287
3293
  "caniuse-lite": {
@@ -3339,9 +3345,6 @@
3339
3345
  "csstype": {
3340
3346
  "version": "3.1.3"
3341
3347
  },
3342
- "debounce": {
3343
- "version": "1.2.1"
3344
- },
3345
3348
  "debug": {
3346
3349
  "version": "4.3.4",
3347
3350
  "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -3352,13 +3355,17 @@
3352
3355
  }
3353
3356
  },
3354
3357
  "detect-gpu": {
3355
- "version": "5.0.38",
3358
+ "version": "5.0.70",
3359
+ "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.70.tgz",
3360
+ "integrity": "sha512-bqerEP1Ese6nt3rFkwPnGbsUF9a4q+gMmpTVVOEzoCyeCc+y7/RvJnQZJx1JwhgQI5Ntg0Kgat8Uu7XpBqnz1w==",
3356
3361
  "requires": {
3357
3362
  "webgl-constants": "^1.1.1"
3358
3363
  }
3359
3364
  },
3360
3365
  "draco3d": {
3361
- "version": "1.5.7"
3366
+ "version": "1.5.7",
3367
+ "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz",
3368
+ "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ=="
3362
3369
  },
3363
3370
  "electron-to-chromium": {
3364
3371
  "version": "1.4.750",
@@ -3415,7 +3422,9 @@
3415
3422
  "dev": true
3416
3423
  },
3417
3424
  "fflate": {
3418
- "version": "0.6.10"
3425
+ "version": "0.6.10",
3426
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz",
3427
+ "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg=="
3419
3428
  },
3420
3429
  "fs-extra": {
3421
3430
  "version": "10.1.0",
@@ -3478,18 +3487,19 @@
3478
3487
  }
3479
3488
  },
3480
3489
  "hls.js": {
3481
- "version": "1.3.5"
3490
+ "version": "1.6.16",
3491
+ "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.16.tgz",
3492
+ "integrity": "sha512-VSIRpLfRwlAAdGL4wiTucx2ScRipo0ed1FBatWkyt832jC4CReKstga6yIhYVwGu9LOBjuX9wzmRMeQdBJtzEA=="
3482
3493
  },
3483
3494
  "ieee754": {
3484
- "version": "1.2.1"
3495
+ "version": "1.2.1",
3496
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
3497
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
3485
3498
  },
3486
3499
  "immediate": {
3487
- "version": "3.0.6"
3488
- },
3489
- "immer": {
3490
- "version": "9.0.21",
3491
- "optional": true,
3492
- "peer": true
3500
+ "version": "3.0.6",
3501
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
3502
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ=="
3493
3503
  },
3494
3504
  "is-core-module": {
3495
3505
  "version": "2.13.1",
@@ -3501,22 +3511,26 @@
3501
3511
  }
3502
3512
  },
3503
3513
  "is-promise": {
3504
- "version": "2.2.2"
3514
+ "version": "2.2.2",
3515
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
3516
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
3505
3517
  },
3506
3518
  "isexe": {
3507
3519
  "version": "2.0.0"
3508
3520
  },
3509
3521
  "its-fine": {
3510
3522
  "version": "1.2.5",
3523
+ "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-1.2.5.tgz",
3524
+ "integrity": "sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==",
3511
3525
  "requires": {
3512
3526
  "@types/react-reconciler": "^0.28.0"
3513
3527
  },
3514
3528
  "dependencies": {
3515
3529
  "@types/react-reconciler": {
3516
- "version": "0.28.8",
3517
- "requires": {
3518
- "@types/react": "*"
3519
- }
3530
+ "version": "0.28.9",
3531
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz",
3532
+ "integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==",
3533
+ "requires": {}
3520
3534
  }
3521
3535
  }
3522
3536
  },
@@ -3547,6 +3561,8 @@
3547
3561
  },
3548
3562
  "lie": {
3549
3563
  "version": "3.3.0",
3564
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
3565
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
3550
3566
  "requires": {
3551
3567
  "immediate": "~3.0.5"
3552
3568
  }
@@ -3566,8 +3582,16 @@
3566
3582
  "yallist": "^3.0.2"
3567
3583
  }
3568
3584
  },
3585
+ "maath": {
3586
+ "version": "0.10.8",
3587
+ "resolved": "https://registry.npmjs.org/maath/-/maath-0.10.8.tgz",
3588
+ "integrity": "sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==",
3589
+ "requires": {}
3590
+ },
3569
3591
  "meshline": {
3570
- "version": "3.3.0",
3592
+ "version": "3.3.1",
3593
+ "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.3.1.tgz",
3594
+ "integrity": "sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==",
3571
3595
  "requires": {}
3572
3596
  },
3573
3597
  "meshoptimizer": {
@@ -3627,10 +3651,14 @@
3627
3651
  }
3628
3652
  },
3629
3653
  "potpack": {
3630
- "version": "1.0.2"
3654
+ "version": "1.0.2",
3655
+ "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz",
3656
+ "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ=="
3631
3657
  },
3632
3658
  "promise-worker-transferable": {
3633
3659
  "version": "1.0.4",
3660
+ "resolved": "https://registry.npmjs.org/promise-worker-transferable/-/promise-worker-transferable-1.0.4.tgz",
3661
+ "integrity": "sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==",
3634
3662
  "requires": {
3635
3663
  "is-promise": "^2.1.0",
3636
3664
  "lie": "^3.0.2"
@@ -3676,6 +3704,8 @@
3676
3704
  },
3677
3705
  "react-reconciler": {
3678
3706
  "version": "0.27.0",
3707
+ "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz",
3708
+ "integrity": "sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==",
3679
3709
  "requires": {
3680
3710
  "loose-envify": "^1.1.0",
3681
3711
  "scheduler": "^0.21.0"
@@ -3688,16 +3718,15 @@
3688
3718
  "dev": true
3689
3719
  },
3690
3720
  "react-use-measure": {
3691
- "version": "2.1.1",
3692
- "requires": {
3693
- "debounce": "^1.2.1"
3694
- }
3695
- },
3696
- "regenerator-runtime": {
3697
- "version": "0.14.1"
3721
+ "version": "2.1.7",
3722
+ "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz",
3723
+ "integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==",
3724
+ "requires": {}
3698
3725
  },
3699
3726
  "require-from-string": {
3700
- "version": "2.0.2"
3727
+ "version": "2.0.2",
3728
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
3729
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
3701
3730
  },
3702
3731
  "resolve": {
3703
3732
  "version": "1.22.8",
@@ -3721,6 +3750,8 @@
3721
3750
  },
3722
3751
  "scheduler": {
3723
3752
  "version": "0.21.0",
3753
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz",
3754
+ "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==",
3724
3755
  "requires": {
3725
3756
  "loose-envify": "^1.1.0"
3726
3757
  }
@@ -3746,28 +3777,6 @@
3746
3777
  "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
3747
3778
  "dev": true
3748
3779
  },
3749
- "source-map-support": {
3750
- "version": "0.5.21",
3751
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
3752
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
3753
- "dev": true,
3754
- "optional": true,
3755
- "peer": true,
3756
- "requires": {
3757
- "buffer-from": "^1.0.0",
3758
- "source-map": "^0.6.0"
3759
- },
3760
- "dependencies": {
3761
- "source-map": {
3762
- "version": "0.6.1",
3763
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
3764
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
3765
- "dev": true,
3766
- "optional": true,
3767
- "peer": true
3768
- }
3769
- }
3770
- },
3771
3780
  "stats-gl": {
3772
3781
  "version": "2.2.8",
3773
3782
  "requires": {
@@ -3809,37 +3818,25 @@
3809
3818
  },
3810
3819
  "suspend-react": {
3811
3820
  "version": "0.1.3",
3821
+ "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz",
3822
+ "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==",
3812
3823
  "requires": {}
3813
3824
  },
3814
- "terser": {
3815
- "version": "5.31.0",
3816
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz",
3817
- "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==",
3818
- "dev": true,
3819
- "optional": true,
3820
- "peer": true,
3821
- "requires": {
3822
- "@jridgewell/source-map": "^0.3.3",
3823
- "acorn": "^8.8.2",
3824
- "commander": "^2.20.0",
3825
- "source-map-support": "~0.5.20"
3826
- },
3827
- "dependencies": {
3828
- "commander": {
3829
- "version": "2.20.3",
3830
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
3831
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
3832
- "dev": true,
3833
- "optional": true,
3834
- "peer": true
3835
- }
3836
- }
3837
- },
3838
3825
  "three": {
3839
- "version": "0.162.0"
3826
+ "version": "0.184.0",
3827
+ "resolved": "https://registry.npmjs.org/three/-/three-0.184.0.tgz",
3828
+ "integrity": "sha512-wtTRjG92pM5eUg/KuUnHsqSAlPM296brTOcLgMRqEeylYTh/CdtvKUvCyyCQTzFuStieWxvZb8mVTMvdPyUpxg=="
3829
+ },
3830
+ "three-mesh-bvh": {
3831
+ "version": "0.7.8",
3832
+ "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.7.8.tgz",
3833
+ "integrity": "sha512-BGEZTOIC14U0XIRw3tO4jY7IjP7n7v24nv9JXS1CyeVRWOCkcOMhRnmENUjuV39gktAw4Ofhr0OvIAiTspQrrw==",
3834
+ "requires": {}
3840
3835
  },
3841
3836
  "three-stdlib": {
3842
- "version": "2.29.7",
3837
+ "version": "2.36.1",
3838
+ "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.36.1.tgz",
3839
+ "integrity": "sha512-XyGQrFmNQ5O/IoKm556ftwKsBg11TIb301MB5dWNicziQBEs2g3gtOYIf7pFiLa0zI2gUwhtCjv9fmjnxKZ1Cg==",
3843
3840
  "requires": {
3844
3841
  "@types/draco3d": "^1.4.0",
3845
3842
  "@types/offscreencanvas": "^2019.6.4",
@@ -3856,20 +3853,26 @@
3856
3853
  "dev": true
3857
3854
  },
3858
3855
  "troika-three-text": {
3859
- "version": "0.49.1",
3856
+ "version": "0.52.4",
3857
+ "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.52.4.tgz",
3858
+ "integrity": "sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==",
3860
3859
  "requires": {
3861
3860
  "bidi-js": "^1.0.2",
3862
- "troika-three-utils": "^0.49.0",
3863
- "troika-worker-utils": "^0.49.0",
3861
+ "troika-three-utils": "^0.52.4",
3862
+ "troika-worker-utils": "^0.52.0",
3864
3863
  "webgl-sdf-generator": "1.1.1"
3865
3864
  }
3866
3865
  },
3867
3866
  "troika-three-utils": {
3868
- "version": "0.49.0",
3867
+ "version": "0.52.4",
3868
+ "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.52.4.tgz",
3869
+ "integrity": "sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==",
3869
3870
  "requires": {}
3870
3871
  },
3871
3872
  "troika-worker-utils": {
3872
- "version": "0.49.0"
3873
+ "version": "0.52.0",
3874
+ "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.52.0.tgz",
3875
+ "integrity": "sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw=="
3873
3876
  },
3874
3877
  "tunnel-rat": {
3875
3878
  "version": "0.1.2",
@@ -3889,14 +3892,6 @@
3889
3892
  "version": "4.1.3",
3890
3893
  "dev": true
3891
3894
  },
3892
- "undici-types": {
3893
- "version": "5.26.5",
3894
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
3895
- "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
3896
- "dev": true,
3897
- "optional": true,
3898
- "peer": true
3899
- },
3900
3895
  "universalify": {
3901
3896
  "version": "2.0.1",
3902
3897
  "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
@@ -3920,9 +3915,6 @@
3920
3915
  "utility-types": {
3921
3916
  "version": "3.11.0"
3922
3917
  },
3923
- "uuid": {
3924
- "version": "9.0.1"
3925
- },
3926
3918
  "vite": {
3927
3919
  "version": "4.3.9",
3928
3920
  "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
@@ -3998,10 +3990,14 @@
3998
3990
  }
3999
3991
  },
4000
3992
  "webgl-constants": {
4001
- "version": "1.1.1"
3993
+ "version": "1.1.1",
3994
+ "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz",
3995
+ "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg=="
4002
3996
  },
4003
3997
  "webgl-sdf-generator": {
4004
- "version": "1.1.1"
3998
+ "version": "1.1.1",
3999
+ "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz",
4000
+ "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA=="
4005
4001
  },
4006
4002
  "which": {
4007
4003
  "version": "2.0.2",
@@ -4016,7 +4012,9 @@
4016
4012
  "dev": true
4017
4013
  },
4018
4014
  "zustand": {
4019
- "version": "3.7.2",
4015
+ "version": "5.0.14",
4016
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.14.tgz",
4017
+ "integrity": "sha512-/8tAspM5LMPr28b3fwLYrtdj77ECpfZviaP75CMTnwO8ISyaE4GDIG/9rDDYq/cH9D2Xw2A2RXglLInmVBQB/g==",
4020
4018
  "requires": {}
4021
4019
  }
4022
4020
  }