├── .gitignore
├── .prettierrc.json
├── README.md
├── eslint.config.js
├── index.html
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── public
├── bath3.1.glb
└── fav.ico
├── src
├── App.tsx
├── components
│ ├── Bath.jsx
│ ├── CameraStuff.tsx
│ ├── CanvasWrapper.tsx
│ ├── Lights.tsx
│ ├── Loader.tsx
│ └── Spinner.tsx
├── index.css
├── index.tsx
├── lib
│ ├── enums.ts
│ └── utils.ts
├── store.ts
└── vite-env.d.ts
├── tailwind.config.js
├── tsconfig.json
└── vite.config.ts
/.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 |
--------------------------------------------------------------------------------
/.prettierrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 80,
3 | "singleQuote": true,
4 | "tabWidth": 2,
5 | "trailingComma": "none",
6 | "jsxBracketSameLine": true,
7 | "arrowParens": "always",
8 | "bracketSpacing": true,
9 | "plugins": ["prettier-plugin-tailwindcss"]
10 | }
11 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | r3f ts boiler
2 |
3 | `pnpm i`
4 | `pnpm dev`
5 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import js from '@eslint/js';
2 | import globals from 'globals';
3 | import reactHooks from 'eslint-plugin-react-hooks';
4 | import reactRefresh from 'eslint-plugin-react-refresh';
5 | import tseslint from 'typescript-eslint';
6 | import importPlugin from 'eslint-plugin-import';
7 |
8 | export default tseslint.config({
9 | extends: [js.configs.recommended, ...tseslint.configs.recommended],
10 | files: ['**/*.{ts,tsx}'],
11 | ignores: ['dist'],
12 | languageOptions: {
13 | ecmaVersion: 2020,
14 | globals: globals.browser
15 | },
16 | plugins: {
17 | 'react-hooks': reactHooks,
18 | 'react-refresh': reactRefresh,
19 | import: importPlugin
20 | },
21 | rules: {
22 | ...reactHooks.configs.recommended.rules,
23 | 'react-refresh/only-export-components': ['off']
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "r3f-ts-boiler",
3 | "private": true,
4 | "version": "0.0.0",
5 | "type": "module",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "vite build",
9 | "lint": "eslint .",
10 | "preview": "vite preview"
11 | },
12 | "dependencies": {
13 | "@react-three/drei": "^9.112.0",
14 | "@react-three/fiber": "^8.16.8",
15 | "framer-motion": "^11.5.5",
16 | "react": "^18.3.1",
17 | "react-dom": "^18.3.1",
18 | "three": "^0.167.1",
19 | "three-custom-shader-material": "^5.4.0",
20 | "zustand": "^4.5.4"
21 | },
22 | "devDependencies": {
23 | "@eslint/js": "^9.8.0",
24 | "@types/node": "^22.5.0",
25 | "@types/react": "^18.3.3",
26 | "@types/react-dom": "^18.3.0",
27 | "@types/three": "^0.167.1",
28 | "@types/uuid": "^10.0.0",
29 | "@vitejs/plugin-react": "^4.3.1",
30 | "autoprefixer": "^10.4.20",
31 | "eslint": "^8.57.0",
32 | "eslint-plugin-import": "^2.29.1",
33 | "eslint-plugin-react-hooks": "^5.1.0-rc.0",
34 | "eslint-plugin-react-refresh": "^0.4.9",
35 | "globals": "^15.9.0",
36 | "leva": "^0.10.0",
37 | "postcss": "^8.4.41",
38 | "prettier": "^3.3.3",
39 | "prettier-plugin-tailwindcss": "^0.6.5",
40 | "r3f-perf": "^7.2.1",
41 | "tailwindcss": "^3.4.9",
42 | "tailwindcss-animate": "^1.0.7",
43 | "typescript": "^5.5.3",
44 | "typescript-eslint": "^8.0.0",
45 | "vite": "^5.4.0"
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@react-three/drei':
12 | specifier: ^9.112.0
13 | version: 9.112.0(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(@types/react@18.3.8)(@types/three@0.167.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
14 | '@react-three/fiber':
15 | specifier: ^8.16.8
16 | version: 8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
17 | framer-motion:
18 | specifier: ^11.5.5
19 | version: 11.5.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
20 | react:
21 | specifier: ^18.3.1
22 | version: 18.3.1
23 | react-dom:
24 | specifier: ^18.3.1
25 | version: 18.3.1(react@18.3.1)
26 | three:
27 | specifier: ^0.167.1
28 | version: 0.167.1
29 | three-custom-shader-material:
30 | specifier: ^5.4.0
31 | version: 5.4.0(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(react@18.3.1)(three@0.167.1)
32 | zustand:
33 | specifier: ^4.5.4
34 | version: 4.5.5(@types/react@18.3.8)(react@18.3.1)
35 | devDependencies:
36 | '@eslint/js':
37 | specifier: ^9.8.0
38 | version: 9.10.0
39 | '@types/node':
40 | specifier: ^22.5.0
41 | version: 22.5.5
42 | '@types/react':
43 | specifier: ^18.3.3
44 | version: 18.3.8
45 | '@types/react-dom':
46 | specifier: ^18.3.0
47 | version: 18.3.0
48 | '@types/three':
49 | specifier: ^0.167.1
50 | version: 0.167.2
51 | '@types/uuid':
52 | specifier: ^10.0.0
53 | version: 10.0.0
54 | '@vitejs/plugin-react':
55 | specifier: ^4.3.1
56 | version: 4.3.1(vite@5.4.6(@types/node@22.5.5))
57 | autoprefixer:
58 | specifier: ^10.4.20
59 | version: 10.4.20(postcss@8.4.47)
60 | eslint:
61 | specifier: ^8.57.0
62 | version: 8.57.1
63 | eslint-plugin-import:
64 | specifier: ^2.29.1
65 | version: 2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)
66 | eslint-plugin-react-hooks:
67 | specifier: ^5.1.0-rc.0
68 | version: 5.1.0-rc-fb9a90fa48-20240614(eslint@8.57.1)
69 | eslint-plugin-react-refresh:
70 | specifier: ^0.4.9
71 | version: 0.4.12(eslint@8.57.1)
72 | globals:
73 | specifier: ^15.9.0
74 | version: 15.9.0
75 | leva:
76 | specifier: ^0.10.0
77 | version: 0.10.0(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
78 | postcss:
79 | specifier: ^8.4.41
80 | version: 8.4.47
81 | prettier:
82 | specifier: ^3.3.3
83 | version: 3.3.3
84 | prettier-plugin-tailwindcss:
85 | specifier: ^0.6.5
86 | version: 0.6.6(prettier@3.3.3)
87 | r3f-perf:
88 | specifier: ^7.2.1
89 | version: 7.2.1(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(@types/react@18.3.8)(@types/three@0.167.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
90 | tailwindcss:
91 | specifier: ^3.4.9
92 | version: 3.4.12
93 | tailwindcss-animate:
94 | specifier: ^1.0.7
95 | version: 1.0.7(tailwindcss@3.4.12)
96 | typescript:
97 | specifier: ^5.5.3
98 | version: 5.6.2
99 | typescript-eslint:
100 | specifier: ^8.0.0
101 | version: 8.6.0(eslint@8.57.1)(typescript@5.6.2)
102 | vite:
103 | specifier: ^5.4.0
104 | version: 5.4.6(@types/node@22.5.5)
105 |
106 | packages:
107 |
108 | '@alloc/quick-lru@5.2.0':
109 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
110 | engines: {node: '>=10'}
111 |
112 | '@ampproject/remapping@2.3.0':
113 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
114 | engines: {node: '>=6.0.0'}
115 |
116 | '@babel/code-frame@7.24.7':
117 | resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
118 | engines: {node: '>=6.9.0'}
119 |
120 | '@babel/compat-data@7.25.4':
121 | resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==}
122 | engines: {node: '>=6.9.0'}
123 |
124 | '@babel/core@7.25.2':
125 | resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
126 | engines: {node: '>=6.9.0'}
127 |
128 | '@babel/generator@7.25.6':
129 | resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==}
130 | engines: {node: '>=6.9.0'}
131 |
132 | '@babel/helper-compilation-targets@7.25.2':
133 | resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
134 | engines: {node: '>=6.9.0'}
135 |
136 | '@babel/helper-module-imports@7.24.7':
137 | resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
138 | engines: {node: '>=6.9.0'}
139 |
140 | '@babel/helper-module-transforms@7.25.2':
141 | resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
142 | engines: {node: '>=6.9.0'}
143 | peerDependencies:
144 | '@babel/core': ^7.0.0
145 |
146 | '@babel/helper-plugin-utils@7.24.8':
147 | resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==}
148 | engines: {node: '>=6.9.0'}
149 |
150 | '@babel/helper-simple-access@7.24.7':
151 | resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
152 | engines: {node: '>=6.9.0'}
153 |
154 | '@babel/helper-string-parser@7.24.8':
155 | resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
156 | engines: {node: '>=6.9.0'}
157 |
158 | '@babel/helper-validator-identifier@7.24.7':
159 | resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
160 | engines: {node: '>=6.9.0'}
161 |
162 | '@babel/helper-validator-option@7.24.8':
163 | resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
164 | engines: {node: '>=6.9.0'}
165 |
166 | '@babel/helpers@7.25.6':
167 | resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==}
168 | engines: {node: '>=6.9.0'}
169 |
170 | '@babel/highlight@7.24.7':
171 | resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
172 | engines: {node: '>=6.9.0'}
173 |
174 | '@babel/parser@7.25.6':
175 | resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==}
176 | engines: {node: '>=6.0.0'}
177 | hasBin: true
178 |
179 | '@babel/plugin-transform-react-jsx-self@7.24.7':
180 | resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==}
181 | engines: {node: '>=6.9.0'}
182 | peerDependencies:
183 | '@babel/core': ^7.0.0-0
184 |
185 | '@babel/plugin-transform-react-jsx-source@7.24.7':
186 | resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==}
187 | engines: {node: '>=6.9.0'}
188 | peerDependencies:
189 | '@babel/core': ^7.0.0-0
190 |
191 | '@babel/runtime@7.25.6':
192 | resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==}
193 | engines: {node: '>=6.9.0'}
194 |
195 | '@babel/template@7.25.0':
196 | resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
197 | engines: {node: '>=6.9.0'}
198 |
199 | '@babel/traverse@7.25.6':
200 | resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==}
201 | engines: {node: '>=6.9.0'}
202 |
203 | '@babel/types@7.25.6':
204 | resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==}
205 | engines: {node: '>=6.9.0'}
206 |
207 | '@esbuild/aix-ppc64@0.21.5':
208 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
209 | engines: {node: '>=12'}
210 | cpu: [ppc64]
211 | os: [aix]
212 |
213 | '@esbuild/android-arm64@0.21.5':
214 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
215 | engines: {node: '>=12'}
216 | cpu: [arm64]
217 | os: [android]
218 |
219 | '@esbuild/android-arm@0.21.5':
220 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
221 | engines: {node: '>=12'}
222 | cpu: [arm]
223 | os: [android]
224 |
225 | '@esbuild/android-x64@0.21.5':
226 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
227 | engines: {node: '>=12'}
228 | cpu: [x64]
229 | os: [android]
230 |
231 | '@esbuild/darwin-arm64@0.21.5':
232 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
233 | engines: {node: '>=12'}
234 | cpu: [arm64]
235 | os: [darwin]
236 |
237 | '@esbuild/darwin-x64@0.21.5':
238 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
239 | engines: {node: '>=12'}
240 | cpu: [x64]
241 | os: [darwin]
242 |
243 | '@esbuild/freebsd-arm64@0.21.5':
244 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
245 | engines: {node: '>=12'}
246 | cpu: [arm64]
247 | os: [freebsd]
248 |
249 | '@esbuild/freebsd-x64@0.21.5':
250 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
251 | engines: {node: '>=12'}
252 | cpu: [x64]
253 | os: [freebsd]
254 |
255 | '@esbuild/linux-arm64@0.21.5':
256 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
257 | engines: {node: '>=12'}
258 | cpu: [arm64]
259 | os: [linux]
260 |
261 | '@esbuild/linux-arm@0.21.5':
262 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
263 | engines: {node: '>=12'}
264 | cpu: [arm]
265 | os: [linux]
266 |
267 | '@esbuild/linux-ia32@0.21.5':
268 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
269 | engines: {node: '>=12'}
270 | cpu: [ia32]
271 | os: [linux]
272 |
273 | '@esbuild/linux-loong64@0.21.5':
274 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
275 | engines: {node: '>=12'}
276 | cpu: [loong64]
277 | os: [linux]
278 |
279 | '@esbuild/linux-mips64el@0.21.5':
280 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
281 | engines: {node: '>=12'}
282 | cpu: [mips64el]
283 | os: [linux]
284 |
285 | '@esbuild/linux-ppc64@0.21.5':
286 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
287 | engines: {node: '>=12'}
288 | cpu: [ppc64]
289 | os: [linux]
290 |
291 | '@esbuild/linux-riscv64@0.21.5':
292 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
293 | engines: {node: '>=12'}
294 | cpu: [riscv64]
295 | os: [linux]
296 |
297 | '@esbuild/linux-s390x@0.21.5':
298 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
299 | engines: {node: '>=12'}
300 | cpu: [s390x]
301 | os: [linux]
302 |
303 | '@esbuild/linux-x64@0.21.5':
304 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
305 | engines: {node: '>=12'}
306 | cpu: [x64]
307 | os: [linux]
308 |
309 | '@esbuild/netbsd-x64@0.21.5':
310 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
311 | engines: {node: '>=12'}
312 | cpu: [x64]
313 | os: [netbsd]
314 |
315 | '@esbuild/openbsd-x64@0.21.5':
316 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
317 | engines: {node: '>=12'}
318 | cpu: [x64]
319 | os: [openbsd]
320 |
321 | '@esbuild/sunos-x64@0.21.5':
322 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
323 | engines: {node: '>=12'}
324 | cpu: [x64]
325 | os: [sunos]
326 |
327 | '@esbuild/win32-arm64@0.21.5':
328 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
329 | engines: {node: '>=12'}
330 | cpu: [arm64]
331 | os: [win32]
332 |
333 | '@esbuild/win32-ia32@0.21.5':
334 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
335 | engines: {node: '>=12'}
336 | cpu: [ia32]
337 | os: [win32]
338 |
339 | '@esbuild/win32-x64@0.21.5':
340 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
341 | engines: {node: '>=12'}
342 | cpu: [x64]
343 | os: [win32]
344 |
345 | '@eslint-community/eslint-utils@4.4.0':
346 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
347 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
348 | peerDependencies:
349 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
350 |
351 | '@eslint-community/regexpp@4.11.1':
352 | resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
353 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
354 |
355 | '@eslint/eslintrc@2.1.4':
356 | resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
357 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
358 |
359 | '@eslint/js@8.57.1':
360 | resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==}
361 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
362 |
363 | '@eslint/js@9.10.0':
364 | resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==}
365 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
366 |
367 | '@floating-ui/core@0.7.3':
368 | resolution: {integrity: sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg==}
369 |
370 | '@floating-ui/dom@0.5.4':
371 | resolution: {integrity: sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg==}
372 |
373 | '@floating-ui/react-dom@0.7.2':
374 | resolution: {integrity: sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg==}
375 | peerDependencies:
376 | react: '>=16.8.0'
377 | react-dom: '>=16.8.0'
378 |
379 | '@humanwhocodes/config-array@0.13.0':
380 | resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==}
381 | engines: {node: '>=10.10.0'}
382 | deprecated: Use @eslint/config-array instead
383 |
384 | '@humanwhocodes/module-importer@1.0.1':
385 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
386 | engines: {node: '>=12.22'}
387 |
388 | '@humanwhocodes/object-schema@2.0.3':
389 | resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
390 | deprecated: Use @eslint/object-schema instead
391 |
392 | '@isaacs/cliui@8.0.2':
393 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
394 | engines: {node: '>=12'}
395 |
396 | '@jridgewell/gen-mapping@0.3.5':
397 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
398 | engines: {node: '>=6.0.0'}
399 |
400 | '@jridgewell/resolve-uri@3.1.2':
401 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
402 | engines: {node: '>=6.0.0'}
403 |
404 | '@jridgewell/set-array@1.2.1':
405 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
406 | engines: {node: '>=6.0.0'}
407 |
408 | '@jridgewell/sourcemap-codec@1.5.0':
409 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
410 |
411 | '@jridgewell/trace-mapping@0.3.25':
412 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
413 |
414 | '@mediapipe/tasks-vision@0.10.8':
415 | resolution: {integrity: sha512-Rp7ll8BHrKB3wXaRFKhrltwZl1CiXGdibPxuWXvqGnKTnv8fqa/nvftYNuSbf+pbJWKYCXdBtYTITdAUTGGh0Q==}
416 |
417 | '@monogrid/gainmap-js@3.0.6':
418 | resolution: {integrity: sha512-ireqJg7cw0tUn/JePDG8rAL7RyXgUKSDbjYdiygkrnye1WuKGLAWDBwF/ICwCwJ9iZBAF5caU8gSu+c34HLGdQ==}
419 | peerDependencies:
420 | three: '>= 0.159.0'
421 |
422 | '@nodelib/fs.scandir@2.1.5':
423 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
424 | engines: {node: '>= 8'}
425 |
426 | '@nodelib/fs.stat@2.0.5':
427 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
428 | engines: {node: '>= 8'}
429 |
430 | '@nodelib/fs.walk@1.2.8':
431 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
432 | engines: {node: '>= 8'}
433 |
434 | '@pkgjs/parseargs@0.11.0':
435 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
436 | engines: {node: '>=14'}
437 |
438 | '@radix-ui/primitive@1.0.0':
439 | resolution: {integrity: sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==}
440 |
441 | '@radix-ui/react-arrow@1.0.2':
442 | resolution: {integrity: sha512-fqYwhhI9IarZ0ll2cUSfKuXHlJK0qE4AfnRrPBbRwEH/4mGQn04/QFGomLi8TXWIdv9WJk//KgGm+aDxVIr1wA==}
443 | peerDependencies:
444 | react: ^16.8 || ^17.0 || ^18.0
445 | react-dom: ^16.8 || ^17.0 || ^18.0
446 |
447 | '@radix-ui/react-compose-refs@1.0.0':
448 | resolution: {integrity: sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==}
449 | peerDependencies:
450 | react: ^16.8 || ^17.0 || ^18.0
451 |
452 | '@radix-ui/react-context@1.0.0':
453 | resolution: {integrity: sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==}
454 | peerDependencies:
455 | react: ^16.8 || ^17.0 || ^18.0
456 |
457 | '@radix-ui/react-dismissable-layer@1.0.3':
458 | resolution: {integrity: sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==}
459 | peerDependencies:
460 | react: ^16.8 || ^17.0 || ^18.0
461 | react-dom: ^16.8 || ^17.0 || ^18.0
462 |
463 | '@radix-ui/react-icons@1.3.0':
464 | resolution: {integrity: sha512-jQxj/0LKgp+j9BiTXz3O3sgs26RNet2iLWmsPyRz2SIcR4q/4SbazXfnYwbAr+vLYKSfc7qxzyGQA1HLlYiuNw==}
465 | peerDependencies:
466 | react: ^16.x || ^17.x || ^18.x
467 |
468 | '@radix-ui/react-id@1.0.0':
469 | resolution: {integrity: sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw==}
470 | peerDependencies:
471 | react: ^16.8 || ^17.0 || ^18.0
472 |
473 | '@radix-ui/react-popper@1.1.1':
474 | resolution: {integrity: sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w==}
475 | peerDependencies:
476 | react: ^16.8 || ^17.0 || ^18.0
477 | react-dom: ^16.8 || ^17.0 || ^18.0
478 |
479 | '@radix-ui/react-portal@1.0.2':
480 | resolution: {integrity: sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==}
481 | peerDependencies:
482 | react: ^16.8 || ^17.0 || ^18.0
483 | react-dom: ^16.8 || ^17.0 || ^18.0
484 |
485 | '@radix-ui/react-presence@1.0.0':
486 | resolution: {integrity: sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==}
487 | peerDependencies:
488 | react: ^16.8 || ^17.0 || ^18.0
489 | react-dom: ^16.8 || ^17.0 || ^18.0
490 |
491 | '@radix-ui/react-primitive@1.0.2':
492 | resolution: {integrity: sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==}
493 | peerDependencies:
494 | react: ^16.8 || ^17.0 || ^18.0
495 | react-dom: ^16.8 || ^17.0 || ^18.0
496 |
497 | '@radix-ui/react-slot@1.0.1':
498 | resolution: {integrity: sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==}
499 | peerDependencies:
500 | react: ^16.8 || ^17.0 || ^18.0
501 |
502 | '@radix-ui/react-tooltip@1.0.5':
503 | resolution: {integrity: sha512-cDKVcfzyO6PpckZekODJZDe5ZxZ2fCZlzKzTmPhe4mX9qTHRfLcKgqb0OKf22xLwDequ2tVleim+ZYx3rabD5w==}
504 | peerDependencies:
505 | react: ^16.8 || ^17.0 || ^18.0
506 | react-dom: ^16.8 || ^17.0 || ^18.0
507 |
508 | '@radix-ui/react-use-callback-ref@1.0.0':
509 | resolution: {integrity: sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==}
510 | peerDependencies:
511 | react: ^16.8 || ^17.0 || ^18.0
512 |
513 | '@radix-ui/react-use-controllable-state@1.0.0':
514 | resolution: {integrity: sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg==}
515 | peerDependencies:
516 | react: ^16.8 || ^17.0 || ^18.0
517 |
518 | '@radix-ui/react-use-escape-keydown@1.0.2':
519 | resolution: {integrity: sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA==}
520 | peerDependencies:
521 | react: ^16.8 || ^17.0 || ^18.0
522 |
523 | '@radix-ui/react-use-layout-effect@1.0.0':
524 | resolution: {integrity: sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==}
525 | peerDependencies:
526 | react: ^16.8 || ^17.0 || ^18.0
527 |
528 | '@radix-ui/react-use-rect@1.0.0':
529 | resolution: {integrity: sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew==}
530 | peerDependencies:
531 | react: ^16.8 || ^17.0 || ^18.0
532 |
533 | '@radix-ui/react-use-size@1.0.0':
534 | resolution: {integrity: sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg==}
535 | peerDependencies:
536 | react: ^16.8 || ^17.0 || ^18.0
537 |
538 | '@radix-ui/react-visually-hidden@1.0.2':
539 | resolution: {integrity: sha512-qirnJxtYn73HEk1rXL12/mXnu2rwsNHDID10th2JGtdK25T9wX+mxRmGt7iPSahw512GbZOc0syZX1nLQGoEOg==}
540 | peerDependencies:
541 | react: ^16.8 || ^17.0 || ^18.0
542 | react-dom: ^16.8 || ^17.0 || ^18.0
543 |
544 | '@radix-ui/rect@1.0.0':
545 | resolution: {integrity: sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg==}
546 |
547 | '@react-spring/animated@9.6.1':
548 | resolution: {integrity: sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==}
549 | peerDependencies:
550 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
551 |
552 | '@react-spring/core@9.6.1':
553 | resolution: {integrity: sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==}
554 | peerDependencies:
555 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
556 |
557 | '@react-spring/rafz@9.6.1':
558 | resolution: {integrity: sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==}
559 |
560 | '@react-spring/shared@9.6.1':
561 | resolution: {integrity: sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==}
562 | peerDependencies:
563 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
564 |
565 | '@react-spring/three@9.6.1':
566 | resolution: {integrity: sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==}
567 | peerDependencies:
568 | '@react-three/fiber': '>=6.0'
569 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
570 | three: '>=0.126'
571 |
572 | '@react-spring/types@9.6.1':
573 | resolution: {integrity: sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==}
574 |
575 | '@react-three/drei@9.112.0':
576 | resolution: {integrity: sha512-te+4tcNiRv3QizD04cg25oX51uUMVG5Y3iUaIX8tKi8aW3j7UM6XCFSKVYNOiT6P+d5h/ruSd5naX7oFvp3QOQ==}
577 | peerDependencies:
578 | '@react-three/fiber': '>=8.0'
579 | react: '>=18.0'
580 | react-dom: '>=18.0'
581 | three: '>=0.137'
582 | peerDependenciesMeta:
583 | react-dom:
584 | optional: true
585 |
586 | '@react-three/fiber@8.17.7':
587 | resolution: {integrity: sha512-52/TZ0pGdEtjs1bSCePrJe8+5hzYzC8/O4bwx0NXc3GZ3uRCr5Eu+CVsr7BUn2uxd825Zjbup0OXKSDRQ70qiQ==}
588 | peerDependencies:
589 | expo: '>=43.0'
590 | expo-asset: '>=8.4'
591 | expo-file-system: '>=11.0'
592 | expo-gl: '>=11.0'
593 | react: '>=18.0'
594 | react-dom: '>=18.0'
595 | react-native: '>=0.64'
596 | three: '>=0.133'
597 | peerDependenciesMeta:
598 | expo:
599 | optional: true
600 | expo-asset:
601 | optional: true
602 | expo-file-system:
603 | optional: true
604 | expo-gl:
605 | optional: true
606 | react-dom:
607 | optional: true
608 | react-native:
609 | optional: true
610 |
611 | '@rollup/rollup-android-arm-eabi@4.22.1':
612 | resolution: {integrity: sha512-GrXxNVBes13Q3wSBjdZlmu4VulFhfNs1eP2/pX5dmx6cE1XgfV2/BfqdGt4d2Z7Zqp+qnYSf7zvIB4buc+2DwA==}
613 | cpu: [arm]
614 | os: [android]
615 |
616 | '@rollup/rollup-android-arm64@4.22.1':
617 | resolution: {integrity: sha512-Cr/dpKRc4tjK13SCZJrSDXSaKjL/fekn04BWMCJ+Pj4vPCp8rixvtArrnWUYycOdRNi7kx3MSClcvEP7C2nvCw==}
618 | cpu: [arm64]
619 | os: [android]
620 |
621 | '@rollup/rollup-darwin-arm64@4.22.1':
622 | resolution: {integrity: sha512-IwEyoeCZoO1lpY5Er5t3UK/Aq5q2W/ubLmu3pYW4as0htn4NbJagBaVNr1aVhRTXUxrYvcPhxQCqodShnocLdA==}
623 | cpu: [arm64]
624 | os: [darwin]
625 |
626 | '@rollup/rollup-darwin-x64@4.22.1':
627 | resolution: {integrity: sha512-LSbJhEOTz557VBcJOWspdGyiFbMTNgLxbWnup7bDj1elpNTK04E3M1qLlvGzPKPmk+uG6XlbT8xAUSKkyn0g8w==}
628 | cpu: [x64]
629 | os: [darwin]
630 |
631 | '@rollup/rollup-linux-arm-gnueabihf@4.22.1':
632 | resolution: {integrity: sha512-F4DgRk//u604Np1eFoGUzE9TgGE6LMvjnX2tM24ePB34JlED9utc4T3iK5x8CWC/agH+zuN7q/hJF5AtWR+JOA==}
633 | cpu: [arm]
634 | os: [linux]
635 |
636 | '@rollup/rollup-linux-arm-musleabihf@4.22.1':
637 | resolution: {integrity: sha512-Gl5pbijcb6QOJRvHkmU/O1G65ZnKxwSHhPQRuGdmcxmX/mBM+wNHoai7wvpCoPVsdhkc+KUqgu/MydP8wovGAA==}
638 | cpu: [arm]
639 | os: [linux]
640 |
641 | '@rollup/rollup-linux-arm64-gnu@4.22.1':
642 | resolution: {integrity: sha512-GsvZqPloVOrh3G2nmZmwNSNGqWLf3L3a0nFDO1zecwucAYxEFgZkrvqQrVMT+zUjChaHPBp0eoTOQMWSKFcV8w==}
643 | cpu: [arm64]
644 | os: [linux]
645 |
646 | '@rollup/rollup-linux-arm64-musl@4.22.1':
647 | resolution: {integrity: sha512-+vZ1jrJeEEYLbMqeKDfgcl8v7zjymdAGTr7xUdQL6c4nC+S+BZHo3Mrp/9ij2qpAveC0Iaz9DIiFplcO0joapQ==}
648 | cpu: [arm64]
649 | os: [linux]
650 |
651 | '@rollup/rollup-linux-powerpc64le-gnu@4.22.1':
652 | resolution: {integrity: sha512-6psD9nKw+wLj9bMhArTkzKt5etA6kb+cBJQws4MovI9gQSRkdX4nyYZofBfgTtaZtymQl7uRfe1I75guePal5A==}
653 | cpu: [ppc64]
654 | os: [linux]
655 |
656 | '@rollup/rollup-linux-riscv64-gnu@4.22.1':
657 | resolution: {integrity: sha512-xzbqImk1h5abj0bPU5XQVrqBhLHl2zTygG6+vES2TrgmNSiaPzn39aqI8QtdqmGYz507ZVI2qocTTfVwW23SmQ==}
658 | cpu: [riscv64]
659 | os: [linux]
660 |
661 | '@rollup/rollup-linux-s390x-gnu@4.22.1':
662 | resolution: {integrity: sha512-Hz5iwqYv08PpEC75z0GAgLlOY+cLAb0PVx578mLW0naugNfG0WQqoDzQoJWiivmtTdgmwoH5YXDnjZJb7MDlhA==}
663 | cpu: [s390x]
664 | os: [linux]
665 |
666 | '@rollup/rollup-linux-x64-gnu@4.22.1':
667 | resolution: {integrity: sha512-ot1DPlQZGGiZYNyE/PF3jbT6juuG0W5oiguHQEvjoZZ3+FSxMfdJnBz1P71QeqICSOlSFG9Z31oA/uXyuxDEVw==}
668 | cpu: [x64]
669 | os: [linux]
670 |
671 | '@rollup/rollup-linux-x64-musl@4.22.1':
672 | resolution: {integrity: sha512-euksHNkKlXS9RKKHSBBPtloSEUGPg1eRVGfOkXSSIj5W9LdkMfOefsTlVf2g8kuayZW/98nIJ83Fnou9OaZNXA==}
673 | cpu: [x64]
674 | os: [linux]
675 |
676 | '@rollup/rollup-win32-arm64-msvc@4.22.1':
677 | resolution: {integrity: sha512-jDS/ShZxlA3HKtgm25CcbApOVsr/0Zkdu/E+3xK4UO0PT912yqyh7jNpTmZZJAiPDQoSDI9FOqrjSbnlpW6IFg==}
678 | cpu: [arm64]
679 | os: [win32]
680 |
681 | '@rollup/rollup-win32-ia32-msvc@4.22.1':
682 | resolution: {integrity: sha512-yNEeuvH2b+susSgUCfpRelIRjB1CmErHyqA7KsQ/NCjY401rpChVqw5df/H5AUPCKNDqgBMbtrtl9F6z7N9LTg==}
683 | cpu: [ia32]
684 | os: [win32]
685 |
686 | '@rollup/rollup-win32-x64-msvc@4.22.1':
687 | resolution: {integrity: sha512-UgdylcqjcgJSNMhrjMJpJ4T3zriTmiUd2COh1mJHwDShrhhMkpZ/j4M5e4GsvBFviaxtrJtufr0FnKfm2UfOSw==}
688 | cpu: [x64]
689 | os: [win32]
690 |
691 | '@rtsao/scc@1.1.0':
692 | resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
693 |
694 | '@stitches/react@1.2.8':
695 | resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==}
696 | peerDependencies:
697 | react: '>= 16.3.0'
698 |
699 | '@tweenjs/tween.js@23.1.3':
700 | resolution: {integrity: sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==}
701 |
702 | '@types/babel__core@7.20.5':
703 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
704 |
705 | '@types/babel__generator@7.6.8':
706 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
707 |
708 | '@types/babel__template@7.4.4':
709 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
710 |
711 | '@types/babel__traverse@7.20.6':
712 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
713 |
714 | '@types/debounce@1.2.4':
715 | resolution: {integrity: sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==}
716 |
717 | '@types/draco3d@1.4.10':
718 | resolution: {integrity: sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==}
719 |
720 | '@types/estree@1.0.5':
721 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
722 |
723 | '@types/json5@0.0.29':
724 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
725 |
726 | '@types/node@22.5.5':
727 | resolution: {integrity: sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==}
728 |
729 | '@types/offscreencanvas@2019.7.3':
730 | resolution: {integrity: sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==}
731 |
732 | '@types/prop-types@15.7.13':
733 | resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
734 |
735 | '@types/react-dom@18.3.0':
736 | resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
737 |
738 | '@types/react-reconciler@0.26.7':
739 | resolution: {integrity: sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==}
740 |
741 | '@types/react-reconciler@0.28.8':
742 | resolution: {integrity: sha512-SN9c4kxXZonFhbX4hJrZy37yw9e7EIxcpHCxQv5JUS18wDE5ovkQKlqQEkufdJCCMfuI9BnjUJvhYeJ9x5Ra7g==}
743 |
744 | '@types/react@18.3.8':
745 | resolution: {integrity: sha512-syBUrW3/XpnW4WJ41Pft+I+aPoDVbrBVQGEnbD7NijDGlVC+8gV/XKRY+7vMDlfPpbwYt0l1vd/Sj8bJGMbs9Q==}
746 |
747 | '@types/stats.js@0.17.3':
748 | resolution: {integrity: sha512-pXNfAD3KHOdif9EQXZ9deK82HVNaXP5ZIF5RP2QG6OQFNTaY2YIetfrE9t528vEreGQvEPRDDc8muaoYeK0SxQ==}
749 |
750 | '@types/three@0.163.0':
751 | resolution: {integrity: sha512-uIdDhsXRpQiBUkflBS/i1l3JX14fW6Ot9csed60nfbZNXHDTRsnV2xnTVwXcgbvTiboAR4IW+t+lTL5f1rqIqA==}
752 |
753 | '@types/three@0.167.2':
754 | resolution: {integrity: sha512-onxnIUNYpXcZJ5DTiIsxfnr4F9kAWkkxAUWx5yqzz/u0a4IygCLCjMuOl2DEeCxyJdJ2nOJZvKpu48sBMqfmkQ==}
755 |
756 | '@types/uuid@10.0.0':
757 | resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==}
758 |
759 | '@types/webxr@0.5.20':
760 | resolution: {integrity: sha512-JGpU6qiIJQKUuVSKx1GtQnHJGxRjtfGIhzO2ilq43VZZS//f1h1Sgexbdk+Lq+7569a6EYhOWrUpIruR/1Enmg==}
761 |
762 | '@typescript-eslint/eslint-plugin@8.6.0':
763 | resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==}
764 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
765 | peerDependencies:
766 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
767 | eslint: ^8.57.0 || ^9.0.0
768 | typescript: '*'
769 | peerDependenciesMeta:
770 | typescript:
771 | optional: true
772 |
773 | '@typescript-eslint/parser@8.6.0':
774 | resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==}
775 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
776 | peerDependencies:
777 | eslint: ^8.57.0 || ^9.0.0
778 | typescript: '*'
779 | peerDependenciesMeta:
780 | typescript:
781 | optional: true
782 |
783 | '@typescript-eslint/scope-manager@8.6.0':
784 | resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==}
785 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
786 |
787 | '@typescript-eslint/type-utils@8.6.0':
788 | resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==}
789 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
790 | peerDependencies:
791 | typescript: '*'
792 | peerDependenciesMeta:
793 | typescript:
794 | optional: true
795 |
796 | '@typescript-eslint/types@8.6.0':
797 | resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==}
798 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
799 |
800 | '@typescript-eslint/typescript-estree@8.6.0':
801 | resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==}
802 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
803 | peerDependencies:
804 | typescript: '*'
805 | peerDependenciesMeta:
806 | typescript:
807 | optional: true
808 |
809 | '@typescript-eslint/utils@8.6.0':
810 | resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==}
811 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
812 | peerDependencies:
813 | eslint: ^8.57.0 || ^9.0.0
814 |
815 | '@typescript-eslint/visitor-keys@8.6.0':
816 | resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==}
817 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
818 |
819 | '@ungap/structured-clone@1.2.0':
820 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
821 |
822 | '@use-gesture/core@10.3.1':
823 | resolution: {integrity: sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==}
824 |
825 | '@use-gesture/react@10.3.1':
826 | resolution: {integrity: sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==}
827 | peerDependencies:
828 | react: '>= 16.8.0'
829 |
830 | '@utsubo/events@0.1.7':
831 | resolution: {integrity: sha512-WB/GEj/0h27Bz8rJ0+CBtNz5mLT79ne1OjB7PUM4n0qLBqEDwm6yBzZC3j6tasHjlBPJDYZiBVIA1glaMlgZ5g==}
832 | peerDependencies:
833 | react: '>=16.8.0'
834 | peerDependenciesMeta:
835 | react:
836 | optional: true
837 |
838 | '@vitejs/plugin-react@4.3.1':
839 | resolution: {integrity: sha512-m/V2syj5CuVnaxcUJOQRel/Wr31FFXRFlnOoq1TVtkCxsY5veGMTEmpWHndrhB2U8ScHtCQB1e+4hWYExQc6Lg==}
840 | engines: {node: ^14.18.0 || >=16.0.0}
841 | peerDependencies:
842 | vite: ^4.2.0 || ^5.0.0
843 |
844 | acorn-jsx@5.3.2:
845 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
846 | peerDependencies:
847 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
848 |
849 | acorn@8.12.1:
850 | resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
851 | engines: {node: '>=0.4.0'}
852 | hasBin: true
853 |
854 | ajv@6.12.6:
855 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
856 |
857 | ansi-regex@5.0.1:
858 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
859 | engines: {node: '>=8'}
860 |
861 | ansi-regex@6.1.0:
862 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
863 | engines: {node: '>=12'}
864 |
865 | ansi-styles@3.2.1:
866 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
867 | engines: {node: '>=4'}
868 |
869 | ansi-styles@4.3.0:
870 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
871 | engines: {node: '>=8'}
872 |
873 | ansi-styles@6.2.1:
874 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
875 | engines: {node: '>=12'}
876 |
877 | any-promise@1.3.0:
878 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
879 |
880 | anymatch@3.1.3:
881 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
882 | engines: {node: '>= 8'}
883 |
884 | arg@5.0.2:
885 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
886 |
887 | argparse@2.0.1:
888 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
889 |
890 | array-buffer-byte-length@1.0.1:
891 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
892 | engines: {node: '>= 0.4'}
893 |
894 | array-includes@3.1.8:
895 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
896 | engines: {node: '>= 0.4'}
897 |
898 | array.prototype.findlastindex@1.2.5:
899 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
900 | engines: {node: '>= 0.4'}
901 |
902 | array.prototype.flat@1.3.2:
903 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
904 | engines: {node: '>= 0.4'}
905 |
906 | array.prototype.flatmap@1.3.2:
907 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
908 | engines: {node: '>= 0.4'}
909 |
910 | arraybuffer.prototype.slice@1.0.3:
911 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
912 | engines: {node: '>= 0.4'}
913 |
914 | assign-symbols@1.0.0:
915 | resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
916 | engines: {node: '>=0.10.0'}
917 |
918 | attr-accept@2.2.5:
919 | resolution: {integrity: sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==}
920 | engines: {node: '>=4'}
921 |
922 | autoprefixer@10.4.20:
923 | resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
924 | engines: {node: ^10 || ^12 || >=14}
925 | hasBin: true
926 | peerDependencies:
927 | postcss: ^8.1.0
928 |
929 | available-typed-arrays@1.0.7:
930 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
931 | engines: {node: '>= 0.4'}
932 |
933 | balanced-match@1.0.2:
934 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
935 |
936 | base64-js@1.5.1:
937 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
938 |
939 | bidi-js@1.0.3:
940 | resolution: {integrity: sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==}
941 |
942 | binary-extensions@2.3.0:
943 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
944 | engines: {node: '>=8'}
945 |
946 | brace-expansion@1.1.11:
947 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
948 |
949 | brace-expansion@2.0.1:
950 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
951 |
952 | braces@3.0.3:
953 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
954 | engines: {node: '>=8'}
955 |
956 | browserslist@4.23.3:
957 | resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
958 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
959 | hasBin: true
960 |
961 | buffer@6.0.3:
962 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
963 |
964 | call-bind@1.0.7:
965 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
966 | engines: {node: '>= 0.4'}
967 |
968 | callsites@3.1.0:
969 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
970 | engines: {node: '>=6'}
971 |
972 | camelcase-css@2.0.1:
973 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
974 | engines: {node: '>= 6'}
975 |
976 | camera-controls@2.9.0:
977 | resolution: {integrity: sha512-TpCujnP0vqPppTXXJRYpvIy0xq9Tro6jQf2iYUxlDpPCNxkvE/XGaTuwIxnhINOkVP/ob2CRYXtY3iVYXeMEzA==}
978 | peerDependencies:
979 | three: '>=0.126.1'
980 |
981 | caniuse-lite@1.0.30001662:
982 | resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==}
983 |
984 | chalk@2.4.2:
985 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
986 | engines: {node: '>=4'}
987 |
988 | chalk@4.1.2:
989 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
990 | engines: {node: '>=10'}
991 |
992 | chokidar@3.6.0:
993 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
994 | engines: {node: '>= 8.10.0'}
995 |
996 | color-convert@1.9.3:
997 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
998 |
999 | color-convert@2.0.1:
1000 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
1001 | engines: {node: '>=7.0.0'}
1002 |
1003 | color-name@1.1.3:
1004 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
1005 |
1006 | color-name@1.1.4:
1007 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
1008 |
1009 | colord@2.9.3:
1010 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
1011 |
1012 | commander@4.1.1:
1013 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
1014 | engines: {node: '>= 6'}
1015 |
1016 | concat-map@0.0.1:
1017 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
1018 |
1019 | convert-source-map@2.0.0:
1020 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
1021 |
1022 | core-util-is@1.0.3:
1023 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
1024 |
1025 | cross-env@7.0.3:
1026 | resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
1027 | engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
1028 | hasBin: true
1029 |
1030 | cross-spawn@7.0.3:
1031 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
1032 | engines: {node: '>= 8'}
1033 |
1034 | cssesc@3.0.0:
1035 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
1036 | engines: {node: '>=4'}
1037 | hasBin: true
1038 |
1039 | csstype@3.1.3:
1040 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
1041 |
1042 | data-view-buffer@1.0.1:
1043 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
1044 | engines: {node: '>= 0.4'}
1045 |
1046 | data-view-byte-length@1.0.1:
1047 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
1048 | engines: {node: '>= 0.4'}
1049 |
1050 | data-view-byte-offset@1.0.0:
1051 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
1052 | engines: {node: '>= 0.4'}
1053 |
1054 | debounce@1.2.1:
1055 | resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==}
1056 |
1057 | debug@3.2.7:
1058 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
1059 | peerDependencies:
1060 | supports-color: '*'
1061 | peerDependenciesMeta:
1062 | supports-color:
1063 | optional: true
1064 |
1065 | debug@4.3.7:
1066 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
1067 | engines: {node: '>=6.0'}
1068 | peerDependencies:
1069 | supports-color: '*'
1070 | peerDependenciesMeta:
1071 | supports-color:
1072 | optional: true
1073 |
1074 | deep-is@0.1.4:
1075 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1076 |
1077 | define-data-property@1.1.4:
1078 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
1079 | engines: {node: '>= 0.4'}
1080 |
1081 | define-properties@1.2.1:
1082 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
1083 | engines: {node: '>= 0.4'}
1084 |
1085 | dequal@2.0.3:
1086 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1087 | engines: {node: '>=6'}
1088 |
1089 | detect-gpu@5.0.48:
1090 | resolution: {integrity: sha512-AdG8ur7loIIIzG8XBjNiLk6Seq4jGp7GAL2TEsjq7etgK8ia6ha3rTbBCRCHsnwYiLqYn4uWJfS7hVwZz7DKNQ==}
1091 |
1092 | didyoumean@1.2.2:
1093 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
1094 |
1095 | dlv@1.1.3:
1096 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
1097 |
1098 | doctrine@2.1.0:
1099 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
1100 | engines: {node: '>=0.10.0'}
1101 |
1102 | doctrine@3.0.0:
1103 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1104 | engines: {node: '>=6.0.0'}
1105 |
1106 | draco3d@1.5.7:
1107 | resolution: {integrity: sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==}
1108 |
1109 | eastasianwidth@0.2.0:
1110 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
1111 |
1112 | electron-to-chromium@1.5.26:
1113 | resolution: {integrity: sha512-Z+OMe9M/V6Ep9n/52+b7lkvYEps26z4Yz3vjWL1V61W0q+VLF1pOHhMY17sa4roz4AWmULSI8E6SAojZA5L0YQ==}
1114 |
1115 | emoji-regex@8.0.0:
1116 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1117 |
1118 | emoji-regex@9.2.2:
1119 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
1120 |
1121 | es-abstract@1.23.3:
1122 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
1123 | engines: {node: '>= 0.4'}
1124 |
1125 | es-define-property@1.0.0:
1126 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
1127 | engines: {node: '>= 0.4'}
1128 |
1129 | es-errors@1.3.0:
1130 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
1131 | engines: {node: '>= 0.4'}
1132 |
1133 | es-object-atoms@1.0.0:
1134 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
1135 | engines: {node: '>= 0.4'}
1136 |
1137 | es-set-tostringtag@2.0.3:
1138 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
1139 | engines: {node: '>= 0.4'}
1140 |
1141 | es-shim-unscopables@1.0.2:
1142 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
1143 |
1144 | es-to-primitive@1.2.1:
1145 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
1146 | engines: {node: '>= 0.4'}
1147 |
1148 | esbuild@0.21.5:
1149 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
1150 | engines: {node: '>=12'}
1151 | hasBin: true
1152 |
1153 | escalade@3.2.0:
1154 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
1155 | engines: {node: '>=6'}
1156 |
1157 | escape-string-regexp@1.0.5:
1158 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1159 | engines: {node: '>=0.8.0'}
1160 |
1161 | escape-string-regexp@4.0.0:
1162 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1163 | engines: {node: '>=10'}
1164 |
1165 | eslint-import-resolver-node@0.3.9:
1166 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
1167 |
1168 | eslint-module-utils@2.11.0:
1169 | resolution: {integrity: sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==}
1170 | engines: {node: '>=4'}
1171 | peerDependencies:
1172 | '@typescript-eslint/parser': '*'
1173 | eslint: '*'
1174 | eslint-import-resolver-node: '*'
1175 | eslint-import-resolver-typescript: '*'
1176 | eslint-import-resolver-webpack: '*'
1177 | peerDependenciesMeta:
1178 | '@typescript-eslint/parser':
1179 | optional: true
1180 | eslint:
1181 | optional: true
1182 | eslint-import-resolver-node:
1183 | optional: true
1184 | eslint-import-resolver-typescript:
1185 | optional: true
1186 | eslint-import-resolver-webpack:
1187 | optional: true
1188 |
1189 | eslint-plugin-import@2.30.0:
1190 | resolution: {integrity: sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw==}
1191 | engines: {node: '>=4'}
1192 | peerDependencies:
1193 | '@typescript-eslint/parser': '*'
1194 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
1195 | peerDependenciesMeta:
1196 | '@typescript-eslint/parser':
1197 | optional: true
1198 |
1199 | eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614:
1200 | resolution: {integrity: sha512-xsiRwaDNF5wWNC4ZHLut+x/YcAxksUd9Rizt7LaEn3bV8VyYRpXnRJQlLOfYaVy9esk4DFP4zPPnoNVjq5Gc0w==}
1201 | engines: {node: '>=10'}
1202 | peerDependencies:
1203 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
1204 |
1205 | eslint-plugin-react-refresh@0.4.12:
1206 | resolution: {integrity: sha512-9neVjoGv20FwYtCP6CB1dzR1vr57ZDNOXst21wd2xJ/cTlM2xLq0GWVlSNTdMn/4BtP6cHYBMCSp1wFBJ9jBsg==}
1207 | peerDependencies:
1208 | eslint: '>=7'
1209 |
1210 | eslint-scope@7.2.2:
1211 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1212 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1213 |
1214 | eslint-visitor-keys@3.4.3:
1215 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1216 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1217 |
1218 | eslint@8.57.1:
1219 | resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}
1220 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1221 | hasBin: true
1222 |
1223 | espree@9.6.1:
1224 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1225 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1226 |
1227 | esquery@1.6.0:
1228 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
1229 | engines: {node: '>=0.10'}
1230 |
1231 | esrecurse@4.3.0:
1232 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1233 | engines: {node: '>=4.0'}
1234 |
1235 | estraverse@5.3.0:
1236 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1237 | engines: {node: '>=4.0'}
1238 |
1239 | esutils@2.0.3:
1240 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1241 | engines: {node: '>=0.10.0'}
1242 |
1243 | eventemitter3@4.0.7:
1244 | resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
1245 |
1246 | extend-shallow@2.0.1:
1247 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
1248 | engines: {node: '>=0.10.0'}
1249 |
1250 | extend-shallow@3.0.2:
1251 | resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
1252 | engines: {node: '>=0.10.0'}
1253 |
1254 | fast-deep-equal@3.1.3:
1255 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1256 |
1257 | fast-glob@3.3.2:
1258 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1259 | engines: {node: '>=8.6.0'}
1260 |
1261 | fast-json-stable-stringify@2.1.0:
1262 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1263 |
1264 | fast-levenshtein@2.0.6:
1265 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1266 |
1267 | fastq@1.17.1:
1268 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
1269 |
1270 | fflate@0.6.10:
1271 | resolution: {integrity: sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==}
1272 |
1273 | fflate@0.8.2:
1274 | resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==}
1275 |
1276 | file-entry-cache@6.0.1:
1277 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1278 | engines: {node: ^10.12.0 || >=12.0.0}
1279 |
1280 | file-selector@0.5.0:
1281 | resolution: {integrity: sha512-s8KNnmIDTBoD0p9uJ9uD0XY38SCeBOtj0UMXyQSLg1Ypfrfj8+dAvwsLjYQkQ2GjhVtp2HrnF5cJzMhBjfD8HA==}
1282 | engines: {node: '>= 10'}
1283 |
1284 | fill-range@7.1.1:
1285 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1286 | engines: {node: '>=8'}
1287 |
1288 | find-up@5.0.0:
1289 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1290 | engines: {node: '>=10'}
1291 |
1292 | flat-cache@3.2.0:
1293 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1294 | engines: {node: ^10.12.0 || >=12.0.0}
1295 |
1296 | flatted@3.3.1:
1297 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
1298 |
1299 | for-each@0.3.3:
1300 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1301 |
1302 | for-in@1.0.2:
1303 | resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
1304 | engines: {node: '>=0.10.0'}
1305 |
1306 | foreground-child@3.3.0:
1307 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
1308 | engines: {node: '>=14'}
1309 |
1310 | fraction.js@4.3.7:
1311 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1312 |
1313 | framer-motion@11.5.5:
1314 | resolution: {integrity: sha512-4srkT940jYA3bdQRglxod0KoqDvcghYri1A6bTjT02IXvq/EAd6A0tgUnJc5Q2ahhf8n959aLD3yO+XmLmE8OQ==}
1315 | peerDependencies:
1316 | '@emotion/is-prop-valid': '*'
1317 | react: ^18.0.0
1318 | react-dom: ^18.0.0
1319 | peerDependenciesMeta:
1320 | '@emotion/is-prop-valid':
1321 | optional: true
1322 | react:
1323 | optional: true
1324 | react-dom:
1325 | optional: true
1326 |
1327 | fs.realpath@1.0.0:
1328 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1329 |
1330 | fsevents@2.3.3:
1331 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1332 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1333 | os: [darwin]
1334 |
1335 | function-bind@1.1.2:
1336 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1337 |
1338 | function.prototype.name@1.1.6:
1339 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
1340 | engines: {node: '>= 0.4'}
1341 |
1342 | functions-have-names@1.2.3:
1343 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1344 |
1345 | gensync@1.0.0-beta.2:
1346 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1347 | engines: {node: '>=6.9.0'}
1348 |
1349 | get-intrinsic@1.2.4:
1350 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
1351 | engines: {node: '>= 0.4'}
1352 |
1353 | get-symbol-description@1.0.2:
1354 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
1355 | engines: {node: '>= 0.4'}
1356 |
1357 | get-value@2.0.6:
1358 | resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
1359 | engines: {node: '>=0.10.0'}
1360 |
1361 | glob-parent@5.1.2:
1362 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1363 | engines: {node: '>= 6'}
1364 |
1365 | glob-parent@6.0.2:
1366 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1367 | engines: {node: '>=10.13.0'}
1368 |
1369 | glob@10.4.5:
1370 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
1371 | hasBin: true
1372 |
1373 | glob@7.2.3:
1374 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1375 | deprecated: Glob versions prior to v9 are no longer supported
1376 |
1377 | globals@11.12.0:
1378 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1379 | engines: {node: '>=4'}
1380 |
1381 | globals@13.24.0:
1382 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
1383 | engines: {node: '>=8'}
1384 |
1385 | globals@15.9.0:
1386 | resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==}
1387 | engines: {node: '>=18'}
1388 |
1389 | globalthis@1.0.4:
1390 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
1391 | engines: {node: '>= 0.4'}
1392 |
1393 | glsl-noise@0.0.0:
1394 | resolution: {integrity: sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==}
1395 |
1396 | glsl-token-functions@1.0.1:
1397 | resolution: {integrity: sha512-EigGhp1g+aUVeUNY7H1o5tL/bnwIB3/FcRREPr2E7Du+/UDXN24hDkaZ3e4aWHDjHr9lJ6YHXMISkwhUYg9UOg==}
1398 |
1399 | glsl-token-string@1.0.1:
1400 | resolution: {integrity: sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==}
1401 |
1402 | glsl-tokenizer@2.1.5:
1403 | resolution: {integrity: sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==}
1404 |
1405 | gopd@1.0.1:
1406 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1407 |
1408 | graphemer@1.4.0:
1409 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1410 |
1411 | has-bigints@1.0.2:
1412 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1413 |
1414 | has-flag@3.0.0:
1415 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1416 | engines: {node: '>=4'}
1417 |
1418 | has-flag@4.0.0:
1419 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1420 | engines: {node: '>=8'}
1421 |
1422 | has-property-descriptors@1.0.2:
1423 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
1424 |
1425 | has-proto@1.0.3:
1426 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
1427 | engines: {node: '>= 0.4'}
1428 |
1429 | has-symbols@1.0.3:
1430 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1431 | engines: {node: '>= 0.4'}
1432 |
1433 | has-tostringtag@1.0.2:
1434 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
1435 | engines: {node: '>= 0.4'}
1436 |
1437 | hasown@2.0.2:
1438 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1439 | engines: {node: '>= 0.4'}
1440 |
1441 | hls.js@1.3.5:
1442 | resolution: {integrity: sha512-uybAvKS6uDe0MnWNEPnO0krWVr+8m2R0hJ/viql8H3MVK+itq8gGQuIYoFHL3rECkIpNH98Lw8YuuWMKZxp3Ew==}
1443 |
1444 | ieee754@1.2.1:
1445 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
1446 |
1447 | ignore@5.3.2:
1448 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
1449 | engines: {node: '>= 4'}
1450 |
1451 | immediate@3.0.6:
1452 | resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
1453 |
1454 | import-fresh@3.3.0:
1455 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1456 | engines: {node: '>=6'}
1457 |
1458 | imurmurhash@0.1.4:
1459 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1460 | engines: {node: '>=0.8.19'}
1461 |
1462 | inflight@1.0.6:
1463 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1464 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
1465 |
1466 | inherits@2.0.4:
1467 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1468 |
1469 | internal-slot@1.0.7:
1470 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
1471 | engines: {node: '>= 0.4'}
1472 |
1473 | is-array-buffer@3.0.4:
1474 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
1475 | engines: {node: '>= 0.4'}
1476 |
1477 | is-bigint@1.0.4:
1478 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1479 |
1480 | is-binary-path@2.1.0:
1481 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1482 | engines: {node: '>=8'}
1483 |
1484 | is-boolean-object@1.1.2:
1485 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1486 | engines: {node: '>= 0.4'}
1487 |
1488 | is-callable@1.2.7:
1489 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1490 | engines: {node: '>= 0.4'}
1491 |
1492 | is-core-module@2.15.1:
1493 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
1494 | engines: {node: '>= 0.4'}
1495 |
1496 | is-data-view@1.0.1:
1497 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
1498 | engines: {node: '>= 0.4'}
1499 |
1500 | is-date-object@1.0.5:
1501 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1502 | engines: {node: '>= 0.4'}
1503 |
1504 | is-extendable@0.1.1:
1505 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
1506 | engines: {node: '>=0.10.0'}
1507 |
1508 | is-extendable@1.0.1:
1509 | resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
1510 | engines: {node: '>=0.10.0'}
1511 |
1512 | is-extglob@2.1.1:
1513 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1514 | engines: {node: '>=0.10.0'}
1515 |
1516 | is-fullwidth-code-point@3.0.0:
1517 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1518 | engines: {node: '>=8'}
1519 |
1520 | is-glob@4.0.3:
1521 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1522 | engines: {node: '>=0.10.0'}
1523 |
1524 | is-negative-zero@2.0.3:
1525 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
1526 | engines: {node: '>= 0.4'}
1527 |
1528 | is-number-object@1.0.7:
1529 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1530 | engines: {node: '>= 0.4'}
1531 |
1532 | is-number@7.0.0:
1533 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1534 | engines: {node: '>=0.12.0'}
1535 |
1536 | is-path-inside@3.0.3:
1537 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1538 | engines: {node: '>=8'}
1539 |
1540 | is-plain-object@2.0.4:
1541 | resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
1542 | engines: {node: '>=0.10.0'}
1543 |
1544 | is-promise@2.2.2:
1545 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
1546 |
1547 | is-regex@1.1.4:
1548 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1549 | engines: {node: '>= 0.4'}
1550 |
1551 | is-shared-array-buffer@1.0.3:
1552 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
1553 | engines: {node: '>= 0.4'}
1554 |
1555 | is-string@1.0.7:
1556 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1557 | engines: {node: '>= 0.4'}
1558 |
1559 | is-symbol@1.0.4:
1560 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1561 | engines: {node: '>= 0.4'}
1562 |
1563 | is-typed-array@1.1.13:
1564 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
1565 | engines: {node: '>= 0.4'}
1566 |
1567 | is-weakref@1.0.2:
1568 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1569 |
1570 | isarray@0.0.1:
1571 | resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
1572 |
1573 | isarray@2.0.5:
1574 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1575 |
1576 | isexe@2.0.0:
1577 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1578 |
1579 | isobject@3.0.1:
1580 | resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
1581 | engines: {node: '>=0.10.0'}
1582 |
1583 | its-fine@1.2.5:
1584 | resolution: {integrity: sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==}
1585 | peerDependencies:
1586 | react: '>=18.0'
1587 |
1588 | jackspeak@3.4.3:
1589 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
1590 |
1591 | jiti@1.21.6:
1592 | resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==}
1593 | hasBin: true
1594 |
1595 | js-tokens@4.0.0:
1596 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1597 |
1598 | js-yaml@4.1.0:
1599 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1600 | hasBin: true
1601 |
1602 | jsesc@2.5.2:
1603 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
1604 | engines: {node: '>=4'}
1605 | hasBin: true
1606 |
1607 | json-buffer@3.0.1:
1608 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1609 |
1610 | json-schema-traverse@0.4.1:
1611 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1612 |
1613 | json-stable-stringify-without-jsonify@1.0.1:
1614 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1615 |
1616 | json5@1.0.2:
1617 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
1618 | hasBin: true
1619 |
1620 | json5@2.2.3:
1621 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1622 | engines: {node: '>=6'}
1623 | hasBin: true
1624 |
1625 | keyv@4.5.4:
1626 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1627 |
1628 | leva@0.10.0:
1629 | resolution: {integrity: sha512-RiNJWmeqQdKIeHuVXgshmxIHu144a2AMYtLxKf8Nm1j93pisDPexuQDHKNdQlbo37wdyDQibLjY9JKGIiD7gaw==}
1630 | peerDependencies:
1631 | react: ^18.0.0 || ^19.0.0
1632 | react-dom: ^18.0.0 || ^19.0.0
1633 |
1634 | levn@0.4.1:
1635 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1636 | engines: {node: '>= 0.8.0'}
1637 |
1638 | lie@3.3.0:
1639 | resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==}
1640 |
1641 | lilconfig@2.1.0:
1642 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1643 | engines: {node: '>=10'}
1644 |
1645 | lilconfig@3.1.2:
1646 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==}
1647 | engines: {node: '>=14'}
1648 |
1649 | lines-and-columns@1.2.4:
1650 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1651 |
1652 | locate-path@6.0.0:
1653 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1654 | engines: {node: '>=10'}
1655 |
1656 | lodash.merge@4.6.2:
1657 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1658 |
1659 | loose-envify@1.4.0:
1660 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1661 | hasBin: true
1662 |
1663 | lru-cache@10.4.3:
1664 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
1665 |
1666 | lru-cache@5.1.1:
1667 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1668 |
1669 | maath@0.10.8:
1670 | resolution: {integrity: sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==}
1671 | peerDependencies:
1672 | '@types/three': '>=0.134.0'
1673 | three: '>=0.134.0'
1674 |
1675 | merge-value@1.0.0:
1676 | resolution: {integrity: sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ==}
1677 | engines: {node: '>=0.10.0'}
1678 |
1679 | merge2@1.4.1:
1680 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1681 | engines: {node: '>= 8'}
1682 |
1683 | meshline@3.3.1:
1684 | resolution: {integrity: sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==}
1685 | peerDependencies:
1686 | three: '>=0.137'
1687 |
1688 | meshoptimizer@0.18.1:
1689 | resolution: {integrity: sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==}
1690 |
1691 | micromatch@4.0.8:
1692 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1693 | engines: {node: '>=8.6'}
1694 |
1695 | minimatch@3.1.2:
1696 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1697 |
1698 | minimatch@9.0.5:
1699 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1700 | engines: {node: '>=16 || 14 >=14.17'}
1701 |
1702 | minimist@1.2.8:
1703 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1704 |
1705 | minipass@7.1.2:
1706 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
1707 | engines: {node: '>=16 || 14 >=14.17'}
1708 |
1709 | mixin-deep@1.3.2:
1710 | resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
1711 | engines: {node: '>=0.10.0'}
1712 |
1713 | ms@2.1.3:
1714 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1715 |
1716 | mz@2.7.0:
1717 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1718 |
1719 | nanoid@3.3.7:
1720 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1721 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1722 | hasBin: true
1723 |
1724 | natural-compare@1.4.0:
1725 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1726 |
1727 | node-releases@2.0.18:
1728 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
1729 |
1730 | normalize-path@3.0.0:
1731 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1732 | engines: {node: '>=0.10.0'}
1733 |
1734 | normalize-range@0.1.2:
1735 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1736 | engines: {node: '>=0.10.0'}
1737 |
1738 | object-assign@4.1.1:
1739 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1740 | engines: {node: '>=0.10.0'}
1741 |
1742 | object-hash@3.0.0:
1743 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1744 | engines: {node: '>= 6'}
1745 |
1746 | object-inspect@1.13.2:
1747 | resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
1748 | engines: {node: '>= 0.4'}
1749 |
1750 | object-keys@1.1.1:
1751 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1752 | engines: {node: '>= 0.4'}
1753 |
1754 | object.assign@4.1.5:
1755 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
1756 | engines: {node: '>= 0.4'}
1757 |
1758 | object.fromentries@2.0.8:
1759 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
1760 | engines: {node: '>= 0.4'}
1761 |
1762 | object.groupby@1.0.3:
1763 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
1764 | engines: {node: '>= 0.4'}
1765 |
1766 | object.values@1.2.0:
1767 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
1768 | engines: {node: '>= 0.4'}
1769 |
1770 | once@1.4.0:
1771 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1772 |
1773 | optionator@0.9.4:
1774 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1775 | engines: {node: '>= 0.8.0'}
1776 |
1777 | p-limit@3.1.0:
1778 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1779 | engines: {node: '>=10'}
1780 |
1781 | p-locate@5.0.0:
1782 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1783 | engines: {node: '>=10'}
1784 |
1785 | package-json-from-dist@1.0.0:
1786 | resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
1787 |
1788 | parent-module@1.0.1:
1789 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1790 | engines: {node: '>=6'}
1791 |
1792 | path-exists@4.0.0:
1793 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1794 | engines: {node: '>=8'}
1795 |
1796 | path-is-absolute@1.0.1:
1797 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1798 | engines: {node: '>=0.10.0'}
1799 |
1800 | path-key@3.1.1:
1801 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1802 | engines: {node: '>=8'}
1803 |
1804 | path-parse@1.0.7:
1805 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1806 |
1807 | path-scurry@1.11.1:
1808 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
1809 | engines: {node: '>=16 || 14 >=14.18'}
1810 |
1811 | picocolors@1.1.0:
1812 | resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
1813 |
1814 | picomatch@2.3.1:
1815 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1816 | engines: {node: '>=8.6'}
1817 |
1818 | pify@2.3.0:
1819 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1820 | engines: {node: '>=0.10.0'}
1821 |
1822 | pirates@4.0.6:
1823 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1824 | engines: {node: '>= 6'}
1825 |
1826 | possible-typed-array-names@1.0.0:
1827 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
1828 | engines: {node: '>= 0.4'}
1829 |
1830 | postcss-import@15.1.0:
1831 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1832 | engines: {node: '>=14.0.0'}
1833 | peerDependencies:
1834 | postcss: ^8.0.0
1835 |
1836 | postcss-js@4.0.1:
1837 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1838 | engines: {node: ^12 || ^14 || >= 16}
1839 | peerDependencies:
1840 | postcss: ^8.4.21
1841 |
1842 | postcss-load-config@4.0.2:
1843 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
1844 | engines: {node: '>= 14'}
1845 | peerDependencies:
1846 | postcss: '>=8.0.9'
1847 | ts-node: '>=9.0.0'
1848 | peerDependenciesMeta:
1849 | postcss:
1850 | optional: true
1851 | ts-node:
1852 | optional: true
1853 |
1854 | postcss-nested@6.2.0:
1855 | resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==}
1856 | engines: {node: '>=12.0'}
1857 | peerDependencies:
1858 | postcss: ^8.2.14
1859 |
1860 | postcss-selector-parser@6.1.2:
1861 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
1862 | engines: {node: '>=4'}
1863 |
1864 | postcss-value-parser@4.2.0:
1865 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1866 |
1867 | postcss@8.4.47:
1868 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
1869 | engines: {node: ^10 || ^12 || >=14}
1870 |
1871 | potpack@1.0.2:
1872 | resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==}
1873 |
1874 | prelude-ls@1.2.1:
1875 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1876 | engines: {node: '>= 0.8.0'}
1877 |
1878 | prettier-plugin-tailwindcss@0.6.6:
1879 | resolution: {integrity: sha512-OPva5S7WAsPLEsOuOWXATi13QrCKACCiIonFgIR6V4lYv4QLp++UXVhZSzRbZxXGimkQtQT86CC6fQqTOybGng==}
1880 | engines: {node: '>=14.21.3'}
1881 | peerDependencies:
1882 | '@ianvs/prettier-plugin-sort-imports': '*'
1883 | '@prettier/plugin-pug': '*'
1884 | '@shopify/prettier-plugin-liquid': '*'
1885 | '@trivago/prettier-plugin-sort-imports': '*'
1886 | '@zackad/prettier-plugin-twig-melody': '*'
1887 | prettier: ^3.0
1888 | prettier-plugin-astro: '*'
1889 | prettier-plugin-css-order: '*'
1890 | prettier-plugin-import-sort: '*'
1891 | prettier-plugin-jsdoc: '*'
1892 | prettier-plugin-marko: '*'
1893 | prettier-plugin-multiline-arrays: '*'
1894 | prettier-plugin-organize-attributes: '*'
1895 | prettier-plugin-organize-imports: '*'
1896 | prettier-plugin-sort-imports: '*'
1897 | prettier-plugin-style-order: '*'
1898 | prettier-plugin-svelte: '*'
1899 | peerDependenciesMeta:
1900 | '@ianvs/prettier-plugin-sort-imports':
1901 | optional: true
1902 | '@prettier/plugin-pug':
1903 | optional: true
1904 | '@shopify/prettier-plugin-liquid':
1905 | optional: true
1906 | '@trivago/prettier-plugin-sort-imports':
1907 | optional: true
1908 | '@zackad/prettier-plugin-twig-melody':
1909 | optional: true
1910 | prettier-plugin-astro:
1911 | optional: true
1912 | prettier-plugin-css-order:
1913 | optional: true
1914 | prettier-plugin-import-sort:
1915 | optional: true
1916 | prettier-plugin-jsdoc:
1917 | optional: true
1918 | prettier-plugin-marko:
1919 | optional: true
1920 | prettier-plugin-multiline-arrays:
1921 | optional: true
1922 | prettier-plugin-organize-attributes:
1923 | optional: true
1924 | prettier-plugin-organize-imports:
1925 | optional: true
1926 | prettier-plugin-sort-imports:
1927 | optional: true
1928 | prettier-plugin-style-order:
1929 | optional: true
1930 | prettier-plugin-svelte:
1931 | optional: true
1932 |
1933 | prettier@3.3.3:
1934 | resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
1935 | engines: {node: '>=14'}
1936 | hasBin: true
1937 |
1938 | promise-worker-transferable@1.0.4:
1939 | resolution: {integrity: sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==}
1940 |
1941 | prop-types@15.8.1:
1942 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1943 |
1944 | punycode@2.3.1:
1945 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1946 | engines: {node: '>=6'}
1947 |
1948 | queue-microtask@1.2.3:
1949 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1950 |
1951 | r3f-perf@7.2.1:
1952 | resolution: {integrity: sha512-asMr55SqotdT7qtd4gCHGdISGUOL5D3W62LnSm/9lkDIaC/eYg0oh8Vdu3LuyT19tS/O6x1nbPZ11UGdrDJKkA==}
1953 | peerDependencies:
1954 | '@react-three/fiber': '>=8.0'
1955 | dom: '*'
1956 | react: '>=18.0'
1957 | react-dom: '>=18.0'
1958 | three: '>=0.133'
1959 | peerDependenciesMeta:
1960 | '@react-three/fiber':
1961 | optional: true
1962 | dom:
1963 | optional: true
1964 | react-dom:
1965 | optional: true
1966 |
1967 | react-colorful@5.6.1:
1968 | resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==}
1969 | peerDependencies:
1970 | react: '>=16.8.0'
1971 | react-dom: '>=16.8.0'
1972 |
1973 | react-composer@5.0.3:
1974 | resolution: {integrity: sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==}
1975 | peerDependencies:
1976 | react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0
1977 |
1978 | react-dom@18.3.1:
1979 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
1980 | peerDependencies:
1981 | react: ^18.3.1
1982 |
1983 | react-dropzone@12.1.0:
1984 | resolution: {integrity: sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==}
1985 | engines: {node: '>= 10.13'}
1986 | peerDependencies:
1987 | react: '>= 16.8'
1988 |
1989 | react-is@16.13.1:
1990 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1991 |
1992 | react-reconciler@0.27.0:
1993 | resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==}
1994 | engines: {node: '>=0.10.0'}
1995 | peerDependencies:
1996 | react: ^18.0.0
1997 |
1998 | react-refresh@0.14.2:
1999 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
2000 | engines: {node: '>=0.10.0'}
2001 |
2002 | react@18.3.1:
2003 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
2004 | engines: {node: '>=0.10.0'}
2005 |
2006 | read-cache@1.0.0:
2007 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
2008 |
2009 | readable-stream@1.0.34:
2010 | resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
2011 |
2012 | readdirp@3.6.0:
2013 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2014 | engines: {node: '>=8.10.0'}
2015 |
2016 | regenerator-runtime@0.14.1:
2017 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
2018 |
2019 | regexp.prototype.flags@1.5.2:
2020 | resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
2021 | engines: {node: '>= 0.4'}
2022 |
2023 | require-from-string@2.0.2:
2024 | resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
2025 | engines: {node: '>=0.10.0'}
2026 |
2027 | resolve-from@4.0.0:
2028 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2029 | engines: {node: '>=4'}
2030 |
2031 | resolve@1.22.8:
2032 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
2033 | hasBin: true
2034 |
2035 | reusify@1.0.4:
2036 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2037 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2038 |
2039 | rimraf@3.0.2:
2040 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2041 | deprecated: Rimraf versions prior to v4 are no longer supported
2042 | hasBin: true
2043 |
2044 | rollup@4.22.1:
2045 | resolution: {integrity: sha512-rit4zY5uPX0jrzTidez3rFr0MD30Rpu3S8VxwXFDfBVAzkk9U28s5MF3/R6u5bIHN6CQnf7zbiwVQbqBkyrU/A==}
2046 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
2047 | hasBin: true
2048 |
2049 | run-parallel@1.2.0:
2050 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2051 |
2052 | safe-array-concat@1.1.2:
2053 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
2054 | engines: {node: '>=0.4'}
2055 |
2056 | safe-regex-test@1.0.3:
2057 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
2058 | engines: {node: '>= 0.4'}
2059 |
2060 | scheduler@0.21.0:
2061 | resolution: {integrity: sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==}
2062 |
2063 | scheduler@0.23.2:
2064 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
2065 |
2066 | semver@6.3.1:
2067 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2068 | hasBin: true
2069 |
2070 | semver@7.6.3:
2071 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
2072 | engines: {node: '>=10'}
2073 | hasBin: true
2074 |
2075 | set-function-length@1.2.2:
2076 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
2077 | engines: {node: '>= 0.4'}
2078 |
2079 | set-function-name@2.0.2:
2080 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
2081 | engines: {node: '>= 0.4'}
2082 |
2083 | set-value@2.0.1:
2084 | resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
2085 | engines: {node: '>=0.10.0'}
2086 |
2087 | shebang-command@2.0.0:
2088 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2089 | engines: {node: '>=8'}
2090 |
2091 | shebang-regex@3.0.0:
2092 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2093 | engines: {node: '>=8'}
2094 |
2095 | side-channel@1.0.6:
2096 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
2097 | engines: {node: '>= 0.4'}
2098 |
2099 | signal-exit@4.1.0:
2100 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
2101 | engines: {node: '>=14'}
2102 |
2103 | source-map-js@1.2.1:
2104 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
2105 | engines: {node: '>=0.10.0'}
2106 |
2107 | split-string@3.1.0:
2108 | resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
2109 | engines: {node: '>=0.10.0'}
2110 |
2111 | stats-gl@2.2.8:
2112 | resolution: {integrity: sha512-94G5nZvduDmzxBS7K0lYnynYwreZpkknD8g5dZmU6mpwIhy3caCrjAm11Qm1cbyx7mqix7Fp00RkbsonzKWnoQ==}
2113 |
2114 | stats.js@0.17.0:
2115 | resolution: {integrity: sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==}
2116 |
2117 | string-width@4.2.3:
2118 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2119 | engines: {node: '>=8'}
2120 |
2121 | string-width@5.1.2:
2122 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
2123 | engines: {node: '>=12'}
2124 |
2125 | string.prototype.trim@1.2.9:
2126 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
2127 | engines: {node: '>= 0.4'}
2128 |
2129 | string.prototype.trimend@1.0.8:
2130 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
2131 |
2132 | string.prototype.trimstart@1.0.8:
2133 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
2134 | engines: {node: '>= 0.4'}
2135 |
2136 | string_decoder@0.10.31:
2137 | resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
2138 |
2139 | strip-ansi@6.0.1:
2140 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2141 | engines: {node: '>=8'}
2142 |
2143 | strip-ansi@7.1.0:
2144 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
2145 | engines: {node: '>=12'}
2146 |
2147 | strip-bom@3.0.0:
2148 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
2149 | engines: {node: '>=4'}
2150 |
2151 | strip-json-comments@3.1.1:
2152 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2153 | engines: {node: '>=8'}
2154 |
2155 | sucrase@3.35.0:
2156 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
2157 | engines: {node: '>=16 || 14 >=14.17'}
2158 | hasBin: true
2159 |
2160 | supports-color@5.5.0:
2161 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2162 | engines: {node: '>=4'}
2163 |
2164 | supports-color@7.2.0:
2165 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2166 | engines: {node: '>=8'}
2167 |
2168 | supports-preserve-symlinks-flag@1.0.0:
2169 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2170 | engines: {node: '>= 0.4'}
2171 |
2172 | suspend-react@0.1.3:
2173 | resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==}
2174 | peerDependencies:
2175 | react: '>=17.0'
2176 |
2177 | tailwindcss-animate@1.0.7:
2178 | resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==}
2179 | peerDependencies:
2180 | tailwindcss: '>=3.0.0 || insiders'
2181 |
2182 | tailwindcss@3.4.12:
2183 | resolution: {integrity: sha512-Htf/gHj2+soPb9UayUNci/Ja3d8pTmu9ONTfh4QY8r3MATTZOzmv6UYWF7ZwikEIC8okpfqmGqrmDehua8mF8w==}
2184 | engines: {node: '>=14.0.0'}
2185 | hasBin: true
2186 |
2187 | text-table@0.2.0:
2188 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2189 |
2190 | thenify-all@1.6.0:
2191 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2192 | engines: {node: '>=0.8'}
2193 |
2194 | thenify@3.3.1:
2195 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2196 |
2197 | three-custom-shader-material@5.4.0:
2198 | resolution: {integrity: sha512-Yn1lFlKOk3Vul3npEGAmbbFUZ5S2+yjPgM2XqJEZEYRSUUH2vk+WVYrtTB6Bcq15wa7hLUXAKoctAvbRmBmbYA==}
2199 | peerDependencies:
2200 | '@react-three/fiber': '>=8.0'
2201 | react: '>=18.0'
2202 | three: '>=0.154'
2203 | peerDependenciesMeta:
2204 | '@react-three/fiber':
2205 | optional: true
2206 | react:
2207 | optional: true
2208 |
2209 | three-mesh-bvh@0.7.6:
2210 | resolution: {integrity: sha512-rCjsnxEqR9r1/C/lCqzGLS67NDty/S/eT6rAJfDvsanrIctTWdNoR4ZOGWewCB13h1QkVo2BpmC0wakj1+0m8A==}
2211 | peerDependencies:
2212 | three: '>= 0.151.0'
2213 |
2214 | three-stdlib@2.33.0:
2215 | resolution: {integrity: sha512-V/uycBuqQOP/3Z+FBtpMdj2Ds5PyfJ3VDfMzktEmG4niOIzv7q1y5uMSbMcng0+057m1l0N147FQxsodQo9zBg==}
2216 | peerDependencies:
2217 | three: '>=0.128.0'
2218 |
2219 | three@0.167.1:
2220 | resolution: {integrity: sha512-gYTLJA/UQip6J/tJvl91YYqlZF47+D/kxiWrbTon35ZHlXEN0VOo+Qke2walF1/x92v55H6enomymg4Dak52kw==}
2221 |
2222 | through2@0.6.5:
2223 | resolution: {integrity: sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==}
2224 |
2225 | to-fast-properties@2.0.0:
2226 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2227 | engines: {node: '>=4'}
2228 |
2229 | to-regex-range@5.0.1:
2230 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2231 | engines: {node: '>=8.0'}
2232 |
2233 | troika-three-text@0.49.1:
2234 | resolution: {integrity: sha512-lXGWxgjJP9kw4i4Wh+0k0Q/7cRfS6iOME4knKht/KozPu9GcFA9NnNpRvehIhrUawq9B0ZRw+0oiFHgRO+4Wig==}
2235 | peerDependencies:
2236 | three: '>=0.125.0'
2237 |
2238 | troika-three-utils@0.49.0:
2239 | resolution: {integrity: sha512-umitFL4cT+Fm/uONmaQEq4oZlyRHWwVClaS6ZrdcueRvwc2w+cpNQ47LlJKJswpqtMFWbEhOLy0TekmcPZOdYA==}
2240 | peerDependencies:
2241 | three: '>=0.125.0'
2242 |
2243 | troika-worker-utils@0.49.0:
2244 | resolution: {integrity: sha512-1xZHoJrG0HFfCvT/iyN41DvI/nRykiBtHqFkGaGgJwq5iXfIZFBiPPEHFpPpgyKM3Oo5ITHXP5wM2TNQszYdVg==}
2245 |
2246 | ts-api-utils@1.3.0:
2247 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
2248 | engines: {node: '>=16'}
2249 | peerDependencies:
2250 | typescript: '>=4.2.0'
2251 |
2252 | ts-interface-checker@0.1.13:
2253 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2254 |
2255 | tsconfig-paths@3.15.0:
2256 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
2257 |
2258 | tslib@2.7.0:
2259 | resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
2260 |
2261 | tunnel-rat@0.1.2:
2262 | resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==}
2263 |
2264 | type-check@0.4.0:
2265 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2266 | engines: {node: '>= 0.8.0'}
2267 |
2268 | type-fest@0.20.2:
2269 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2270 | engines: {node: '>=10'}
2271 |
2272 | typed-array-buffer@1.0.2:
2273 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
2274 | engines: {node: '>= 0.4'}
2275 |
2276 | typed-array-byte-length@1.0.1:
2277 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
2278 | engines: {node: '>= 0.4'}
2279 |
2280 | typed-array-byte-offset@1.0.2:
2281 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
2282 | engines: {node: '>= 0.4'}
2283 |
2284 | typed-array-length@1.0.6:
2285 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
2286 | engines: {node: '>= 0.4'}
2287 |
2288 | typescript-eslint@8.6.0:
2289 | resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==}
2290 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
2291 | peerDependencies:
2292 | typescript: '*'
2293 | peerDependenciesMeta:
2294 | typescript:
2295 | optional: true
2296 |
2297 | typescript@5.6.2:
2298 | resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==}
2299 | engines: {node: '>=14.17'}
2300 | hasBin: true
2301 |
2302 | unbox-primitive@1.0.2:
2303 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2304 |
2305 | undici-types@6.19.8:
2306 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
2307 |
2308 | update-browserslist-db@1.1.0:
2309 | resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
2310 | hasBin: true
2311 | peerDependencies:
2312 | browserslist: '>= 4.21.0'
2313 |
2314 | uri-js@4.4.1:
2315 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2316 |
2317 | use-isomorphic-layout-effect@1.2.0:
2318 | resolution: {integrity: sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w==}
2319 | peerDependencies:
2320 | '@types/react': '*'
2321 | react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
2322 | peerDependenciesMeta:
2323 | '@types/react':
2324 | optional: true
2325 |
2326 | use-sync-external-store@1.2.2:
2327 | resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==}
2328 | peerDependencies:
2329 | react: ^16.8.0 || ^17.0.0 || ^18.0.0
2330 |
2331 | util-deprecate@1.0.2:
2332 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2333 |
2334 | utility-types@3.11.0:
2335 | resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==}
2336 | engines: {node: '>= 4'}
2337 |
2338 | uuid@9.0.1:
2339 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
2340 | hasBin: true
2341 |
2342 | v8n@1.5.1:
2343 | resolution: {integrity: sha512-LdabyT4OffkyXFCe9UT+uMkxNBs5rcTVuZClvxQr08D5TUgo1OFKkoT65qYRCsiKBl/usHjpXvP4hHMzzDRj3A==}
2344 |
2345 | vite@5.4.6:
2346 | resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==}
2347 | engines: {node: ^18.0.0 || >=20.0.0}
2348 | hasBin: true
2349 | peerDependencies:
2350 | '@types/node': ^18.0.0 || >=20.0.0
2351 | less: '*'
2352 | lightningcss: ^1.21.0
2353 | sass: '*'
2354 | sass-embedded: '*'
2355 | stylus: '*'
2356 | sugarss: '*'
2357 | terser: ^5.4.0
2358 | peerDependenciesMeta:
2359 | '@types/node':
2360 | optional: true
2361 | less:
2362 | optional: true
2363 | lightningcss:
2364 | optional: true
2365 | sass:
2366 | optional: true
2367 | sass-embedded:
2368 | optional: true
2369 | stylus:
2370 | optional: true
2371 | sugarss:
2372 | optional: true
2373 | terser:
2374 | optional: true
2375 |
2376 | webgl-constants@1.1.1:
2377 | resolution: {integrity: sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg==}
2378 |
2379 | webgl-sdf-generator@1.1.1:
2380 | resolution: {integrity: sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==}
2381 |
2382 | which-boxed-primitive@1.0.2:
2383 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2384 |
2385 | which-typed-array@1.1.15:
2386 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
2387 | engines: {node: '>= 0.4'}
2388 |
2389 | which@2.0.2:
2390 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2391 | engines: {node: '>= 8'}
2392 | hasBin: true
2393 |
2394 | word-wrap@1.2.5:
2395 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
2396 | engines: {node: '>=0.10.0'}
2397 |
2398 | wrap-ansi@7.0.0:
2399 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2400 | engines: {node: '>=10'}
2401 |
2402 | wrap-ansi@8.1.0:
2403 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2404 | engines: {node: '>=12'}
2405 |
2406 | wrappy@1.0.2:
2407 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2408 |
2409 | xtend@4.0.2:
2410 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
2411 | engines: {node: '>=0.4'}
2412 |
2413 | yallist@3.1.1:
2414 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2415 |
2416 | yaml@2.5.1:
2417 | resolution: {integrity: sha512-bLQOjaX/ADgQ20isPJRvF0iRUHIxVhYvr53Of7wGcWlO2jvtUlH5m87DsmulFVxRpNLOnI4tB6p/oh8D7kpn9Q==}
2418 | engines: {node: '>= 14'}
2419 | hasBin: true
2420 |
2421 | yocto-queue@0.1.0:
2422 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2423 | engines: {node: '>=10'}
2424 |
2425 | zustand@3.7.2:
2426 | resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==}
2427 | engines: {node: '>=12.7.0'}
2428 | peerDependencies:
2429 | react: '>=16.8'
2430 | peerDependenciesMeta:
2431 | react:
2432 | optional: true
2433 |
2434 | zustand@4.5.5:
2435 | resolution: {integrity: sha512-+0PALYNJNgK6hldkgDq2vLrw5f6g/jCInz52n9RTpropGgeAf/ioFUCdtsjCqu4gNhW9D01rUQBROoRjdzyn2Q==}
2436 | engines: {node: '>=12.7.0'}
2437 | peerDependencies:
2438 | '@types/react': '>=16.8'
2439 | immer: '>=9.0.6'
2440 | react: '>=16.8'
2441 | peerDependenciesMeta:
2442 | '@types/react':
2443 | optional: true
2444 | immer:
2445 | optional: true
2446 | react:
2447 | optional: true
2448 |
2449 | snapshots:
2450 |
2451 | '@alloc/quick-lru@5.2.0': {}
2452 |
2453 | '@ampproject/remapping@2.3.0':
2454 | dependencies:
2455 | '@jridgewell/gen-mapping': 0.3.5
2456 | '@jridgewell/trace-mapping': 0.3.25
2457 |
2458 | '@babel/code-frame@7.24.7':
2459 | dependencies:
2460 | '@babel/highlight': 7.24.7
2461 | picocolors: 1.1.0
2462 |
2463 | '@babel/compat-data@7.25.4': {}
2464 |
2465 | '@babel/core@7.25.2':
2466 | dependencies:
2467 | '@ampproject/remapping': 2.3.0
2468 | '@babel/code-frame': 7.24.7
2469 | '@babel/generator': 7.25.6
2470 | '@babel/helper-compilation-targets': 7.25.2
2471 | '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
2472 | '@babel/helpers': 7.25.6
2473 | '@babel/parser': 7.25.6
2474 | '@babel/template': 7.25.0
2475 | '@babel/traverse': 7.25.6
2476 | '@babel/types': 7.25.6
2477 | convert-source-map: 2.0.0
2478 | debug: 4.3.7
2479 | gensync: 1.0.0-beta.2
2480 | json5: 2.2.3
2481 | semver: 6.3.1
2482 | transitivePeerDependencies:
2483 | - supports-color
2484 |
2485 | '@babel/generator@7.25.6':
2486 | dependencies:
2487 | '@babel/types': 7.25.6
2488 | '@jridgewell/gen-mapping': 0.3.5
2489 | '@jridgewell/trace-mapping': 0.3.25
2490 | jsesc: 2.5.2
2491 |
2492 | '@babel/helper-compilation-targets@7.25.2':
2493 | dependencies:
2494 | '@babel/compat-data': 7.25.4
2495 | '@babel/helper-validator-option': 7.24.8
2496 | browserslist: 4.23.3
2497 | lru-cache: 5.1.1
2498 | semver: 6.3.1
2499 |
2500 | '@babel/helper-module-imports@7.24.7':
2501 | dependencies:
2502 | '@babel/traverse': 7.25.6
2503 | '@babel/types': 7.25.6
2504 | transitivePeerDependencies:
2505 | - supports-color
2506 |
2507 | '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
2508 | dependencies:
2509 | '@babel/core': 7.25.2
2510 | '@babel/helper-module-imports': 7.24.7
2511 | '@babel/helper-simple-access': 7.24.7
2512 | '@babel/helper-validator-identifier': 7.24.7
2513 | '@babel/traverse': 7.25.6
2514 | transitivePeerDependencies:
2515 | - supports-color
2516 |
2517 | '@babel/helper-plugin-utils@7.24.8': {}
2518 |
2519 | '@babel/helper-simple-access@7.24.7':
2520 | dependencies:
2521 | '@babel/traverse': 7.25.6
2522 | '@babel/types': 7.25.6
2523 | transitivePeerDependencies:
2524 | - supports-color
2525 |
2526 | '@babel/helper-string-parser@7.24.8': {}
2527 |
2528 | '@babel/helper-validator-identifier@7.24.7': {}
2529 |
2530 | '@babel/helper-validator-option@7.24.8': {}
2531 |
2532 | '@babel/helpers@7.25.6':
2533 | dependencies:
2534 | '@babel/template': 7.25.0
2535 | '@babel/types': 7.25.6
2536 |
2537 | '@babel/highlight@7.24.7':
2538 | dependencies:
2539 | '@babel/helper-validator-identifier': 7.24.7
2540 | chalk: 2.4.2
2541 | js-tokens: 4.0.0
2542 | picocolors: 1.1.0
2543 |
2544 | '@babel/parser@7.25.6':
2545 | dependencies:
2546 | '@babel/types': 7.25.6
2547 |
2548 | '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)':
2549 | dependencies:
2550 | '@babel/core': 7.25.2
2551 | '@babel/helper-plugin-utils': 7.24.8
2552 |
2553 | '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)':
2554 | dependencies:
2555 | '@babel/core': 7.25.2
2556 | '@babel/helper-plugin-utils': 7.24.8
2557 |
2558 | '@babel/runtime@7.25.6':
2559 | dependencies:
2560 | regenerator-runtime: 0.14.1
2561 |
2562 | '@babel/template@7.25.0':
2563 | dependencies:
2564 | '@babel/code-frame': 7.24.7
2565 | '@babel/parser': 7.25.6
2566 | '@babel/types': 7.25.6
2567 |
2568 | '@babel/traverse@7.25.6':
2569 | dependencies:
2570 | '@babel/code-frame': 7.24.7
2571 | '@babel/generator': 7.25.6
2572 | '@babel/parser': 7.25.6
2573 | '@babel/template': 7.25.0
2574 | '@babel/types': 7.25.6
2575 | debug: 4.3.7
2576 | globals: 11.12.0
2577 | transitivePeerDependencies:
2578 | - supports-color
2579 |
2580 | '@babel/types@7.25.6':
2581 | dependencies:
2582 | '@babel/helper-string-parser': 7.24.8
2583 | '@babel/helper-validator-identifier': 7.24.7
2584 | to-fast-properties: 2.0.0
2585 |
2586 | '@esbuild/aix-ppc64@0.21.5':
2587 | optional: true
2588 |
2589 | '@esbuild/android-arm64@0.21.5':
2590 | optional: true
2591 |
2592 | '@esbuild/android-arm@0.21.5':
2593 | optional: true
2594 |
2595 | '@esbuild/android-x64@0.21.5':
2596 | optional: true
2597 |
2598 | '@esbuild/darwin-arm64@0.21.5':
2599 | optional: true
2600 |
2601 | '@esbuild/darwin-x64@0.21.5':
2602 | optional: true
2603 |
2604 | '@esbuild/freebsd-arm64@0.21.5':
2605 | optional: true
2606 |
2607 | '@esbuild/freebsd-x64@0.21.5':
2608 | optional: true
2609 |
2610 | '@esbuild/linux-arm64@0.21.5':
2611 | optional: true
2612 |
2613 | '@esbuild/linux-arm@0.21.5':
2614 | optional: true
2615 |
2616 | '@esbuild/linux-ia32@0.21.5':
2617 | optional: true
2618 |
2619 | '@esbuild/linux-loong64@0.21.5':
2620 | optional: true
2621 |
2622 | '@esbuild/linux-mips64el@0.21.5':
2623 | optional: true
2624 |
2625 | '@esbuild/linux-ppc64@0.21.5':
2626 | optional: true
2627 |
2628 | '@esbuild/linux-riscv64@0.21.5':
2629 | optional: true
2630 |
2631 | '@esbuild/linux-s390x@0.21.5':
2632 | optional: true
2633 |
2634 | '@esbuild/linux-x64@0.21.5':
2635 | optional: true
2636 |
2637 | '@esbuild/netbsd-x64@0.21.5':
2638 | optional: true
2639 |
2640 | '@esbuild/openbsd-x64@0.21.5':
2641 | optional: true
2642 |
2643 | '@esbuild/sunos-x64@0.21.5':
2644 | optional: true
2645 |
2646 | '@esbuild/win32-arm64@0.21.5':
2647 | optional: true
2648 |
2649 | '@esbuild/win32-ia32@0.21.5':
2650 | optional: true
2651 |
2652 | '@esbuild/win32-x64@0.21.5':
2653 | optional: true
2654 |
2655 | '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)':
2656 | dependencies:
2657 | eslint: 8.57.1
2658 | eslint-visitor-keys: 3.4.3
2659 |
2660 | '@eslint-community/regexpp@4.11.1': {}
2661 |
2662 | '@eslint/eslintrc@2.1.4':
2663 | dependencies:
2664 | ajv: 6.12.6
2665 | debug: 4.3.7
2666 | espree: 9.6.1
2667 | globals: 13.24.0
2668 | ignore: 5.3.2
2669 | import-fresh: 3.3.0
2670 | js-yaml: 4.1.0
2671 | minimatch: 3.1.2
2672 | strip-json-comments: 3.1.1
2673 | transitivePeerDependencies:
2674 | - supports-color
2675 |
2676 | '@eslint/js@8.57.1': {}
2677 |
2678 | '@eslint/js@9.10.0': {}
2679 |
2680 | '@floating-ui/core@0.7.3': {}
2681 |
2682 | '@floating-ui/dom@0.5.4':
2683 | dependencies:
2684 | '@floating-ui/core': 0.7.3
2685 |
2686 | '@floating-ui/react-dom@0.7.2(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2687 | dependencies:
2688 | '@floating-ui/dom': 0.5.4
2689 | react: 18.3.1
2690 | react-dom: 18.3.1(react@18.3.1)
2691 | use-isomorphic-layout-effect: 1.2.0(@types/react@18.3.8)(react@18.3.1)
2692 | transitivePeerDependencies:
2693 | - '@types/react'
2694 |
2695 | '@humanwhocodes/config-array@0.13.0':
2696 | dependencies:
2697 | '@humanwhocodes/object-schema': 2.0.3
2698 | debug: 4.3.7
2699 | minimatch: 3.1.2
2700 | transitivePeerDependencies:
2701 | - supports-color
2702 |
2703 | '@humanwhocodes/module-importer@1.0.1': {}
2704 |
2705 | '@humanwhocodes/object-schema@2.0.3': {}
2706 |
2707 | '@isaacs/cliui@8.0.2':
2708 | dependencies:
2709 | string-width: 5.1.2
2710 | string-width-cjs: string-width@4.2.3
2711 | strip-ansi: 7.1.0
2712 | strip-ansi-cjs: strip-ansi@6.0.1
2713 | wrap-ansi: 8.1.0
2714 | wrap-ansi-cjs: wrap-ansi@7.0.0
2715 |
2716 | '@jridgewell/gen-mapping@0.3.5':
2717 | dependencies:
2718 | '@jridgewell/set-array': 1.2.1
2719 | '@jridgewell/sourcemap-codec': 1.5.0
2720 | '@jridgewell/trace-mapping': 0.3.25
2721 |
2722 | '@jridgewell/resolve-uri@3.1.2': {}
2723 |
2724 | '@jridgewell/set-array@1.2.1': {}
2725 |
2726 | '@jridgewell/sourcemap-codec@1.5.0': {}
2727 |
2728 | '@jridgewell/trace-mapping@0.3.25':
2729 | dependencies:
2730 | '@jridgewell/resolve-uri': 3.1.2
2731 | '@jridgewell/sourcemap-codec': 1.5.0
2732 |
2733 | '@mediapipe/tasks-vision@0.10.8': {}
2734 |
2735 | '@monogrid/gainmap-js@3.0.6(three@0.167.1)':
2736 | dependencies:
2737 | promise-worker-transferable: 1.0.4
2738 | three: 0.167.1
2739 |
2740 | '@nodelib/fs.scandir@2.1.5':
2741 | dependencies:
2742 | '@nodelib/fs.stat': 2.0.5
2743 | run-parallel: 1.2.0
2744 |
2745 | '@nodelib/fs.stat@2.0.5': {}
2746 |
2747 | '@nodelib/fs.walk@1.2.8':
2748 | dependencies:
2749 | '@nodelib/fs.scandir': 2.1.5
2750 | fastq: 1.17.1
2751 |
2752 | '@pkgjs/parseargs@0.11.0':
2753 | optional: true
2754 |
2755 | '@radix-ui/primitive@1.0.0':
2756 | dependencies:
2757 | '@babel/runtime': 7.25.6
2758 |
2759 | '@radix-ui/react-arrow@1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2760 | dependencies:
2761 | '@babel/runtime': 7.25.6
2762 | '@radix-ui/react-primitive': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2763 | react: 18.3.1
2764 | react-dom: 18.3.1(react@18.3.1)
2765 |
2766 | '@radix-ui/react-compose-refs@1.0.0(react@18.3.1)':
2767 | dependencies:
2768 | '@babel/runtime': 7.25.6
2769 | react: 18.3.1
2770 |
2771 | '@radix-ui/react-context@1.0.0(react@18.3.1)':
2772 | dependencies:
2773 | '@babel/runtime': 7.25.6
2774 | react: 18.3.1
2775 |
2776 | '@radix-ui/react-dismissable-layer@1.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2777 | dependencies:
2778 | '@babel/runtime': 7.25.6
2779 | '@radix-ui/primitive': 1.0.0
2780 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1)
2781 | '@radix-ui/react-primitive': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2782 | '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1)
2783 | '@radix-ui/react-use-escape-keydown': 1.0.2(react@18.3.1)
2784 | react: 18.3.1
2785 | react-dom: 18.3.1(react@18.3.1)
2786 |
2787 | '@radix-ui/react-icons@1.3.0(react@18.3.1)':
2788 | dependencies:
2789 | react: 18.3.1
2790 |
2791 | '@radix-ui/react-id@1.0.0(react@18.3.1)':
2792 | dependencies:
2793 | '@babel/runtime': 7.25.6
2794 | '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1)
2795 | react: 18.3.1
2796 |
2797 | '@radix-ui/react-popper@1.1.1(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2798 | dependencies:
2799 | '@babel/runtime': 7.25.6
2800 | '@floating-ui/react-dom': 0.7.2(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2801 | '@radix-ui/react-arrow': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2802 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1)
2803 | '@radix-ui/react-context': 1.0.0(react@18.3.1)
2804 | '@radix-ui/react-primitive': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2805 | '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1)
2806 | '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1)
2807 | '@radix-ui/react-use-rect': 1.0.0(react@18.3.1)
2808 | '@radix-ui/react-use-size': 1.0.0(react@18.3.1)
2809 | '@radix-ui/rect': 1.0.0
2810 | react: 18.3.1
2811 | react-dom: 18.3.1(react@18.3.1)
2812 | transitivePeerDependencies:
2813 | - '@types/react'
2814 |
2815 | '@radix-ui/react-portal@1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2816 | dependencies:
2817 | '@babel/runtime': 7.25.6
2818 | '@radix-ui/react-primitive': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2819 | react: 18.3.1
2820 | react-dom: 18.3.1(react@18.3.1)
2821 |
2822 | '@radix-ui/react-presence@1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2823 | dependencies:
2824 | '@babel/runtime': 7.25.6
2825 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1)
2826 | '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1)
2827 | react: 18.3.1
2828 | react-dom: 18.3.1(react@18.3.1)
2829 |
2830 | '@radix-ui/react-primitive@1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2831 | dependencies:
2832 | '@babel/runtime': 7.25.6
2833 | '@radix-ui/react-slot': 1.0.1(react@18.3.1)
2834 | react: 18.3.1
2835 | react-dom: 18.3.1(react@18.3.1)
2836 |
2837 | '@radix-ui/react-slot@1.0.1(react@18.3.1)':
2838 | dependencies:
2839 | '@babel/runtime': 7.25.6
2840 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1)
2841 | react: 18.3.1
2842 |
2843 | '@radix-ui/react-tooltip@1.0.5(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2844 | dependencies:
2845 | '@babel/runtime': 7.25.6
2846 | '@radix-ui/primitive': 1.0.0
2847 | '@radix-ui/react-compose-refs': 1.0.0(react@18.3.1)
2848 | '@radix-ui/react-context': 1.0.0(react@18.3.1)
2849 | '@radix-ui/react-dismissable-layer': 1.0.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2850 | '@radix-ui/react-id': 1.0.0(react@18.3.1)
2851 | '@radix-ui/react-popper': 1.1.1(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2852 | '@radix-ui/react-portal': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2853 | '@radix-ui/react-presence': 1.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2854 | '@radix-ui/react-primitive': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2855 | '@radix-ui/react-slot': 1.0.1(react@18.3.1)
2856 | '@radix-ui/react-use-controllable-state': 1.0.0(react@18.3.1)
2857 | '@radix-ui/react-visually-hidden': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2858 | react: 18.3.1
2859 | react-dom: 18.3.1(react@18.3.1)
2860 | transitivePeerDependencies:
2861 | - '@types/react'
2862 |
2863 | '@radix-ui/react-use-callback-ref@1.0.0(react@18.3.1)':
2864 | dependencies:
2865 | '@babel/runtime': 7.25.6
2866 | react: 18.3.1
2867 |
2868 | '@radix-ui/react-use-controllable-state@1.0.0(react@18.3.1)':
2869 | dependencies:
2870 | '@babel/runtime': 7.25.6
2871 | '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1)
2872 | react: 18.3.1
2873 |
2874 | '@radix-ui/react-use-escape-keydown@1.0.2(react@18.3.1)':
2875 | dependencies:
2876 | '@babel/runtime': 7.25.6
2877 | '@radix-ui/react-use-callback-ref': 1.0.0(react@18.3.1)
2878 | react: 18.3.1
2879 |
2880 | '@radix-ui/react-use-layout-effect@1.0.0(react@18.3.1)':
2881 | dependencies:
2882 | '@babel/runtime': 7.25.6
2883 | react: 18.3.1
2884 |
2885 | '@radix-ui/react-use-rect@1.0.0(react@18.3.1)':
2886 | dependencies:
2887 | '@babel/runtime': 7.25.6
2888 | '@radix-ui/rect': 1.0.0
2889 | react: 18.3.1
2890 |
2891 | '@radix-ui/react-use-size@1.0.0(react@18.3.1)':
2892 | dependencies:
2893 | '@babel/runtime': 7.25.6
2894 | '@radix-ui/react-use-layout-effect': 1.0.0(react@18.3.1)
2895 | react: 18.3.1
2896 |
2897 | '@radix-ui/react-visually-hidden@1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2898 | dependencies:
2899 | '@babel/runtime': 7.25.6
2900 | '@radix-ui/react-primitive': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
2901 | react: 18.3.1
2902 | react-dom: 18.3.1(react@18.3.1)
2903 |
2904 | '@radix-ui/rect@1.0.0':
2905 | dependencies:
2906 | '@babel/runtime': 7.25.6
2907 |
2908 | '@react-spring/animated@9.6.1(react@18.3.1)':
2909 | dependencies:
2910 | '@react-spring/shared': 9.6.1(react@18.3.1)
2911 | '@react-spring/types': 9.6.1
2912 | react: 18.3.1
2913 |
2914 | '@react-spring/core@9.6.1(react@18.3.1)':
2915 | dependencies:
2916 | '@react-spring/animated': 9.6.1(react@18.3.1)
2917 | '@react-spring/rafz': 9.6.1
2918 | '@react-spring/shared': 9.6.1(react@18.3.1)
2919 | '@react-spring/types': 9.6.1
2920 | react: 18.3.1
2921 |
2922 | '@react-spring/rafz@9.6.1': {}
2923 |
2924 | '@react-spring/shared@9.6.1(react@18.3.1)':
2925 | dependencies:
2926 | '@react-spring/rafz': 9.6.1
2927 | '@react-spring/types': 9.6.1
2928 | react: 18.3.1
2929 |
2930 | '@react-spring/three@9.6.1(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(react@18.3.1)(three@0.167.1)':
2931 | dependencies:
2932 | '@react-spring/animated': 9.6.1(react@18.3.1)
2933 | '@react-spring/core': 9.6.1(react@18.3.1)
2934 | '@react-spring/shared': 9.6.1(react@18.3.1)
2935 | '@react-spring/types': 9.6.1
2936 | '@react-three/fiber': 8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
2937 | react: 18.3.1
2938 | three: 0.167.1
2939 |
2940 | '@react-spring/types@9.6.1': {}
2941 |
2942 | '@react-three/drei@9.112.0(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(@types/react@18.3.8)(@types/three@0.167.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)':
2943 | dependencies:
2944 | '@babel/runtime': 7.25.6
2945 | '@mediapipe/tasks-vision': 0.10.8
2946 | '@monogrid/gainmap-js': 3.0.6(three@0.167.1)
2947 | '@react-spring/three': 9.6.1(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(react@18.3.1)(three@0.167.1)
2948 | '@react-three/fiber': 8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
2949 | '@use-gesture/react': 10.3.1(react@18.3.1)
2950 | camera-controls: 2.9.0(three@0.167.1)
2951 | cross-env: 7.0.3
2952 | detect-gpu: 5.0.48
2953 | glsl-noise: 0.0.0
2954 | hls.js: 1.3.5
2955 | maath: 0.10.8(@types/three@0.167.2)(three@0.167.1)
2956 | meshline: 3.3.1(three@0.167.1)
2957 | react: 18.3.1
2958 | react-composer: 5.0.3(react@18.3.1)
2959 | stats-gl: 2.2.8
2960 | stats.js: 0.17.0
2961 | suspend-react: 0.1.3(react@18.3.1)
2962 | three: 0.167.1
2963 | three-mesh-bvh: 0.7.6(three@0.167.1)
2964 | three-stdlib: 2.33.0(three@0.167.1)
2965 | troika-three-text: 0.49.1(three@0.167.1)
2966 | tunnel-rat: 0.1.2(@types/react@18.3.8)(react@18.3.1)
2967 | utility-types: 3.11.0
2968 | uuid: 9.0.1
2969 | zustand: 3.7.2(react@18.3.1)
2970 | optionalDependencies:
2971 | react-dom: 18.3.1(react@18.3.1)
2972 | transitivePeerDependencies:
2973 | - '@types/react'
2974 | - '@types/three'
2975 | - immer
2976 |
2977 | '@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)':
2978 | dependencies:
2979 | '@babel/runtime': 7.25.6
2980 | '@types/debounce': 1.2.4
2981 | '@types/react-reconciler': 0.26.7
2982 | '@types/webxr': 0.5.20
2983 | base64-js: 1.5.1
2984 | buffer: 6.0.3
2985 | debounce: 1.2.1
2986 | its-fine: 1.2.5(react@18.3.1)
2987 | react: 18.3.1
2988 | react-reconciler: 0.27.0(react@18.3.1)
2989 | scheduler: 0.21.0
2990 | suspend-react: 0.1.3(react@18.3.1)
2991 | three: 0.167.1
2992 | zustand: 3.7.2(react@18.3.1)
2993 | optionalDependencies:
2994 | react-dom: 18.3.1(react@18.3.1)
2995 |
2996 | '@rollup/rollup-android-arm-eabi@4.22.1':
2997 | optional: true
2998 |
2999 | '@rollup/rollup-android-arm64@4.22.1':
3000 | optional: true
3001 |
3002 | '@rollup/rollup-darwin-arm64@4.22.1':
3003 | optional: true
3004 |
3005 | '@rollup/rollup-darwin-x64@4.22.1':
3006 | optional: true
3007 |
3008 | '@rollup/rollup-linux-arm-gnueabihf@4.22.1':
3009 | optional: true
3010 |
3011 | '@rollup/rollup-linux-arm-musleabihf@4.22.1':
3012 | optional: true
3013 |
3014 | '@rollup/rollup-linux-arm64-gnu@4.22.1':
3015 | optional: true
3016 |
3017 | '@rollup/rollup-linux-arm64-musl@4.22.1':
3018 | optional: true
3019 |
3020 | '@rollup/rollup-linux-powerpc64le-gnu@4.22.1':
3021 | optional: true
3022 |
3023 | '@rollup/rollup-linux-riscv64-gnu@4.22.1':
3024 | optional: true
3025 |
3026 | '@rollup/rollup-linux-s390x-gnu@4.22.1':
3027 | optional: true
3028 |
3029 | '@rollup/rollup-linux-x64-gnu@4.22.1':
3030 | optional: true
3031 |
3032 | '@rollup/rollup-linux-x64-musl@4.22.1':
3033 | optional: true
3034 |
3035 | '@rollup/rollup-win32-arm64-msvc@4.22.1':
3036 | optional: true
3037 |
3038 | '@rollup/rollup-win32-ia32-msvc@4.22.1':
3039 | optional: true
3040 |
3041 | '@rollup/rollup-win32-x64-msvc@4.22.1':
3042 | optional: true
3043 |
3044 | '@rtsao/scc@1.1.0': {}
3045 |
3046 | '@stitches/react@1.2.8(react@18.3.1)':
3047 | dependencies:
3048 | react: 18.3.1
3049 |
3050 | '@tweenjs/tween.js@23.1.3': {}
3051 |
3052 | '@types/babel__core@7.20.5':
3053 | dependencies:
3054 | '@babel/parser': 7.25.6
3055 | '@babel/types': 7.25.6
3056 | '@types/babel__generator': 7.6.8
3057 | '@types/babel__template': 7.4.4
3058 | '@types/babel__traverse': 7.20.6
3059 |
3060 | '@types/babel__generator@7.6.8':
3061 | dependencies:
3062 | '@babel/types': 7.25.6
3063 |
3064 | '@types/babel__template@7.4.4':
3065 | dependencies:
3066 | '@babel/parser': 7.25.6
3067 | '@babel/types': 7.25.6
3068 |
3069 | '@types/babel__traverse@7.20.6':
3070 | dependencies:
3071 | '@babel/types': 7.25.6
3072 |
3073 | '@types/debounce@1.2.4': {}
3074 |
3075 | '@types/draco3d@1.4.10': {}
3076 |
3077 | '@types/estree@1.0.5': {}
3078 |
3079 | '@types/json5@0.0.29': {}
3080 |
3081 | '@types/node@22.5.5':
3082 | dependencies:
3083 | undici-types: 6.19.8
3084 |
3085 | '@types/offscreencanvas@2019.7.3': {}
3086 |
3087 | '@types/prop-types@15.7.13': {}
3088 |
3089 | '@types/react-dom@18.3.0':
3090 | dependencies:
3091 | '@types/react': 18.3.8
3092 |
3093 | '@types/react-reconciler@0.26.7':
3094 | dependencies:
3095 | '@types/react': 18.3.8
3096 |
3097 | '@types/react-reconciler@0.28.8':
3098 | dependencies:
3099 | '@types/react': 18.3.8
3100 |
3101 | '@types/react@18.3.8':
3102 | dependencies:
3103 | '@types/prop-types': 15.7.13
3104 | csstype: 3.1.3
3105 |
3106 | '@types/stats.js@0.17.3': {}
3107 |
3108 | '@types/three@0.163.0':
3109 | dependencies:
3110 | '@tweenjs/tween.js': 23.1.3
3111 | '@types/stats.js': 0.17.3
3112 | '@types/webxr': 0.5.20
3113 | fflate: 0.8.2
3114 | meshoptimizer: 0.18.1
3115 |
3116 | '@types/three@0.167.2':
3117 | dependencies:
3118 | '@tweenjs/tween.js': 23.1.3
3119 | '@types/stats.js': 0.17.3
3120 | '@types/webxr': 0.5.20
3121 | fflate: 0.8.2
3122 | meshoptimizer: 0.18.1
3123 |
3124 | '@types/uuid@10.0.0': {}
3125 |
3126 | '@types/webxr@0.5.20': {}
3127 |
3128 | '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)':
3129 | dependencies:
3130 | '@eslint-community/regexpp': 4.11.1
3131 | '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
3132 | '@typescript-eslint/scope-manager': 8.6.0
3133 | '@typescript-eslint/type-utils': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
3134 | '@typescript-eslint/utils': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
3135 | '@typescript-eslint/visitor-keys': 8.6.0
3136 | eslint: 8.57.1
3137 | graphemer: 1.4.0
3138 | ignore: 5.3.2
3139 | natural-compare: 1.4.0
3140 | ts-api-utils: 1.3.0(typescript@5.6.2)
3141 | optionalDependencies:
3142 | typescript: 5.6.2
3143 | transitivePeerDependencies:
3144 | - supports-color
3145 |
3146 | '@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2)':
3147 | dependencies:
3148 | '@typescript-eslint/scope-manager': 8.6.0
3149 | '@typescript-eslint/types': 8.6.0
3150 | '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2)
3151 | '@typescript-eslint/visitor-keys': 8.6.0
3152 | debug: 4.3.7
3153 | eslint: 8.57.1
3154 | optionalDependencies:
3155 | typescript: 5.6.2
3156 | transitivePeerDependencies:
3157 | - supports-color
3158 |
3159 | '@typescript-eslint/scope-manager@8.6.0':
3160 | dependencies:
3161 | '@typescript-eslint/types': 8.6.0
3162 | '@typescript-eslint/visitor-keys': 8.6.0
3163 |
3164 | '@typescript-eslint/type-utils@8.6.0(eslint@8.57.1)(typescript@5.6.2)':
3165 | dependencies:
3166 | '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2)
3167 | '@typescript-eslint/utils': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
3168 | debug: 4.3.7
3169 | ts-api-utils: 1.3.0(typescript@5.6.2)
3170 | optionalDependencies:
3171 | typescript: 5.6.2
3172 | transitivePeerDependencies:
3173 | - eslint
3174 | - supports-color
3175 |
3176 | '@typescript-eslint/types@8.6.0': {}
3177 |
3178 | '@typescript-eslint/typescript-estree@8.6.0(typescript@5.6.2)':
3179 | dependencies:
3180 | '@typescript-eslint/types': 8.6.0
3181 | '@typescript-eslint/visitor-keys': 8.6.0
3182 | debug: 4.3.7
3183 | fast-glob: 3.3.2
3184 | is-glob: 4.0.3
3185 | minimatch: 9.0.5
3186 | semver: 7.6.3
3187 | ts-api-utils: 1.3.0(typescript@5.6.2)
3188 | optionalDependencies:
3189 | typescript: 5.6.2
3190 | transitivePeerDependencies:
3191 | - supports-color
3192 |
3193 | '@typescript-eslint/utils@8.6.0(eslint@8.57.1)(typescript@5.6.2)':
3194 | dependencies:
3195 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
3196 | '@typescript-eslint/scope-manager': 8.6.0
3197 | '@typescript-eslint/types': 8.6.0
3198 | '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.6.2)
3199 | eslint: 8.57.1
3200 | transitivePeerDependencies:
3201 | - supports-color
3202 | - typescript
3203 |
3204 | '@typescript-eslint/visitor-keys@8.6.0':
3205 | dependencies:
3206 | '@typescript-eslint/types': 8.6.0
3207 | eslint-visitor-keys: 3.4.3
3208 |
3209 | '@ungap/structured-clone@1.2.0': {}
3210 |
3211 | '@use-gesture/core@10.3.1': {}
3212 |
3213 | '@use-gesture/react@10.3.1(react@18.3.1)':
3214 | dependencies:
3215 | '@use-gesture/core': 10.3.1
3216 | react: 18.3.1
3217 |
3218 | '@utsubo/events@0.1.7(react@18.3.1)':
3219 | dependencies:
3220 | eventemitter3: 4.0.7
3221 | optionalDependencies:
3222 | react: 18.3.1
3223 |
3224 | '@vitejs/plugin-react@4.3.1(vite@5.4.6(@types/node@22.5.5))':
3225 | dependencies:
3226 | '@babel/core': 7.25.2
3227 | '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2)
3228 | '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2)
3229 | '@types/babel__core': 7.20.5
3230 | react-refresh: 0.14.2
3231 | vite: 5.4.6(@types/node@22.5.5)
3232 | transitivePeerDependencies:
3233 | - supports-color
3234 |
3235 | acorn-jsx@5.3.2(acorn@8.12.1):
3236 | dependencies:
3237 | acorn: 8.12.1
3238 |
3239 | acorn@8.12.1: {}
3240 |
3241 | ajv@6.12.6:
3242 | dependencies:
3243 | fast-deep-equal: 3.1.3
3244 | fast-json-stable-stringify: 2.1.0
3245 | json-schema-traverse: 0.4.1
3246 | uri-js: 4.4.1
3247 |
3248 | ansi-regex@5.0.1: {}
3249 |
3250 | ansi-regex@6.1.0: {}
3251 |
3252 | ansi-styles@3.2.1:
3253 | dependencies:
3254 | color-convert: 1.9.3
3255 |
3256 | ansi-styles@4.3.0:
3257 | dependencies:
3258 | color-convert: 2.0.1
3259 |
3260 | ansi-styles@6.2.1: {}
3261 |
3262 | any-promise@1.3.0: {}
3263 |
3264 | anymatch@3.1.3:
3265 | dependencies:
3266 | normalize-path: 3.0.0
3267 | picomatch: 2.3.1
3268 |
3269 | arg@5.0.2: {}
3270 |
3271 | argparse@2.0.1: {}
3272 |
3273 | array-buffer-byte-length@1.0.1:
3274 | dependencies:
3275 | call-bind: 1.0.7
3276 | is-array-buffer: 3.0.4
3277 |
3278 | array-includes@3.1.8:
3279 | dependencies:
3280 | call-bind: 1.0.7
3281 | define-properties: 1.2.1
3282 | es-abstract: 1.23.3
3283 | es-object-atoms: 1.0.0
3284 | get-intrinsic: 1.2.4
3285 | is-string: 1.0.7
3286 |
3287 | array.prototype.findlastindex@1.2.5:
3288 | dependencies:
3289 | call-bind: 1.0.7
3290 | define-properties: 1.2.1
3291 | es-abstract: 1.23.3
3292 | es-errors: 1.3.0
3293 | es-object-atoms: 1.0.0
3294 | es-shim-unscopables: 1.0.2
3295 |
3296 | array.prototype.flat@1.3.2:
3297 | dependencies:
3298 | call-bind: 1.0.7
3299 | define-properties: 1.2.1
3300 | es-abstract: 1.23.3
3301 | es-shim-unscopables: 1.0.2
3302 |
3303 | array.prototype.flatmap@1.3.2:
3304 | dependencies:
3305 | call-bind: 1.0.7
3306 | define-properties: 1.2.1
3307 | es-abstract: 1.23.3
3308 | es-shim-unscopables: 1.0.2
3309 |
3310 | arraybuffer.prototype.slice@1.0.3:
3311 | dependencies:
3312 | array-buffer-byte-length: 1.0.1
3313 | call-bind: 1.0.7
3314 | define-properties: 1.2.1
3315 | es-abstract: 1.23.3
3316 | es-errors: 1.3.0
3317 | get-intrinsic: 1.2.4
3318 | is-array-buffer: 3.0.4
3319 | is-shared-array-buffer: 1.0.3
3320 |
3321 | assign-symbols@1.0.0: {}
3322 |
3323 | attr-accept@2.2.5: {}
3324 |
3325 | autoprefixer@10.4.20(postcss@8.4.47):
3326 | dependencies:
3327 | browserslist: 4.23.3
3328 | caniuse-lite: 1.0.30001662
3329 | fraction.js: 4.3.7
3330 | normalize-range: 0.1.2
3331 | picocolors: 1.1.0
3332 | postcss: 8.4.47
3333 | postcss-value-parser: 4.2.0
3334 |
3335 | available-typed-arrays@1.0.7:
3336 | dependencies:
3337 | possible-typed-array-names: 1.0.0
3338 |
3339 | balanced-match@1.0.2: {}
3340 |
3341 | base64-js@1.5.1: {}
3342 |
3343 | bidi-js@1.0.3:
3344 | dependencies:
3345 | require-from-string: 2.0.2
3346 |
3347 | binary-extensions@2.3.0: {}
3348 |
3349 | brace-expansion@1.1.11:
3350 | dependencies:
3351 | balanced-match: 1.0.2
3352 | concat-map: 0.0.1
3353 |
3354 | brace-expansion@2.0.1:
3355 | dependencies:
3356 | balanced-match: 1.0.2
3357 |
3358 | braces@3.0.3:
3359 | dependencies:
3360 | fill-range: 7.1.1
3361 |
3362 | browserslist@4.23.3:
3363 | dependencies:
3364 | caniuse-lite: 1.0.30001662
3365 | electron-to-chromium: 1.5.26
3366 | node-releases: 2.0.18
3367 | update-browserslist-db: 1.1.0(browserslist@4.23.3)
3368 |
3369 | buffer@6.0.3:
3370 | dependencies:
3371 | base64-js: 1.5.1
3372 | ieee754: 1.2.1
3373 |
3374 | call-bind@1.0.7:
3375 | dependencies:
3376 | es-define-property: 1.0.0
3377 | es-errors: 1.3.0
3378 | function-bind: 1.1.2
3379 | get-intrinsic: 1.2.4
3380 | set-function-length: 1.2.2
3381 |
3382 | callsites@3.1.0: {}
3383 |
3384 | camelcase-css@2.0.1: {}
3385 |
3386 | camera-controls@2.9.0(three@0.167.1):
3387 | dependencies:
3388 | three: 0.167.1
3389 |
3390 | caniuse-lite@1.0.30001662: {}
3391 |
3392 | chalk@2.4.2:
3393 | dependencies:
3394 | ansi-styles: 3.2.1
3395 | escape-string-regexp: 1.0.5
3396 | supports-color: 5.5.0
3397 |
3398 | chalk@4.1.2:
3399 | dependencies:
3400 | ansi-styles: 4.3.0
3401 | supports-color: 7.2.0
3402 |
3403 | chokidar@3.6.0:
3404 | dependencies:
3405 | anymatch: 3.1.3
3406 | braces: 3.0.3
3407 | glob-parent: 5.1.2
3408 | is-binary-path: 2.1.0
3409 | is-glob: 4.0.3
3410 | normalize-path: 3.0.0
3411 | readdirp: 3.6.0
3412 | optionalDependencies:
3413 | fsevents: 2.3.3
3414 |
3415 | color-convert@1.9.3:
3416 | dependencies:
3417 | color-name: 1.1.3
3418 |
3419 | color-convert@2.0.1:
3420 | dependencies:
3421 | color-name: 1.1.4
3422 |
3423 | color-name@1.1.3: {}
3424 |
3425 | color-name@1.1.4: {}
3426 |
3427 | colord@2.9.3: {}
3428 |
3429 | commander@4.1.1: {}
3430 |
3431 | concat-map@0.0.1: {}
3432 |
3433 | convert-source-map@2.0.0: {}
3434 |
3435 | core-util-is@1.0.3: {}
3436 |
3437 | cross-env@7.0.3:
3438 | dependencies:
3439 | cross-spawn: 7.0.3
3440 |
3441 | cross-spawn@7.0.3:
3442 | dependencies:
3443 | path-key: 3.1.1
3444 | shebang-command: 2.0.0
3445 | which: 2.0.2
3446 |
3447 | cssesc@3.0.0: {}
3448 |
3449 | csstype@3.1.3: {}
3450 |
3451 | data-view-buffer@1.0.1:
3452 | dependencies:
3453 | call-bind: 1.0.7
3454 | es-errors: 1.3.0
3455 | is-data-view: 1.0.1
3456 |
3457 | data-view-byte-length@1.0.1:
3458 | dependencies:
3459 | call-bind: 1.0.7
3460 | es-errors: 1.3.0
3461 | is-data-view: 1.0.1
3462 |
3463 | data-view-byte-offset@1.0.0:
3464 | dependencies:
3465 | call-bind: 1.0.7
3466 | es-errors: 1.3.0
3467 | is-data-view: 1.0.1
3468 |
3469 | debounce@1.2.1: {}
3470 |
3471 | debug@3.2.7:
3472 | dependencies:
3473 | ms: 2.1.3
3474 |
3475 | debug@4.3.7:
3476 | dependencies:
3477 | ms: 2.1.3
3478 |
3479 | deep-is@0.1.4: {}
3480 |
3481 | define-data-property@1.1.4:
3482 | dependencies:
3483 | es-define-property: 1.0.0
3484 | es-errors: 1.3.0
3485 | gopd: 1.0.1
3486 |
3487 | define-properties@1.2.1:
3488 | dependencies:
3489 | define-data-property: 1.1.4
3490 | has-property-descriptors: 1.0.2
3491 | object-keys: 1.1.1
3492 |
3493 | dequal@2.0.3: {}
3494 |
3495 | detect-gpu@5.0.48:
3496 | dependencies:
3497 | webgl-constants: 1.1.1
3498 |
3499 | didyoumean@1.2.2: {}
3500 |
3501 | dlv@1.1.3: {}
3502 |
3503 | doctrine@2.1.0:
3504 | dependencies:
3505 | esutils: 2.0.3
3506 |
3507 | doctrine@3.0.0:
3508 | dependencies:
3509 | esutils: 2.0.3
3510 |
3511 | draco3d@1.5.7: {}
3512 |
3513 | eastasianwidth@0.2.0: {}
3514 |
3515 | electron-to-chromium@1.5.26: {}
3516 |
3517 | emoji-regex@8.0.0: {}
3518 |
3519 | emoji-regex@9.2.2: {}
3520 |
3521 | es-abstract@1.23.3:
3522 | dependencies:
3523 | array-buffer-byte-length: 1.0.1
3524 | arraybuffer.prototype.slice: 1.0.3
3525 | available-typed-arrays: 1.0.7
3526 | call-bind: 1.0.7
3527 | data-view-buffer: 1.0.1
3528 | data-view-byte-length: 1.0.1
3529 | data-view-byte-offset: 1.0.0
3530 | es-define-property: 1.0.0
3531 | es-errors: 1.3.0
3532 | es-object-atoms: 1.0.0
3533 | es-set-tostringtag: 2.0.3
3534 | es-to-primitive: 1.2.1
3535 | function.prototype.name: 1.1.6
3536 | get-intrinsic: 1.2.4
3537 | get-symbol-description: 1.0.2
3538 | globalthis: 1.0.4
3539 | gopd: 1.0.1
3540 | has-property-descriptors: 1.0.2
3541 | has-proto: 1.0.3
3542 | has-symbols: 1.0.3
3543 | hasown: 2.0.2
3544 | internal-slot: 1.0.7
3545 | is-array-buffer: 3.0.4
3546 | is-callable: 1.2.7
3547 | is-data-view: 1.0.1
3548 | is-negative-zero: 2.0.3
3549 | is-regex: 1.1.4
3550 | is-shared-array-buffer: 1.0.3
3551 | is-string: 1.0.7
3552 | is-typed-array: 1.1.13
3553 | is-weakref: 1.0.2
3554 | object-inspect: 1.13.2
3555 | object-keys: 1.1.1
3556 | object.assign: 4.1.5
3557 | regexp.prototype.flags: 1.5.2
3558 | safe-array-concat: 1.1.2
3559 | safe-regex-test: 1.0.3
3560 | string.prototype.trim: 1.2.9
3561 | string.prototype.trimend: 1.0.8
3562 | string.prototype.trimstart: 1.0.8
3563 | typed-array-buffer: 1.0.2
3564 | typed-array-byte-length: 1.0.1
3565 | typed-array-byte-offset: 1.0.2
3566 | typed-array-length: 1.0.6
3567 | unbox-primitive: 1.0.2
3568 | which-typed-array: 1.1.15
3569 |
3570 | es-define-property@1.0.0:
3571 | dependencies:
3572 | get-intrinsic: 1.2.4
3573 |
3574 | es-errors@1.3.0: {}
3575 |
3576 | es-object-atoms@1.0.0:
3577 | dependencies:
3578 | es-errors: 1.3.0
3579 |
3580 | es-set-tostringtag@2.0.3:
3581 | dependencies:
3582 | get-intrinsic: 1.2.4
3583 | has-tostringtag: 1.0.2
3584 | hasown: 2.0.2
3585 |
3586 | es-shim-unscopables@1.0.2:
3587 | dependencies:
3588 | hasown: 2.0.2
3589 |
3590 | es-to-primitive@1.2.1:
3591 | dependencies:
3592 | is-callable: 1.2.7
3593 | is-date-object: 1.0.5
3594 | is-symbol: 1.0.4
3595 |
3596 | esbuild@0.21.5:
3597 | optionalDependencies:
3598 | '@esbuild/aix-ppc64': 0.21.5
3599 | '@esbuild/android-arm': 0.21.5
3600 | '@esbuild/android-arm64': 0.21.5
3601 | '@esbuild/android-x64': 0.21.5
3602 | '@esbuild/darwin-arm64': 0.21.5
3603 | '@esbuild/darwin-x64': 0.21.5
3604 | '@esbuild/freebsd-arm64': 0.21.5
3605 | '@esbuild/freebsd-x64': 0.21.5
3606 | '@esbuild/linux-arm': 0.21.5
3607 | '@esbuild/linux-arm64': 0.21.5
3608 | '@esbuild/linux-ia32': 0.21.5
3609 | '@esbuild/linux-loong64': 0.21.5
3610 | '@esbuild/linux-mips64el': 0.21.5
3611 | '@esbuild/linux-ppc64': 0.21.5
3612 | '@esbuild/linux-riscv64': 0.21.5
3613 | '@esbuild/linux-s390x': 0.21.5
3614 | '@esbuild/linux-x64': 0.21.5
3615 | '@esbuild/netbsd-x64': 0.21.5
3616 | '@esbuild/openbsd-x64': 0.21.5
3617 | '@esbuild/sunos-x64': 0.21.5
3618 | '@esbuild/win32-arm64': 0.21.5
3619 | '@esbuild/win32-ia32': 0.21.5
3620 | '@esbuild/win32-x64': 0.21.5
3621 |
3622 | escalade@3.2.0: {}
3623 |
3624 | escape-string-regexp@1.0.5: {}
3625 |
3626 | escape-string-regexp@4.0.0: {}
3627 |
3628 | eslint-import-resolver-node@0.3.9:
3629 | dependencies:
3630 | debug: 3.2.7
3631 | is-core-module: 2.15.1
3632 | resolve: 1.22.8
3633 | transitivePeerDependencies:
3634 | - supports-color
3635 |
3636 | eslint-module-utils@2.11.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1):
3637 | dependencies:
3638 | debug: 3.2.7
3639 | optionalDependencies:
3640 | '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
3641 | eslint: 8.57.1
3642 | eslint-import-resolver-node: 0.3.9
3643 | transitivePeerDependencies:
3644 | - supports-color
3645 |
3646 | eslint-plugin-import@2.30.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1):
3647 | dependencies:
3648 | '@rtsao/scc': 1.1.0
3649 | array-includes: 3.1.8
3650 | array.prototype.findlastindex: 1.2.5
3651 | array.prototype.flat: 1.3.2
3652 | array.prototype.flatmap: 1.3.2
3653 | debug: 3.2.7
3654 | doctrine: 2.1.0
3655 | eslint: 8.57.1
3656 | eslint-import-resolver-node: 0.3.9
3657 | eslint-module-utils: 2.11.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.1)
3658 | hasown: 2.0.2
3659 | is-core-module: 2.15.1
3660 | is-glob: 4.0.3
3661 | minimatch: 3.1.2
3662 | object.fromentries: 2.0.8
3663 | object.groupby: 1.0.3
3664 | object.values: 1.2.0
3665 | semver: 6.3.1
3666 | tsconfig-paths: 3.15.0
3667 | optionalDependencies:
3668 | '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
3669 | transitivePeerDependencies:
3670 | - eslint-import-resolver-typescript
3671 | - eslint-import-resolver-webpack
3672 | - supports-color
3673 |
3674 | eslint-plugin-react-hooks@5.1.0-rc-fb9a90fa48-20240614(eslint@8.57.1):
3675 | dependencies:
3676 | eslint: 8.57.1
3677 |
3678 | eslint-plugin-react-refresh@0.4.12(eslint@8.57.1):
3679 | dependencies:
3680 | eslint: 8.57.1
3681 |
3682 | eslint-scope@7.2.2:
3683 | dependencies:
3684 | esrecurse: 4.3.0
3685 | estraverse: 5.3.0
3686 |
3687 | eslint-visitor-keys@3.4.3: {}
3688 |
3689 | eslint@8.57.1:
3690 | dependencies:
3691 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1)
3692 | '@eslint-community/regexpp': 4.11.1
3693 | '@eslint/eslintrc': 2.1.4
3694 | '@eslint/js': 8.57.1
3695 | '@humanwhocodes/config-array': 0.13.0
3696 | '@humanwhocodes/module-importer': 1.0.1
3697 | '@nodelib/fs.walk': 1.2.8
3698 | '@ungap/structured-clone': 1.2.0
3699 | ajv: 6.12.6
3700 | chalk: 4.1.2
3701 | cross-spawn: 7.0.3
3702 | debug: 4.3.7
3703 | doctrine: 3.0.0
3704 | escape-string-regexp: 4.0.0
3705 | eslint-scope: 7.2.2
3706 | eslint-visitor-keys: 3.4.3
3707 | espree: 9.6.1
3708 | esquery: 1.6.0
3709 | esutils: 2.0.3
3710 | fast-deep-equal: 3.1.3
3711 | file-entry-cache: 6.0.1
3712 | find-up: 5.0.0
3713 | glob-parent: 6.0.2
3714 | globals: 13.24.0
3715 | graphemer: 1.4.0
3716 | ignore: 5.3.2
3717 | imurmurhash: 0.1.4
3718 | is-glob: 4.0.3
3719 | is-path-inside: 3.0.3
3720 | js-yaml: 4.1.0
3721 | json-stable-stringify-without-jsonify: 1.0.1
3722 | levn: 0.4.1
3723 | lodash.merge: 4.6.2
3724 | minimatch: 3.1.2
3725 | natural-compare: 1.4.0
3726 | optionator: 0.9.4
3727 | strip-ansi: 6.0.1
3728 | text-table: 0.2.0
3729 | transitivePeerDependencies:
3730 | - supports-color
3731 |
3732 | espree@9.6.1:
3733 | dependencies:
3734 | acorn: 8.12.1
3735 | acorn-jsx: 5.3.2(acorn@8.12.1)
3736 | eslint-visitor-keys: 3.4.3
3737 |
3738 | esquery@1.6.0:
3739 | dependencies:
3740 | estraverse: 5.3.0
3741 |
3742 | esrecurse@4.3.0:
3743 | dependencies:
3744 | estraverse: 5.3.0
3745 |
3746 | estraverse@5.3.0: {}
3747 |
3748 | esutils@2.0.3: {}
3749 |
3750 | eventemitter3@4.0.7: {}
3751 |
3752 | extend-shallow@2.0.1:
3753 | dependencies:
3754 | is-extendable: 0.1.1
3755 |
3756 | extend-shallow@3.0.2:
3757 | dependencies:
3758 | assign-symbols: 1.0.0
3759 | is-extendable: 1.0.1
3760 |
3761 | fast-deep-equal@3.1.3: {}
3762 |
3763 | fast-glob@3.3.2:
3764 | dependencies:
3765 | '@nodelib/fs.stat': 2.0.5
3766 | '@nodelib/fs.walk': 1.2.8
3767 | glob-parent: 5.1.2
3768 | merge2: 1.4.1
3769 | micromatch: 4.0.8
3770 |
3771 | fast-json-stable-stringify@2.1.0: {}
3772 |
3773 | fast-levenshtein@2.0.6: {}
3774 |
3775 | fastq@1.17.1:
3776 | dependencies:
3777 | reusify: 1.0.4
3778 |
3779 | fflate@0.6.10: {}
3780 |
3781 | fflate@0.8.2: {}
3782 |
3783 | file-entry-cache@6.0.1:
3784 | dependencies:
3785 | flat-cache: 3.2.0
3786 |
3787 | file-selector@0.5.0:
3788 | dependencies:
3789 | tslib: 2.7.0
3790 |
3791 | fill-range@7.1.1:
3792 | dependencies:
3793 | to-regex-range: 5.0.1
3794 |
3795 | find-up@5.0.0:
3796 | dependencies:
3797 | locate-path: 6.0.0
3798 | path-exists: 4.0.0
3799 |
3800 | flat-cache@3.2.0:
3801 | dependencies:
3802 | flatted: 3.3.1
3803 | keyv: 4.5.4
3804 | rimraf: 3.0.2
3805 |
3806 | flatted@3.3.1: {}
3807 |
3808 | for-each@0.3.3:
3809 | dependencies:
3810 | is-callable: 1.2.7
3811 |
3812 | for-in@1.0.2: {}
3813 |
3814 | foreground-child@3.3.0:
3815 | dependencies:
3816 | cross-spawn: 7.0.3
3817 | signal-exit: 4.1.0
3818 |
3819 | fraction.js@4.3.7: {}
3820 |
3821 | framer-motion@11.5.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
3822 | dependencies:
3823 | tslib: 2.7.0
3824 | optionalDependencies:
3825 | react: 18.3.1
3826 | react-dom: 18.3.1(react@18.3.1)
3827 |
3828 | fs.realpath@1.0.0: {}
3829 |
3830 | fsevents@2.3.3:
3831 | optional: true
3832 |
3833 | function-bind@1.1.2: {}
3834 |
3835 | function.prototype.name@1.1.6:
3836 | dependencies:
3837 | call-bind: 1.0.7
3838 | define-properties: 1.2.1
3839 | es-abstract: 1.23.3
3840 | functions-have-names: 1.2.3
3841 |
3842 | functions-have-names@1.2.3: {}
3843 |
3844 | gensync@1.0.0-beta.2: {}
3845 |
3846 | get-intrinsic@1.2.4:
3847 | dependencies:
3848 | es-errors: 1.3.0
3849 | function-bind: 1.1.2
3850 | has-proto: 1.0.3
3851 | has-symbols: 1.0.3
3852 | hasown: 2.0.2
3853 |
3854 | get-symbol-description@1.0.2:
3855 | dependencies:
3856 | call-bind: 1.0.7
3857 | es-errors: 1.3.0
3858 | get-intrinsic: 1.2.4
3859 |
3860 | get-value@2.0.6: {}
3861 |
3862 | glob-parent@5.1.2:
3863 | dependencies:
3864 | is-glob: 4.0.3
3865 |
3866 | glob-parent@6.0.2:
3867 | dependencies:
3868 | is-glob: 4.0.3
3869 |
3870 | glob@10.4.5:
3871 | dependencies:
3872 | foreground-child: 3.3.0
3873 | jackspeak: 3.4.3
3874 | minimatch: 9.0.5
3875 | minipass: 7.1.2
3876 | package-json-from-dist: 1.0.0
3877 | path-scurry: 1.11.1
3878 |
3879 | glob@7.2.3:
3880 | dependencies:
3881 | fs.realpath: 1.0.0
3882 | inflight: 1.0.6
3883 | inherits: 2.0.4
3884 | minimatch: 3.1.2
3885 | once: 1.4.0
3886 | path-is-absolute: 1.0.1
3887 |
3888 | globals@11.12.0: {}
3889 |
3890 | globals@13.24.0:
3891 | dependencies:
3892 | type-fest: 0.20.2
3893 |
3894 | globals@15.9.0: {}
3895 |
3896 | globalthis@1.0.4:
3897 | dependencies:
3898 | define-properties: 1.2.1
3899 | gopd: 1.0.1
3900 |
3901 | glsl-noise@0.0.0: {}
3902 |
3903 | glsl-token-functions@1.0.1: {}
3904 |
3905 | glsl-token-string@1.0.1: {}
3906 |
3907 | glsl-tokenizer@2.1.5:
3908 | dependencies:
3909 | through2: 0.6.5
3910 |
3911 | gopd@1.0.1:
3912 | dependencies:
3913 | get-intrinsic: 1.2.4
3914 |
3915 | graphemer@1.4.0: {}
3916 |
3917 | has-bigints@1.0.2: {}
3918 |
3919 | has-flag@3.0.0: {}
3920 |
3921 | has-flag@4.0.0: {}
3922 |
3923 | has-property-descriptors@1.0.2:
3924 | dependencies:
3925 | es-define-property: 1.0.0
3926 |
3927 | has-proto@1.0.3: {}
3928 |
3929 | has-symbols@1.0.3: {}
3930 |
3931 | has-tostringtag@1.0.2:
3932 | dependencies:
3933 | has-symbols: 1.0.3
3934 |
3935 | hasown@2.0.2:
3936 | dependencies:
3937 | function-bind: 1.1.2
3938 |
3939 | hls.js@1.3.5: {}
3940 |
3941 | ieee754@1.2.1: {}
3942 |
3943 | ignore@5.3.2: {}
3944 |
3945 | immediate@3.0.6: {}
3946 |
3947 | import-fresh@3.3.0:
3948 | dependencies:
3949 | parent-module: 1.0.1
3950 | resolve-from: 4.0.0
3951 |
3952 | imurmurhash@0.1.4: {}
3953 |
3954 | inflight@1.0.6:
3955 | dependencies:
3956 | once: 1.4.0
3957 | wrappy: 1.0.2
3958 |
3959 | inherits@2.0.4: {}
3960 |
3961 | internal-slot@1.0.7:
3962 | dependencies:
3963 | es-errors: 1.3.0
3964 | hasown: 2.0.2
3965 | side-channel: 1.0.6
3966 |
3967 | is-array-buffer@3.0.4:
3968 | dependencies:
3969 | call-bind: 1.0.7
3970 | get-intrinsic: 1.2.4
3971 |
3972 | is-bigint@1.0.4:
3973 | dependencies:
3974 | has-bigints: 1.0.2
3975 |
3976 | is-binary-path@2.1.0:
3977 | dependencies:
3978 | binary-extensions: 2.3.0
3979 |
3980 | is-boolean-object@1.1.2:
3981 | dependencies:
3982 | call-bind: 1.0.7
3983 | has-tostringtag: 1.0.2
3984 |
3985 | is-callable@1.2.7: {}
3986 |
3987 | is-core-module@2.15.1:
3988 | dependencies:
3989 | hasown: 2.0.2
3990 |
3991 | is-data-view@1.0.1:
3992 | dependencies:
3993 | is-typed-array: 1.1.13
3994 |
3995 | is-date-object@1.0.5:
3996 | dependencies:
3997 | has-tostringtag: 1.0.2
3998 |
3999 | is-extendable@0.1.1: {}
4000 |
4001 | is-extendable@1.0.1:
4002 | dependencies:
4003 | is-plain-object: 2.0.4
4004 |
4005 | is-extglob@2.1.1: {}
4006 |
4007 | is-fullwidth-code-point@3.0.0: {}
4008 |
4009 | is-glob@4.0.3:
4010 | dependencies:
4011 | is-extglob: 2.1.1
4012 |
4013 | is-negative-zero@2.0.3: {}
4014 |
4015 | is-number-object@1.0.7:
4016 | dependencies:
4017 | has-tostringtag: 1.0.2
4018 |
4019 | is-number@7.0.0: {}
4020 |
4021 | is-path-inside@3.0.3: {}
4022 |
4023 | is-plain-object@2.0.4:
4024 | dependencies:
4025 | isobject: 3.0.1
4026 |
4027 | is-promise@2.2.2: {}
4028 |
4029 | is-regex@1.1.4:
4030 | dependencies:
4031 | call-bind: 1.0.7
4032 | has-tostringtag: 1.0.2
4033 |
4034 | is-shared-array-buffer@1.0.3:
4035 | dependencies:
4036 | call-bind: 1.0.7
4037 |
4038 | is-string@1.0.7:
4039 | dependencies:
4040 | has-tostringtag: 1.0.2
4041 |
4042 | is-symbol@1.0.4:
4043 | dependencies:
4044 | has-symbols: 1.0.3
4045 |
4046 | is-typed-array@1.1.13:
4047 | dependencies:
4048 | which-typed-array: 1.1.15
4049 |
4050 | is-weakref@1.0.2:
4051 | dependencies:
4052 | call-bind: 1.0.7
4053 |
4054 | isarray@0.0.1: {}
4055 |
4056 | isarray@2.0.5: {}
4057 |
4058 | isexe@2.0.0: {}
4059 |
4060 | isobject@3.0.1: {}
4061 |
4062 | its-fine@1.2.5(react@18.3.1):
4063 | dependencies:
4064 | '@types/react-reconciler': 0.28.8
4065 | react: 18.3.1
4066 |
4067 | jackspeak@3.4.3:
4068 | dependencies:
4069 | '@isaacs/cliui': 8.0.2
4070 | optionalDependencies:
4071 | '@pkgjs/parseargs': 0.11.0
4072 |
4073 | jiti@1.21.6: {}
4074 |
4075 | js-tokens@4.0.0: {}
4076 |
4077 | js-yaml@4.1.0:
4078 | dependencies:
4079 | argparse: 2.0.1
4080 |
4081 | jsesc@2.5.2: {}
4082 |
4083 | json-buffer@3.0.1: {}
4084 |
4085 | json-schema-traverse@0.4.1: {}
4086 |
4087 | json-stable-stringify-without-jsonify@1.0.1: {}
4088 |
4089 | json5@1.0.2:
4090 | dependencies:
4091 | minimist: 1.2.8
4092 |
4093 | json5@2.2.3: {}
4094 |
4095 | keyv@4.5.4:
4096 | dependencies:
4097 | json-buffer: 3.0.1
4098 |
4099 | leva@0.10.0(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
4100 | dependencies:
4101 | '@radix-ui/react-portal': 1.0.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4102 | '@radix-ui/react-tooltip': 1.0.5(@types/react@18.3.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4103 | '@stitches/react': 1.2.8(react@18.3.1)
4104 | '@use-gesture/react': 10.3.1(react@18.3.1)
4105 | colord: 2.9.3
4106 | dequal: 2.0.3
4107 | merge-value: 1.0.0
4108 | react: 18.3.1
4109 | react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
4110 | react-dom: 18.3.1(react@18.3.1)
4111 | react-dropzone: 12.1.0(react@18.3.1)
4112 | v8n: 1.5.1
4113 | zustand: 3.7.2(react@18.3.1)
4114 | transitivePeerDependencies:
4115 | - '@types/react'
4116 |
4117 | levn@0.4.1:
4118 | dependencies:
4119 | prelude-ls: 1.2.1
4120 | type-check: 0.4.0
4121 |
4122 | lie@3.3.0:
4123 | dependencies:
4124 | immediate: 3.0.6
4125 |
4126 | lilconfig@2.1.0: {}
4127 |
4128 | lilconfig@3.1.2: {}
4129 |
4130 | lines-and-columns@1.2.4: {}
4131 |
4132 | locate-path@6.0.0:
4133 | dependencies:
4134 | p-locate: 5.0.0
4135 |
4136 | lodash.merge@4.6.2: {}
4137 |
4138 | loose-envify@1.4.0:
4139 | dependencies:
4140 | js-tokens: 4.0.0
4141 |
4142 | lru-cache@10.4.3: {}
4143 |
4144 | lru-cache@5.1.1:
4145 | dependencies:
4146 | yallist: 3.1.1
4147 |
4148 | maath@0.10.8(@types/three@0.167.2)(three@0.167.1):
4149 | dependencies:
4150 | '@types/three': 0.167.2
4151 | three: 0.167.1
4152 |
4153 | merge-value@1.0.0:
4154 | dependencies:
4155 | get-value: 2.0.6
4156 | is-extendable: 1.0.1
4157 | mixin-deep: 1.3.2
4158 | set-value: 2.0.1
4159 |
4160 | merge2@1.4.1: {}
4161 |
4162 | meshline@3.3.1(three@0.167.1):
4163 | dependencies:
4164 | three: 0.167.1
4165 |
4166 | meshoptimizer@0.18.1: {}
4167 |
4168 | micromatch@4.0.8:
4169 | dependencies:
4170 | braces: 3.0.3
4171 | picomatch: 2.3.1
4172 |
4173 | minimatch@3.1.2:
4174 | dependencies:
4175 | brace-expansion: 1.1.11
4176 |
4177 | minimatch@9.0.5:
4178 | dependencies:
4179 | brace-expansion: 2.0.1
4180 |
4181 | minimist@1.2.8: {}
4182 |
4183 | minipass@7.1.2: {}
4184 |
4185 | mixin-deep@1.3.2:
4186 | dependencies:
4187 | for-in: 1.0.2
4188 | is-extendable: 1.0.1
4189 |
4190 | ms@2.1.3: {}
4191 |
4192 | mz@2.7.0:
4193 | dependencies:
4194 | any-promise: 1.3.0
4195 | object-assign: 4.1.1
4196 | thenify-all: 1.6.0
4197 |
4198 | nanoid@3.3.7: {}
4199 |
4200 | natural-compare@1.4.0: {}
4201 |
4202 | node-releases@2.0.18: {}
4203 |
4204 | normalize-path@3.0.0: {}
4205 |
4206 | normalize-range@0.1.2: {}
4207 |
4208 | object-assign@4.1.1: {}
4209 |
4210 | object-hash@3.0.0: {}
4211 |
4212 | object-inspect@1.13.2: {}
4213 |
4214 | object-keys@1.1.1: {}
4215 |
4216 | object.assign@4.1.5:
4217 | dependencies:
4218 | call-bind: 1.0.7
4219 | define-properties: 1.2.1
4220 | has-symbols: 1.0.3
4221 | object-keys: 1.1.1
4222 |
4223 | object.fromentries@2.0.8:
4224 | dependencies:
4225 | call-bind: 1.0.7
4226 | define-properties: 1.2.1
4227 | es-abstract: 1.23.3
4228 | es-object-atoms: 1.0.0
4229 |
4230 | object.groupby@1.0.3:
4231 | dependencies:
4232 | call-bind: 1.0.7
4233 | define-properties: 1.2.1
4234 | es-abstract: 1.23.3
4235 |
4236 | object.values@1.2.0:
4237 | dependencies:
4238 | call-bind: 1.0.7
4239 | define-properties: 1.2.1
4240 | es-object-atoms: 1.0.0
4241 |
4242 | once@1.4.0:
4243 | dependencies:
4244 | wrappy: 1.0.2
4245 |
4246 | optionator@0.9.4:
4247 | dependencies:
4248 | deep-is: 0.1.4
4249 | fast-levenshtein: 2.0.6
4250 | levn: 0.4.1
4251 | prelude-ls: 1.2.1
4252 | type-check: 0.4.0
4253 | word-wrap: 1.2.5
4254 |
4255 | p-limit@3.1.0:
4256 | dependencies:
4257 | yocto-queue: 0.1.0
4258 |
4259 | p-locate@5.0.0:
4260 | dependencies:
4261 | p-limit: 3.1.0
4262 |
4263 | package-json-from-dist@1.0.0: {}
4264 |
4265 | parent-module@1.0.1:
4266 | dependencies:
4267 | callsites: 3.1.0
4268 |
4269 | path-exists@4.0.0: {}
4270 |
4271 | path-is-absolute@1.0.1: {}
4272 |
4273 | path-key@3.1.1: {}
4274 |
4275 | path-parse@1.0.7: {}
4276 |
4277 | path-scurry@1.11.1:
4278 | dependencies:
4279 | lru-cache: 10.4.3
4280 | minipass: 7.1.2
4281 |
4282 | picocolors@1.1.0: {}
4283 |
4284 | picomatch@2.3.1: {}
4285 |
4286 | pify@2.3.0: {}
4287 |
4288 | pirates@4.0.6: {}
4289 |
4290 | possible-typed-array-names@1.0.0: {}
4291 |
4292 | postcss-import@15.1.0(postcss@8.4.47):
4293 | dependencies:
4294 | postcss: 8.4.47
4295 | postcss-value-parser: 4.2.0
4296 | read-cache: 1.0.0
4297 | resolve: 1.22.8
4298 |
4299 | postcss-js@4.0.1(postcss@8.4.47):
4300 | dependencies:
4301 | camelcase-css: 2.0.1
4302 | postcss: 8.4.47
4303 |
4304 | postcss-load-config@4.0.2(postcss@8.4.47):
4305 | dependencies:
4306 | lilconfig: 3.1.2
4307 | yaml: 2.5.1
4308 | optionalDependencies:
4309 | postcss: 8.4.47
4310 |
4311 | postcss-nested@6.2.0(postcss@8.4.47):
4312 | dependencies:
4313 | postcss: 8.4.47
4314 | postcss-selector-parser: 6.1.2
4315 |
4316 | postcss-selector-parser@6.1.2:
4317 | dependencies:
4318 | cssesc: 3.0.0
4319 | util-deprecate: 1.0.2
4320 |
4321 | postcss-value-parser@4.2.0: {}
4322 |
4323 | postcss@8.4.47:
4324 | dependencies:
4325 | nanoid: 3.3.7
4326 | picocolors: 1.1.0
4327 | source-map-js: 1.2.1
4328 |
4329 | potpack@1.0.2: {}
4330 |
4331 | prelude-ls@1.2.1: {}
4332 |
4333 | prettier-plugin-tailwindcss@0.6.6(prettier@3.3.3):
4334 | dependencies:
4335 | prettier: 3.3.3
4336 |
4337 | prettier@3.3.3: {}
4338 |
4339 | promise-worker-transferable@1.0.4:
4340 | dependencies:
4341 | is-promise: 2.2.2
4342 | lie: 3.3.0
4343 |
4344 | prop-types@15.8.1:
4345 | dependencies:
4346 | loose-envify: 1.4.0
4347 | object-assign: 4.1.1
4348 | react-is: 16.13.1
4349 |
4350 | punycode@2.3.1: {}
4351 |
4352 | queue-microtask@1.2.3: {}
4353 |
4354 | r3f-perf@7.2.1(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(@types/react@18.3.8)(@types/three@0.167.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1):
4355 | dependencies:
4356 | '@radix-ui/react-icons': 1.3.0(react@18.3.1)
4357 | '@react-three/drei': 9.112.0(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(@types/react@18.3.8)(@types/three@0.167.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
4358 | '@stitches/react': 1.2.8(react@18.3.1)
4359 | '@utsubo/events': 0.1.7(react@18.3.1)
4360 | react: 18.3.1
4361 | three: 0.167.1
4362 | zustand: 4.5.5(@types/react@18.3.8)(react@18.3.1)
4363 | optionalDependencies:
4364 | '@react-three/fiber': 8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
4365 | react-dom: 18.3.1(react@18.3.1)
4366 | transitivePeerDependencies:
4367 | - '@types/react'
4368 | - '@types/three'
4369 | - immer
4370 |
4371 | react-colorful@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
4372 | dependencies:
4373 | react: 18.3.1
4374 | react-dom: 18.3.1(react@18.3.1)
4375 |
4376 | react-composer@5.0.3(react@18.3.1):
4377 | dependencies:
4378 | prop-types: 15.8.1
4379 | react: 18.3.1
4380 |
4381 | react-dom@18.3.1(react@18.3.1):
4382 | dependencies:
4383 | loose-envify: 1.4.0
4384 | react: 18.3.1
4385 | scheduler: 0.23.2
4386 |
4387 | react-dropzone@12.1.0(react@18.3.1):
4388 | dependencies:
4389 | attr-accept: 2.2.5
4390 | file-selector: 0.5.0
4391 | prop-types: 15.8.1
4392 | react: 18.3.1
4393 |
4394 | react-is@16.13.1: {}
4395 |
4396 | react-reconciler@0.27.0(react@18.3.1):
4397 | dependencies:
4398 | loose-envify: 1.4.0
4399 | react: 18.3.1
4400 | scheduler: 0.21.0
4401 |
4402 | react-refresh@0.14.2: {}
4403 |
4404 | react@18.3.1:
4405 | dependencies:
4406 | loose-envify: 1.4.0
4407 |
4408 | read-cache@1.0.0:
4409 | dependencies:
4410 | pify: 2.3.0
4411 |
4412 | readable-stream@1.0.34:
4413 | dependencies:
4414 | core-util-is: 1.0.3
4415 | inherits: 2.0.4
4416 | isarray: 0.0.1
4417 | string_decoder: 0.10.31
4418 |
4419 | readdirp@3.6.0:
4420 | dependencies:
4421 | picomatch: 2.3.1
4422 |
4423 | regenerator-runtime@0.14.1: {}
4424 |
4425 | regexp.prototype.flags@1.5.2:
4426 | dependencies:
4427 | call-bind: 1.0.7
4428 | define-properties: 1.2.1
4429 | es-errors: 1.3.0
4430 | set-function-name: 2.0.2
4431 |
4432 | require-from-string@2.0.2: {}
4433 |
4434 | resolve-from@4.0.0: {}
4435 |
4436 | resolve@1.22.8:
4437 | dependencies:
4438 | is-core-module: 2.15.1
4439 | path-parse: 1.0.7
4440 | supports-preserve-symlinks-flag: 1.0.0
4441 |
4442 | reusify@1.0.4: {}
4443 |
4444 | rimraf@3.0.2:
4445 | dependencies:
4446 | glob: 7.2.3
4447 |
4448 | rollup@4.22.1:
4449 | dependencies:
4450 | '@types/estree': 1.0.5
4451 | optionalDependencies:
4452 | '@rollup/rollup-android-arm-eabi': 4.22.1
4453 | '@rollup/rollup-android-arm64': 4.22.1
4454 | '@rollup/rollup-darwin-arm64': 4.22.1
4455 | '@rollup/rollup-darwin-x64': 4.22.1
4456 | '@rollup/rollup-linux-arm-gnueabihf': 4.22.1
4457 | '@rollup/rollup-linux-arm-musleabihf': 4.22.1
4458 | '@rollup/rollup-linux-arm64-gnu': 4.22.1
4459 | '@rollup/rollup-linux-arm64-musl': 4.22.1
4460 | '@rollup/rollup-linux-powerpc64le-gnu': 4.22.1
4461 | '@rollup/rollup-linux-riscv64-gnu': 4.22.1
4462 | '@rollup/rollup-linux-s390x-gnu': 4.22.1
4463 | '@rollup/rollup-linux-x64-gnu': 4.22.1
4464 | '@rollup/rollup-linux-x64-musl': 4.22.1
4465 | '@rollup/rollup-win32-arm64-msvc': 4.22.1
4466 | '@rollup/rollup-win32-ia32-msvc': 4.22.1
4467 | '@rollup/rollup-win32-x64-msvc': 4.22.1
4468 | fsevents: 2.3.3
4469 |
4470 | run-parallel@1.2.0:
4471 | dependencies:
4472 | queue-microtask: 1.2.3
4473 |
4474 | safe-array-concat@1.1.2:
4475 | dependencies:
4476 | call-bind: 1.0.7
4477 | get-intrinsic: 1.2.4
4478 | has-symbols: 1.0.3
4479 | isarray: 2.0.5
4480 |
4481 | safe-regex-test@1.0.3:
4482 | dependencies:
4483 | call-bind: 1.0.7
4484 | es-errors: 1.3.0
4485 | is-regex: 1.1.4
4486 |
4487 | scheduler@0.21.0:
4488 | dependencies:
4489 | loose-envify: 1.4.0
4490 |
4491 | scheduler@0.23.2:
4492 | dependencies:
4493 | loose-envify: 1.4.0
4494 |
4495 | semver@6.3.1: {}
4496 |
4497 | semver@7.6.3: {}
4498 |
4499 | set-function-length@1.2.2:
4500 | dependencies:
4501 | define-data-property: 1.1.4
4502 | es-errors: 1.3.0
4503 | function-bind: 1.1.2
4504 | get-intrinsic: 1.2.4
4505 | gopd: 1.0.1
4506 | has-property-descriptors: 1.0.2
4507 |
4508 | set-function-name@2.0.2:
4509 | dependencies:
4510 | define-data-property: 1.1.4
4511 | es-errors: 1.3.0
4512 | functions-have-names: 1.2.3
4513 | has-property-descriptors: 1.0.2
4514 |
4515 | set-value@2.0.1:
4516 | dependencies:
4517 | extend-shallow: 2.0.1
4518 | is-extendable: 0.1.1
4519 | is-plain-object: 2.0.4
4520 | split-string: 3.1.0
4521 |
4522 | shebang-command@2.0.0:
4523 | dependencies:
4524 | shebang-regex: 3.0.0
4525 |
4526 | shebang-regex@3.0.0: {}
4527 |
4528 | side-channel@1.0.6:
4529 | dependencies:
4530 | call-bind: 1.0.7
4531 | es-errors: 1.3.0
4532 | get-intrinsic: 1.2.4
4533 | object-inspect: 1.13.2
4534 |
4535 | signal-exit@4.1.0: {}
4536 |
4537 | source-map-js@1.2.1: {}
4538 |
4539 | split-string@3.1.0:
4540 | dependencies:
4541 | extend-shallow: 3.0.2
4542 |
4543 | stats-gl@2.2.8:
4544 | dependencies:
4545 | '@types/three': 0.163.0
4546 |
4547 | stats.js@0.17.0: {}
4548 |
4549 | string-width@4.2.3:
4550 | dependencies:
4551 | emoji-regex: 8.0.0
4552 | is-fullwidth-code-point: 3.0.0
4553 | strip-ansi: 6.0.1
4554 |
4555 | string-width@5.1.2:
4556 | dependencies:
4557 | eastasianwidth: 0.2.0
4558 | emoji-regex: 9.2.2
4559 | strip-ansi: 7.1.0
4560 |
4561 | string.prototype.trim@1.2.9:
4562 | dependencies:
4563 | call-bind: 1.0.7
4564 | define-properties: 1.2.1
4565 | es-abstract: 1.23.3
4566 | es-object-atoms: 1.0.0
4567 |
4568 | string.prototype.trimend@1.0.8:
4569 | dependencies:
4570 | call-bind: 1.0.7
4571 | define-properties: 1.2.1
4572 | es-object-atoms: 1.0.0
4573 |
4574 | string.prototype.trimstart@1.0.8:
4575 | dependencies:
4576 | call-bind: 1.0.7
4577 | define-properties: 1.2.1
4578 | es-object-atoms: 1.0.0
4579 |
4580 | string_decoder@0.10.31: {}
4581 |
4582 | strip-ansi@6.0.1:
4583 | dependencies:
4584 | ansi-regex: 5.0.1
4585 |
4586 | strip-ansi@7.1.0:
4587 | dependencies:
4588 | ansi-regex: 6.1.0
4589 |
4590 | strip-bom@3.0.0: {}
4591 |
4592 | strip-json-comments@3.1.1: {}
4593 |
4594 | sucrase@3.35.0:
4595 | dependencies:
4596 | '@jridgewell/gen-mapping': 0.3.5
4597 | commander: 4.1.1
4598 | glob: 10.4.5
4599 | lines-and-columns: 1.2.4
4600 | mz: 2.7.0
4601 | pirates: 4.0.6
4602 | ts-interface-checker: 0.1.13
4603 |
4604 | supports-color@5.5.0:
4605 | dependencies:
4606 | has-flag: 3.0.0
4607 |
4608 | supports-color@7.2.0:
4609 | dependencies:
4610 | has-flag: 4.0.0
4611 |
4612 | supports-preserve-symlinks-flag@1.0.0: {}
4613 |
4614 | suspend-react@0.1.3(react@18.3.1):
4615 | dependencies:
4616 | react: 18.3.1
4617 |
4618 | tailwindcss-animate@1.0.7(tailwindcss@3.4.12):
4619 | dependencies:
4620 | tailwindcss: 3.4.12
4621 |
4622 | tailwindcss@3.4.12:
4623 | dependencies:
4624 | '@alloc/quick-lru': 5.2.0
4625 | arg: 5.0.2
4626 | chokidar: 3.6.0
4627 | didyoumean: 1.2.2
4628 | dlv: 1.1.3
4629 | fast-glob: 3.3.2
4630 | glob-parent: 6.0.2
4631 | is-glob: 4.0.3
4632 | jiti: 1.21.6
4633 | lilconfig: 2.1.0
4634 | micromatch: 4.0.8
4635 | normalize-path: 3.0.0
4636 | object-hash: 3.0.0
4637 | picocolors: 1.1.0
4638 | postcss: 8.4.47
4639 | postcss-import: 15.1.0(postcss@8.4.47)
4640 | postcss-js: 4.0.1(postcss@8.4.47)
4641 | postcss-load-config: 4.0.2(postcss@8.4.47)
4642 | postcss-nested: 6.2.0(postcss@8.4.47)
4643 | postcss-selector-parser: 6.1.2
4644 | resolve: 1.22.8
4645 | sucrase: 3.35.0
4646 | transitivePeerDependencies:
4647 | - ts-node
4648 |
4649 | text-table@0.2.0: {}
4650 |
4651 | thenify-all@1.6.0:
4652 | dependencies:
4653 | thenify: 3.3.1
4654 |
4655 | thenify@3.3.1:
4656 | dependencies:
4657 | any-promise: 1.3.0
4658 |
4659 | three-custom-shader-material@5.4.0(@react-three/fiber@8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1))(react@18.3.1)(three@0.167.1):
4660 | dependencies:
4661 | glsl-token-functions: 1.0.1
4662 | glsl-token-string: 1.0.1
4663 | glsl-tokenizer: 2.1.5
4664 | object-hash: 3.0.0
4665 | three: 0.167.1
4666 | optionalDependencies:
4667 | '@react-three/fiber': 8.17.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(three@0.167.1)
4668 | react: 18.3.1
4669 |
4670 | three-mesh-bvh@0.7.6(three@0.167.1):
4671 | dependencies:
4672 | three: 0.167.1
4673 |
4674 | three-stdlib@2.33.0(three@0.167.1):
4675 | dependencies:
4676 | '@types/draco3d': 1.4.10
4677 | '@types/offscreencanvas': 2019.7.3
4678 | '@types/webxr': 0.5.20
4679 | draco3d: 1.5.7
4680 | fflate: 0.6.10
4681 | potpack: 1.0.2
4682 | three: 0.167.1
4683 |
4684 | three@0.167.1: {}
4685 |
4686 | through2@0.6.5:
4687 | dependencies:
4688 | readable-stream: 1.0.34
4689 | xtend: 4.0.2
4690 |
4691 | to-fast-properties@2.0.0: {}
4692 |
4693 | to-regex-range@5.0.1:
4694 | dependencies:
4695 | is-number: 7.0.0
4696 |
4697 | troika-three-text@0.49.1(three@0.167.1):
4698 | dependencies:
4699 | bidi-js: 1.0.3
4700 | three: 0.167.1
4701 | troika-three-utils: 0.49.0(three@0.167.1)
4702 | troika-worker-utils: 0.49.0
4703 | webgl-sdf-generator: 1.1.1
4704 |
4705 | troika-three-utils@0.49.0(three@0.167.1):
4706 | dependencies:
4707 | three: 0.167.1
4708 |
4709 | troika-worker-utils@0.49.0: {}
4710 |
4711 | ts-api-utils@1.3.0(typescript@5.6.2):
4712 | dependencies:
4713 | typescript: 5.6.2
4714 |
4715 | ts-interface-checker@0.1.13: {}
4716 |
4717 | tsconfig-paths@3.15.0:
4718 | dependencies:
4719 | '@types/json5': 0.0.29
4720 | json5: 1.0.2
4721 | minimist: 1.2.8
4722 | strip-bom: 3.0.0
4723 |
4724 | tslib@2.7.0: {}
4725 |
4726 | tunnel-rat@0.1.2(@types/react@18.3.8)(react@18.3.1):
4727 | dependencies:
4728 | zustand: 4.5.5(@types/react@18.3.8)(react@18.3.1)
4729 | transitivePeerDependencies:
4730 | - '@types/react'
4731 | - immer
4732 | - react
4733 |
4734 | type-check@0.4.0:
4735 | dependencies:
4736 | prelude-ls: 1.2.1
4737 |
4738 | type-fest@0.20.2: {}
4739 |
4740 | typed-array-buffer@1.0.2:
4741 | dependencies:
4742 | call-bind: 1.0.7
4743 | es-errors: 1.3.0
4744 | is-typed-array: 1.1.13
4745 |
4746 | typed-array-byte-length@1.0.1:
4747 | dependencies:
4748 | call-bind: 1.0.7
4749 | for-each: 0.3.3
4750 | gopd: 1.0.1
4751 | has-proto: 1.0.3
4752 | is-typed-array: 1.1.13
4753 |
4754 | typed-array-byte-offset@1.0.2:
4755 | dependencies:
4756 | available-typed-arrays: 1.0.7
4757 | call-bind: 1.0.7
4758 | for-each: 0.3.3
4759 | gopd: 1.0.1
4760 | has-proto: 1.0.3
4761 | is-typed-array: 1.1.13
4762 |
4763 | typed-array-length@1.0.6:
4764 | dependencies:
4765 | call-bind: 1.0.7
4766 | for-each: 0.3.3
4767 | gopd: 1.0.1
4768 | has-proto: 1.0.3
4769 | is-typed-array: 1.1.13
4770 | possible-typed-array-names: 1.0.0
4771 |
4772 | typescript-eslint@8.6.0(eslint@8.57.1)(typescript@5.6.2):
4773 | dependencies:
4774 | '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)
4775 | '@typescript-eslint/parser': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
4776 | '@typescript-eslint/utils': 8.6.0(eslint@8.57.1)(typescript@5.6.2)
4777 | optionalDependencies:
4778 | typescript: 5.6.2
4779 | transitivePeerDependencies:
4780 | - eslint
4781 | - supports-color
4782 |
4783 | typescript@5.6.2: {}
4784 |
4785 | unbox-primitive@1.0.2:
4786 | dependencies:
4787 | call-bind: 1.0.7
4788 | has-bigints: 1.0.2
4789 | has-symbols: 1.0.3
4790 | which-boxed-primitive: 1.0.2
4791 |
4792 | undici-types@6.19.8: {}
4793 |
4794 | update-browserslist-db@1.1.0(browserslist@4.23.3):
4795 | dependencies:
4796 | browserslist: 4.23.3
4797 | escalade: 3.2.0
4798 | picocolors: 1.1.0
4799 |
4800 | uri-js@4.4.1:
4801 | dependencies:
4802 | punycode: 2.3.1
4803 |
4804 | use-isomorphic-layout-effect@1.2.0(@types/react@18.3.8)(react@18.3.1):
4805 | dependencies:
4806 | react: 18.3.1
4807 | optionalDependencies:
4808 | '@types/react': 18.3.8
4809 |
4810 | use-sync-external-store@1.2.2(react@18.3.1):
4811 | dependencies:
4812 | react: 18.3.1
4813 |
4814 | util-deprecate@1.0.2: {}
4815 |
4816 | utility-types@3.11.0: {}
4817 |
4818 | uuid@9.0.1: {}
4819 |
4820 | v8n@1.5.1: {}
4821 |
4822 | vite@5.4.6(@types/node@22.5.5):
4823 | dependencies:
4824 | esbuild: 0.21.5
4825 | postcss: 8.4.47
4826 | rollup: 4.22.1
4827 | optionalDependencies:
4828 | '@types/node': 22.5.5
4829 | fsevents: 2.3.3
4830 |
4831 | webgl-constants@1.1.1: {}
4832 |
4833 | webgl-sdf-generator@1.1.1: {}
4834 |
4835 | which-boxed-primitive@1.0.2:
4836 | dependencies:
4837 | is-bigint: 1.0.4
4838 | is-boolean-object: 1.1.2
4839 | is-number-object: 1.0.7
4840 | is-string: 1.0.7
4841 | is-symbol: 1.0.4
4842 |
4843 | which-typed-array@1.1.15:
4844 | dependencies:
4845 | available-typed-arrays: 1.0.7
4846 | call-bind: 1.0.7
4847 | for-each: 0.3.3
4848 | gopd: 1.0.1
4849 | has-tostringtag: 1.0.2
4850 |
4851 | which@2.0.2:
4852 | dependencies:
4853 | isexe: 2.0.0
4854 |
4855 | word-wrap@1.2.5: {}
4856 |
4857 | wrap-ansi@7.0.0:
4858 | dependencies:
4859 | ansi-styles: 4.3.0
4860 | string-width: 4.2.3
4861 | strip-ansi: 6.0.1
4862 |
4863 | wrap-ansi@8.1.0:
4864 | dependencies:
4865 | ansi-styles: 6.2.1
4866 | string-width: 5.1.2
4867 | strip-ansi: 7.1.0
4868 |
4869 | wrappy@1.0.2: {}
4870 |
4871 | xtend@4.0.2: {}
4872 |
4873 | yallist@3.1.1: {}
4874 |
4875 | yaml@2.5.1: {}
4876 |
4877 | yocto-queue@0.1.0: {}
4878 |
4879 | zustand@3.7.2(react@18.3.1):
4880 | optionalDependencies:
4881 | react: 18.3.1
4882 |
4883 | zustand@4.5.5(@types/react@18.3.8)(react@18.3.1):
4884 | dependencies:
4885 | use-sync-external-store: 1.2.2(react@18.3.1)
4886 | optionalDependencies:
4887 | '@types/react': 18.3.8
4888 | react: 18.3.1
4889 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/public/bath3.1.glb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seantai/greentub/1bab46382dcec5852dbc9ac5b7a606ce0fa2fcae/public/bath3.1.glb
--------------------------------------------------------------------------------
/public/fav.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/seantai/greentub/1bab46382dcec5852dbc9ac5b7a606ce0fa2fcae/public/fav.ico
--------------------------------------------------------------------------------
/src/App.tsx:
--------------------------------------------------------------------------------
1 | import { Suspense } from 'react';
2 | import { CanvasWrapper } from './components/CanvasWrapper';
3 | import { CameraStuff } from './components/CameraStuff';
4 | import { Loader } from './components/Loader';
5 | // @ts-ignore
6 | import { Bath } from './components/Bath';
7 | // @ts-ignore
8 | import { Lights } from './components/Lights';
9 | import { Spinner } from './components/Spinner';
10 |
11 | const Scene = () => {
12 | return (
13 | <>
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | >
23 | );
24 | };
25 |
26 | export default function App() {
27 | return (
28 |
29 |
30 |
31 |
32 | Green Baths
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | );
43 | }
44 |
--------------------------------------------------------------------------------
/src/components/Bath.jsx:
--------------------------------------------------------------------------------
1 | import { ContactShadows, useGLTF } from '@react-three/drei';
2 | import { useFrame } from '@react-three/fiber';
3 | import React, { useCallback, useRef, useState } from 'react';
4 | import * as THREE from 'three';
5 |
6 | export function Bath() {
7 | const { nodes, materials } = useGLTF('bath3.1.glb');
8 |
9 | const [targetMousePos] = useState(new THREE.Vector3(0, 0, 0));
10 | const [currentMousePos] = useState(new THREE.Vector3(0, 0, 0));
11 |
12 | const uniformsRef = useRef({
13 | time: { value: 0 },
14 | mousePos: { value: [0, 0, 0] }
15 | });
16 |
17 | const meshRef = useRef(null);
18 |
19 | const easeSpeed = 0.075;
20 | const returnSpeed = 0.02;
21 | const returnDelayRef = useRef(0);
22 | const returnDelayAmount = 60;
23 |
24 | const modifyShader = useCallback((shader) => {
25 | shader.uniforms.time = uniformsRef.current.time;
26 | shader.uniforms.mousePos = uniformsRef.current.mousePos;
27 |
28 | shader.vertexShader = shader.vertexShader.replace(
29 | 'void main() {',
30 | `
31 | uniform float time;
32 | uniform vec3 mousePos;
33 |
34 | void main() {
35 | `
36 | );
37 |
38 | // Replace the position calculation - start with scale 0, grow on hover
39 | shader.vertexShader = shader.vertexShader.replace(
40 | '#include ',
41 | `
42 | #include
43 |
44 | vec3 instancePos = vec3(instanceMatrix[3][0], instanceMatrix[3][1], instanceMatrix[3][2]);
45 |
46 | float distance = length(instancePos - mousePos);
47 |
48 | float strength = 1.0 - smoothstep(0.0, 1., distance);
49 |
50 | // Start at scale 0, grow to full size on hover
51 | float scaleFactor = strength;
52 | transformed *= scaleFactor * 1.5;
53 | `
54 | );
55 |
56 | return shader;
57 | }, []);
58 |
59 | const dummyVector = new THREE.Vector3(0, 0, 0);
60 | useFrame((state) => {
61 | if (!meshRef.current) return;
62 |
63 | uniformsRef.current.time.value = state.clock.elapsedTime;
64 |
65 | const { raycaster } = state;
66 |
67 | const intersects = raycaster.intersectObject(meshRef.current, true);
68 | const point = intersects[0]?.point || dummyVector;
69 |
70 | // Update hover state and delay
71 | const intersections = intersects.length > 0;
72 | returnDelayRef.current = intersections
73 | ? returnDelayAmount
74 | : Math.max(0, returnDelayRef.current - 1);
75 |
76 | // Update target position based on hover state and delay
77 | if (intersections) {
78 | targetMousePos.lerp(point, 0.2);
79 | } else if (returnDelayRef.current === 0) {
80 | targetMousePos.set(0, 0, 0);
81 | }
82 |
83 | // Smooth movement with dynamic speed
84 | const speed = intersections ? easeSpeed : returnSpeed;
85 | currentMousePos.lerp(targetMousePos, speed);
86 |
87 | uniformsRef.current.mousePos.value = [
88 | currentMousePos.x,
89 | currentMousePos.y,
90 | currentMousePos.z
91 | ];
92 | });
93 |
94 | return (
95 |
96 |
103 |
112 | {/* null}
114 | geometry={nodes.Plane001_1.geometry}
115 | material={materials.Chrome}
116 | /> */}
117 |
120 | {
126 | modifyShader(shader);
127 | }}
128 | />
129 |
130 |
133 | {
139 | modifyShader(shader);
140 | }}
141 | />
142 |
143 |
146 | {
152 | modifyShader(shader);
153 | }}
154 | />
155 |
156 |
159 | {
165 | modifyShader(shader);
166 | }}
167 | />
168 |
169 |
172 | {
176 | modifyShader(shader);
177 | }}
178 | />
179 |
180 |
181 | );
182 | }
183 |
--------------------------------------------------------------------------------
/src/components/CameraStuff.tsx:
--------------------------------------------------------------------------------
1 | import { CameraControls, PerspectiveCamera } from '@react-three/drei';
2 | import { useThree } from '@react-three/fiber';
3 | import { useEffect } from 'react';
4 | export const CameraStuff = () => {
5 | const controls = useThree((state) => state.controls);
6 |
7 | useEffect(() => {
8 | if (controls) {
9 | //@ts-ignore
10 | controls.dollyTo(2, true);
11 | }
12 | }, [controls]);
13 |
14 | return (
15 | <>
16 |
22 |
40 | >
41 | );
42 | };
43 |
--------------------------------------------------------------------------------
/src/components/CanvasWrapper.tsx:
--------------------------------------------------------------------------------
1 | import { Canvas, CanvasProps } from '@react-three/fiber';
2 | import { Bvh } from '@react-three/drei';
3 | import { motion as fm } from 'framer-motion';
4 | import { useSceneLoadedStore } from '../store';
5 |
6 | export const CanvasWrapper = ({
7 | children,
8 | canvasProps = {}
9 | }: {
10 | children: React.ReactNode;
11 | canvasProps?: Partial;
12 | }) => {
13 | const { isSceneLoaded } = useSceneLoadedStore();
14 |
15 | return (
16 |
21 |
27 |
28 | );
29 | };
30 |
--------------------------------------------------------------------------------
/src/components/Lights.tsx:
--------------------------------------------------------------------------------
1 | import { ContactShadows } from '@react-three/drei';
2 |
3 | export const Lights = () => {
4 | // const directionalLightRef = useRef(null!);
5 |
6 | // useHelper(directionalLightRef, DirectionalLightHelper, 1, 'red');
7 |
8 | // const {
9 | // ambientIntensity,
10 | // directionalLightIntensity,
11 | // directionalLightPosition,
12 | // environmentIntensity
13 | // } = useControls('Lights', {
14 | // ambientIntensity: { value: 2, min: 0, max: 10, step: 0.1 },
15 | // directionalLightIntensity: { value: 2.5, min: 0, max: 10, step: 0.1 },
16 | // directionalLightPosition: {
17 | // // value: [3, 8, -2],
18 | // value: [-5, 3, -1],
19 | // min: -50,
20 | // max: 50,
21 | // step: 0.1
22 | // },
23 | // environmentIntensity: { value: 0, min: 0, max: 1, step: 0.01 }
24 | // });
25 |
26 | return (
27 | <>
28 | {/* */}
32 |
36 |
52 |
53 |
62 | >
63 | );
64 | };
65 |
--------------------------------------------------------------------------------
/src/components/Loader.tsx:
--------------------------------------------------------------------------------
1 | import { useEffect } from 'react';
2 | import { useSceneLoadedStore } from '../store';
3 |
4 | export const Loader = () => {
5 | const { setSceneLoaded } = useSceneLoadedStore();
6 |
7 | useEffect(() => {
8 | setSceneLoaded(true);
9 | }, [setSceneLoaded]);
10 |
11 | return null;
12 | };
13 |
--------------------------------------------------------------------------------
/src/components/Spinner.tsx:
--------------------------------------------------------------------------------
1 | import { useSceneLoadedStore } from '../store';
2 |
3 | export const Spinner = () => {
4 | const { isSceneLoaded } = useSceneLoadedStore();
5 |
6 | return (
7 | <>
8 | {!isSceneLoaded && (
9 |
12 | )}
13 | >
14 | );
15 | };
16 |
--------------------------------------------------------------------------------
/src/index.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer base {
6 | html,
7 | body,
8 | #root,
9 | canvas {
10 | overflow: hidden;
11 | width: 100%;
12 | height: 100%;
13 | }
14 | }
15 |
16 | body,
17 | html {
18 | background-color: #e2dbc9;
19 | }
20 |
--------------------------------------------------------------------------------
/src/index.tsx:
--------------------------------------------------------------------------------
1 | import { createRoot } from 'react-dom/client';
2 |
3 | import App from './App.tsx';
4 | import './index.css';
5 |
6 | createRoot(document.getElementById('root')!).render();
7 |
--------------------------------------------------------------------------------
/src/lib/enums.ts:
--------------------------------------------------------------------------------
1 | export enum CONTROLS_ACTION {
2 | NONE = 0,
3 | ROTATE = 1,
4 | TRUCK = 2,
5 | OFFSET = 4,
6 | DOLLY = 8,
7 | ZOOM = 16,
8 | TOUCH_ROTATE = 32,
9 | TOUCH_TRUCK = 64,
10 | TOUCH_OFFSET = 128,
11 | TOUCH_DOLLY = 256,
12 | TOUCH_ZOOM = 512,
13 | TOUCH_DOLLY_TRUCK = 1024,
14 | TOUCH_DOLLY_OFFSET = 2048,
15 | TOUCH_DOLLY_ROTATE = 4096,
16 | TOUCH_ZOOM_TRUCK = 8192,
17 | TOUCH_ZOOM_OFFSET = 16384,
18 | TOUCH_ZOOM_ROTATE = 32768
19 | }
20 |
--------------------------------------------------------------------------------
/src/lib/utils.ts:
--------------------------------------------------------------------------------
1 | import { useEffect, useState } from 'react';
2 |
3 | export function useResponsiveScale(
4 | baseWidth = 1300,
5 | minScale = 0.5,
6 | maxScale = 1.2
7 | ) {
8 | const [size, setSize] = useState([window.innerWidth, window.innerHeight]);
9 |
10 | useEffect(() => {
11 | function updateSize() {
12 | setSize([window.innerWidth, window.innerHeight]);
13 | }
14 |
15 | let timeoutId: ReturnType;
16 | function handleResize() {
17 | clearTimeout(timeoutId);
18 | timeoutId = setTimeout(updateSize, 50);
19 | }
20 |
21 | window.addEventListener('resize', handleResize);
22 | updateSize();
23 | return () => window.removeEventListener('resize', handleResize);
24 | }, []);
25 |
26 | const scale = Math.min(Math.max(size[0] / baseWidth, minScale), maxScale);
27 |
28 | return { scale };
29 | }
30 |
31 | export const usePreventEventsOnElements = (
32 | eventTypes: string[],
33 | elementIds: string[]
34 | ) => {
35 | useEffect(() => {
36 | const elements = elementIds
37 | .map((id) => document.getElementById(id))
38 | .filter((el): el is HTMLElement => el !== null);
39 | if (elements.length === 0) return;
40 |
41 | const preventEvent = (e: Event) => {
42 | e.stopPropagation();
43 | };
44 |
45 | const addedListeners: { element: HTMLElement; eventType: string }[] = [];
46 |
47 | elements.forEach((element) => {
48 | eventTypes.forEach((eventType) => {
49 | element.addEventListener(eventType, preventEvent, { capture: true });
50 | addedListeners.push({ element, eventType });
51 | });
52 | });
53 |
54 | return () => {
55 | addedListeners.forEach(({ element, eventType }) => {
56 | element.removeEventListener(eventType, preventEvent, {
57 | capture: true
58 | });
59 | });
60 | };
61 | }, [elementIds, eventTypes]);
62 | };
63 |
--------------------------------------------------------------------------------
/src/store.ts:
--------------------------------------------------------------------------------
1 | import { create } from 'zustand';
2 |
3 | type SceneLoadedStore = {
4 | isSceneLoaded: boolean;
5 | setSceneLoaded: (loaded: boolean) => void;
6 | };
7 |
8 | export const useSceneLoadedStore = create((set) => ({
9 | isSceneLoaded: false,
10 | setSceneLoaded: (loaded) => set({ isSceneLoaded: loaded })
11 | }));
12 |
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | darkMode: ['class'],
4 | content: [
5 | './pages/**/*.{ts,tsx}',
6 | './components/**/*.{ts,tsx}',
7 | './app/**/*.{ts,tsx}',
8 | './src/**/*.{ts,tsx}',
9 | './index.html'
10 | ],
11 | theme: {
12 | container: {
13 | center: true,
14 | padding: '2rem',
15 | screens: {
16 | '2xl': '1400px'
17 | }
18 | },
19 | extend: {
20 | fontFamily: {
21 | inter: ['Inter var', 'sans-serif']
22 | },
23 | colors: {
24 | lumored: {
25 | 50: '#fdf4f3',
26 | 100: '#fce6e4',
27 | 200: '#fad2ce',
28 | 300: '#f5b3ac',
29 | 400: '#ed877c',
30 | 500: '#e26254',
31 | 600: '#ce4334',
32 | 700: '#ad3528',
33 | 800: '#8f2f25',
34 | 900: '#772d25'
35 | },
36 | lumobeige: {
37 | 50: '#FAF4F0',
38 | 100: '#eeeae8',
39 | 200: '#d9d2ce',
40 | 300: '#c1b5ae',
41 | 400: '#a79790',
42 | 500: '#94817a',
43 | 600: '#87736e',
44 | 700: '#6f5f5d',
45 | 800: '#5a5453',
46 | 900: '#484747'
47 | }
48 | },
49 | padding: {
50 | '1/3': '33.333333%'
51 | }
52 | }
53 | },
54 | plugins: [require('tailwindcss-animate')]
55 | };
56 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2022",
4 | "lib": ["ES2023", "DOM", "DOM.Iterable"],
5 | "module": "ESNext",
6 | "skipLibCheck": true,
7 |
8 | /* Bundler mode */
9 | "moduleResolution": "bundler",
10 | "allowImportingTsExtensions": true,
11 | "resolveJsonModule": true,
12 | "isolatedModules": true,
13 | "noEmit": true,
14 | "jsx": "react-jsx",
15 |
16 | /* Linting */
17 | "strict": true,
18 | "noUnusedLocals": false,
19 | "noUnusedParameters": false,
20 | "noFallthroughCasesInSwitch": true,
21 |
22 | /* Paths */
23 | "baseUrl": ".",
24 | "paths": {
25 | "@/*": ["./src/*"]
26 | }
27 | },
28 | "include": ["src/**/*", "vite.config.ts"]
29 | }
30 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import path from 'path';
2 |
3 | import react from '@vitejs/plugin-react';
4 | import { defineConfig } from 'vite';
5 |
6 | export default defineConfig({
7 | plugins: [react()],
8 | resolve: {
9 | alias: {
10 | '@': path.resolve(__dirname, './src')
11 | }
12 | }
13 | });
14 |
--------------------------------------------------------------------------------