IrvineHacks 2024
January 26–28
diff --git a/apps/site/src/app/globals.css b/apps/site/src/app/globals.css
index 3085ae67..9688e973 100644
--- a/apps/site/src/app/globals.css
+++ b/apps/site/src/app/globals.css
@@ -8,10 +8,12 @@
:root {
--color-cream: #fffce2;
--color-brown: #432810;
+ --color-dark-blue: #090c31;
}
body {
color: var(--color-cream);
+ background-color: var(--color-dark-blue);
}
h1 {
diff --git a/apps/site/src/app/layout.tsx b/apps/site/src/app/layout.tsx
index c147e35d..cfe315b5 100644
--- a/apps/site/src/app/layout.tsx
+++ b/apps/site/src/app/layout.tsx
@@ -1,6 +1,8 @@
import type { Metadata } from "next";
import "./globals.css";
+import { Layout } from "@/components/dom/Layout";
+
export const metadata: Metadata = {
title: "IrvineHacks 2024",
description:
@@ -14,7 +16,10 @@ export default function RootLayout({
}) {
return (
- {children}
+
+ {/* reference: https://github.com/pmndrs/react-three-next */}
+
{children}
+
);
}
diff --git a/apps/site/src/components/canvas/Scene.tsx b/apps/site/src/components/canvas/Scene.tsx
new file mode 100644
index 00000000..a9787eac
--- /dev/null
+++ b/apps/site/src/components/canvas/Scene.tsx
@@ -0,0 +1,17 @@
+"use client";
+
+import { Canvas } from "@react-three/fiber";
+import { Preload } from "@react-three/drei";
+import { r3f } from "@/helpers/global";
+
+export default function Scene({ ...props }) {
+ // Everything defined in here will persist between route changes, only children are swapped
+ return (
+
+ );
+}
diff --git a/apps/site/src/components/canvas/View.tsx b/apps/site/src/components/canvas/View.tsx
new file mode 100644
index 00000000..84b69dd2
--- /dev/null
+++ b/apps/site/src/components/canvas/View.tsx
@@ -0,0 +1,28 @@
+"use client";
+
+import { forwardRef, useImperativeHandle, useRef } from "react";
+import { OrbitControls, View as ViewImpl } from "@react-three/drei";
+import { Three } from "@/helpers/components/Three";
+
+const View = forwardRef(({ children, orbit, ...props }: any, ref) => {
+ const localRef = useRef
();
+ useImperativeHandle(ref, () => localRef.current);
+
+ return (
+ <>
+
+ {/* Sends View component thru tunnel to render on global Canvas in Scene.tsx */}
+
+ {/* View component to render 3D view in a div (uses gl.scissor to cut viewport into segments) */}
+
+ {children}
+ {/* drag controls to control camera in View*/}
+ {orbit && }
+
+
+ >
+ );
+});
+View.displayName = "View";
+
+export { View };
diff --git a/apps/site/src/components/dom/Layout.tsx b/apps/site/src/components/dom/Layout.tsx
new file mode 100644
index 00000000..bdbc5100
--- /dev/null
+++ b/apps/site/src/components/dom/Layout.tsx
@@ -0,0 +1,40 @@
+"use client";
+
+import { ReactNode, useRef } from "react";
+import Scene from "@/components/canvas/Scene";
+
+const Layout = ({ children }: { children: ReactNode }) => {
+ const ref = useRef(null);
+
+ return (
+
+ {children}
+ {/* Canvas wrapper component defined as a child
+ to allow for compatibilty as a client component in layout.tsx
+ */}
+
+
+ );
+};
+
+export { Layout };
diff --git a/apps/site/src/helpers/components/Three.tsx b/apps/site/src/helpers/components/Three.tsx
new file mode 100644
index 00000000..b466247b
--- /dev/null
+++ b/apps/site/src/helpers/components/Three.tsx
@@ -0,0 +1,9 @@
+"use client";
+
+import { r3f } from "@/helpers/global";
+import { ReactNode } from "react";
+
+export const Three = ({ children }: { children: ReactNode }) => {
+ // tunnel entrance
+ return {children};
+};
diff --git a/apps/site/src/helpers/global.ts b/apps/site/src/helpers/global.ts
new file mode 100644
index 00000000..a5e80501
--- /dev/null
+++ b/apps/site/src/helpers/global.ts
@@ -0,0 +1,8 @@
+import tunnel from "tunnel-rat";
+// allows you to define components in one place in the virtual DOM
+// and have it appear in another place in the browser on a separate render
+// (normally not possible with HTML elements)
+
+// r3f.out - renders anything defined within r3f.in components
+// r3f.in - wraps any components we want to send thru the tunnel somewhere else
+export const r3f = tunnel();
diff --git a/apps/site/turbo.json b/apps/site/turbo.json
new file mode 100644
index 00000000..cb73f114
--- /dev/null
+++ b/apps/site/turbo.json
@@ -0,0 +1,14 @@
+{
+ "extends": [
+ "//"
+ ],
+ "pipeline": {
+ "build": {
+ "outputs": [
+ ".vercel/**",
+ ".next/**",
+ "!.next/cache/**"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a2d6cbd9..4b5a28d7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -19,7 +19,7 @@ importers:
version: link:packages/tsconfig
turbo:
specifier: latest
- version: 1.10.16
+ version: 1.10.12
apps/sanity:
dependencies:
@@ -78,6 +78,15 @@ importers:
'@radix-ui/react-toast':
specifier: ^1.1.5
version: 1.1.5(@types/react-dom@18.2.3)(@types/react@18.2.5)(react-dom@18.2.0)(react@18.2.0)
+ '@react-three/drei':
+ specifier: ^9.88.11
+ version: 9.88.11(@react-three/fiber@8.15.10)(@types/three@0.158.1)(react-dom@18.2.0)(react@18.2.0)(three@0.158.0)
+ '@react-three/fiber':
+ specifier: ^8.15.10
+ version: 8.15.10(react-dom@18.2.0)(react@18.2.0)(three@0.158.0)
+ '@types/three':
+ specifier: ^0.158.1
+ version: 0.158.1
clsx:
specifier: ^2.0.0
version: 2.0.0
@@ -93,6 +102,12 @@ importers:
react-dom:
specifier: ^18
version: 18.2.0(react@18.2.0)
+ three:
+ specifier: ^0.158.0
+ version: 0.158.0
+ tunnel-rat:
+ specifier: ^0.1.2
+ version: 0.1.2(@types/react@18.2.5)(react@18.2.0)
devDependencies:
'@types/node':
specifier: ^20
@@ -2344,6 +2359,10 @@ packages:
'@lezer/common': 1.1.1
dev: false
+ /@mediapipe/tasks-vision@0.10.2:
+ resolution: {integrity: sha512-d8Q9uRK89ZRWmED2JLI9/blpJcfdbh0iEUuMo8TgkMzNfQBY1/GC0FEJWrairTwHkxIf6Oud1vFBP+aHicWqJA==}
+ dev: false
+
/@microsoft/tsdoc-config@0.16.2:
resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
dependencies:
@@ -3176,6 +3195,146 @@ packages:
'@babel/runtime': 7.21.5
dev: false
+ /@react-spring/animated@9.6.1(react@18.2.0):
+ resolution: {integrity: sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@react-spring/shared': 9.6.1(react@18.2.0)
+ '@react-spring/types': 9.6.1
+ react: 18.2.0
+ dev: false
+
+ /@react-spring/core@9.6.1(react@18.2.0):
+ resolution: {integrity: sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@react-spring/animated': 9.6.1(react@18.2.0)
+ '@react-spring/rafz': 9.6.1
+ '@react-spring/shared': 9.6.1(react@18.2.0)
+ '@react-spring/types': 9.6.1
+ react: 18.2.0
+ dev: false
+
+ /@react-spring/rafz@9.6.1:
+ resolution: {integrity: sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==}
+ dev: false
+
+ /@react-spring/shared@9.6.1(react@18.2.0):
+ resolution: {integrity: sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ '@react-spring/rafz': 9.6.1
+ '@react-spring/types': 9.6.1
+ react: 18.2.0
+ dev: false
+
+ /@react-spring/three@9.6.1(@react-three/fiber@8.15.10)(react@18.2.0)(three@0.158.0):
+ resolution: {integrity: sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==}
+ peerDependencies:
+ '@react-three/fiber': '>=6.0'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ three: '>=0.126'
+ dependencies:
+ '@react-spring/animated': 9.6.1(react@18.2.0)
+ '@react-spring/core': 9.6.1(react@18.2.0)
+ '@react-spring/shared': 9.6.1(react@18.2.0)
+ '@react-spring/types': 9.6.1
+ '@react-three/fiber': 8.15.10(react-dom@18.2.0)(react@18.2.0)(three@0.158.0)
+ react: 18.2.0
+ three: 0.158.0
+ dev: false
+
+ /@react-spring/types@9.6.1:
+ resolution: {integrity: sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==}
+ dev: false
+
+ /@react-three/drei@9.88.11(@react-three/fiber@8.15.10)(@types/three@0.158.1)(react-dom@18.2.0)(react@18.2.0)(three@0.158.0):
+ resolution: {integrity: sha512-BEK8t/B0yf4E4iHZ84iD7wAFEazE4gPu2Kywo3UroMAaYg3rA7rOmQh0GOvhTV2+g5/AqS4KJcwOFVnlvBrS5Q==}
+ peerDependencies:
+ '@react-three/fiber': '>=8.0'
+ react: '>=18.0'
+ react-dom: '>=18.0'
+ three: '>=0.137'
+ peerDependenciesMeta:
+ react-dom:
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.21.5
+ '@mediapipe/tasks-vision': 0.10.2
+ '@react-spring/three': 9.6.1(@react-three/fiber@8.15.10)(react@18.2.0)(three@0.158.0)
+ '@react-three/fiber': 8.15.10(react-dom@18.2.0)(react@18.2.0)(three@0.158.0)
+ '@use-gesture/react': 10.3.0(react@18.2.0)
+ camera-controls: 2.7.3(three@0.158.0)
+ cross-env: 7.0.3
+ detect-gpu: 5.0.37
+ glsl-noise: 0.0.0
+ lodash.clamp: 4.0.3
+ lodash.omit: 4.5.0
+ lodash.pick: 4.4.0
+ maath: 0.9.0(@types/three@0.158.1)(three@0.158.0)
+ meshline: 3.1.7(three@0.158.0)
+ react: 18.2.0
+ react-composer: 5.0.3(react@18.2.0)
+ react-dom: 18.2.0(react@18.2.0)
+ react-merge-refs: 1.1.0
+ stats-gl: 1.0.5
+ stats.js: 0.17.0
+ suspend-react: 0.1.3(react@18.2.0)
+ three: 0.158.0
+ three-mesh-bvh: 0.6.8(three@0.158.0)
+ three-stdlib: 2.28.5(three@0.158.0)
+ troika-three-text: 0.47.2(three@0.158.0)
+ utility-types: 3.10.0
+ uuid: 9.0.1
+ zustand: 3.7.2(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/three'
+ dev: false
+
+ /@react-three/fiber@8.15.10(react-dom@18.2.0)(react@18.2.0)(three@0.158.0):
+ resolution: {integrity: sha512-mFTq3OvZfMh0+n6ttM9JidOF1U+e5KcBARqQHDlBdz+IadekQ6fY421wEnCyZ3vDqAE2CohWTSUdXeytSZxXwg==}
+ peerDependencies:
+ expo: '>=43.0'
+ expo-asset: '>=8.4'
+ expo-file-system: '>=11.0'
+ expo-gl: '>=11.0'
+ react: '>=18.0'
+ react-dom: '>=18.0'
+ react-native: '>=0.64'
+ three: '>=0.133'
+ peerDependenciesMeta:
+ expo:
+ optional: true
+ expo-asset:
+ optional: true
+ expo-file-system:
+ optional: true
+ expo-gl:
+ optional: true
+ react-dom:
+ optional: true
+ react-native:
+ optional: true
+ dependencies:
+ '@babel/runtime': 7.21.5
+ '@types/react-reconciler': 0.26.7
+ '@types/webxr': 0.5.7
+ base64-js: 1.5.1
+ buffer: 6.0.3
+ its-fine: 1.1.1(react@18.2.0)
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ react-reconciler: 0.27.0(react@18.2.0)
+ react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0)
+ scheduler: 0.21.0
+ suspend-react: 0.1.3(react@18.2.0)
+ three: 0.158.0
+ zustand: 3.7.2(react@18.2.0)
+ dev: false
+
/@rexxars/react-json-inspector@8.0.1(react@18.2.0):
resolution: {integrity: sha512-XAsgQwqG8fbDGpWnsvOesRMgPfvwuU7Cx3/cUf/fNIRmGP8lj2YYIf5La/4ayvZLWlSw4tTb4BPCKdmK9D8RuQ==}
peerDependencies:
@@ -3597,6 +3756,10 @@ packages:
'@babel/types': 7.22.11
dev: false
+ /@types/draco3d@1.4.7:
+ resolution: {integrity: sha512-sjx6hQ8UArRZf+2ZhpPkjJW8iCkyxar69/IElc9NHuGE40n0U9SuvxX59CHvF4xUH7qfJDQ2lIbANZ0HHJg+BQ==}
+ dev: false
+
/@types/event-source-polyfill@1.0.2:
resolution: {integrity: sha512-qE5zrFd73BRs5oSjVys6g/5GboqOMbzLRTUFPAhfULvvvbRAOXw9m4Wk+p1BtoZm4JgW7TljGGfVabBqvi3eig==}
dev: false
@@ -3649,6 +3812,10 @@ packages:
/@types/normalize-package-data@2.4.1:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
+ /@types/offscreencanvas@2019.7.2:
+ resolution: {integrity: sha512-ujCjOxeA07IbEBQYAkoOI+XFw5sT3nhWJ/xZfPR6reJppDG7iPQPZacQiLTtWH1b3a2NYXWlxvYqa40y/LAixQ==}
+ dev: false
+
/@types/prop-types@15.7.5:
resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
@@ -3669,6 +3836,18 @@ packages:
'@types/react': 18.2.5
dev: false
+ /@types/react-reconciler@0.26.7:
+ resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==}
+ dependencies:
+ '@types/react': 18.2.5
+ dev: false
+
+ /@types/react-reconciler@0.28.7:
+ resolution: {integrity: sha512-sNYVByOrgx0a7vX4v3KUMqUA2Iaxc4SozXdUUFxcgUXUMlIUQMgHJRlp7ig42180gknti8DRHleC7Ru4aLlyBQ==}
+ dependencies:
+ '@types/react': 18.2.5
+ dev: false
+
/@types/react@18.2.5:
resolution: {integrity: sha512-RuoMedzJ5AOh23Dvws13LU9jpZHIc/k90AgmK7CecAYeWmSr3553L4u5rk4sWAPBuQosfT7HmTfG4Rg5o4nGEA==}
dependencies:
@@ -3691,10 +3870,23 @@ packages:
resolution: {integrity: sha512-ywkRHNHBwq0mFs/2HRgW6TEBAzH66G8f2Txzh1aGR0UC9ZoAUHfHxLZGDhwMpck4BpSnB61eNFIFmlV+TJ+KUA==}
dev: false
+ /@types/stats.js@0.17.2:
+ resolution: {integrity: sha512-j1oI+BOPiAAAKFysNNutE9aAIjvHqqILubCs2EeHKc19pi4uybaGAgBfLXsCgJYcyKWkiilEvl8CkFF/SL+baA==}
+ dev: false
+
/@types/stylis@4.2.3:
resolution: {integrity: sha512-86XLCVEmWagiUEbr2AjSbeY4qHN9jMm3pgM3PuBYfLIbT0MpDSnA3GA/4W7KoH/C/eeK77kNaeIxZzjhKYIBgw==}
dev: false
+ /@types/three@0.158.1:
+ resolution: {integrity: sha512-U7SimpoMrlpY2TjYedb9sQeOVHdRWJEiaNQxywJETMGMoEhWEfpP0sywRADR/xOQbaixZ6lk5Hv+3IOFriprkw==}
+ dependencies:
+ '@types/stats.js': 0.17.2
+ '@types/webxr': 0.5.7
+ fflate: 0.6.10
+ meshoptimizer: 0.18.1
+ dev: false
+
/@types/through@0.0.30:
resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==}
dependencies:
@@ -3713,6 +3905,10 @@ packages:
resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==}
dev: false
+ /@types/webxr@0.5.7:
+ resolution: {integrity: sha512-Rcgs5c2eNFnHp53YOjgtKfl/zWX1Y+uFGUwlSXrWcZWu3yhANRezmph4MninmqybUYT6g9ZE0aQ9QIdPkLR3Kg==}
+ dev: false
+
/@typescript-eslint/eslint-plugin@6.5.0(@typescript-eslint/parser@6.5.0)(eslint@8.48.0)(typescript@4.9.5):
resolution: {integrity: sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==}
engines: {node: ^16.0.0 || >=18.0.0}
@@ -4063,6 +4259,19 @@ packages:
- '@codemirror/search'
dev: false
+ /@use-gesture/core@10.3.0:
+ resolution: {integrity: sha512-rh+6MND31zfHcy9VU3dOZCqGY511lvGcfyJenN4cWZe0u1BH6brBpBddLVXhF2r4BMqWbvxfsbL7D287thJU2A==}
+ dev: false
+
+ /@use-gesture/react@10.3.0(react@18.2.0):
+ resolution: {integrity: sha512-3zc+Ve99z4usVP6l9knYVbVnZgfqhKah7sIG+PS2w+vpig2v2OLct05vs+ZXMzwxdNCMka8B+8WlOo0z6Pn6DA==}
+ peerDependencies:
+ react: '>= 16.8.0'
+ dependencies:
+ '@use-gesture/core': 10.3.0
+ react: 18.2.0
+ dev: false
+
/@vercel/stega@0.1.0:
resolution: {integrity: sha512-5b0PkOJsFBX5alChuIO3qpkt5vIZBevzLPhUQ1UP8UzVjL3F1VllnZxp/thfD8R5ol7D7WHkgZHIjdUBX4tDpQ==}
dev: false
@@ -4478,6 +4687,12 @@ packages:
engines: {node: '>=10.0.0'}
dev: true
+ /bidi-js@1.0.3:
+ resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
+ dependencies:
+ require-from-string: 2.0.2
+ dev: false
+
/big-integer@1.6.51:
resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==}
engines: {node: '>=0.6'}
@@ -4558,6 +4773,13 @@ packages:
base64-js: 1.5.1
ieee754: 1.2.1
+ /buffer@6.0.3:
+ resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ dev: false
+
/builtin-modules@3.3.0:
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
engines: {node: '>=6'}
@@ -4610,6 +4832,14 @@ packages:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
dev: false
+ /camera-controls@2.7.3(three@0.158.0):
+ resolution: {integrity: sha512-L4mxjBd3u8qiOLozdWrH2P8ZybSsDXBF7iyNyqNEFJhPUkovmuARWR8JTc1B/qlclOIg6FvZZA/0uAZMMim0mw==}
+ peerDependencies:
+ three: '>=0.126.1'
+ dependencies:
+ three: 0.158.0
+ dev: false
+
/caniuse-lite@1.0.30001522:
resolution: {integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==}
dev: false
@@ -4926,6 +5156,14 @@ packages:
resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
dev: false
+ /cross-env@7.0.3:
+ resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
+ engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
+ hasBin: true
+ dependencies:
+ cross-spawn: 7.0.3
+ dev: false
+
/cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -5023,6 +5261,10 @@ packages:
date-now: 1.0.1
dev: false
+ /debounce@1.2.1:
+ resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
+ dev: false
+
/debug@2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
peerDependencies:
@@ -5168,6 +5410,12 @@ packages:
engines: {node: '>=0.4.0'}
dev: false
+ /detect-gpu@5.0.37:
+ resolution: {integrity: sha512-EraWs84faI4iskB4qvE39bevMIazEvd1RpoyGLOBesRLbiz6eMeJqqRPHjEFClfRByYZzi9IzU35rBXIO76oDw==}
+ dependencies:
+ webgl-constants: 1.1.1
+ dev: false
+
/detect-indent@7.0.1:
resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==}
engines: {node: '>=12.20'}
@@ -5249,6 +5497,10 @@ packages:
engines: {node: '>=12'}
dev: true
+ /draco3d@1.5.6:
+ resolution: {integrity: sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==}
+ dev: false
+
/duplexify@3.7.1:
resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
dependencies:
@@ -6162,6 +6414,10 @@ packages:
dependencies:
reusify: 1.0.4
+ /fflate@0.6.10:
+ resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
+ dev: false
+
/figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
@@ -6570,6 +6826,10 @@ packages:
slash: 4.0.0
dev: true
+ /glsl-noise@0.0.0:
+ resolution: {integrity: sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==}
+ dev: false
+
/golden-fleece@1.0.9:
resolution: {integrity: sha512-YSwLaGMOgSBx9roJlNLL12c+FRiw7VECphinc6mGucphc/ZxTHgdEz6gmJqH6NOzYEd/yr64hwjom5pZ+tJVpg==}
dev: false
@@ -7224,6 +7484,15 @@ packages:
reflect.getprototypeof: 1.0.3
dev: true
+ /its-fine@1.1.1(react@18.2.0):
+ resolution: {integrity: sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw==}
+ peerDependencies:
+ react: '>=18.0'
+ dependencies:
+ '@types/react-reconciler': 0.28.7
+ react: 18.2.0
+ dev: false
+
/jiti@1.20.0:
resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==}
hasBin: true
@@ -7408,6 +7677,10 @@ packages:
dependencies:
p-locate: 5.0.0
+ /lodash.clamp@4.0.3:
+ resolution: {integrity: sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==}
+ dev: false
+
/lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
@@ -7435,6 +7708,14 @@ packages:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /lodash.omit@4.5.0:
+ resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==}
+ dev: false
+
+ /lodash.pick@4.4.0:
+ resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==}
+ dev: false
+
/lodash.union@4.6.0:
resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==}
dev: false
@@ -7497,6 +7778,16 @@ packages:
react: 18.2.0
dev: false
+ /maath@0.9.0(@types/three@0.158.1)(three@0.158.0):
+ resolution: {integrity: sha512-aAR8hoUqPxlsU8VOxkS9y37jhUzdUxM017NpCuxFU1Gk+nMaZASZxymZrV8LRSHzRk/watlbfyNKu6XPUhCFrQ==}
+ peerDependencies:
+ '@types/three': '>=0.144.0'
+ three: '>=0.144.0'
+ dependencies:
+ '@types/three': 0.158.1
+ three: 0.158.0
+ dev: false
+
/make-dir@2.1.0:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
engines: {node: '>=6'}
@@ -7536,6 +7827,18 @@ packages:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
+ /meshline@3.1.7(three@0.158.0):
+ resolution: {integrity: sha512-uf9fPI9wy0Ie0kZjvKuIkf2n7gi3ih0wdTeb/kmSvmzpPyEL5d9lFohg9+JV9VC4sQUBOZDgxu6fnjn57goSHg==}
+ peerDependencies:
+ three: '>=0.137'
+ dependencies:
+ three: 0.158.0
+ dev: false
+
+ /meshoptimizer@0.18.1:
+ resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
+ dev: false
+
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
@@ -8271,6 +8574,10 @@ packages:
picocolors: 1.0.0
source-map-js: 1.0.2
+ /potpack@1.0.2:
+ resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
+ dev: false
+
/prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -8417,6 +8724,15 @@ packages:
react: 18.2.0
dev: false
+ /react-composer@5.0.3(react@18.2.0):
+ resolution: {integrity: sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==}
+ peerDependencies:
+ react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
+ dependencies:
+ prop-types: 15.8.1
+ react: 18.2.0
+ dev: false
+
/react-copy-to-clipboard@5.1.0(react@18.2.0):
resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==}
peerDependencies:
@@ -8471,6 +8787,21 @@ packages:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
dev: false
+ /react-merge-refs@1.1.0:
+ resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==}
+ dev: false
+
+ /react-reconciler@0.27.0(react@18.2.0):
+ resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==}
+ engines: {node: '>=0.10.0'}
+ peerDependencies:
+ react: ^18.0.0
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.2.0
+ scheduler: 0.21.0
+ dev: false
+
/react-refractor@2.1.7(react@18.2.0):
resolution: {integrity: sha512-avNxSSsnjYg+BKpO8LVCK14KRn5pLZ+8DInMiUEeZPL6hs0SN0zafl3mJIxavGQPKyihqbXqzq4CYNflJQjaaw==}
peerDependencies:
@@ -8558,6 +8889,17 @@ packages:
tslib: 2.5.0
dev: false
+ /react-use-measure@2.1.1(react-dom@18.2.0)(react@18.2.0):
+ resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==}
+ peerDependencies:
+ react: '>=16.13'
+ react-dom: '>=16.13'
+ dependencies:
+ debounce: 1.2.1
+ react: 18.2.0
+ react-dom: 18.2.0(react@18.2.0)
+ dev: false
+
/react@18.2.0:
resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
engines: {node: '>=0.10.0'}
@@ -8724,6 +9066,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
+ /require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+ dev: false
+
/requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
dev: false
@@ -9013,6 +9360,12 @@ packages:
xmlchars: 2.2.0
dev: false
+ /scheduler@0.21.0:
+ resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==}
+ dependencies:
+ loose-envify: 1.4.0
+ dev: false
+
/scheduler@0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
dependencies:
@@ -9227,6 +9580,14 @@ packages:
readable-stream: 3.6.2
dev: false
+ /stats-gl@1.0.5:
+ resolution: {integrity: sha512-XimMxvwnf1Qf5KwebhcoA34kcX+fWEkIl0QjNkCbu4IpoyDMMsOajExn7FIq5w569k45+LhmsuRlGSrsvmGdNw==}
+ dev: false
+
+ /stats.js@0.17.0:
+ resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
+ dev: false
+
/stop-iteration-iterator@1.0.0:
resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
engines: {node: '>= 0.4'}
@@ -9439,6 +9800,14 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
+ /suspend-react@0.1.3(react@18.2.0):
+ resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==}
+ peerDependencies:
+ react: '>=17.0'
+ dependencies:
+ react: 18.2.0
+ dev: false
+
/swap-case@1.1.2:
resolution: {integrity: sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==}
dependencies:
@@ -9531,6 +9900,32 @@ packages:
any-promise: 1.3.0
dev: true
+ /three-mesh-bvh@0.6.8(three@0.158.0):
+ resolution: {integrity: sha512-EGebF9DZx1S8+7OZYNNTT80GXJZVf+UYXD/HyTg/e2kR/ApofIFfUS4ZzIHNnUVIadpnLSzM4n96wX+l7GMbnQ==}
+ peerDependencies:
+ three: '>= 0.151.0'
+ dependencies:
+ three: 0.158.0
+ dev: false
+
+ /three-stdlib@2.28.5(three@0.158.0):
+ resolution: {integrity: sha512-JdLMhkpT+1ZWeQPyKQNW1zqUwISI2hsUljS6u3vB9lp5EvwsayaAzGnbVeR35895udOF+zxcTiQY3psk+qqlxg==}
+ peerDependencies:
+ three: '>=0.128.0'
+ dependencies:
+ '@types/draco3d': 1.4.7
+ '@types/offscreencanvas': 2019.7.2
+ '@types/webxr': 0.5.7
+ draco3d: 1.5.6
+ fflate: 0.6.10
+ potpack: 1.0.2
+ three: 0.158.0
+ dev: false
+
+ /three@0.158.0:
+ resolution: {integrity: sha512-TALj4EOpdDPF1henk2Q+s17K61uEAAWQ7TJB68nr7FKxqwyDr3msOt5IWdbGm4TaWKjrtWS8DJJWe9JnvsWOhQ==}
+ dev: false
+
/through2@2.0.5:
resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
dependencies:
@@ -9607,6 +10002,30 @@ packages:
punycode: 2.3.0
dev: false
+ /troika-three-text@0.47.2(three@0.158.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)
+ troika-worker-utils: 0.47.2
+ webgl-sdf-generator: 1.1.1
+ dev: false
+
+ /troika-three-utils@0.47.2(three@0.158.0):
+ resolution: {integrity: sha512-/28plhCxfKtH7MSxEGx8e3b/OXU5A0xlwl+Sbdp0H8FXUHKZDoksduEKmjQayXYtxAyuUiCRunYIv/8Vi7aiyg==}
+ peerDependencies:
+ three: '>=0.125.0'
+ dependencies:
+ three: 0.158.0
+ dev: false
+
+ /troika-worker-utils@0.47.2:
+ resolution: {integrity: sha512-mzss4MeyzUkYBppn4x5cdAqrhBHFEuVmMMgLMTyFV23x6GvQMyo+/R5E5Lsbrt7WSt5RfvewjcwD1DChRTA9lA==}
+ dev: false
+
/ts-api-utils@1.0.2(typescript@4.9.5):
resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==}
engines: {node: '>=16.13.0'}
@@ -9692,64 +10111,75 @@ packages:
safe-buffer: 5.2.1
dev: false
- /turbo-darwin-64@1.10.16:
- resolution: {integrity: sha512-+Jk91FNcp9e9NCLYlvDDlp2HwEDp14F9N42IoW3dmHI5ZkGSXzalbhVcrx3DOox3QfiNUHxzWg4d7CnVNCuuMg==}
+ /tunnel-rat@0.1.2(@types/react@18.2.5)(react@18.2.0):
+ resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==}
+ dependencies:
+ zustand: 4.4.6(@types/react@18.2.5)(react@18.2.0)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ - react
+ dev: false
+
+ /turbo-darwin-64@1.10.12:
+ resolution: {integrity: sha512-vmDfGVPl5/aFenAbOj3eOx3ePNcWVUyZwYr7taRl0ZBbmv2TzjRiFotO4vrKCiTVnbqjQqAFQWY2ugbqCI1kOQ==}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-darwin-arm64@1.10.16:
- resolution: {integrity: sha512-jqGpFZipIivkRp/i+jnL8npX0VssE6IAVNKtu573LXtssZdV/S+fRGYA16tI46xJGxSAivrZ/IcgZrV6Jk80bw==}
+ /turbo-darwin-arm64@1.10.12:
+ resolution: {integrity: sha512-3JliEESLNX2s7g54SOBqqkqJ7UhcOGkS0ywMr5SNuvF6kWVTbuUq7uBU/sVbGq8RwvK1ONlhPvJne5MUqBCTCQ==}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-64@1.10.16:
- resolution: {integrity: sha512-PpqEZHwLoizQ6sTUvmImcRmACyRk9EWLXGlqceogPZsJ1jTRK3sfcF9fC2W56zkSIzuLEP07k5kl+ZxJd8JMcg==}
+ /turbo-linux-64@1.10.12:
+ resolution: {integrity: sha512-siYhgeX0DidIfHSgCR95b8xPee9enKSOjCzx7EjTLmPqPaCiVebRYvbOIYdQWRqiaKh9yfhUtFmtMOMScUf1gg==}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-linux-arm64@1.10.16:
- resolution: {integrity: sha512-TMjFYz8to1QE0fKVXCIvG/4giyfnmqcQIwjdNfJvKjBxn22PpbjeuFuQ5kNXshUTRaTJihFbuuCcb5OYFNx4uw==}
+ /turbo-linux-arm64@1.10.12:
+ resolution: {integrity: sha512-K/ZhvD9l4SslclaMkTiIrnfcACgos79YcAo4kwc8bnMQaKuUeRpM15sxLpZp3xDjDg8EY93vsKyjaOhdFG2UbA==}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-64@1.10.16:
- resolution: {integrity: sha512-+jsf68krs0N66FfC4/zZvioUap/Tq3sPFumnMV+EBo8jFdqs4yehd6+MxIwYTjSQLIcpH8KoNMB0gQYhJRLZzw==}
+ /turbo-windows-64@1.10.12:
+ resolution: {integrity: sha512-7FSgSwvktWDNOqV65l9AbZwcoueAILeE4L7JvjauNASAjjbuzXGCEq5uN8AQU3U5BOFj4TdXrVmO2dX+lLu8Zg==}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo-windows-arm64@1.10.16:
- resolution: {integrity: sha512-sKm3hcMM1bl0B3PLG4ifidicOGfoJmOEacM5JtgBkYM48ncMHjkHfFY7HrJHZHUnXM4l05RQTpLFoOl/uIo2HQ==}
+ /turbo-windows-arm64@1.10.12:
+ resolution: {integrity: sha512-gCNXF52dwom1HLY9ry/cneBPOKTBHhzpqhMylcyvJP0vp9zeMQQkt6yjYv+6QdnmELC92CtKNp2FsNZo+z0pyw==}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
- /turbo@1.10.16:
- resolution: {integrity: sha512-2CEaK4FIuSZiP83iFa9GqMTQhroW2QryckVqUydmg4tx78baftTOS0O+oDAhvo9r9Nit4xUEtC1RAHoqs6ZEtg==}
+ /turbo@1.10.12:
+ resolution: {integrity: sha512-WM3+jTfQWnB9W208pmP4oeehZcC6JQNlydb/ZHMRrhmQa+htGhWLCzd6Q9rLe0MwZLPpSPFV2/bN5egCLyoKjQ==}
hasBin: true
+ requiresBuild: true
optionalDependencies:
- turbo-darwin-64: 1.10.16
- turbo-darwin-arm64: 1.10.16
- turbo-linux-64: 1.10.16
- turbo-linux-arm64: 1.10.16
- turbo-windows-64: 1.10.16
- turbo-windows-arm64: 1.10.16
+ turbo-darwin-64: 1.10.12
+ turbo-darwin-arm64: 1.10.12
+ turbo-linux-64: 1.10.12
+ turbo-linux-arm64: 1.10.12
+ turbo-windows-64: 1.10.12
+ turbo-windows-arm64: 1.10.12
dev: true
/type-check@0.4.0:
@@ -10023,11 +10453,21 @@ packages:
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ /utility-types@3.10.0:
+ resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==}
+ engines: {node: '>= 4'}
+ dev: false
+
/uuid@8.3.2:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
hasBin: true
dev: false
+ /uuid@9.0.1:
+ resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
+ hasBin: true
+ dev: false
+
/v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
dev: true
@@ -10105,6 +10545,14 @@ packages:
defaults: 1.0.4
dev: true
+ /webgl-constants@1.1.1:
+ resolution: {integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==}
+ dev: false
+
+ /webgl-sdf-generator@1.1.1:
+ resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==}
+ dev: false
+
/webidl-conversions@7.0.0:
resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
@@ -10306,3 +10754,35 @@ packages:
compress-commons: 4.1.2
readable-stream: 3.6.2
dev: false
+
+ /zustand@3.7.2(react@18.2.0):
+ resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ react: '>=16.8'
+ peerDependenciesMeta:
+ react:
+ optional: true
+ dependencies:
+ react: 18.2.0
+ dev: false
+
+ /zustand@4.4.6(@types/react@18.2.5)(react@18.2.0):
+ resolution: {integrity: sha512-Rb16eW55gqL4W2XZpJh0fnrATxYEG3Apl2gfHTyDSE965x/zxslTikpNch0JgNjJA9zK6gEFW8Fl6d1rTZaqgg==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ immer: '>=9.0'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+ dependencies:
+ '@types/react': 18.2.5
+ react: 18.2.0
+ use-sync-external-store: 1.2.0(react@18.2.0)
+ dev: false