├── .eslintrc.cjs
├── .gitignore
├── README.md
├── index.html
├── package.json
├── pnpm-lock.yaml
├── src
├── App.jsx
├── Blob
│ ├── Blob.jsx
│ ├── fragment.glsl
│ └── vertex.glsl
├── index.css
└── main.jsx
└── vite.config.js
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: { browser: true, es2020: true },
3 | extends: [
4 | 'eslint:recommended',
5 | 'plugin:react/recommended',
6 | 'plugin:react/jsx-runtime',
7 | 'plugin:react-hooks/recommended',
8 | ],
9 | parserOptions: { ecmaVersion: 'latest', sourceType: 'module' },
10 | settings: { react: { version: '18.2' } },
11 | plugins: ['react-refresh'],
12 | rules: {
13 | 'react-refresh/only-export-components': 'warn',
14 | },
15 | }
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # sdf-morph
2 |
3 | Morphing 3D shapes by representing them as signed distance functions...
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | SDF Morph
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sdf-morph",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vite build",
9 | "lint": "eslint src --ext js,jsx --report-unused-disable-directives --max-warnings 0",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@react-three/drei": "^9.77.0",
14 | "@react-three/fiber": "^8.13.3",
15 | "@types/three": "^0.152.1",
16 | "leva": "^0.9.35",
17 | "react": "^18.2.0",
18 | "react-dom": "^18.2.0",
19 | "three": "^0.153.0"
20 | },
21 | "devDependencies": {
22 | "@types/react": "^18.0.37",
23 | "@types/react-dom": "^18.0.11",
24 | "@vitejs/plugin-react": "^4.0.0",
25 | "eslint": "^8.38.0",
26 | "eslint-plugin-react": "^7.32.2",
27 | "eslint-plugin-react-hooks": "^4.6.0",
28 | "eslint-plugin-react-refresh": "^0.3.4",
29 | "r3f-perf": "^7.1.2",
30 | "vite": "^4.3.9",
31 | "vite-plugin-glsl": "^1.1.2"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | dependencies:
4 | '@react-three/drei':
5 | specifier: ^9.77.0
6 | version: 9.77.0(@react-three/fiber@8.13.3)(@types/three@0.152.1)(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
7 | '@react-three/fiber':
8 | specifier: ^8.13.3
9 | version: 8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
10 | '@types/three':
11 | specifier: ^0.152.1
12 | version: 0.152.1
13 | leva:
14 | specifier: ^0.9.35
15 | version: 0.9.35(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
16 | react:
17 | specifier: ^18.2.0
18 | version: 18.2.0
19 | react-dom:
20 | specifier: ^18.2.0
21 | version: 18.2.0(react@18.2.0)
22 | three:
23 | specifier: ^0.153.0
24 | version: 0.153.0
25 |
26 | devDependencies:
27 | '@types/react':
28 | specifier: ^18.0.37
29 | version: 18.2.13
30 | '@types/react-dom':
31 | specifier: ^18.0.11
32 | version: 18.2.6
33 | '@vitejs/plugin-react':
34 | specifier: ^4.0.0
35 | version: 4.0.1(vite@4.3.9)
36 | eslint:
37 | specifier: ^8.38.0
38 | version: 8.43.0
39 | eslint-plugin-react:
40 | specifier: ^7.32.2
41 | version: 7.32.2(eslint@8.43.0)
42 | eslint-plugin-react-hooks:
43 | specifier: ^4.6.0
44 | version: 4.6.0(eslint@8.43.0)
45 | eslint-plugin-react-refresh:
46 | specifier: ^0.3.4
47 | version: 0.3.5(eslint@8.43.0)
48 | r3f-perf:
49 | specifier: ^7.1.2
50 | version: 7.1.2(@react-three/fiber@8.13.3)(@types/three@0.152.1)(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
51 | vite:
52 | specifier: ^4.3.9
53 | version: 4.3.9
54 | vite-plugin-glsl:
55 | specifier: ^1.1.2
56 | version: 1.1.2(vite@4.3.9)
57 |
58 | packages:
59 |
60 | /@ampproject/remapping@2.2.1:
61 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
62 | engines: {node: '>=6.0.0'}
63 | dependencies:
64 | '@jridgewell/gen-mapping': 0.3.3
65 | '@jridgewell/trace-mapping': 0.3.18
66 | dev: true
67 |
68 | /@babel/code-frame@7.22.5:
69 | resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==}
70 | engines: {node: '>=6.9.0'}
71 | dependencies:
72 | '@babel/highlight': 7.22.5
73 | dev: true
74 |
75 | /@babel/compat-data@7.22.5:
76 | resolution: {integrity: sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==}
77 | engines: {node: '>=6.9.0'}
78 | dev: true
79 |
80 | /@babel/core@7.22.5:
81 | resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==}
82 | engines: {node: '>=6.9.0'}
83 | dependencies:
84 | '@ampproject/remapping': 2.2.1
85 | '@babel/code-frame': 7.22.5
86 | '@babel/generator': 7.22.5
87 | '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.22.5)
88 | '@babel/helper-module-transforms': 7.22.5
89 | '@babel/helpers': 7.22.5
90 | '@babel/parser': 7.22.5
91 | '@babel/template': 7.22.5
92 | '@babel/traverse': 7.22.5
93 | '@babel/types': 7.22.5
94 | convert-source-map: 1.9.0
95 | debug: 4.3.4
96 | gensync: 1.0.0-beta.2
97 | json5: 2.2.3
98 | semver: 6.3.0
99 | transitivePeerDependencies:
100 | - supports-color
101 | dev: true
102 |
103 | /@babel/generator@7.22.5:
104 | resolution: {integrity: sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==}
105 | engines: {node: '>=6.9.0'}
106 | dependencies:
107 | '@babel/types': 7.22.5
108 | '@jridgewell/gen-mapping': 0.3.3
109 | '@jridgewell/trace-mapping': 0.3.18
110 | jsesc: 2.5.2
111 | dev: true
112 |
113 | /@babel/helper-compilation-targets@7.22.5(@babel/core@7.22.5):
114 | resolution: {integrity: sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==}
115 | engines: {node: '>=6.9.0'}
116 | peerDependencies:
117 | '@babel/core': ^7.0.0
118 | dependencies:
119 | '@babel/compat-data': 7.22.5
120 | '@babel/core': 7.22.5
121 | '@babel/helper-validator-option': 7.22.5
122 | browserslist: 4.21.9
123 | lru-cache: 5.1.1
124 | semver: 6.3.0
125 | dev: true
126 |
127 | /@babel/helper-environment-visitor@7.22.5:
128 | resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
129 | engines: {node: '>=6.9.0'}
130 | dev: true
131 |
132 | /@babel/helper-function-name@7.22.5:
133 | resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==}
134 | engines: {node: '>=6.9.0'}
135 | dependencies:
136 | '@babel/template': 7.22.5
137 | '@babel/types': 7.22.5
138 | dev: true
139 |
140 | /@babel/helper-hoist-variables@7.22.5:
141 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
142 | engines: {node: '>=6.9.0'}
143 | dependencies:
144 | '@babel/types': 7.22.5
145 | dev: true
146 |
147 | /@babel/helper-module-imports@7.22.5:
148 | resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==}
149 | engines: {node: '>=6.9.0'}
150 | dependencies:
151 | '@babel/types': 7.22.5
152 | dev: true
153 |
154 | /@babel/helper-module-transforms@7.22.5:
155 | resolution: {integrity: sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==}
156 | engines: {node: '>=6.9.0'}
157 | dependencies:
158 | '@babel/helper-environment-visitor': 7.22.5
159 | '@babel/helper-module-imports': 7.22.5
160 | '@babel/helper-simple-access': 7.22.5
161 | '@babel/helper-split-export-declaration': 7.22.5
162 | '@babel/helper-validator-identifier': 7.22.5
163 | '@babel/template': 7.22.5
164 | '@babel/traverse': 7.22.5
165 | '@babel/types': 7.22.5
166 | transitivePeerDependencies:
167 | - supports-color
168 | dev: true
169 |
170 | /@babel/helper-plugin-utils@7.22.5:
171 | resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==}
172 | engines: {node: '>=6.9.0'}
173 | dev: true
174 |
175 | /@babel/helper-simple-access@7.22.5:
176 | resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
177 | engines: {node: '>=6.9.0'}
178 | dependencies:
179 | '@babel/types': 7.22.5
180 | dev: true
181 |
182 | /@babel/helper-split-export-declaration@7.22.5:
183 | resolution: {integrity: sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==}
184 | engines: {node: '>=6.9.0'}
185 | dependencies:
186 | '@babel/types': 7.22.5
187 | dev: true
188 |
189 | /@babel/helper-string-parser@7.22.5:
190 | resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
191 | engines: {node: '>=6.9.0'}
192 | dev: true
193 |
194 | /@babel/helper-validator-identifier@7.22.5:
195 | resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==}
196 | engines: {node: '>=6.9.0'}
197 | dev: true
198 |
199 | /@babel/helper-validator-option@7.22.5:
200 | resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
201 | engines: {node: '>=6.9.0'}
202 | dev: true
203 |
204 | /@babel/helpers@7.22.5:
205 | resolution: {integrity: sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==}
206 | engines: {node: '>=6.9.0'}
207 | dependencies:
208 | '@babel/template': 7.22.5
209 | '@babel/traverse': 7.22.5
210 | '@babel/types': 7.22.5
211 | transitivePeerDependencies:
212 | - supports-color
213 | dev: true
214 |
215 | /@babel/highlight@7.22.5:
216 | resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==}
217 | engines: {node: '>=6.9.0'}
218 | dependencies:
219 | '@babel/helper-validator-identifier': 7.22.5
220 | chalk: 2.4.2
221 | js-tokens: 4.0.0
222 | dev: true
223 |
224 | /@babel/parser@7.22.5:
225 | resolution: {integrity: sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==}
226 | engines: {node: '>=6.0.0'}
227 | hasBin: true
228 | dependencies:
229 | '@babel/types': 7.22.5
230 | dev: true
231 |
232 | /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.5):
233 | resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==}
234 | engines: {node: '>=6.9.0'}
235 | peerDependencies:
236 | '@babel/core': ^7.0.0-0
237 | dependencies:
238 | '@babel/core': 7.22.5
239 | '@babel/helper-plugin-utils': 7.22.5
240 | dev: true
241 |
242 | /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.5):
243 | resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==}
244 | engines: {node: '>=6.9.0'}
245 | peerDependencies:
246 | '@babel/core': ^7.0.0-0
247 | dependencies:
248 | '@babel/core': 7.22.5
249 | '@babel/helper-plugin-utils': 7.22.5
250 | dev: true
251 |
252 | /@babel/runtime@7.22.5:
253 | resolution: {integrity: sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==}
254 | engines: {node: '>=6.9.0'}
255 | dependencies:
256 | regenerator-runtime: 0.13.11
257 |
258 | /@babel/template@7.22.5:
259 | resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==}
260 | engines: {node: '>=6.9.0'}
261 | dependencies:
262 | '@babel/code-frame': 7.22.5
263 | '@babel/parser': 7.22.5
264 | '@babel/types': 7.22.5
265 | dev: true
266 |
267 | /@babel/traverse@7.22.5:
268 | resolution: {integrity: sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==}
269 | engines: {node: '>=6.9.0'}
270 | dependencies:
271 | '@babel/code-frame': 7.22.5
272 | '@babel/generator': 7.22.5
273 | '@babel/helper-environment-visitor': 7.22.5
274 | '@babel/helper-function-name': 7.22.5
275 | '@babel/helper-hoist-variables': 7.22.5
276 | '@babel/helper-split-export-declaration': 7.22.5
277 | '@babel/parser': 7.22.5
278 | '@babel/types': 7.22.5
279 | debug: 4.3.4
280 | globals: 11.12.0
281 | transitivePeerDependencies:
282 | - supports-color
283 | dev: true
284 |
285 | /@babel/types@7.22.5:
286 | resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==}
287 | engines: {node: '>=6.9.0'}
288 | dependencies:
289 | '@babel/helper-string-parser': 7.22.5
290 | '@babel/helper-validator-identifier': 7.22.5
291 | to-fast-properties: 2.0.0
292 | dev: true
293 |
294 | /@chevrotain/cst-dts-gen@10.5.0:
295 | resolution: {integrity: sha512-lhmC/FyqQ2o7pGK4Om+hzuDrm9rhFYIJ/AXoQBeongmn870Xeb0L6oGEiuR8nohFNL5sMaQEJWCxr1oIVIVXrw==}
296 | dependencies:
297 | '@chevrotain/gast': 10.5.0
298 | '@chevrotain/types': 10.5.0
299 | lodash: 4.17.21
300 |
301 | /@chevrotain/gast@10.5.0:
302 | resolution: {integrity: sha512-pXdMJ9XeDAbgOWKuD1Fldz4ieCs6+nLNmyVhe2gZVqoO7v8HXuHYs5OV2EzUtbuai37TlOAQHrTDvxMnvMJz3A==}
303 | dependencies:
304 | '@chevrotain/types': 10.5.0
305 | lodash: 4.17.21
306 |
307 | /@chevrotain/types@10.5.0:
308 | resolution: {integrity: sha512-f1MAia0x/pAVPWH/T73BJVyO2XU5tI4/iE7cnxb7tqdNTNhQI3Uq3XkqcoteTmD4t1aM0LbHCJOhgIDn07kl2A==}
309 |
310 | /@chevrotain/utils@10.5.0:
311 | resolution: {integrity: sha512-hBzuU5+JjB2cqNZyszkDHZgOSrUUT8V3dhgRl8Q9Gp6dAj/H5+KILGjbhDpc3Iy9qmqlm/akuOI2ut9VUtzJxQ==}
312 |
313 | /@esbuild/android-arm64@0.17.19:
314 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
315 | engines: {node: '>=12'}
316 | cpu: [arm64]
317 | os: [android]
318 | requiresBuild: true
319 | dev: true
320 | optional: true
321 |
322 | /@esbuild/android-arm@0.17.19:
323 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
324 | engines: {node: '>=12'}
325 | cpu: [arm]
326 | os: [android]
327 | requiresBuild: true
328 | dev: true
329 | optional: true
330 |
331 | /@esbuild/android-x64@0.17.19:
332 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
333 | engines: {node: '>=12'}
334 | cpu: [x64]
335 | os: [android]
336 | requiresBuild: true
337 | dev: true
338 | optional: true
339 |
340 | /@esbuild/darwin-arm64@0.17.19:
341 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
342 | engines: {node: '>=12'}
343 | cpu: [arm64]
344 | os: [darwin]
345 | requiresBuild: true
346 | dev: true
347 | optional: true
348 |
349 | /@esbuild/darwin-x64@0.17.19:
350 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
351 | engines: {node: '>=12'}
352 | cpu: [x64]
353 | os: [darwin]
354 | requiresBuild: true
355 | dev: true
356 | optional: true
357 |
358 | /@esbuild/freebsd-arm64@0.17.19:
359 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
360 | engines: {node: '>=12'}
361 | cpu: [arm64]
362 | os: [freebsd]
363 | requiresBuild: true
364 | dev: true
365 | optional: true
366 |
367 | /@esbuild/freebsd-x64@0.17.19:
368 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
369 | engines: {node: '>=12'}
370 | cpu: [x64]
371 | os: [freebsd]
372 | requiresBuild: true
373 | dev: true
374 | optional: true
375 |
376 | /@esbuild/linux-arm64@0.17.19:
377 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
378 | engines: {node: '>=12'}
379 | cpu: [arm64]
380 | os: [linux]
381 | requiresBuild: true
382 | dev: true
383 | optional: true
384 |
385 | /@esbuild/linux-arm@0.17.19:
386 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
387 | engines: {node: '>=12'}
388 | cpu: [arm]
389 | os: [linux]
390 | requiresBuild: true
391 | dev: true
392 | optional: true
393 |
394 | /@esbuild/linux-ia32@0.17.19:
395 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
396 | engines: {node: '>=12'}
397 | cpu: [ia32]
398 | os: [linux]
399 | requiresBuild: true
400 | dev: true
401 | optional: true
402 |
403 | /@esbuild/linux-loong64@0.17.19:
404 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
405 | engines: {node: '>=12'}
406 | cpu: [loong64]
407 | os: [linux]
408 | requiresBuild: true
409 | dev: true
410 | optional: true
411 |
412 | /@esbuild/linux-mips64el@0.17.19:
413 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
414 | engines: {node: '>=12'}
415 | cpu: [mips64el]
416 | os: [linux]
417 | requiresBuild: true
418 | dev: true
419 | optional: true
420 |
421 | /@esbuild/linux-ppc64@0.17.19:
422 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
423 | engines: {node: '>=12'}
424 | cpu: [ppc64]
425 | os: [linux]
426 | requiresBuild: true
427 | dev: true
428 | optional: true
429 |
430 | /@esbuild/linux-riscv64@0.17.19:
431 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
432 | engines: {node: '>=12'}
433 | cpu: [riscv64]
434 | os: [linux]
435 | requiresBuild: true
436 | dev: true
437 | optional: true
438 |
439 | /@esbuild/linux-s390x@0.17.19:
440 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
441 | engines: {node: '>=12'}
442 | cpu: [s390x]
443 | os: [linux]
444 | requiresBuild: true
445 | dev: true
446 | optional: true
447 |
448 | /@esbuild/linux-x64@0.17.19:
449 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
450 | engines: {node: '>=12'}
451 | cpu: [x64]
452 | os: [linux]
453 | requiresBuild: true
454 | dev: true
455 | optional: true
456 |
457 | /@esbuild/netbsd-x64@0.17.19:
458 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
459 | engines: {node: '>=12'}
460 | cpu: [x64]
461 | os: [netbsd]
462 | requiresBuild: true
463 | dev: true
464 | optional: true
465 |
466 | /@esbuild/openbsd-x64@0.17.19:
467 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
468 | engines: {node: '>=12'}
469 | cpu: [x64]
470 | os: [openbsd]
471 | requiresBuild: true
472 | dev: true
473 | optional: true
474 |
475 | /@esbuild/sunos-x64@0.17.19:
476 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
477 | engines: {node: '>=12'}
478 | cpu: [x64]
479 | os: [sunos]
480 | requiresBuild: true
481 | dev: true
482 | optional: true
483 |
484 | /@esbuild/win32-arm64@0.17.19:
485 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
486 | engines: {node: '>=12'}
487 | cpu: [arm64]
488 | os: [win32]
489 | requiresBuild: true
490 | dev: true
491 | optional: true
492 |
493 | /@esbuild/win32-ia32@0.17.19:
494 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
495 | engines: {node: '>=12'}
496 | cpu: [ia32]
497 | os: [win32]
498 | requiresBuild: true
499 | dev: true
500 | optional: true
501 |
502 | /@esbuild/win32-x64@0.17.19:
503 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
504 | engines: {node: '>=12'}
505 | cpu: [x64]
506 | os: [win32]
507 | requiresBuild: true
508 | dev: true
509 | optional: true
510 |
511 | /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0):
512 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
513 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
514 | peerDependencies:
515 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
516 | dependencies:
517 | eslint: 8.43.0
518 | eslint-visitor-keys: 3.4.1
519 | dev: true
520 |
521 | /@eslint-community/regexpp@4.5.1:
522 | resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
523 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
524 | dev: true
525 |
526 | /@eslint/eslintrc@2.0.3:
527 | resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==}
528 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
529 | dependencies:
530 | ajv: 6.12.6
531 | debug: 4.3.4
532 | espree: 9.5.2
533 | globals: 13.20.0
534 | ignore: 5.2.4
535 | import-fresh: 3.3.0
536 | js-yaml: 4.1.0
537 | minimatch: 3.1.2
538 | strip-json-comments: 3.1.1
539 | transitivePeerDependencies:
540 | - supports-color
541 | dev: true
542 |
543 | /@eslint/js@8.43.0:
544 | resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==}
545 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
546 | dev: true
547 |
548 | /@floating-ui/core@1.3.1:
549 | resolution: {integrity: sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==}
550 | dev: false
551 |
552 | /@floating-ui/dom@1.4.2:
553 | resolution: {integrity: sha512-VKmvHVatWnewmGGy+7Mdy4cTJX71Pli6v/Wjb5RQBuq5wjUYx+Ef+kRThi8qggZqDgD8CogCpqhRoVp3+yQk+g==}
554 | dependencies:
555 | '@floating-ui/core': 1.3.1
556 | dev: false
557 |
558 | /@floating-ui/react-dom@2.0.1(react-dom@18.2.0)(react@18.2.0):
559 | resolution: {integrity: sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==}
560 | peerDependencies:
561 | react: '>=16.8.0'
562 | react-dom: '>=16.8.0'
563 | dependencies:
564 | '@floating-ui/dom': 1.4.2
565 | react: 18.2.0
566 | react-dom: 18.2.0(react@18.2.0)
567 | dev: false
568 |
569 | /@humanwhocodes/config-array@0.11.10:
570 | resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
571 | engines: {node: '>=10.10.0'}
572 | dependencies:
573 | '@humanwhocodes/object-schema': 1.2.1
574 | debug: 4.3.4
575 | minimatch: 3.1.2
576 | transitivePeerDependencies:
577 | - supports-color
578 | dev: true
579 |
580 | /@humanwhocodes/module-importer@1.0.1:
581 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
582 | engines: {node: '>=12.22'}
583 | dev: true
584 |
585 | /@humanwhocodes/object-schema@1.2.1:
586 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
587 | dev: true
588 |
589 | /@jridgewell/gen-mapping@0.3.3:
590 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
591 | engines: {node: '>=6.0.0'}
592 | dependencies:
593 | '@jridgewell/set-array': 1.1.2
594 | '@jridgewell/sourcemap-codec': 1.4.15
595 | '@jridgewell/trace-mapping': 0.3.18
596 | dev: true
597 |
598 | /@jridgewell/resolve-uri@3.1.0:
599 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
600 | engines: {node: '>=6.0.0'}
601 | dev: true
602 |
603 | /@jridgewell/set-array@1.1.2:
604 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
605 | engines: {node: '>=6.0.0'}
606 | dev: true
607 |
608 | /@jridgewell/sourcemap-codec@1.4.14:
609 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
610 | dev: true
611 |
612 | /@jridgewell/sourcemap-codec@1.4.15:
613 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
614 | dev: true
615 |
616 | /@jridgewell/trace-mapping@0.3.18:
617 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
618 | dependencies:
619 | '@jridgewell/resolve-uri': 3.1.0
620 | '@jridgewell/sourcemap-codec': 1.4.14
621 | dev: true
622 |
623 | /@mediapipe/tasks-vision@0.10.2-rc2:
624 | resolution: {integrity: sha512-b9ar6TEUo8I07n/jXSuKDu5HgzkDah9pe4H8BYpcubhCEahlfDD5ixE+9SQyJM4HXHXdF9nN/wRQT7rEnLz7Gg==}
625 |
626 | /@nodelib/fs.scandir@2.1.5:
627 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
628 | engines: {node: '>= 8'}
629 | dependencies:
630 | '@nodelib/fs.stat': 2.0.5
631 | run-parallel: 1.2.0
632 | dev: true
633 |
634 | /@nodelib/fs.stat@2.0.5:
635 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
636 | engines: {node: '>= 8'}
637 | dev: true
638 |
639 | /@nodelib/fs.walk@1.2.8:
640 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
641 | engines: {node: '>= 8'}
642 | dependencies:
643 | '@nodelib/fs.scandir': 2.1.5
644 | fastq: 1.15.0
645 | dev: true
646 |
647 | /@radix-ui/primitive@1.0.1:
648 | resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==}
649 | dependencies:
650 | '@babel/runtime': 7.22.5
651 | dev: false
652 |
653 | /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
654 | resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==}
655 | peerDependencies:
656 | '@types/react': '*'
657 | '@types/react-dom': '*'
658 | react: ^16.8 || ^17.0 || ^18.0
659 | react-dom: ^16.8 || ^17.0 || ^18.0
660 | peerDependenciesMeta:
661 | '@types/react':
662 | optional: true
663 | '@types/react-dom':
664 | optional: true
665 | dependencies:
666 | '@babel/runtime': 7.22.5
667 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
668 | '@types/react': 18.2.13
669 | '@types/react-dom': 18.2.6
670 | react: 18.2.0
671 | react-dom: 18.2.0(react@18.2.0)
672 | dev: false
673 |
674 | /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.13)(react@18.2.0):
675 | resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
676 | peerDependencies:
677 | '@types/react': '*'
678 | react: ^16.8 || ^17.0 || ^18.0
679 | peerDependenciesMeta:
680 | '@types/react':
681 | optional: true
682 | dependencies:
683 | '@babel/runtime': 7.22.5
684 | '@types/react': 18.2.13
685 | react: 18.2.0
686 | dev: false
687 |
688 | /@radix-ui/react-context@1.0.1(@types/react@18.2.13)(react@18.2.0):
689 | resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==}
690 | peerDependencies:
691 | '@types/react': '*'
692 | react: ^16.8 || ^17.0 || ^18.0
693 | peerDependenciesMeta:
694 | '@types/react':
695 | optional: true
696 | dependencies:
697 | '@babel/runtime': 7.22.5
698 | '@types/react': 18.2.13
699 | react: 18.2.0
700 | dev: false
701 |
702 | /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
703 | resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==}
704 | peerDependencies:
705 | '@types/react': '*'
706 | '@types/react-dom': '*'
707 | react: ^16.8 || ^17.0 || ^18.0
708 | react-dom: ^16.8 || ^17.0 || ^18.0
709 | peerDependenciesMeta:
710 | '@types/react':
711 | optional: true
712 | '@types/react-dom':
713 | optional: true
714 | dependencies:
715 | '@babel/runtime': 7.22.5
716 | '@radix-ui/primitive': 1.0.1
717 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.13)(react@18.2.0)
718 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
719 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.13)(react@18.2.0)
720 | '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.13)(react@18.2.0)
721 | '@types/react': 18.2.13
722 | '@types/react-dom': 18.2.6
723 | react: 18.2.0
724 | react-dom: 18.2.0(react@18.2.0)
725 | dev: false
726 |
727 | /@radix-ui/react-icons@1.3.0(react@18.2.0):
728 | resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==}
729 | peerDependencies:
730 | react: ^16.x || ^17.x || ^18.x
731 | dependencies:
732 | react: 18.2.0
733 | dev: true
734 |
735 | /@radix-ui/react-id@1.0.1(@types/react@18.2.13)(react@18.2.0):
736 | resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==}
737 | peerDependencies:
738 | '@types/react': '*'
739 | react: ^16.8 || ^17.0 || ^18.0
740 | peerDependenciesMeta:
741 | '@types/react':
742 | optional: true
743 | dependencies:
744 | '@babel/runtime': 7.22.5
745 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.13)(react@18.2.0)
746 | '@types/react': 18.2.13
747 | react: 18.2.0
748 | dev: false
749 |
750 | /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
751 | resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==}
752 | peerDependencies:
753 | '@types/react': '*'
754 | '@types/react-dom': '*'
755 | react: ^16.8 || ^17.0 || ^18.0
756 | react-dom: ^16.8 || ^17.0 || ^18.0
757 | peerDependenciesMeta:
758 | '@types/react':
759 | optional: true
760 | '@types/react-dom':
761 | optional: true
762 | dependencies:
763 | '@babel/runtime': 7.22.5
764 | '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0)
765 | '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
766 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.13)(react@18.2.0)
767 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.13)(react@18.2.0)
768 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
769 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.13)(react@18.2.0)
770 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.13)(react@18.2.0)
771 | '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.13)(react@18.2.0)
772 | '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.13)(react@18.2.0)
773 | '@radix-ui/rect': 1.0.1
774 | '@types/react': 18.2.13
775 | '@types/react-dom': 18.2.6
776 | react: 18.2.0
777 | react-dom: 18.2.0(react@18.2.0)
778 | dev: false
779 |
780 | /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
781 | resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==}
782 | peerDependencies:
783 | '@types/react': '*'
784 | '@types/react-dom': '*'
785 | react: ^16.8 || ^17.0 || ^18.0
786 | react-dom: ^16.8 || ^17.0 || ^18.0
787 | peerDependenciesMeta:
788 | '@types/react':
789 | optional: true
790 | '@types/react-dom':
791 | optional: true
792 | dependencies:
793 | '@babel/runtime': 7.22.5
794 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
795 | '@types/react': 18.2.13
796 | '@types/react-dom': 18.2.6
797 | react: 18.2.0
798 | react-dom: 18.2.0(react@18.2.0)
799 | dev: false
800 |
801 | /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
802 | resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==}
803 | peerDependencies:
804 | '@types/react': '*'
805 | '@types/react-dom': '*'
806 | react: ^16.8 || ^17.0 || ^18.0
807 | react-dom: ^16.8 || ^17.0 || ^18.0
808 | peerDependenciesMeta:
809 | '@types/react':
810 | optional: true
811 | '@types/react-dom':
812 | optional: true
813 | dependencies:
814 | '@babel/runtime': 7.22.5
815 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.13)(react@18.2.0)
816 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.13)(react@18.2.0)
817 | '@types/react': 18.2.13
818 | '@types/react-dom': 18.2.6
819 | react: 18.2.0
820 | react-dom: 18.2.0(react@18.2.0)
821 | dev: false
822 |
823 | /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
824 | resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==}
825 | peerDependencies:
826 | '@types/react': '*'
827 | '@types/react-dom': '*'
828 | react: ^16.8 || ^17.0 || ^18.0
829 | react-dom: ^16.8 || ^17.0 || ^18.0
830 | peerDependenciesMeta:
831 | '@types/react':
832 | optional: true
833 | '@types/react-dom':
834 | optional: true
835 | dependencies:
836 | '@babel/runtime': 7.22.5
837 | '@radix-ui/react-slot': 1.0.2(@types/react@18.2.13)(react@18.2.0)
838 | '@types/react': 18.2.13
839 | '@types/react-dom': 18.2.6
840 | react: 18.2.0
841 | react-dom: 18.2.0(react@18.2.0)
842 | dev: false
843 |
844 | /@radix-ui/react-slot@1.0.2(@types/react@18.2.13)(react@18.2.0):
845 | resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==}
846 | peerDependencies:
847 | '@types/react': '*'
848 | react: ^16.8 || ^17.0 || ^18.0
849 | peerDependenciesMeta:
850 | '@types/react':
851 | optional: true
852 | dependencies:
853 | '@babel/runtime': 7.22.5
854 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.13)(react@18.2.0)
855 | '@types/react': 18.2.13
856 | react: 18.2.0
857 | dev: false
858 |
859 | /@radix-ui/react-tooltip@1.0.6(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
860 | resolution: {integrity: sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==}
861 | peerDependencies:
862 | '@types/react': '*'
863 | '@types/react-dom': '*'
864 | react: ^16.8 || ^17.0 || ^18.0
865 | react-dom: ^16.8 || ^17.0 || ^18.0
866 | peerDependenciesMeta:
867 | '@types/react':
868 | optional: true
869 | '@types/react-dom':
870 | optional: true
871 | dependencies:
872 | '@babel/runtime': 7.22.5
873 | '@radix-ui/primitive': 1.0.1
874 | '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.13)(react@18.2.0)
875 | '@radix-ui/react-context': 1.0.1(@types/react@18.2.13)(react@18.2.0)
876 | '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
877 | '@radix-ui/react-id': 1.0.1(@types/react@18.2.13)(react@18.2.0)
878 | '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
879 | '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
880 | '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
881 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
882 | '@radix-ui/react-slot': 1.0.2(@types/react@18.2.13)(react@18.2.0)
883 | '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.13)(react@18.2.0)
884 | '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
885 | '@types/react': 18.2.13
886 | '@types/react-dom': 18.2.6
887 | react: 18.2.0
888 | react-dom: 18.2.0(react@18.2.0)
889 | dev: false
890 |
891 | /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.13)(react@18.2.0):
892 | resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==}
893 | peerDependencies:
894 | '@types/react': '*'
895 | react: ^16.8 || ^17.0 || ^18.0
896 | peerDependenciesMeta:
897 | '@types/react':
898 | optional: true
899 | dependencies:
900 | '@babel/runtime': 7.22.5
901 | '@types/react': 18.2.13
902 | react: 18.2.0
903 | dev: false
904 |
905 | /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.13)(react@18.2.0):
906 | resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==}
907 | peerDependencies:
908 | '@types/react': '*'
909 | react: ^16.8 || ^17.0 || ^18.0
910 | peerDependenciesMeta:
911 | '@types/react':
912 | optional: true
913 | dependencies:
914 | '@babel/runtime': 7.22.5
915 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.13)(react@18.2.0)
916 | '@types/react': 18.2.13
917 | react: 18.2.0
918 | dev: false
919 |
920 | /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.13)(react@18.2.0):
921 | resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==}
922 | peerDependencies:
923 | '@types/react': '*'
924 | react: ^16.8 || ^17.0 || ^18.0
925 | peerDependenciesMeta:
926 | '@types/react':
927 | optional: true
928 | dependencies:
929 | '@babel/runtime': 7.22.5
930 | '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.13)(react@18.2.0)
931 | '@types/react': 18.2.13
932 | react: 18.2.0
933 | dev: false
934 |
935 | /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.13)(react@18.2.0):
936 | resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==}
937 | peerDependencies:
938 | '@types/react': '*'
939 | react: ^16.8 || ^17.0 || ^18.0
940 | peerDependenciesMeta:
941 | '@types/react':
942 | optional: true
943 | dependencies:
944 | '@babel/runtime': 7.22.5
945 | '@types/react': 18.2.13
946 | react: 18.2.0
947 | dev: false
948 |
949 | /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.13)(react@18.2.0):
950 | resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==}
951 | peerDependencies:
952 | '@types/react': '*'
953 | react: ^16.8 || ^17.0 || ^18.0
954 | peerDependenciesMeta:
955 | '@types/react':
956 | optional: true
957 | dependencies:
958 | '@babel/runtime': 7.22.5
959 | '@radix-ui/rect': 1.0.1
960 | '@types/react': 18.2.13
961 | react: 18.2.0
962 | dev: false
963 |
964 | /@radix-ui/react-use-size@1.0.1(@types/react@18.2.13)(react@18.2.0):
965 | resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==}
966 | peerDependencies:
967 | '@types/react': '*'
968 | react: ^16.8 || ^17.0 || ^18.0
969 | peerDependenciesMeta:
970 | '@types/react':
971 | optional: true
972 | dependencies:
973 | '@babel/runtime': 7.22.5
974 | '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.13)(react@18.2.0)
975 | '@types/react': 18.2.13
976 | react: 18.2.0
977 | dev: false
978 |
979 | /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
980 | resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==}
981 | peerDependencies:
982 | '@types/react': '*'
983 | '@types/react-dom': '*'
984 | react: ^16.8 || ^17.0 || ^18.0
985 | react-dom: ^16.8 || ^17.0 || ^18.0
986 | peerDependenciesMeta:
987 | '@types/react':
988 | optional: true
989 | '@types/react-dom':
990 | optional: true
991 | dependencies:
992 | '@babel/runtime': 7.22.5
993 | '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
994 | '@types/react': 18.2.13
995 | '@types/react-dom': 18.2.6
996 | react: 18.2.0
997 | react-dom: 18.2.0(react@18.2.0)
998 | dev: false
999 |
1000 | /@radix-ui/rect@1.0.1:
1001 | resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==}
1002 | dependencies:
1003 | '@babel/runtime': 7.22.5
1004 | dev: false
1005 |
1006 | /@react-spring/animated@9.6.1(react@18.2.0):
1007 | resolution: {integrity: sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==}
1008 | peerDependencies:
1009 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1010 | dependencies:
1011 | '@react-spring/shared': 9.6.1(react@18.2.0)
1012 | '@react-spring/types': 9.6.1
1013 | react: 18.2.0
1014 |
1015 | /@react-spring/core@9.6.1(react@18.2.0):
1016 | resolution: {integrity: sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==}
1017 | peerDependencies:
1018 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1019 | dependencies:
1020 | '@react-spring/animated': 9.6.1(react@18.2.0)
1021 | '@react-spring/rafz': 9.6.1
1022 | '@react-spring/shared': 9.6.1(react@18.2.0)
1023 | '@react-spring/types': 9.6.1
1024 | react: 18.2.0
1025 |
1026 | /@react-spring/rafz@9.6.1:
1027 | resolution: {integrity: sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==}
1028 |
1029 | /@react-spring/shared@9.6.1(react@18.2.0):
1030 | resolution: {integrity: sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==}
1031 | peerDependencies:
1032 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1033 | dependencies:
1034 | '@react-spring/rafz': 9.6.1
1035 | '@react-spring/types': 9.6.1
1036 | react: 18.2.0
1037 |
1038 | /@react-spring/three@9.6.1(@react-three/fiber@8.13.3)(react@18.2.0)(three@0.153.0):
1039 | resolution: {integrity: sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==}
1040 | peerDependencies:
1041 | '@react-three/fiber': '>=6.0'
1042 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
1043 | three: '>=0.126'
1044 | dependencies:
1045 | '@react-spring/animated': 9.6.1(react@18.2.0)
1046 | '@react-spring/core': 9.6.1(react@18.2.0)
1047 | '@react-spring/shared': 9.6.1(react@18.2.0)
1048 | '@react-spring/types': 9.6.1
1049 | '@react-three/fiber': 8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
1050 | react: 18.2.0
1051 | three: 0.153.0
1052 |
1053 | /@react-spring/types@9.6.1:
1054 | resolution: {integrity: sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==}
1055 |
1056 | /@react-three/drei@9.77.0(@react-three/fiber@8.13.3)(@types/three@0.152.1)(react-dom@18.2.0)(react@18.2.0)(three@0.153.0):
1057 | resolution: {integrity: sha512-hAPXkPbmvBB1oKcGgkX+fRfAT9j7+Y2/78pa0xL8jgmkjVbLsrKYh7SOcPuVZ1kUmFFsg75pTZA85KTWqCIzew==}
1058 | peerDependencies:
1059 | '@react-three/fiber': '>=8.0'
1060 | react: '>=18.0'
1061 | react-dom: '>=18.0'
1062 | three: '>=0.137'
1063 | peerDependenciesMeta:
1064 | react-dom:
1065 | optional: true
1066 | dependencies:
1067 | '@babel/runtime': 7.22.5
1068 | '@mediapipe/tasks-vision': 0.10.2-rc2
1069 | '@react-spring/three': 9.6.1(@react-three/fiber@8.13.3)(react@18.2.0)(three@0.153.0)
1070 | '@react-three/fiber': 8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
1071 | '@use-gesture/react': 10.2.27(react@18.2.0)
1072 | camera-controls: 2.6.0(three@0.153.0)
1073 | detect-gpu: 5.0.29
1074 | glsl-noise: 0.0.0
1075 | lodash.clamp: 4.0.3
1076 | lodash.omit: 4.5.0
1077 | lodash.pick: 4.4.0
1078 | maath: 0.6.0(@types/three@0.152.1)(three@0.153.0)
1079 | meshline: 3.1.6(three@0.153.0)
1080 | react: 18.2.0
1081 | react-composer: 5.0.3(react@18.2.0)
1082 | react-dom: 18.2.0(react@18.2.0)
1083 | react-merge-refs: 1.1.0
1084 | stats.js: 0.17.0
1085 | suspend-react: 0.1.3(react@18.2.0)
1086 | three: 0.153.0
1087 | three-mesh-bvh: 0.6.0(three@0.153.0)
1088 | three-stdlib: 2.23.10(three@0.153.0)
1089 | troika-three-text: 0.47.2(three@0.153.0)
1090 | utility-types: 3.10.0
1091 | zustand: 3.7.2(react@18.2.0)
1092 | transitivePeerDependencies:
1093 | - '@types/three'
1094 |
1095 | /@react-three/fiber@8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0):
1096 | resolution: {integrity: sha512-mCdTUB8D1kwlsOSxGhUg5nuGHt3HN3aNFc0s9I/N7ayk+nzT2ttLdn49c56nrHu+YK+SU1xnrxe6LqftZgIRmQ==}
1097 | peerDependencies:
1098 | expo: '>=43.0'
1099 | expo-asset: '>=8.4'
1100 | expo-gl: '>=11.0'
1101 | react: '>=18.0'
1102 | react-dom: '>=18.0'
1103 | react-native: '>=0.64'
1104 | three: '>=0.133'
1105 | peerDependenciesMeta:
1106 | expo:
1107 | optional: true
1108 | expo-asset:
1109 | optional: true
1110 | expo-gl:
1111 | optional: true
1112 | react-dom:
1113 | optional: true
1114 | react-native:
1115 | optional: true
1116 | dependencies:
1117 | '@babel/runtime': 7.22.5
1118 | '@types/react-reconciler': 0.26.7
1119 | its-fine: 1.1.1(react@18.2.0)
1120 | react: 18.2.0
1121 | react-dom: 18.2.0(react@18.2.0)
1122 | react-reconciler: 0.27.0(react@18.2.0)
1123 | react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0)
1124 | scheduler: 0.21.0
1125 | suspend-react: 0.1.3(react@18.2.0)
1126 | three: 0.153.0
1127 | zustand: 3.7.2(react@18.2.0)
1128 |
1129 | /@rollup/pluginutils@5.0.2:
1130 | resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==}
1131 | engines: {node: '>=14.0.0'}
1132 | peerDependencies:
1133 | rollup: ^1.20.0||^2.0.0||^3.0.0
1134 | peerDependenciesMeta:
1135 | rollup:
1136 | optional: true
1137 | dependencies:
1138 | '@types/estree': 1.0.1
1139 | estree-walker: 2.0.2
1140 | picomatch: 2.3.1
1141 | dev: true
1142 |
1143 | /@stitches/react@1.2.8(react@18.2.0):
1144 | resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==}
1145 | peerDependencies:
1146 | react: '>= 16.3.0'
1147 | dependencies:
1148 | react: 18.2.0
1149 |
1150 | /@tweenjs/tween.js@18.6.4:
1151 | resolution: {integrity: sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==}
1152 |
1153 | /@types/draco3d@1.4.2:
1154 | resolution: {integrity: sha512-goh23EGr6CLV6aKPwN1p8kBD/7tT5V/bLpToSbarKrwVejqNrspVrv8DhliteYkkhZYrlq/fwKZRRUzH4XN88w==}
1155 |
1156 | /@types/estree@1.0.1:
1157 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
1158 | dev: true
1159 |
1160 | /@types/offscreencanvas@2019.7.0:
1161 | resolution: {integrity: sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==}
1162 |
1163 | /@types/prop-types@15.7.5:
1164 | resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==}
1165 |
1166 | /@types/react-dom@18.2.6:
1167 | resolution: {integrity: sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==}
1168 | dependencies:
1169 | '@types/react': 18.2.13
1170 |
1171 | /@types/react-reconciler@0.26.7:
1172 | resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==}
1173 | dependencies:
1174 | '@types/react': 18.2.13
1175 |
1176 | /@types/react-reconciler@0.28.2:
1177 | resolution: {integrity: sha512-8tu6lHzEgYPlfDf/J6GOQdIc+gs+S2yAqlby3zTsB3SP2svlqTYe5fwZNtZyfactP74ShooP2vvi1BOp9ZemWw==}
1178 | dependencies:
1179 | '@types/react': 18.2.13
1180 |
1181 | /@types/react@18.2.13:
1182 | resolution: {integrity: sha512-vJ+zElvi/Zn9cVXB5slX2xL8PZodPCwPRDpittQdw43JR2AJ5k3vKdgJJyneV/cYgIbLQUwXa9JVDvUZXGba+Q==}
1183 | dependencies:
1184 | '@types/prop-types': 15.7.5
1185 | '@types/scheduler': 0.16.3
1186 | csstype: 3.1.2
1187 |
1188 | /@types/scheduler@0.16.3:
1189 | resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==}
1190 |
1191 | /@types/stats.js@0.17.0:
1192 | resolution: {integrity: sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==}
1193 |
1194 | /@types/three@0.152.1:
1195 | resolution: {integrity: sha512-PMOCQnx9JRmq+2OUGTPoY9h1hTWD2L7/nmuW/SyNq1Vbq3Lwt3MNdl3wYSa4DvLTGv62NmIXD9jYdAOwohwJyw==}
1196 | dependencies:
1197 | '@tweenjs/tween.js': 18.6.4
1198 | '@types/stats.js': 0.17.0
1199 | '@types/webxr': 0.5.2
1200 | fflate: 0.6.10
1201 | lil-gui: 0.17.0
1202 |
1203 | /@types/webxr@0.5.2:
1204 | resolution: {integrity: sha512-szL74BnIcok9m7QwYtVmQ+EdIKwbjPANudfuvDrAF8Cljg9MKUlIoc1w5tjj9PMpeSH3U1Xnx//czQybJ0EfSw==}
1205 |
1206 | /@use-gesture/core@10.2.27:
1207 | resolution: {integrity: sha512-V4XV7hn9GAD2MYu8yBBVi5iuWBsAMfjPRMsEVzoTNGYH72tf0kFP+OKqGKc8YJFQIJx6yj+AOqxmEHOmx2/MEA==}
1208 |
1209 | /@use-gesture/react@10.2.27(react@18.2.0):
1210 | resolution: {integrity: sha512-7E5vnWCxeslWlxwZ8uKIcnUZVMTRMZ8cvSnLLKF1NkyNb3PnNiAzoXM4G1vTKJKRhgOTeI6wK1YsEpwo9ABV5w==}
1211 | peerDependencies:
1212 | react: '>= 16.8.0'
1213 | dependencies:
1214 | '@use-gesture/core': 10.2.27
1215 | react: 18.2.0
1216 |
1217 | /@utsubo/events@0.1.7(react@18.2.0):
1218 | resolution: {integrity: sha512-WB/GEj/0h27Bz8rJ0+CBtNz5mLT79ne1OjB7PUM4n0qLBqEDwm6yBzZC3j6tasHjlBPJDYZiBVIA1glaMlgZ5g==}
1219 | peerDependencies:
1220 | react: '>=16.8.0'
1221 | peerDependenciesMeta:
1222 | react:
1223 | optional: true
1224 | dependencies:
1225 | eventemitter3: 4.0.7
1226 | react: 18.2.0
1227 | dev: true
1228 |
1229 | /@vitejs/plugin-react@4.0.1(vite@4.3.9):
1230 | resolution: {integrity: sha512-g25lL98essfeSj43HJ0o4DMp0325XK0ITkxpgChzJU/CyemgyChtlxfnRbjfwxDGCTRxTiXtQAsdebQXKMRSOA==}
1231 | engines: {node: ^14.18.0 || >=16.0.0}
1232 | peerDependencies:
1233 | vite: ^4.2.0
1234 | dependencies:
1235 | '@babel/core': 7.22.5
1236 | '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.5)
1237 | '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.5)
1238 | react-refresh: 0.14.0
1239 | vite: 4.3.9
1240 | transitivePeerDependencies:
1241 | - supports-color
1242 | dev: true
1243 |
1244 | /acorn-jsx@5.3.2(acorn@8.9.0):
1245 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
1246 | peerDependencies:
1247 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
1248 | dependencies:
1249 | acorn: 8.9.0
1250 | dev: true
1251 |
1252 | /acorn@8.9.0:
1253 | resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==}
1254 | engines: {node: '>=0.4.0'}
1255 | hasBin: true
1256 | dev: true
1257 |
1258 | /ajv@6.12.6:
1259 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
1260 | dependencies:
1261 | fast-deep-equal: 3.1.3
1262 | fast-json-stable-stringify: 2.1.0
1263 | json-schema-traverse: 0.4.1
1264 | uri-js: 4.4.1
1265 | dev: true
1266 |
1267 | /ansi-regex@5.0.1:
1268 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
1269 | engines: {node: '>=8'}
1270 | dev: true
1271 |
1272 | /ansi-styles@3.2.1:
1273 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
1274 | engines: {node: '>=4'}
1275 | dependencies:
1276 | color-convert: 1.9.3
1277 | dev: true
1278 |
1279 | /ansi-styles@4.3.0:
1280 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
1281 | engines: {node: '>=8'}
1282 | dependencies:
1283 | color-convert: 2.0.1
1284 | dev: true
1285 |
1286 | /argparse@2.0.1:
1287 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
1288 | dev: true
1289 |
1290 | /array-buffer-byte-length@1.0.0:
1291 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
1292 | dependencies:
1293 | call-bind: 1.0.2
1294 | is-array-buffer: 3.0.2
1295 | dev: true
1296 |
1297 | /array-includes@3.1.6:
1298 | resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==}
1299 | engines: {node: '>= 0.4'}
1300 | dependencies:
1301 | call-bind: 1.0.2
1302 | define-properties: 1.2.0
1303 | es-abstract: 1.21.2
1304 | get-intrinsic: 1.2.1
1305 | is-string: 1.0.7
1306 | dev: true
1307 |
1308 | /array.prototype.flatmap@1.3.1:
1309 | resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==}
1310 | engines: {node: '>= 0.4'}
1311 | dependencies:
1312 | call-bind: 1.0.2
1313 | define-properties: 1.2.0
1314 | es-abstract: 1.21.2
1315 | es-shim-unscopables: 1.0.0
1316 | dev: true
1317 |
1318 | /array.prototype.tosorted@1.1.1:
1319 | resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==}
1320 | dependencies:
1321 | call-bind: 1.0.2
1322 | define-properties: 1.2.0
1323 | es-abstract: 1.21.2
1324 | es-shim-unscopables: 1.0.0
1325 | get-intrinsic: 1.2.1
1326 | dev: true
1327 |
1328 | /assign-symbols@1.0.0:
1329 | resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
1330 | engines: {node: '>=0.10.0'}
1331 | dev: false
1332 |
1333 | /attr-accept@2.2.2:
1334 | resolution: {integrity: sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==}
1335 | engines: {node: '>=4'}
1336 | dev: false
1337 |
1338 | /available-typed-arrays@1.0.5:
1339 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
1340 | engines: {node: '>= 0.4'}
1341 | dev: true
1342 |
1343 | /balanced-match@1.0.2:
1344 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
1345 | dev: true
1346 |
1347 | /bidi-js@1.0.2:
1348 | resolution: {integrity: sha512-rzSy/k7WdX5zOyeHHCOixGXbCHkyogkxPKL2r8QtzHmVQDiWCXUWa18bLdMWT9CYMLOYTjWpTHawuev2ouYJVw==}
1349 | dependencies:
1350 | require-from-string: 2.0.2
1351 |
1352 | /brace-expansion@1.1.11:
1353 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
1354 | dependencies:
1355 | balanced-match: 1.0.2
1356 | concat-map: 0.0.1
1357 | dev: true
1358 |
1359 | /browserslist@4.21.9:
1360 | resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==}
1361 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
1362 | hasBin: true
1363 | dependencies:
1364 | caniuse-lite: 1.0.30001506
1365 | electron-to-chromium: 1.4.435
1366 | node-releases: 2.0.12
1367 | update-browserslist-db: 1.0.11(browserslist@4.21.9)
1368 | dev: true
1369 |
1370 | /call-bind@1.0.2:
1371 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
1372 | dependencies:
1373 | function-bind: 1.1.1
1374 | get-intrinsic: 1.2.1
1375 | dev: true
1376 |
1377 | /callsites@3.1.0:
1378 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
1379 | engines: {node: '>=6'}
1380 | dev: true
1381 |
1382 | /camera-controls@2.6.0(three@0.153.0):
1383 | resolution: {integrity: sha512-65vkZ+FQfRLtq5LHrNuDFeOALN8+gfoRFuIOwYwgwzVY7bjBxP+j3joj6RTgc5Ot+dTJupFWwfcq7ds4Iq4DGg==}
1384 | peerDependencies:
1385 | three: '>=0.126.1'
1386 | dependencies:
1387 | three: 0.153.0
1388 |
1389 | /caniuse-lite@1.0.30001506:
1390 | resolution: {integrity: sha512-6XNEcpygZMCKaufIcgpQNZNf00GEqc7VQON+9Rd0K1bMYo8xhMZRAo5zpbnbMNizi4YNgIDAFrdykWsvY3H4Hw==}
1391 | dev: true
1392 |
1393 | /chalk@2.4.2:
1394 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
1395 | engines: {node: '>=4'}
1396 | dependencies:
1397 | ansi-styles: 3.2.1
1398 | escape-string-regexp: 1.0.5
1399 | supports-color: 5.5.0
1400 | dev: true
1401 |
1402 | /chalk@4.1.2:
1403 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
1404 | engines: {node: '>=10'}
1405 | dependencies:
1406 | ansi-styles: 4.3.0
1407 | supports-color: 7.2.0
1408 | dev: true
1409 |
1410 | /chevrotain@10.5.0:
1411 | resolution: {integrity: sha512-Pkv5rBY3+CsHOYfV5g/Vs5JY9WTHHDEKOlohI2XeygaZhUeqhAlldZ8Hz9cRmxu709bvS08YzxHdTPHhffc13A==}
1412 | dependencies:
1413 | '@chevrotain/cst-dts-gen': 10.5.0
1414 | '@chevrotain/gast': 10.5.0
1415 | '@chevrotain/types': 10.5.0
1416 | '@chevrotain/utils': 10.5.0
1417 | lodash: 4.17.21
1418 | regexp-to-ast: 0.5.0
1419 |
1420 | /color-convert@1.9.3:
1421 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
1422 | dependencies:
1423 | color-name: 1.1.3
1424 | dev: true
1425 |
1426 | /color-convert@2.0.1:
1427 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1428 | engines: {node: '>=7.0.0'}
1429 | dependencies:
1430 | color-name: 1.1.4
1431 | dev: true
1432 |
1433 | /color-name@1.1.3:
1434 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
1435 | dev: true
1436 |
1437 | /color-name@1.1.4:
1438 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1439 | dev: true
1440 |
1441 | /colord@2.9.3:
1442 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
1443 | dev: false
1444 |
1445 | /concat-map@0.0.1:
1446 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1447 | dev: true
1448 |
1449 | /convert-source-map@1.9.0:
1450 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
1451 | dev: true
1452 |
1453 | /cross-spawn@7.0.3:
1454 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1455 | engines: {node: '>= 8'}
1456 | dependencies:
1457 | path-key: 3.1.1
1458 | shebang-command: 2.0.0
1459 | which: 2.0.2
1460 | dev: true
1461 |
1462 | /csstype@3.1.2:
1463 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
1464 |
1465 | /debounce@1.2.1:
1466 | resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
1467 |
1468 | /debug@4.3.4:
1469 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
1470 | engines: {node: '>=6.0'}
1471 | peerDependencies:
1472 | supports-color: '*'
1473 | peerDependenciesMeta:
1474 | supports-color:
1475 | optional: true
1476 | dependencies:
1477 | ms: 2.1.2
1478 | dev: true
1479 |
1480 | /deep-is@0.1.4:
1481 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1482 | dev: true
1483 |
1484 | /define-properties@1.2.0:
1485 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
1486 | engines: {node: '>= 0.4'}
1487 | dependencies:
1488 | has-property-descriptors: 1.0.0
1489 | object-keys: 1.1.1
1490 | dev: true
1491 |
1492 | /dequal@2.0.3:
1493 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1494 | engines: {node: '>=6'}
1495 | dev: false
1496 |
1497 | /detect-gpu@5.0.29:
1498 | resolution: {integrity: sha512-DEqWxHXAKaoIHxF0rtFPDdWWINGoketQ6fk64KbahK3IC0I0LiZR6NbWZo4pwf7UH8khBLY8w4wS+1MHi81LSQ==}
1499 | dependencies:
1500 | webgl-constants: 1.1.1
1501 |
1502 | /doctrine@2.1.0:
1503 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
1504 | engines: {node: '>=0.10.0'}
1505 | dependencies:
1506 | esutils: 2.0.3
1507 | dev: true
1508 |
1509 | /doctrine@3.0.0:
1510 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1511 | engines: {node: '>=6.0.0'}
1512 | dependencies:
1513 | esutils: 2.0.3
1514 | dev: true
1515 |
1516 | /draco3d@1.5.6:
1517 | resolution: {integrity: sha512-+3NaRjWktb5r61ZFoDejlykPEFKT5N/LkbXsaddlw6xNSXBanUYpFc2AXXpbJDilPHazcSreU/DpQIaxfX0NfQ==}
1518 |
1519 | /electron-to-chromium@1.4.435:
1520 | resolution: {integrity: sha512-B0CBWVFhvoQCW/XtjRzgrmqcgVWg6RXOEM/dK59+wFV93BFGR6AeNKc4OyhM+T3IhJaOOG8o/V+33Y2mwJWtzw==}
1521 | dev: true
1522 |
1523 | /es-abstract@1.21.2:
1524 | resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==}
1525 | engines: {node: '>= 0.4'}
1526 | dependencies:
1527 | array-buffer-byte-length: 1.0.0
1528 | available-typed-arrays: 1.0.5
1529 | call-bind: 1.0.2
1530 | es-set-tostringtag: 2.0.1
1531 | es-to-primitive: 1.2.1
1532 | function.prototype.name: 1.1.5
1533 | get-intrinsic: 1.2.1
1534 | get-symbol-description: 1.0.0
1535 | globalthis: 1.0.3
1536 | gopd: 1.0.1
1537 | has: 1.0.3
1538 | has-property-descriptors: 1.0.0
1539 | has-proto: 1.0.1
1540 | has-symbols: 1.0.3
1541 | internal-slot: 1.0.5
1542 | is-array-buffer: 3.0.2
1543 | is-callable: 1.2.7
1544 | is-negative-zero: 2.0.2
1545 | is-regex: 1.1.4
1546 | is-shared-array-buffer: 1.0.2
1547 | is-string: 1.0.7
1548 | is-typed-array: 1.1.10
1549 | is-weakref: 1.0.2
1550 | object-inspect: 1.12.3
1551 | object-keys: 1.1.1
1552 | object.assign: 4.1.4
1553 | regexp.prototype.flags: 1.5.0
1554 | safe-regex-test: 1.0.0
1555 | string.prototype.trim: 1.2.7
1556 | string.prototype.trimend: 1.0.6
1557 | string.prototype.trimstart: 1.0.6
1558 | typed-array-length: 1.0.4
1559 | unbox-primitive: 1.0.2
1560 | which-typed-array: 1.1.9
1561 | dev: true
1562 |
1563 | /es-set-tostringtag@2.0.1:
1564 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==}
1565 | engines: {node: '>= 0.4'}
1566 | dependencies:
1567 | get-intrinsic: 1.2.1
1568 | has: 1.0.3
1569 | has-tostringtag: 1.0.0
1570 | dev: true
1571 |
1572 | /es-shim-unscopables@1.0.0:
1573 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==}
1574 | dependencies:
1575 | has: 1.0.3
1576 | dev: true
1577 |
1578 | /es-to-primitive@1.2.1:
1579 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
1580 | engines: {node: '>= 0.4'}
1581 | dependencies:
1582 | is-callable: 1.2.7
1583 | is-date-object: 1.0.5
1584 | is-symbol: 1.0.4
1585 | dev: true
1586 |
1587 | /esbuild@0.17.19:
1588 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
1589 | engines: {node: '>=12'}
1590 | hasBin: true
1591 | requiresBuild: true
1592 | optionalDependencies:
1593 | '@esbuild/android-arm': 0.17.19
1594 | '@esbuild/android-arm64': 0.17.19
1595 | '@esbuild/android-x64': 0.17.19
1596 | '@esbuild/darwin-arm64': 0.17.19
1597 | '@esbuild/darwin-x64': 0.17.19
1598 | '@esbuild/freebsd-arm64': 0.17.19
1599 | '@esbuild/freebsd-x64': 0.17.19
1600 | '@esbuild/linux-arm': 0.17.19
1601 | '@esbuild/linux-arm64': 0.17.19
1602 | '@esbuild/linux-ia32': 0.17.19
1603 | '@esbuild/linux-loong64': 0.17.19
1604 | '@esbuild/linux-mips64el': 0.17.19
1605 | '@esbuild/linux-ppc64': 0.17.19
1606 | '@esbuild/linux-riscv64': 0.17.19
1607 | '@esbuild/linux-s390x': 0.17.19
1608 | '@esbuild/linux-x64': 0.17.19
1609 | '@esbuild/netbsd-x64': 0.17.19
1610 | '@esbuild/openbsd-x64': 0.17.19
1611 | '@esbuild/sunos-x64': 0.17.19
1612 | '@esbuild/win32-arm64': 0.17.19
1613 | '@esbuild/win32-ia32': 0.17.19
1614 | '@esbuild/win32-x64': 0.17.19
1615 | dev: true
1616 |
1617 | /escalade@3.1.1:
1618 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1619 | engines: {node: '>=6'}
1620 | dev: true
1621 |
1622 | /escape-string-regexp@1.0.5:
1623 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1624 | engines: {node: '>=0.8.0'}
1625 | dev: true
1626 |
1627 | /escape-string-regexp@4.0.0:
1628 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1629 | engines: {node: '>=10'}
1630 | dev: true
1631 |
1632 | /eslint-plugin-react-hooks@4.6.0(eslint@8.43.0):
1633 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1634 | engines: {node: '>=10'}
1635 | peerDependencies:
1636 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1637 | dependencies:
1638 | eslint: 8.43.0
1639 | dev: true
1640 |
1641 | /eslint-plugin-react-refresh@0.3.5(eslint@8.43.0):
1642 | resolution: {integrity: sha512-61qNIsc7fo9Pp/mju0J83kzvLm0Bsayu7OQSLEoJxLDCBjIIyb87bkzufoOvdDxLkSlMfkF7UxomC4+eztUBSA==}
1643 | peerDependencies:
1644 | eslint: '>=7'
1645 | dependencies:
1646 | eslint: 8.43.0
1647 | dev: true
1648 |
1649 | /eslint-plugin-react@7.32.2(eslint@8.43.0):
1650 | resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==}
1651 | engines: {node: '>=4'}
1652 | peerDependencies:
1653 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1654 | dependencies:
1655 | array-includes: 3.1.6
1656 | array.prototype.flatmap: 1.3.1
1657 | array.prototype.tosorted: 1.1.1
1658 | doctrine: 2.1.0
1659 | eslint: 8.43.0
1660 | estraverse: 5.3.0
1661 | jsx-ast-utils: 3.3.3
1662 | minimatch: 3.1.2
1663 | object.entries: 1.1.6
1664 | object.fromentries: 2.0.6
1665 | object.hasown: 1.1.2
1666 | object.values: 1.1.6
1667 | prop-types: 15.8.1
1668 | resolve: 2.0.0-next.4
1669 | semver: 6.3.0
1670 | string.prototype.matchall: 4.0.8
1671 | dev: true
1672 |
1673 | /eslint-scope@7.2.0:
1674 | resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==}
1675 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1676 | dependencies:
1677 | esrecurse: 4.3.0
1678 | estraverse: 5.3.0
1679 | dev: true
1680 |
1681 | /eslint-visitor-keys@3.4.1:
1682 | resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==}
1683 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1684 | dev: true
1685 |
1686 | /eslint@8.43.0:
1687 | resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==}
1688 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1689 | hasBin: true
1690 | dependencies:
1691 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
1692 | '@eslint-community/regexpp': 4.5.1
1693 | '@eslint/eslintrc': 2.0.3
1694 | '@eslint/js': 8.43.0
1695 | '@humanwhocodes/config-array': 0.11.10
1696 | '@humanwhocodes/module-importer': 1.0.1
1697 | '@nodelib/fs.walk': 1.2.8
1698 | ajv: 6.12.6
1699 | chalk: 4.1.2
1700 | cross-spawn: 7.0.3
1701 | debug: 4.3.4
1702 | doctrine: 3.0.0
1703 | escape-string-regexp: 4.0.0
1704 | eslint-scope: 7.2.0
1705 | eslint-visitor-keys: 3.4.1
1706 | espree: 9.5.2
1707 | esquery: 1.5.0
1708 | esutils: 2.0.3
1709 | fast-deep-equal: 3.1.3
1710 | file-entry-cache: 6.0.1
1711 | find-up: 5.0.0
1712 | glob-parent: 6.0.2
1713 | globals: 13.20.0
1714 | graphemer: 1.4.0
1715 | ignore: 5.2.4
1716 | import-fresh: 3.3.0
1717 | imurmurhash: 0.1.4
1718 | is-glob: 4.0.3
1719 | is-path-inside: 3.0.3
1720 | js-yaml: 4.1.0
1721 | json-stable-stringify-without-jsonify: 1.0.1
1722 | levn: 0.4.1
1723 | lodash.merge: 4.6.2
1724 | minimatch: 3.1.2
1725 | natural-compare: 1.4.0
1726 | optionator: 0.9.1
1727 | strip-ansi: 6.0.1
1728 | strip-json-comments: 3.1.1
1729 | text-table: 0.2.0
1730 | transitivePeerDependencies:
1731 | - supports-color
1732 | dev: true
1733 |
1734 | /espree@9.5.2:
1735 | resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==}
1736 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1737 | dependencies:
1738 | acorn: 8.9.0
1739 | acorn-jsx: 5.3.2(acorn@8.9.0)
1740 | eslint-visitor-keys: 3.4.1
1741 | dev: true
1742 |
1743 | /esquery@1.5.0:
1744 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1745 | engines: {node: '>=0.10'}
1746 | dependencies:
1747 | estraverse: 5.3.0
1748 | dev: true
1749 |
1750 | /esrecurse@4.3.0:
1751 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1752 | engines: {node: '>=4.0'}
1753 | dependencies:
1754 | estraverse: 5.3.0
1755 | dev: true
1756 |
1757 | /estraverse@5.3.0:
1758 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1759 | engines: {node: '>=4.0'}
1760 | dev: true
1761 |
1762 | /estree-walker@2.0.2:
1763 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1764 | dev: true
1765 |
1766 | /esutils@2.0.3:
1767 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1768 | engines: {node: '>=0.10.0'}
1769 | dev: true
1770 |
1771 | /eventemitter3@4.0.7:
1772 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
1773 | dev: true
1774 |
1775 | /extend-shallow@2.0.1:
1776 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
1777 | engines: {node: '>=0.10.0'}
1778 | dependencies:
1779 | is-extendable: 0.1.1
1780 | dev: false
1781 |
1782 | /extend-shallow@3.0.2:
1783 | resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
1784 | engines: {node: '>=0.10.0'}
1785 | dependencies:
1786 | assign-symbols: 1.0.0
1787 | is-extendable: 1.0.1
1788 | dev: false
1789 |
1790 | /fast-deep-equal@3.1.3:
1791 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1792 | dev: true
1793 |
1794 | /fast-json-stable-stringify@2.1.0:
1795 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1796 | dev: true
1797 |
1798 | /fast-levenshtein@2.0.6:
1799 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1800 | dev: true
1801 |
1802 | /fastq@1.15.0:
1803 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1804 | dependencies:
1805 | reusify: 1.0.4
1806 | dev: true
1807 |
1808 | /fflate@0.6.10:
1809 | resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
1810 |
1811 | /file-entry-cache@6.0.1:
1812 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1813 | engines: {node: ^10.12.0 || >=12.0.0}
1814 | dependencies:
1815 | flat-cache: 3.0.4
1816 | dev: true
1817 |
1818 | /file-selector@0.5.0:
1819 | resolution: {integrity: sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==}
1820 | engines: {node: '>= 10'}
1821 | dependencies:
1822 | tslib: 2.5.3
1823 | dev: false
1824 |
1825 | /find-up@5.0.0:
1826 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1827 | engines: {node: '>=10'}
1828 | dependencies:
1829 | locate-path: 6.0.0
1830 | path-exists: 4.0.0
1831 | dev: true
1832 |
1833 | /flat-cache@3.0.4:
1834 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
1835 | engines: {node: ^10.12.0 || >=12.0.0}
1836 | dependencies:
1837 | flatted: 3.2.7
1838 | rimraf: 3.0.2
1839 | dev: true
1840 |
1841 | /flatted@3.2.7:
1842 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==}
1843 | dev: true
1844 |
1845 | /for-each@0.3.3:
1846 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1847 | dependencies:
1848 | is-callable: 1.2.7
1849 | dev: true
1850 |
1851 | /for-in@1.0.2:
1852 | resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
1853 | engines: {node: '>=0.10.0'}
1854 | dev: false
1855 |
1856 | /fs.realpath@1.0.0:
1857 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1858 | dev: true
1859 |
1860 | /fsevents@2.3.2:
1861 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
1862 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1863 | os: [darwin]
1864 | requiresBuild: true
1865 | dev: true
1866 | optional: true
1867 |
1868 | /function-bind@1.1.1:
1869 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
1870 | dev: true
1871 |
1872 | /function.prototype.name@1.1.5:
1873 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
1874 | engines: {node: '>= 0.4'}
1875 | dependencies:
1876 | call-bind: 1.0.2
1877 | define-properties: 1.2.0
1878 | es-abstract: 1.21.2
1879 | functions-have-names: 1.2.3
1880 | dev: true
1881 |
1882 | /functions-have-names@1.2.3:
1883 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1884 | dev: true
1885 |
1886 | /gensync@1.0.0-beta.2:
1887 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1888 | engines: {node: '>=6.9.0'}
1889 | dev: true
1890 |
1891 | /get-intrinsic@1.2.1:
1892 | resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
1893 | dependencies:
1894 | function-bind: 1.1.1
1895 | has: 1.0.3
1896 | has-proto: 1.0.1
1897 | has-symbols: 1.0.3
1898 | dev: true
1899 |
1900 | /get-symbol-description@1.0.0:
1901 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1902 | engines: {node: '>= 0.4'}
1903 | dependencies:
1904 | call-bind: 1.0.2
1905 | get-intrinsic: 1.2.1
1906 | dev: true
1907 |
1908 | /get-value@2.0.6:
1909 | resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
1910 | engines: {node: '>=0.10.0'}
1911 | dev: false
1912 |
1913 | /glob-parent@6.0.2:
1914 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1915 | engines: {node: '>=10.13.0'}
1916 | dependencies:
1917 | is-glob: 4.0.3
1918 | dev: true
1919 |
1920 | /glob@7.2.3:
1921 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1922 | dependencies:
1923 | fs.realpath: 1.0.0
1924 | inflight: 1.0.6
1925 | inherits: 2.0.4
1926 | minimatch: 3.1.2
1927 | once: 1.4.0
1928 | path-is-absolute: 1.0.1
1929 | dev: true
1930 |
1931 | /globals@11.12.0:
1932 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1933 | engines: {node: '>=4'}
1934 | dev: true
1935 |
1936 | /globals@13.20.0:
1937 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
1938 | engines: {node: '>=8'}
1939 | dependencies:
1940 | type-fest: 0.20.2
1941 | dev: true
1942 |
1943 | /globalthis@1.0.3:
1944 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
1945 | engines: {node: '>= 0.4'}
1946 | dependencies:
1947 | define-properties: 1.2.0
1948 | dev: true
1949 |
1950 | /glsl-noise@0.0.0:
1951 | resolution: {integrity: sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==}
1952 |
1953 | /gopd@1.0.1:
1954 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1955 | dependencies:
1956 | get-intrinsic: 1.2.1
1957 | dev: true
1958 |
1959 | /graphemer@1.4.0:
1960 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1961 | dev: true
1962 |
1963 | /has-bigints@1.0.2:
1964 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1965 | dev: true
1966 |
1967 | /has-flag@3.0.0:
1968 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1969 | engines: {node: '>=4'}
1970 | dev: true
1971 |
1972 | /has-flag@4.0.0:
1973 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1974 | engines: {node: '>=8'}
1975 | dev: true
1976 |
1977 | /has-property-descriptors@1.0.0:
1978 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==}
1979 | dependencies:
1980 | get-intrinsic: 1.2.1
1981 | dev: true
1982 |
1983 | /has-proto@1.0.1:
1984 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
1985 | engines: {node: '>= 0.4'}
1986 | dev: true
1987 |
1988 | /has-symbols@1.0.3:
1989 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1990 | engines: {node: '>= 0.4'}
1991 | dev: true
1992 |
1993 | /has-tostringtag@1.0.0:
1994 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1995 | engines: {node: '>= 0.4'}
1996 | dependencies:
1997 | has-symbols: 1.0.3
1998 | dev: true
1999 |
2000 | /has@1.0.3:
2001 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
2002 | engines: {node: '>= 0.4.0'}
2003 | dependencies:
2004 | function-bind: 1.1.1
2005 | dev: true
2006 |
2007 | /ignore@5.2.4:
2008 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
2009 | engines: {node: '>= 4'}
2010 | dev: true
2011 |
2012 | /import-fresh@3.3.0:
2013 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
2014 | engines: {node: '>=6'}
2015 | dependencies:
2016 | parent-module: 1.0.1
2017 | resolve-from: 4.0.0
2018 | dev: true
2019 |
2020 | /imurmurhash@0.1.4:
2021 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
2022 | engines: {node: '>=0.8.19'}
2023 | dev: true
2024 |
2025 | /inflight@1.0.6:
2026 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
2027 | dependencies:
2028 | once: 1.4.0
2029 | wrappy: 1.0.2
2030 | dev: true
2031 |
2032 | /inherits@2.0.4:
2033 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
2034 | dev: true
2035 |
2036 | /internal-slot@1.0.5:
2037 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==}
2038 | engines: {node: '>= 0.4'}
2039 | dependencies:
2040 | get-intrinsic: 1.2.1
2041 | has: 1.0.3
2042 | side-channel: 1.0.4
2043 | dev: true
2044 |
2045 | /is-array-buffer@3.0.2:
2046 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
2047 | dependencies:
2048 | call-bind: 1.0.2
2049 | get-intrinsic: 1.2.1
2050 | is-typed-array: 1.1.10
2051 | dev: true
2052 |
2053 | /is-bigint@1.0.4:
2054 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
2055 | dependencies:
2056 | has-bigints: 1.0.2
2057 | dev: true
2058 |
2059 | /is-boolean-object@1.1.2:
2060 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
2061 | engines: {node: '>= 0.4'}
2062 | dependencies:
2063 | call-bind: 1.0.2
2064 | has-tostringtag: 1.0.0
2065 | dev: true
2066 |
2067 | /is-callable@1.2.7:
2068 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
2069 | engines: {node: '>= 0.4'}
2070 | dev: true
2071 |
2072 | /is-core-module@2.12.1:
2073 | resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
2074 | dependencies:
2075 | has: 1.0.3
2076 | dev: true
2077 |
2078 | /is-date-object@1.0.5:
2079 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
2080 | engines: {node: '>= 0.4'}
2081 | dependencies:
2082 | has-tostringtag: 1.0.0
2083 | dev: true
2084 |
2085 | /is-extendable@0.1.1:
2086 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
2087 | engines: {node: '>=0.10.0'}
2088 | dev: false
2089 |
2090 | /is-extendable@1.0.1:
2091 | resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
2092 | engines: {node: '>=0.10.0'}
2093 | dependencies:
2094 | is-plain-object: 2.0.4
2095 | dev: false
2096 |
2097 | /is-extglob@2.1.1:
2098 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
2099 | engines: {node: '>=0.10.0'}
2100 | dev: true
2101 |
2102 | /is-glob@4.0.3:
2103 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
2104 | engines: {node: '>=0.10.0'}
2105 | dependencies:
2106 | is-extglob: 2.1.1
2107 | dev: true
2108 |
2109 | /is-negative-zero@2.0.2:
2110 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
2111 | engines: {node: '>= 0.4'}
2112 | dev: true
2113 |
2114 | /is-number-object@1.0.7:
2115 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
2116 | engines: {node: '>= 0.4'}
2117 | dependencies:
2118 | has-tostringtag: 1.0.0
2119 | dev: true
2120 |
2121 | /is-path-inside@3.0.3:
2122 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
2123 | engines: {node: '>=8'}
2124 | dev: true
2125 |
2126 | /is-plain-object@2.0.4:
2127 | resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
2128 | engines: {node: '>=0.10.0'}
2129 | dependencies:
2130 | isobject: 3.0.1
2131 | dev: false
2132 |
2133 | /is-regex@1.1.4:
2134 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
2135 | engines: {node: '>= 0.4'}
2136 | dependencies:
2137 | call-bind: 1.0.2
2138 | has-tostringtag: 1.0.0
2139 | dev: true
2140 |
2141 | /is-shared-array-buffer@1.0.2:
2142 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
2143 | dependencies:
2144 | call-bind: 1.0.2
2145 | dev: true
2146 |
2147 | /is-string@1.0.7:
2148 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
2149 | engines: {node: '>= 0.4'}
2150 | dependencies:
2151 | has-tostringtag: 1.0.0
2152 | dev: true
2153 |
2154 | /is-symbol@1.0.4:
2155 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
2156 | engines: {node: '>= 0.4'}
2157 | dependencies:
2158 | has-symbols: 1.0.3
2159 | dev: true
2160 |
2161 | /is-typed-array@1.1.10:
2162 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==}
2163 | engines: {node: '>= 0.4'}
2164 | dependencies:
2165 | available-typed-arrays: 1.0.5
2166 | call-bind: 1.0.2
2167 | for-each: 0.3.3
2168 | gopd: 1.0.1
2169 | has-tostringtag: 1.0.0
2170 | dev: true
2171 |
2172 | /is-weakref@1.0.2:
2173 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
2174 | dependencies:
2175 | call-bind: 1.0.2
2176 | dev: true
2177 |
2178 | /isexe@2.0.0:
2179 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
2180 | dev: true
2181 |
2182 | /isobject@3.0.1:
2183 | resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
2184 | engines: {node: '>=0.10.0'}
2185 | dev: false
2186 |
2187 | /its-fine@1.1.1(react@18.2.0):
2188 | resolution: {integrity: sha512-v1Ia1xl20KbuSGlwoaGsW0oxsw8Be+TrXweidxD9oT/1lAh6O3K3/GIM95Tt6WCiv6W+h2M7RB1TwdoAjQyyKw==}
2189 | peerDependencies:
2190 | react: '>=18.0'
2191 | dependencies:
2192 | '@types/react-reconciler': 0.28.2
2193 | react: 18.2.0
2194 |
2195 | /js-tokens@4.0.0:
2196 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
2197 |
2198 | /js-yaml@4.1.0:
2199 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
2200 | hasBin: true
2201 | dependencies:
2202 | argparse: 2.0.1
2203 | dev: true
2204 |
2205 | /jsesc@2.5.2:
2206 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
2207 | engines: {node: '>=4'}
2208 | hasBin: true
2209 | dev: true
2210 |
2211 | /json-schema-traverse@0.4.1:
2212 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
2213 | dev: true
2214 |
2215 | /json-stable-stringify-without-jsonify@1.0.1:
2216 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
2217 | dev: true
2218 |
2219 | /json5@2.2.3:
2220 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
2221 | engines: {node: '>=6'}
2222 | hasBin: true
2223 | dev: true
2224 |
2225 | /jsx-ast-utils@3.3.3:
2226 | resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
2227 | engines: {node: '>=4.0'}
2228 | dependencies:
2229 | array-includes: 3.1.6
2230 | object.assign: 4.1.4
2231 | dev: true
2232 |
2233 | /ktx-parse@0.4.5:
2234 | resolution: {integrity: sha512-MK3FOody4TXbFf8Yqv7EBbySw7aPvEcPX++Ipt6Sox+/YMFvR5xaTyhfNSk1AEmMy+RYIw81ctN4IMxCB8OAlg==}
2235 |
2236 | /leva@0.9.35(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0):
2237 | resolution: {integrity: sha512-sp/ZbHGrrzM+eq+wIAc9X7C5qFagNERYkwaulKI/xy0XrDPV67jLUSSqTCFSoSc0Uk96j3oephYoO/6I8mZNuw==}
2238 | peerDependencies:
2239 | react: '>=16.8.0'
2240 | react-dom: '>=16.8.0'
2241 | dependencies:
2242 | '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
2243 | '@radix-ui/react-tooltip': 1.0.6(@types/react-dom@18.2.6)(@types/react@18.2.13)(react-dom@18.2.0)(react@18.2.0)
2244 | '@stitches/react': 1.2.8(react@18.2.0)
2245 | '@use-gesture/react': 10.2.27(react@18.2.0)
2246 | colord: 2.9.3
2247 | dequal: 2.0.3
2248 | merge-value: 1.0.0
2249 | react: 18.2.0
2250 | react-colorful: 5.6.1(react-dom@18.2.0)(react@18.2.0)
2251 | react-dom: 18.2.0(react@18.2.0)
2252 | react-dropzone: 12.1.0(react@18.2.0)
2253 | v8n: 1.5.1
2254 | zustand: 3.7.2(react@18.2.0)
2255 | transitivePeerDependencies:
2256 | - '@types/react'
2257 | - '@types/react-dom'
2258 | dev: false
2259 |
2260 | /levn@0.4.1:
2261 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
2262 | engines: {node: '>= 0.8.0'}
2263 | dependencies:
2264 | prelude-ls: 1.2.1
2265 | type-check: 0.4.0
2266 | dev: true
2267 |
2268 | /lil-gui@0.17.0:
2269 | resolution: {integrity: sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==}
2270 |
2271 | /locate-path@6.0.0:
2272 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
2273 | engines: {node: '>=10'}
2274 | dependencies:
2275 | p-locate: 5.0.0
2276 | dev: true
2277 |
2278 | /lodash.clamp@4.0.3:
2279 | resolution: {integrity: sha512-HvzRFWjtcguTW7yd8NJBshuNaCa8aqNFtnswdT7f/cMd/1YKy5Zzoq4W/Oxvnx9l7aeY258uSdDfM793+eLsVg==}
2280 |
2281 | /lodash.merge@4.6.2:
2282 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
2283 | dev: true
2284 |
2285 | /lodash.omit@4.5.0:
2286 | resolution: {integrity: sha512-XeqSp49hNGmlkj2EJlfrQFIzQ6lXdNro9sddtQzcJY8QaoC2GO0DT7xaIokHeyM+mIT0mPMlPvkYzg2xCuHdZg==}
2287 |
2288 | /lodash.pick@4.4.0:
2289 | resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==}
2290 |
2291 | /lodash@4.17.21:
2292 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
2293 |
2294 | /loose-envify@1.4.0:
2295 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
2296 | hasBin: true
2297 | dependencies:
2298 | js-tokens: 4.0.0
2299 |
2300 | /lru-cache@5.1.1:
2301 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
2302 | dependencies:
2303 | yallist: 3.1.1
2304 | dev: true
2305 |
2306 | /maath@0.6.0(@types/three@0.152.1)(three@0.153.0):
2307 | resolution: {integrity: sha512-dSb2xQuP7vDnaYqfoKzlApeRcR2xtN8/f7WV/TMAkBC8552TwTLtOO0JTcSygkYMjNDPoo6V01jTw/aPi4JrMw==}
2308 | peerDependencies:
2309 | '@types/three': '>=0.144.0'
2310 | three: '>=0.144.0'
2311 | dependencies:
2312 | '@types/three': 0.152.1
2313 | three: 0.153.0
2314 |
2315 | /merge-value@1.0.0:
2316 | resolution: {integrity: sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==}
2317 | engines: {node: '>=0.10.0'}
2318 | dependencies:
2319 | get-value: 2.0.6
2320 | is-extendable: 1.0.1
2321 | mixin-deep: 1.3.2
2322 | set-value: 2.0.1
2323 | dev: false
2324 |
2325 | /meshline@3.1.6(three@0.153.0):
2326 | resolution: {integrity: sha512-8JZJOdaL5oz3PI/upG8JvP/5FfzYUOhrkJ8np/WKvXzl0/PZ2V9pqTvCIjSKv+w9ccg2xb+yyBhXAwt6ier3ug==}
2327 | peerDependencies:
2328 | three: '>=0.137'
2329 | dependencies:
2330 | three: 0.153.0
2331 |
2332 | /minimatch@3.1.2:
2333 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
2334 | dependencies:
2335 | brace-expansion: 1.1.11
2336 | dev: true
2337 |
2338 | /mixin-deep@1.3.2:
2339 | resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
2340 | engines: {node: '>=0.10.0'}
2341 | dependencies:
2342 | for-in: 1.0.2
2343 | is-extendable: 1.0.1
2344 | dev: false
2345 |
2346 | /mmd-parser@1.0.4:
2347 | resolution: {integrity: sha512-Qi0VCU46t2IwfGv5KF0+D/t9cizcDug7qnNoy9Ggk7aucp0tssV8IwTMkBlDbm+VqAf3cdQHTCARKSsuS2MYFg==}
2348 |
2349 | /ms@2.1.2:
2350 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
2351 | dev: true
2352 |
2353 | /nanoid@3.3.6:
2354 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
2355 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
2356 | hasBin: true
2357 | dev: true
2358 |
2359 | /natural-compare@1.4.0:
2360 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
2361 | dev: true
2362 |
2363 | /node-releases@2.0.12:
2364 | resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==}
2365 | dev: true
2366 |
2367 | /object-assign@4.1.1:
2368 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
2369 | engines: {node: '>=0.10.0'}
2370 |
2371 | /object-inspect@1.12.3:
2372 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==}
2373 | dev: true
2374 |
2375 | /object-keys@1.1.1:
2376 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
2377 | engines: {node: '>= 0.4'}
2378 | dev: true
2379 |
2380 | /object.assign@4.1.4:
2381 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
2382 | engines: {node: '>= 0.4'}
2383 | dependencies:
2384 | call-bind: 1.0.2
2385 | define-properties: 1.2.0
2386 | has-symbols: 1.0.3
2387 | object-keys: 1.1.1
2388 | dev: true
2389 |
2390 | /object.entries@1.1.6:
2391 | resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==}
2392 | engines: {node: '>= 0.4'}
2393 | dependencies:
2394 | call-bind: 1.0.2
2395 | define-properties: 1.2.0
2396 | es-abstract: 1.21.2
2397 | dev: true
2398 |
2399 | /object.fromentries@2.0.6:
2400 | resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==}
2401 | engines: {node: '>= 0.4'}
2402 | dependencies:
2403 | call-bind: 1.0.2
2404 | define-properties: 1.2.0
2405 | es-abstract: 1.21.2
2406 | dev: true
2407 |
2408 | /object.hasown@1.1.2:
2409 | resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==}
2410 | dependencies:
2411 | define-properties: 1.2.0
2412 | es-abstract: 1.21.2
2413 | dev: true
2414 |
2415 | /object.values@1.1.6:
2416 | resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==}
2417 | engines: {node: '>= 0.4'}
2418 | dependencies:
2419 | call-bind: 1.0.2
2420 | define-properties: 1.2.0
2421 | es-abstract: 1.21.2
2422 | dev: true
2423 |
2424 | /once@1.4.0:
2425 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2426 | dependencies:
2427 | wrappy: 1.0.2
2428 | dev: true
2429 |
2430 | /opentype.js@1.3.4:
2431 | resolution: {integrity: sha512-d2JE9RP/6uagpQAVtJoF0pJJA/fgai89Cc50Yp0EJHk+eLp6QQ7gBoblsnubRULNY132I0J1QKMJ+JTbMqz4sw==}
2432 | engines: {node: '>= 8.0.0'}
2433 | hasBin: true
2434 | dependencies:
2435 | string.prototype.codepointat: 0.2.1
2436 | tiny-inflate: 1.0.3
2437 |
2438 | /optionator@0.9.1:
2439 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
2440 | engines: {node: '>= 0.8.0'}
2441 | dependencies:
2442 | deep-is: 0.1.4
2443 | fast-levenshtein: 2.0.6
2444 | levn: 0.4.1
2445 | prelude-ls: 1.2.1
2446 | type-check: 0.4.0
2447 | word-wrap: 1.2.3
2448 | dev: true
2449 |
2450 | /p-limit@3.1.0:
2451 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2452 | engines: {node: '>=10'}
2453 | dependencies:
2454 | yocto-queue: 0.1.0
2455 | dev: true
2456 |
2457 | /p-locate@5.0.0:
2458 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2459 | engines: {node: '>=10'}
2460 | dependencies:
2461 | p-limit: 3.1.0
2462 | dev: true
2463 |
2464 | /parent-module@1.0.1:
2465 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2466 | engines: {node: '>=6'}
2467 | dependencies:
2468 | callsites: 3.1.0
2469 | dev: true
2470 |
2471 | /path-exists@4.0.0:
2472 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2473 | engines: {node: '>=8'}
2474 | dev: true
2475 |
2476 | /path-is-absolute@1.0.1:
2477 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2478 | engines: {node: '>=0.10.0'}
2479 | dev: true
2480 |
2481 | /path-key@3.1.1:
2482 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2483 | engines: {node: '>=8'}
2484 | dev: true
2485 |
2486 | /path-parse@1.0.7:
2487 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2488 | dev: true
2489 |
2490 | /picocolors@1.0.0:
2491 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2492 | dev: true
2493 |
2494 | /picomatch@2.3.1:
2495 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2496 | engines: {node: '>=8.6'}
2497 | dev: true
2498 |
2499 | /postcss@8.4.24:
2500 | resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
2501 | engines: {node: ^10 || ^12 || >=14}
2502 | dependencies:
2503 | nanoid: 3.3.6
2504 | picocolors: 1.0.0
2505 | source-map-js: 1.0.2
2506 | dev: true
2507 |
2508 | /potpack@1.0.2:
2509 | resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
2510 |
2511 | /prelude-ls@1.2.1:
2512 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2513 | engines: {node: '>= 0.8.0'}
2514 | dev: true
2515 |
2516 | /prop-types@15.8.1:
2517 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2518 | dependencies:
2519 | loose-envify: 1.4.0
2520 | object-assign: 4.1.1
2521 | react-is: 16.13.1
2522 |
2523 | /punycode@2.3.0:
2524 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
2525 | engines: {node: '>=6'}
2526 | dev: true
2527 |
2528 | /queue-microtask@1.2.3:
2529 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2530 | dev: true
2531 |
2532 | /r3f-perf@7.1.2(@react-three/fiber@8.13.3)(@types/three@0.152.1)(react-dom@18.2.0)(react@18.2.0)(three@0.153.0):
2533 | resolution: {integrity: sha512-AQ78ULjufILylHZpbgBdzk7JF3F7bceehlgOL19xtyJIDhvi4J4vwE5wpxNZ5q4PT4Oza1WADZt6KSlrkCqgkA==}
2534 | peerDependencies:
2535 | '@react-three/fiber': '>=8.0'
2536 | dom: '*'
2537 | react: '>=18.0'
2538 | react-dom: '>=18.0'
2539 | three: '>=0.133'
2540 | peerDependenciesMeta:
2541 | '@react-three/fiber':
2542 | optional: true
2543 | dom:
2544 | optional: true
2545 | react-dom:
2546 | optional: true
2547 | dependencies:
2548 | '@radix-ui/react-icons': 1.3.0(react@18.2.0)
2549 | '@react-three/drei': 9.77.0(@react-three/fiber@8.13.3)(@types/three@0.152.1)(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
2550 | '@react-three/fiber': 8.13.3(react-dom@18.2.0)(react@18.2.0)(three@0.153.0)
2551 | '@stitches/react': 1.2.8(react@18.2.0)
2552 | '@utsubo/events': 0.1.7(react@18.2.0)
2553 | react: 18.2.0
2554 | react-dom: 18.2.0(react@18.2.0)
2555 | three: 0.153.0
2556 | zustand: 4.1.5(react@18.2.0)
2557 | transitivePeerDependencies:
2558 | - '@types/three'
2559 | - immer
2560 | dev: true
2561 |
2562 | /react-colorful@5.6.1(react-dom@18.2.0)(react@18.2.0):
2563 | resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==}
2564 | peerDependencies:
2565 | react: '>=16.8.0'
2566 | react-dom: '>=16.8.0'
2567 | dependencies:
2568 | react: 18.2.0
2569 | react-dom: 18.2.0(react@18.2.0)
2570 | dev: false
2571 |
2572 | /react-composer@5.0.3(react@18.2.0):
2573 | resolution: {integrity: sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==}
2574 | peerDependencies:
2575 | react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
2576 | dependencies:
2577 | prop-types: 15.8.1
2578 | react: 18.2.0
2579 |
2580 | /react-dom@18.2.0(react@18.2.0):
2581 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
2582 | peerDependencies:
2583 | react: ^18.2.0
2584 | dependencies:
2585 | loose-envify: 1.4.0
2586 | react: 18.2.0
2587 | scheduler: 0.23.0
2588 |
2589 | /react-dropzone@12.1.0(react@18.2.0):
2590 | resolution: {integrity: sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==}
2591 | engines: {node: '>= 10.13'}
2592 | peerDependencies:
2593 | react: '>= 16.8'
2594 | dependencies:
2595 | attr-accept: 2.2.2
2596 | file-selector: 0.5.0
2597 | prop-types: 15.8.1
2598 | react: 18.2.0
2599 | dev: false
2600 |
2601 | /react-is@16.13.1:
2602 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2603 |
2604 | /react-merge-refs@1.1.0:
2605 | resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==}
2606 |
2607 | /react-reconciler@0.27.0(react@18.2.0):
2608 | resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==}
2609 | engines: {node: '>=0.10.0'}
2610 | peerDependencies:
2611 | react: ^18.0.0
2612 | dependencies:
2613 | loose-envify: 1.4.0
2614 | react: 18.2.0
2615 | scheduler: 0.21.0
2616 |
2617 | /react-refresh@0.14.0:
2618 | resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
2619 | engines: {node: '>=0.10.0'}
2620 | dev: true
2621 |
2622 | /react-use-measure@2.1.1(react-dom@18.2.0)(react@18.2.0):
2623 | resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==}
2624 | peerDependencies:
2625 | react: '>=16.13'
2626 | react-dom: '>=16.13'
2627 | dependencies:
2628 | debounce: 1.2.1
2629 | react: 18.2.0
2630 | react-dom: 18.2.0(react@18.2.0)
2631 |
2632 | /react@18.2.0:
2633 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
2634 | engines: {node: '>=0.10.0'}
2635 | dependencies:
2636 | loose-envify: 1.4.0
2637 |
2638 | /regenerator-runtime@0.13.11:
2639 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
2640 |
2641 | /regexp-to-ast@0.5.0:
2642 | resolution: {integrity: sha512-tlbJqcMHnPKI9zSrystikWKwHkBqu2a/Sgw01h3zFjvYrMxEDYHzzoMZnUrbIfpTFEsoRnnviOXNCzFiSc54Qw==}
2643 |
2644 | /regexp.prototype.flags@1.5.0:
2645 | resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==}
2646 | engines: {node: '>= 0.4'}
2647 | dependencies:
2648 | call-bind: 1.0.2
2649 | define-properties: 1.2.0
2650 | functions-have-names: 1.2.3
2651 | dev: true
2652 |
2653 | /require-from-string@2.0.2:
2654 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
2655 | engines: {node: '>=0.10.0'}
2656 |
2657 | /resolve-from@4.0.0:
2658 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2659 | engines: {node: '>=4'}
2660 | dev: true
2661 |
2662 | /resolve@2.0.0-next.4:
2663 | resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
2664 | hasBin: true
2665 | dependencies:
2666 | is-core-module: 2.12.1
2667 | path-parse: 1.0.7
2668 | supports-preserve-symlinks-flag: 1.0.0
2669 | dev: true
2670 |
2671 | /reusify@1.0.4:
2672 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2673 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2674 | dev: true
2675 |
2676 | /rimraf@3.0.2:
2677 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2678 | hasBin: true
2679 | dependencies:
2680 | glob: 7.2.3
2681 | dev: true
2682 |
2683 | /rollup@3.25.1:
2684 | resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==}
2685 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
2686 | hasBin: true
2687 | optionalDependencies:
2688 | fsevents: 2.3.2
2689 | dev: true
2690 |
2691 | /run-parallel@1.2.0:
2692 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2693 | dependencies:
2694 | queue-microtask: 1.2.3
2695 | dev: true
2696 |
2697 | /safe-regex-test@1.0.0:
2698 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
2699 | dependencies:
2700 | call-bind: 1.0.2
2701 | get-intrinsic: 1.2.1
2702 | is-regex: 1.1.4
2703 | dev: true
2704 |
2705 | /scheduler@0.21.0:
2706 | resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==}
2707 | dependencies:
2708 | loose-envify: 1.4.0
2709 |
2710 | /scheduler@0.23.0:
2711 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2712 | dependencies:
2713 | loose-envify: 1.4.0
2714 |
2715 | /semver@6.3.0:
2716 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
2717 | hasBin: true
2718 | dev: true
2719 |
2720 | /set-value@2.0.1:
2721 | resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
2722 | engines: {node: '>=0.10.0'}
2723 | dependencies:
2724 | extend-shallow: 2.0.1
2725 | is-extendable: 0.1.1
2726 | is-plain-object: 2.0.4
2727 | split-string: 3.1.0
2728 | dev: false
2729 |
2730 | /shebang-command@2.0.0:
2731 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2732 | engines: {node: '>=8'}
2733 | dependencies:
2734 | shebang-regex: 3.0.0
2735 | dev: true
2736 |
2737 | /shebang-regex@3.0.0:
2738 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2739 | engines: {node: '>=8'}
2740 | dev: true
2741 |
2742 | /side-channel@1.0.4:
2743 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
2744 | dependencies:
2745 | call-bind: 1.0.2
2746 | get-intrinsic: 1.2.1
2747 | object-inspect: 1.12.3
2748 | dev: true
2749 |
2750 | /source-map-js@1.0.2:
2751 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2752 | engines: {node: '>=0.10.0'}
2753 | dev: true
2754 |
2755 | /split-string@3.1.0:
2756 | resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
2757 | engines: {node: '>=0.10.0'}
2758 | dependencies:
2759 | extend-shallow: 3.0.2
2760 | dev: false
2761 |
2762 | /stats.js@0.17.0:
2763 | resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
2764 |
2765 | /string.prototype.codepointat@0.2.1:
2766 | resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
2767 |
2768 | /string.prototype.matchall@4.0.8:
2769 | resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
2770 | dependencies:
2771 | call-bind: 1.0.2
2772 | define-properties: 1.2.0
2773 | es-abstract: 1.21.2
2774 | get-intrinsic: 1.2.1
2775 | has-symbols: 1.0.3
2776 | internal-slot: 1.0.5
2777 | regexp.prototype.flags: 1.5.0
2778 | side-channel: 1.0.4
2779 | dev: true
2780 |
2781 | /string.prototype.trim@1.2.7:
2782 | resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==}
2783 | engines: {node: '>= 0.4'}
2784 | dependencies:
2785 | call-bind: 1.0.2
2786 | define-properties: 1.2.0
2787 | es-abstract: 1.21.2
2788 | dev: true
2789 |
2790 | /string.prototype.trimend@1.0.6:
2791 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==}
2792 | dependencies:
2793 | call-bind: 1.0.2
2794 | define-properties: 1.2.0
2795 | es-abstract: 1.21.2
2796 | dev: true
2797 |
2798 | /string.prototype.trimstart@1.0.6:
2799 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==}
2800 | dependencies:
2801 | call-bind: 1.0.2
2802 | define-properties: 1.2.0
2803 | es-abstract: 1.21.2
2804 | dev: true
2805 |
2806 | /strip-ansi@6.0.1:
2807 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2808 | engines: {node: '>=8'}
2809 | dependencies:
2810 | ansi-regex: 5.0.1
2811 | dev: true
2812 |
2813 | /strip-json-comments@3.1.1:
2814 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2815 | engines: {node: '>=8'}
2816 | dev: true
2817 |
2818 | /supports-color@5.5.0:
2819 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2820 | engines: {node: '>=4'}
2821 | dependencies:
2822 | has-flag: 3.0.0
2823 | dev: true
2824 |
2825 | /supports-color@7.2.0:
2826 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2827 | engines: {node: '>=8'}
2828 | dependencies:
2829 | has-flag: 4.0.0
2830 | dev: true
2831 |
2832 | /supports-preserve-symlinks-flag@1.0.0:
2833 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2834 | engines: {node: '>= 0.4'}
2835 | dev: true
2836 |
2837 | /suspend-react@0.1.3(react@18.2.0):
2838 | resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==}
2839 | peerDependencies:
2840 | react: '>=17.0'
2841 | dependencies:
2842 | react: 18.2.0
2843 |
2844 | /text-table@0.2.0:
2845 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2846 | dev: true
2847 |
2848 | /three-mesh-bvh@0.6.0(three@0.153.0):
2849 | resolution: {integrity: sha512-4/oXeqVMLuN9/P0M3L5ezIVrFiXQXKvjVTErkiSYMjSaPoWfNPAwqulSgLf4bIUPn8/Lq3rmIJwxbCuD8qDobA==}
2850 | peerDependencies:
2851 | three: '>= 0.151.0'
2852 | dependencies:
2853 | three: 0.153.0
2854 |
2855 | /three-stdlib@2.23.10(three@0.153.0):
2856 | resolution: {integrity: sha512-y0DlxaN5HZXI9hKjEtqO2xlCEt7XyDCOMvD2M3JJFBmYjwbU+PbJ1n3Z+7Hr/6BeVGE6KZYcqPMnfKrTK5WTJg==}
2857 | peerDependencies:
2858 | three: '>=0.128.0'
2859 | dependencies:
2860 | '@types/draco3d': 1.4.2
2861 | '@types/offscreencanvas': 2019.7.0
2862 | '@types/webxr': 0.5.2
2863 | chevrotain: 10.5.0
2864 | draco3d: 1.5.6
2865 | fflate: 0.6.10
2866 | ktx-parse: 0.4.5
2867 | mmd-parser: 1.0.4
2868 | opentype.js: 1.3.4
2869 | potpack: 1.0.2
2870 | three: 0.153.0
2871 | zstddec: 0.0.2
2872 |
2873 | /three@0.153.0:
2874 | resolution: {integrity: sha512-OCP2/uQR6GcDpSLnJt/3a4mdS0kNWcbfUXIwLoEMgLzEUIVIYsSDwskpmOii/AkDM+BBwrl6+CKgrjX9+E2aWg==}
2875 |
2876 | /tiny-inflate@1.0.3:
2877 | resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
2878 |
2879 | /to-fast-properties@2.0.0:
2880 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2881 | engines: {node: '>=4'}
2882 | dev: true
2883 |
2884 | /troika-three-text@0.47.2(three@0.153.0):
2885 | resolution: {integrity: sha512-qylT0F+U7xGs+/PEf3ujBdJMYWbn0Qci0kLqI5BJG2kW1wdg4T1XSxneypnF05DxFqJhEzuaOR9S2SjiyknMng==}
2886 | peerDependencies:
2887 | three: '>=0.125.0'
2888 | dependencies:
2889 | bidi-js: 1.0.2
2890 | three: 0.153.0
2891 | troika-three-utils: 0.47.2(three@0.153.0)
2892 | troika-worker-utils: 0.47.2
2893 | webgl-sdf-generator: 1.1.1
2894 |
2895 | /troika-three-utils@0.47.2(three@0.153.0):
2896 | resolution: {integrity: sha512-/28plhCxfKtH7MSxEGx8e3b/OXU5A0xlwl+Sbdp0H8FXUHKZDoksduEKmjQayXYtxAyuUiCRunYIv/8Vi7aiyg==}
2897 | peerDependencies:
2898 | three: '>=0.125.0'
2899 | dependencies:
2900 | three: 0.153.0
2901 |
2902 | /troika-worker-utils@0.47.2:
2903 | resolution: {integrity: sha512-mzss4MeyzUkYBppn4x5cdAqrhBHFEuVmMMgLMTyFV23x6GvQMyo+/R5E5Lsbrt7WSt5RfvewjcwD1DChRTA9lA==}
2904 |
2905 | /tslib@2.5.3:
2906 | resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
2907 | dev: false
2908 |
2909 | /type-check@0.4.0:
2910 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2911 | engines: {node: '>= 0.8.0'}
2912 | dependencies:
2913 | prelude-ls: 1.2.1
2914 | dev: true
2915 |
2916 | /type-fest@0.20.2:
2917 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2918 | engines: {node: '>=10'}
2919 | dev: true
2920 |
2921 | /typed-array-length@1.0.4:
2922 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
2923 | dependencies:
2924 | call-bind: 1.0.2
2925 | for-each: 0.3.3
2926 | is-typed-array: 1.1.10
2927 | dev: true
2928 |
2929 | /unbox-primitive@1.0.2:
2930 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2931 | dependencies:
2932 | call-bind: 1.0.2
2933 | has-bigints: 1.0.2
2934 | has-symbols: 1.0.3
2935 | which-boxed-primitive: 1.0.2
2936 | dev: true
2937 |
2938 | /update-browserslist-db@1.0.11(browserslist@4.21.9):
2939 | resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
2940 | hasBin: true
2941 | peerDependencies:
2942 | browserslist: '>= 4.21.0'
2943 | dependencies:
2944 | browserslist: 4.21.9
2945 | escalade: 3.1.1
2946 | picocolors: 1.0.0
2947 | dev: true
2948 |
2949 | /uri-js@4.4.1:
2950 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2951 | dependencies:
2952 | punycode: 2.3.0
2953 | dev: true
2954 |
2955 | /use-sync-external-store@1.2.0(react@18.2.0):
2956 | resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
2957 | peerDependencies:
2958 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
2959 | dependencies:
2960 | react: 18.2.0
2961 | dev: true
2962 |
2963 | /utility-types@3.10.0:
2964 | resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==}
2965 | engines: {node: '>= 4'}
2966 |
2967 | /v8n@1.5.1:
2968 | resolution: {integrity: sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A==}
2969 | dev: false
2970 |
2971 | /vite-plugin-glsl@1.1.2(vite@4.3.9):
2972 | resolution: {integrity: sha512-zmXsfc1vn2MlYve9t3FAoWuhLyoCkNS1TuQL+TkXZL7tGmBjRErp10eNYxcse5tK9oUC5MyJpNc4ElpQnx8DoA==}
2973 | engines: {node: '>= 16.15.1', npm: '>= 8.11.0'}
2974 | peerDependencies:
2975 | vite: ^3.0.0 || ^4.0.0
2976 | dependencies:
2977 | '@rollup/pluginutils': 5.0.2
2978 | vite: 4.3.9
2979 | transitivePeerDependencies:
2980 | - rollup
2981 | dev: true
2982 |
2983 | /vite@4.3.9:
2984 | resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
2985 | engines: {node: ^14.18.0 || >=16.0.0}
2986 | hasBin: true
2987 | peerDependencies:
2988 | '@types/node': '>= 14'
2989 | less: '*'
2990 | sass: '*'
2991 | stylus: '*'
2992 | sugarss: '*'
2993 | terser: ^5.4.0
2994 | peerDependenciesMeta:
2995 | '@types/node':
2996 | optional: true
2997 | less:
2998 | optional: true
2999 | sass:
3000 | optional: true
3001 | stylus:
3002 | optional: true
3003 | sugarss:
3004 | optional: true
3005 | terser:
3006 | optional: true
3007 | dependencies:
3008 | esbuild: 0.17.19
3009 | postcss: 8.4.24
3010 | rollup: 3.25.1
3011 | optionalDependencies:
3012 | fsevents: 2.3.2
3013 | dev: true
3014 |
3015 | /webgl-constants@1.1.1:
3016 | resolution: {integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==}
3017 |
3018 | /webgl-sdf-generator@1.1.1:
3019 | resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==}
3020 |
3021 | /which-boxed-primitive@1.0.2:
3022 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
3023 | dependencies:
3024 | is-bigint: 1.0.4
3025 | is-boolean-object: 1.1.2
3026 | is-number-object: 1.0.7
3027 | is-string: 1.0.7
3028 | is-symbol: 1.0.4
3029 | dev: true
3030 |
3031 | /which-typed-array@1.1.9:
3032 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==}
3033 | engines: {node: '>= 0.4'}
3034 | dependencies:
3035 | available-typed-arrays: 1.0.5
3036 | call-bind: 1.0.2
3037 | for-each: 0.3.3
3038 | gopd: 1.0.1
3039 | has-tostringtag: 1.0.0
3040 | is-typed-array: 1.1.10
3041 | dev: true
3042 |
3043 | /which@2.0.2:
3044 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
3045 | engines: {node: '>= 8'}
3046 | hasBin: true
3047 | dependencies:
3048 | isexe: 2.0.0
3049 | dev: true
3050 |
3051 | /word-wrap@1.2.3:
3052 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
3053 | engines: {node: '>=0.10.0'}
3054 | dev: true
3055 |
3056 | /wrappy@1.0.2:
3057 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
3058 | dev: true
3059 |
3060 | /yallist@3.1.1:
3061 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
3062 | dev: true
3063 |
3064 | /yocto-queue@0.1.0:
3065 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
3066 | engines: {node: '>=10'}
3067 | dev: true
3068 |
3069 | /zstddec@0.0.2:
3070 | resolution: {integrity: sha512-DCo0oxvcvOTGP/f5FA6tz2Z6wF+FIcEApSTu0zV5sQgn9hoT5lZ9YRAKUraxt9oP7l4e8TnNdi8IZTCX6WCkwA==}
3071 |
3072 | /zustand@3.7.2(react@18.2.0):
3073 | resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==}
3074 | engines: {node: '>=12.7.0'}
3075 | peerDependencies:
3076 | react: '>=16.8'
3077 | peerDependenciesMeta:
3078 | react:
3079 | optional: true
3080 | dependencies:
3081 | react: 18.2.0
3082 |
3083 | /zustand@4.1.5(react@18.2.0):
3084 | resolution: {integrity: sha512-PsdRT8Bvq22Yyh1tvpgdHNE7OAeFKqJXUxtJvj1Ixw2B9O2YZ1M34ImQ+xyZah4wZrR4lENMoDUutKPpyXCQ/Q==}
3085 | engines: {node: '>=12.7.0'}
3086 | peerDependencies:
3087 | immer: '>=9.0'
3088 | react: '>=16.8'
3089 | peerDependenciesMeta:
3090 | immer:
3091 | optional: true
3092 | react:
3093 | optional: true
3094 | dependencies:
3095 | react: 18.2.0
3096 | use-sync-external-store: 1.2.0(react@18.2.0)
3097 | dev: true
3098 |
--------------------------------------------------------------------------------
/src/App.jsx:
--------------------------------------------------------------------------------
1 | import { Canvas } from "@react-three/fiber";
2 | import { OrbitControls } from "@react-three/drei";
3 |
4 |
5 | import Blob from "./Blob/Blob";
6 |
7 | function App() {
8 |
9 | return (
10 |
14 | );
15 | }
16 | export default App;
17 |
--------------------------------------------------------------------------------
/src/Blob/Blob.jsx:
--------------------------------------------------------------------------------
1 | import { useRef } from "react";
2 | import { extend, useFrame } from "@react-three/fiber";
3 | import { shaderMaterial } from "@react-three/drei";
4 | import { useControls } from "leva";
5 | import * as THREE from 'three';
6 | import vertex from "./vertex.glsl";
7 | import fragment from "./fragment.glsl";
8 |
9 |
10 | const BlobMaterial = shaderMaterial(
11 | { u_time: 0.0, u_morph_sphere: 0.5, u_morph_cube: 0.5, u_morph_torus: 0.5 },
12 | vertex,
13 | fragment
14 | );
15 | extend( { BlobMaterial } )
16 |
17 |
18 | function Blob () {
19 |
20 | const shaderMaterial = useRef()
21 |
22 | const { sphereMorph, cubeMorph, torusMorph } = useControls(' Morph! ', {
23 | sphereMorph: { value: 0.5, step: 0.05, max: 1.0, min: 0.0 },
24 | cubeMorph: { value: 0.5, step: 0.05, max: 1.0, min: 0.0 },
25 | torusMorph: { value: 0.5, step: 0.05, max: 1.0, min: 0.0 },
26 | })
27 |
28 | useFrame((state, delta) => {
29 | shaderMaterial.current.u_time = state.clock.elapsedTime
30 |
31 | shaderMaterial.current.u_morph_sphere = sphereMorph
32 | shaderMaterial.current.u_morph_cube = cubeMorph
33 | shaderMaterial.current.u_morph_torus = torusMorph
34 | })
35 |
36 | return (
37 |
38 |
39 |
40 |
41 | )
42 | }
43 | export default Blob
44 |
45 |
46 |
--------------------------------------------------------------------------------
/src/Blob/fragment.glsl:
--------------------------------------------------------------------------------
1 | #define PI 3.14
2 |
3 | varying vec3 v_ray_dir;
4 | varying vec3 v_ray_origin;
5 |
6 | uniform float u_time;
7 | uniform float u_morph_sphere;
8 | uniform float u_morph_cube;
9 | uniform float u_morph_torus;
10 |
11 | const int MAX_STEPS = 50;
12 | const float EPSILON = 0.001;
13 |
14 | float opSmoothUnion( float d1, float d2, float k ) {
15 | float h = clamp( 0.5 + 0.5*(d2-d1)/k, 0.0, 1.0 );
16 | return mix( d2, d1, h ) - k*h*(1.0-h);
17 | }
18 |
19 | float opSmoothSubtraction( float d1, float d2, float k ) {
20 | float h = clamp( 0.5 - 0.5*(d2+d1)/k, 0.0, 1.0 );
21 | return mix( d2, -d1, h ) + k*h*(1.0-h);
22 | }
23 |
24 |
25 | float sphereSDF( vec3 p, float sRadius ) {
26 | return length(p) - sRadius;
27 | }
28 |
29 | float roundBoxSDF( vec3 p, vec3 b, float r ) {
30 | vec3 q = (abs(p) - b);
31 | return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0) - r;
32 | }
33 |
34 | float boxFrameSDF( vec3 p, vec3 b, float e ){
35 | p = abs(p )-b;
36 | vec3 q = abs(p+e)-e;
37 | return min(min(
38 | length(max(vec3(p.x,q.y,q.z),0.0))+min(max(p.x,max(q.y,q.z)),0.0),
39 | length(max(vec3(q.x,p.y,q.z),0.0))+min(max(q.x,max(p.y,q.z)),0.0)),
40 | length(max(vec3(q.x,q.y,p.z),0.0))+min(max(q.x,max(q.y,p.z)),0.0)
41 | );
42 | }
43 |
44 | float torusSDF( vec3 p, vec2 t ){
45 | vec2 q = vec2(length(p.xz)-t.x,p.y);
46 | return length(q)-t.y;
47 | }
48 |
49 | float sceneSDF( vec3 samplePos ) {
50 |
51 | float frame = boxFrameSDF( samplePos, vec3( 0.5 ), 0.02 );
52 | float sphere = sphereSDF( vec3(samplePos.x + sin(u_time * PI * 0.33), samplePos.y, samplePos.z), 0.1 );
53 | float box = roundBoxSDF( vec3(samplePos.x, samplePos.y + sin(u_time * PI * 0.214), samplePos.z), vec3( 0.1 ), 0.0 );
54 | float torus = torusSDF( vec3(samplePos.x, samplePos.y, samplePos.z + sin(u_time * PI * 0.125)), vec2(0.1, 0.05) );
55 |
56 | float s1 = opSmoothUnion( frame, sphere, u_morph_sphere );
57 | float s2 = opSmoothUnion( s1, box, u_morph_cube );
58 | float s3 = opSmoothUnion( s2, torus, u_morph_torus );
59 |
60 | return s3;
61 | }
62 |
63 | vec3 estimateNormal( vec3 p ) {
64 | return normalize(vec3(
65 | sceneSDF(vec3(p.x + EPSILON, p.y, p.z)) - sceneSDF(vec3(p.x - EPSILON, p.y, p.z)),
66 | sceneSDF(vec3(p.x, p.y + EPSILON, p.z)) - sceneSDF(vec3(p.x, p.y - EPSILON, p.z)),
67 | sceneSDF(vec3(p.x, p.y, p.z + EPSILON)) - sceneSDF(vec3(p.x, p.y, p.z - EPSILON))
68 | ));
69 | }
70 |
71 | vec3 toonShade ( vec3 pos ) {
72 | vec3 n = estimateNormal( pos );
73 | float NdotL = dot( n, vec3( 0.0, 0.0, -1.0 ) );
74 | float lightIntensity = smoothstep( 0.0, 0.08, NdotL );
75 | return vec3(pos.z, pos.z, pos.x) * lightIntensity;
76 | }
77 |
78 | vec4 rayMarchSDF( vec3 rayOrigin, vec3 rayDir ){
79 |
80 | vec3 col = vec3( 0.0 );
81 | float alpha = 0.0;
82 | float dist = 0.0;
83 |
84 | for ( int i = 0; i < MAX_STEPS; i++ ){
85 | vec3 samplePos = rayOrigin + ( rayDir * dist );
86 | float sdf = sceneSDF( samplePos );
87 |
88 | if ( sdf < EPSILON ) {
89 |
90 | col = toonShade( samplePos ) + vec3( 1.0, 0.2, 0.6 );
91 | alpha = 1.0;
92 | return vec4 ( col, alpha );
93 | }
94 |
95 | dist += sdf;
96 | }
97 |
98 |
99 | return vec4( col, alpha );
100 | }
101 |
102 | void main () {
103 |
104 | vec3 rayOrigin = v_ray_origin;
105 | vec3 rayDir = normalize(v_ray_dir);
106 |
107 | vec4 color = rayMarchSDF( rayOrigin, rayDir );
108 | gl_FragColor = color;
109 | }
--------------------------------------------------------------------------------
/src/Blob/vertex.glsl:
--------------------------------------------------------------------------------
1 | varying vec3 v_ray_dir;
2 | varying vec3 v_ray_origin;
3 |
4 | void main() {
5 |
6 | // local space ray
7 | v_ray_origin = vec3( inverse( modelMatrix ) * vec4( cameraPosition, 1.0 ) ).xyz;
8 | v_ray_dir = position - v_ray_origin;
9 |
10 | vec4 worldPosition = modelMatrix * vec4( position, 1.0 );
11 |
12 | // world space ray
13 | // v_ray_dir = worldPosition.xyz - cameraPosition;
14 |
15 | vec4 viewPosition = viewMatrix * vec4(position, 1.0);
16 | gl_Position = projectionMatrix * viewPosition;
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | html, body {
2 | height: 100%;
3 | margin: 0;
4 |
5 | background-color: rgb(20, 20, 20);
6 | }
7 |
8 | #root {
9 | height: inherit;
10 | }
--------------------------------------------------------------------------------
/src/main.jsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import App from './App.jsx'
4 | import './index.css'
5 |
6 | ReactDOM.createRoot(document.getElementById('root')).render(
7 |
8 |
9 | ,
10 | )
11 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import react from '@vitejs/plugin-react'
3 | import glsl from 'vite-plugin-glsl';
4 |
5 | // https://vitejs.dev/config/
6 | export default defineConfig({
7 | plugins: [react(), glsl()],
8 | })
9 |
--------------------------------------------------------------------------------