kiryha-krysko commited on
Commit
2d60193
·
1 Parent(s): a7bc8ea

init neuron

Browse files
Files changed (8) hide show
  1. .gitignore +4 -1
  2. Dockerfile +1 -1
  3. main.py +19 -0
  4. mds/init-prompt.md +62 -0
  5. neuron.bat +1 -2
  6. neuron.py +0 -15
  7. neuron/__init__.py +0 -0
  8. package-lock.json +2582 -0
.gitignore CHANGED
@@ -1 +1,4 @@
1
- /__pycache__
 
 
 
 
1
+ node_modules/
2
+ dist/
3
+ __pycache__/
4
+ .env
Dockerfile CHANGED
@@ -23,4 +23,4 @@ COPY --chown=user neuron.py .
23
  COPY --chown=user --from=build-stage /frontend/dist ./dist
24
 
25
  # Port 7860 is the Hugging Face default
26
- CMD ["uvicorn", "neuron:app", "--host", "0.0.0.0", "--port", "7860"]
 
23
  COPY --chown=user --from=build-stage /frontend/dist ./dist
24
 
25
  # Port 7860 is the Hugging Face default
26
+ CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
main.py ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from fastapi.staticfiles import StaticFiles
3
+ from fastapi.responses import FileResponse
4
+ import os
5
+
6
+ app = FastAPI()
7
+
8
+ # Dummy endpoint for the future Neural Renderer
9
+ @app.get("/api/status")
10
+ async def status():
11
+ return {"status": "Neuron Engine Offline - Waiting for Model"}
12
+
13
+ # Serve the React build files
14
+ # This looks for the 'dist' folder created by 'npm run build'
15
+ app.mount("/", StaticFiles(directory="dist", html=True), name="static")
16
+
17
+ @app.exception_handler(404)
18
+ async def not_found_exception_handler(request, exc):
19
+ return FileResponse("dist/index.html")
mds/init-prompt.md CHANGED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # PROMPT: Implementation of "Neuron" - Latent Scene Engine
2
+
3
+ ## Context & Vision
4
+ I am a 3D artist and pipeline developer building "Neuron," a next-generation VFX ecosystem. We are moving away from traditional Cartesian scene composition toward a coordinate-aligned latent space. Our first milestone is the "Material Hero"—a prompt-directed Implicit Neural Representation (INR) that can be iteratively refined and eventually animated via temporal models like Veo 3.1.
5
+
6
+ ## High-Level Tech Stack
7
+ - **Backend**: FastAPI (Python 3.10), PyTorch, CLIP (for text conditioning).
8
+ - **Frontend**: React, Three.js, React-Three-Fiber, Drei (for OrbitControls/Grid).
9
+ - **Infrastructure**: Dockerized deployment on Hugging Face Spaces (Port 7860).
10
+ - **Data Source**: Synthetic renders and `transforms.json` exported from SideFX Houdini.
11
+
12
+ ## Project Structure (The "Neuron" Package)
13
+ You must implement the following modular structure:
14
+ neuron_project/
15
+ ├── neuron.py # Entry point (FastAPI)
16
+ ├── Dockerfile # Multi-stage build (Node + Python)
17
+ ├── neuron/ # Logic Package
18
+ │ ├── api/routes.py # /render and /status endpoints
19
+ │ ├── data/loader.py # Houdini transforms.json parser
20
+ │ ├── models/inr.py # MLP architecture for Material Hero
21
+ │ ├── rendering/raymarcher.py # Ray-marching & sampling logic
22
+ │ └── scene/graph.py # Compositional Scene Graph logic (Phase 4)
23
+ └── src/ # React/Three.js Frontend
24
+
25
+ ## Implementation Plan (Step-by-Step)
26
+
27
+ ### Step 1: Data Ingestion & Loader
28
+ - Implement `neuron/data/loader.py` to parse Houdini `transforms.json`.
29
+ - Map camera matrices to ray origins and directions.
30
+ - Prepare a PyTorch Dataset that pairs (x,y,z,view_dir) with RGB values from renders.
31
+
32
+ ### Step 2: The Neural Engine (INR)
33
+ - Create a coordinate-based MLP in `neuron/models/inr.py`.
34
+ - Use Positional Encoding (Fourier features) for high-frequency detail.
35
+ - Implement text-conditioning: Use CLIP to embed material prompts (e.g., "Gold", "Velvet") as a global latent vector fed into the MLP.
36
+
37
+ ### Step 3: Neural Rendering Pipeline
38
+ - Implement a `render_ray` function in `neuron/rendering/raymarcher.py`.
39
+ - The backend must accept a View Matrix from the frontend, march rays through the INR, and return a rendered frame (base64).
40
+
41
+ ### Step 4: UI Development (Liquid Glass Aesthetic)
42
+ - Design a minimalistic, full-screen viewport.
43
+ - Create floating "Glassmorphism" widgets (frosted glass, sharp micro-borders).
44
+ - **Required Controls**:
45
+ - **Prompt Bar**: Top-center, for material descriptions.
46
+ - **Camera HUD**: Top-right, showing Focal Length and coordinates.
47
+ - **Performance Panel**: Inference time (ms) and Resolution Scale toggle.
48
+ - **Mode Toggle**: Switch between "Proxy" (standard Three.js wireframe) and "Neural" (the AI render).
49
+
50
+ ### Step 5: Interaction Logic
51
+ - Use `OrbitControls`. Implement "Proxy-to-Neural" handoff:
52
+ - During camera movement: Show a lightweight wireframe proxy at 60fps.
53
+ - On movement stop: Trigger the backend `/render` call to "resolve" the neural pixels.
54
+
55
+ ## Development Phases (For Reference)
56
+ 1. Houdini Synthetic Data -> 2. Material Hero (INR) -> 3. Voxel Baking -> 4. Compositional Scene Graph -> 5. Production UI -> 6. Temporal Synthesis (Veo/LTX).
57
+
58
+ ## Instructions for Cursor:
59
+ 1. Analyze the existing `neuron.py` and `Dockerfile` in the root.
60
+ 2. Build the `neuron/` folder structure as defined above.
61
+ 3. Replace the "cyan sphere" in `App.jsx` with a dynamic viewport that pings the backend.
62
+ 4. Provide a detailed summary of the code changes and any new dependencies needed in `requirements.txt`.
neuron.bat CHANGED
@@ -1,6 +1,5 @@
1
  @echo off
2
  cd /d "%~dp0"
3
  start "" http://127.0.0.1:8000
4
- python -m uvicorn neuron:app --host 127.0.0.1 --port 8000 --reload
5
-
6
  pause
 
1
  @echo off
2
  cd /d "%~dp0"
3
  start "" http://127.0.0.1:8000
4
+ python -m uvicorn main:app --host 127.0.0.1 --port 8000 --reload
 
5
  pause
neuron.py DELETED
@@ -1,15 +0,0 @@
1
- import uvicorn
2
- from fastapi import FastAPI
3
- from fastapi.staticfiles import StaticFiles
4
- from neuron.api.routes import router as api_router
5
-
6
- app = FastAPI(title="Neuron Latent Engine")
7
-
8
- # Include modularized routes
9
- app.include_router(api_router, prefix="/api")
10
-
11
- # Serve Frontend
12
- app.mount("/", StaticFiles(directory="dist", html=True), name="static")
13
-
14
- if __name__ == "__main__":
15
- uvicorn.run("neuron:app", host="0.0.0.0", port=7860, reload=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
neuron/__init__.py ADDED
File without changes
package-lock.json ADDED
@@ -0,0 +1,2582 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "neuron-frontend",
3
+ "version": "0.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "neuron-frontend",
9
+ "version": "0.0.0",
10
+ "dependencies": {
11
+ "@react-three/drei": "^9.0.0",
12
+ "@react-three/fiber": "^8.0.0",
13
+ "react": "^18.2.0",
14
+ "react-dom": "^18.2.0",
15
+ "three": "^0.160.0"
16
+ },
17
+ "devDependencies": {
18
+ "@types/react": "^18.2.0",
19
+ "@types/react-dom": "^18.2.0",
20
+ "@vitejs/plugin-react": "^4.2.0",
21
+ "vite": "^5.0.0"
22
+ }
23
+ },
24
+ "node_modules/@babel/code-frame": {
25
+ "version": "7.29.0",
26
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz",
27
+ "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==",
28
+ "dev": true,
29
+ "license": "MIT",
30
+ "dependencies": {
31
+ "@babel/helper-validator-identifier": "^7.28.5",
32
+ "js-tokens": "^4.0.0",
33
+ "picocolors": "^1.1.1"
34
+ },
35
+ "engines": {
36
+ "node": ">=6.9.0"
37
+ }
38
+ },
39
+ "node_modules/@babel/compat-data": {
40
+ "version": "7.29.0",
41
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz",
42
+ "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==",
43
+ "dev": true,
44
+ "license": "MIT",
45
+ "engines": {
46
+ "node": ">=6.9.0"
47
+ }
48
+ },
49
+ "node_modules/@babel/core": {
50
+ "version": "7.29.0",
51
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz",
52
+ "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
53
+ "dev": true,
54
+ "license": "MIT",
55
+ "peer": true,
56
+ "dependencies": {
57
+ "@babel/code-frame": "^7.29.0",
58
+ "@babel/generator": "^7.29.0",
59
+ "@babel/helper-compilation-targets": "^7.28.6",
60
+ "@babel/helper-module-transforms": "^7.28.6",
61
+ "@babel/helpers": "^7.28.6",
62
+ "@babel/parser": "^7.29.0",
63
+ "@babel/template": "^7.28.6",
64
+ "@babel/traverse": "^7.29.0",
65
+ "@babel/types": "^7.29.0",
66
+ "@jridgewell/remapping": "^2.3.5",
67
+ "convert-source-map": "^2.0.0",
68
+ "debug": "^4.1.0",
69
+ "gensync": "^1.0.0-beta.2",
70
+ "json5": "^2.2.3",
71
+ "semver": "^6.3.1"
72
+ },
73
+ "engines": {
74
+ "node": ">=6.9.0"
75
+ },
76
+ "funding": {
77
+ "type": "opencollective",
78
+ "url": "https://opencollective.com/babel"
79
+ }
80
+ },
81
+ "node_modules/@babel/generator": {
82
+ "version": "7.29.1",
83
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz",
84
+ "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==",
85
+ "dev": true,
86
+ "license": "MIT",
87
+ "dependencies": {
88
+ "@babel/parser": "^7.29.0",
89
+ "@babel/types": "^7.29.0",
90
+ "@jridgewell/gen-mapping": "^0.3.12",
91
+ "@jridgewell/trace-mapping": "^0.3.28",
92
+ "jsesc": "^3.0.2"
93
+ },
94
+ "engines": {
95
+ "node": ">=6.9.0"
96
+ }
97
+ },
98
+ "node_modules/@babel/helper-compilation-targets": {
99
+ "version": "7.28.6",
100
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
101
+ "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
102
+ "dev": true,
103
+ "license": "MIT",
104
+ "dependencies": {
105
+ "@babel/compat-data": "^7.28.6",
106
+ "@babel/helper-validator-option": "^7.27.1",
107
+ "browserslist": "^4.24.0",
108
+ "lru-cache": "^5.1.1",
109
+ "semver": "^6.3.1"
110
+ },
111
+ "engines": {
112
+ "node": ">=6.9.0"
113
+ }
114
+ },
115
+ "node_modules/@babel/helper-globals": {
116
+ "version": "7.28.0",
117
+ "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
118
+ "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
119
+ "dev": true,
120
+ "license": "MIT",
121
+ "engines": {
122
+ "node": ">=6.9.0"
123
+ }
124
+ },
125
+ "node_modules/@babel/helper-module-imports": {
126
+ "version": "7.28.6",
127
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
128
+ "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
129
+ "dev": true,
130
+ "license": "MIT",
131
+ "dependencies": {
132
+ "@babel/traverse": "^7.28.6",
133
+ "@babel/types": "^7.28.6"
134
+ },
135
+ "engines": {
136
+ "node": ">=6.9.0"
137
+ }
138
+ },
139
+ "node_modules/@babel/helper-module-transforms": {
140
+ "version": "7.28.6",
141
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
142
+ "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
143
+ "dev": true,
144
+ "license": "MIT",
145
+ "dependencies": {
146
+ "@babel/helper-module-imports": "^7.28.6",
147
+ "@babel/helper-validator-identifier": "^7.28.5",
148
+ "@babel/traverse": "^7.28.6"
149
+ },
150
+ "engines": {
151
+ "node": ">=6.9.0"
152
+ },
153
+ "peerDependencies": {
154
+ "@babel/core": "^7.0.0"
155
+ }
156
+ },
157
+ "node_modules/@babel/helper-plugin-utils": {
158
+ "version": "7.28.6",
159
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
160
+ "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
161
+ "dev": true,
162
+ "license": "MIT",
163
+ "engines": {
164
+ "node": ">=6.9.0"
165
+ }
166
+ },
167
+ "node_modules/@babel/helper-string-parser": {
168
+ "version": "7.27.1",
169
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
170
+ "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
171
+ "dev": true,
172
+ "license": "MIT",
173
+ "engines": {
174
+ "node": ">=6.9.0"
175
+ }
176
+ },
177
+ "node_modules/@babel/helper-validator-identifier": {
178
+ "version": "7.28.5",
179
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
180
+ "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
181
+ "dev": true,
182
+ "license": "MIT",
183
+ "engines": {
184
+ "node": ">=6.9.0"
185
+ }
186
+ },
187
+ "node_modules/@babel/helper-validator-option": {
188
+ "version": "7.27.1",
189
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
190
+ "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
191
+ "dev": true,
192
+ "license": "MIT",
193
+ "engines": {
194
+ "node": ">=6.9.0"
195
+ }
196
+ },
197
+ "node_modules/@babel/helpers": {
198
+ "version": "7.29.2",
199
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz",
200
+ "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==",
201
+ "dev": true,
202
+ "license": "MIT",
203
+ "dependencies": {
204
+ "@babel/template": "^7.28.6",
205
+ "@babel/types": "^7.29.0"
206
+ },
207
+ "engines": {
208
+ "node": ">=6.9.0"
209
+ }
210
+ },
211
+ "node_modules/@babel/parser": {
212
+ "version": "7.29.2",
213
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz",
214
+ "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==",
215
+ "dev": true,
216
+ "license": "MIT",
217
+ "dependencies": {
218
+ "@babel/types": "^7.29.0"
219
+ },
220
+ "bin": {
221
+ "parser": "bin/babel-parser.js"
222
+ },
223
+ "engines": {
224
+ "node": ">=6.0.0"
225
+ }
226
+ },
227
+ "node_modules/@babel/plugin-transform-react-jsx-self": {
228
+ "version": "7.27.1",
229
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
230
+ "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
231
+ "dev": true,
232
+ "license": "MIT",
233
+ "dependencies": {
234
+ "@babel/helper-plugin-utils": "^7.27.1"
235
+ },
236
+ "engines": {
237
+ "node": ">=6.9.0"
238
+ },
239
+ "peerDependencies": {
240
+ "@babel/core": "^7.0.0-0"
241
+ }
242
+ },
243
+ "node_modules/@babel/plugin-transform-react-jsx-source": {
244
+ "version": "7.27.1",
245
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
246
+ "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
247
+ "dev": true,
248
+ "license": "MIT",
249
+ "dependencies": {
250
+ "@babel/helper-plugin-utils": "^7.27.1"
251
+ },
252
+ "engines": {
253
+ "node": ">=6.9.0"
254
+ },
255
+ "peerDependencies": {
256
+ "@babel/core": "^7.0.0-0"
257
+ }
258
+ },
259
+ "node_modules/@babel/runtime": {
260
+ "version": "7.29.2",
261
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz",
262
+ "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==",
263
+ "license": "MIT",
264
+ "engines": {
265
+ "node": ">=6.9.0"
266
+ }
267
+ },
268
+ "node_modules/@babel/template": {
269
+ "version": "7.28.6",
270
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
271
+ "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
272
+ "dev": true,
273
+ "license": "MIT",
274
+ "dependencies": {
275
+ "@babel/code-frame": "^7.28.6",
276
+ "@babel/parser": "^7.28.6",
277
+ "@babel/types": "^7.28.6"
278
+ },
279
+ "engines": {
280
+ "node": ">=6.9.0"
281
+ }
282
+ },
283
+ "node_modules/@babel/traverse": {
284
+ "version": "7.29.0",
285
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz",
286
+ "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==",
287
+ "dev": true,
288
+ "license": "MIT",
289
+ "dependencies": {
290
+ "@babel/code-frame": "^7.29.0",
291
+ "@babel/generator": "^7.29.0",
292
+ "@babel/helper-globals": "^7.28.0",
293
+ "@babel/parser": "^7.29.0",
294
+ "@babel/template": "^7.28.6",
295
+ "@babel/types": "^7.29.0",
296
+ "debug": "^4.3.1"
297
+ },
298
+ "engines": {
299
+ "node": ">=6.9.0"
300
+ }
301
+ },
302
+ "node_modules/@babel/types": {
303
+ "version": "7.29.0",
304
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz",
305
+ "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==",
306
+ "dev": true,
307
+ "license": "MIT",
308
+ "dependencies": {
309
+ "@babel/helper-string-parser": "^7.27.1",
310
+ "@babel/helper-validator-identifier": "^7.28.5"
311
+ },
312
+ "engines": {
313
+ "node": ">=6.9.0"
314
+ }
315
+ },
316
+ "node_modules/@dimforge/rapier3d-compat": {
317
+ "version": "0.12.0",
318
+ "resolved": "https://registry.npmjs.org/@dimforge/rapier3d-compat/-/rapier3d-compat-0.12.0.tgz",
319
+ "integrity": "sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==",
320
+ "license": "Apache-2.0"
321
+ },
322
+ "node_modules/@esbuild/aix-ppc64": {
323
+ "version": "0.21.5",
324
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
325
+ "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
326
+ "cpu": [
327
+ "ppc64"
328
+ ],
329
+ "dev": true,
330
+ "license": "MIT",
331
+ "optional": true,
332
+ "os": [
333
+ "aix"
334
+ ],
335
+ "engines": {
336
+ "node": ">=12"
337
+ }
338
+ },
339
+ "node_modules/@esbuild/android-arm": {
340
+ "version": "0.21.5",
341
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
342
+ "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
343
+ "cpu": [
344
+ "arm"
345
+ ],
346
+ "dev": true,
347
+ "license": "MIT",
348
+ "optional": true,
349
+ "os": [
350
+ "android"
351
+ ],
352
+ "engines": {
353
+ "node": ">=12"
354
+ }
355
+ },
356
+ "node_modules/@esbuild/android-arm64": {
357
+ "version": "0.21.5",
358
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
359
+ "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
360
+ "cpu": [
361
+ "arm64"
362
+ ],
363
+ "dev": true,
364
+ "license": "MIT",
365
+ "optional": true,
366
+ "os": [
367
+ "android"
368
+ ],
369
+ "engines": {
370
+ "node": ">=12"
371
+ }
372
+ },
373
+ "node_modules/@esbuild/android-x64": {
374
+ "version": "0.21.5",
375
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
376
+ "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
377
+ "cpu": [
378
+ "x64"
379
+ ],
380
+ "dev": true,
381
+ "license": "MIT",
382
+ "optional": true,
383
+ "os": [
384
+ "android"
385
+ ],
386
+ "engines": {
387
+ "node": ">=12"
388
+ }
389
+ },
390
+ "node_modules/@esbuild/darwin-arm64": {
391
+ "version": "0.21.5",
392
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
393
+ "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
394
+ "cpu": [
395
+ "arm64"
396
+ ],
397
+ "dev": true,
398
+ "license": "MIT",
399
+ "optional": true,
400
+ "os": [
401
+ "darwin"
402
+ ],
403
+ "engines": {
404
+ "node": ">=12"
405
+ }
406
+ },
407
+ "node_modules/@esbuild/darwin-x64": {
408
+ "version": "0.21.5",
409
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
410
+ "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
411
+ "cpu": [
412
+ "x64"
413
+ ],
414
+ "dev": true,
415
+ "license": "MIT",
416
+ "optional": true,
417
+ "os": [
418
+ "darwin"
419
+ ],
420
+ "engines": {
421
+ "node": ">=12"
422
+ }
423
+ },
424
+ "node_modules/@esbuild/freebsd-arm64": {
425
+ "version": "0.21.5",
426
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
427
+ "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
428
+ "cpu": [
429
+ "arm64"
430
+ ],
431
+ "dev": true,
432
+ "license": "MIT",
433
+ "optional": true,
434
+ "os": [
435
+ "freebsd"
436
+ ],
437
+ "engines": {
438
+ "node": ">=12"
439
+ }
440
+ },
441
+ "node_modules/@esbuild/freebsd-x64": {
442
+ "version": "0.21.5",
443
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
444
+ "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
445
+ "cpu": [
446
+ "x64"
447
+ ],
448
+ "dev": true,
449
+ "license": "MIT",
450
+ "optional": true,
451
+ "os": [
452
+ "freebsd"
453
+ ],
454
+ "engines": {
455
+ "node": ">=12"
456
+ }
457
+ },
458
+ "node_modules/@esbuild/linux-arm": {
459
+ "version": "0.21.5",
460
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
461
+ "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
462
+ "cpu": [
463
+ "arm"
464
+ ],
465
+ "dev": true,
466
+ "license": "MIT",
467
+ "optional": true,
468
+ "os": [
469
+ "linux"
470
+ ],
471
+ "engines": {
472
+ "node": ">=12"
473
+ }
474
+ },
475
+ "node_modules/@esbuild/linux-arm64": {
476
+ "version": "0.21.5",
477
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
478
+ "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
479
+ "cpu": [
480
+ "arm64"
481
+ ],
482
+ "dev": true,
483
+ "license": "MIT",
484
+ "optional": true,
485
+ "os": [
486
+ "linux"
487
+ ],
488
+ "engines": {
489
+ "node": ">=12"
490
+ }
491
+ },
492
+ "node_modules/@esbuild/linux-ia32": {
493
+ "version": "0.21.5",
494
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
495
+ "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
496
+ "cpu": [
497
+ "ia32"
498
+ ],
499
+ "dev": true,
500
+ "license": "MIT",
501
+ "optional": true,
502
+ "os": [
503
+ "linux"
504
+ ],
505
+ "engines": {
506
+ "node": ">=12"
507
+ }
508
+ },
509
+ "node_modules/@esbuild/linux-loong64": {
510
+ "version": "0.21.5",
511
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
512
+ "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
513
+ "cpu": [
514
+ "loong64"
515
+ ],
516
+ "dev": true,
517
+ "license": "MIT",
518
+ "optional": true,
519
+ "os": [
520
+ "linux"
521
+ ],
522
+ "engines": {
523
+ "node": ">=12"
524
+ }
525
+ },
526
+ "node_modules/@esbuild/linux-mips64el": {
527
+ "version": "0.21.5",
528
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
529
+ "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
530
+ "cpu": [
531
+ "mips64el"
532
+ ],
533
+ "dev": true,
534
+ "license": "MIT",
535
+ "optional": true,
536
+ "os": [
537
+ "linux"
538
+ ],
539
+ "engines": {
540
+ "node": ">=12"
541
+ }
542
+ },
543
+ "node_modules/@esbuild/linux-ppc64": {
544
+ "version": "0.21.5",
545
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
546
+ "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
547
+ "cpu": [
548
+ "ppc64"
549
+ ],
550
+ "dev": true,
551
+ "license": "MIT",
552
+ "optional": true,
553
+ "os": [
554
+ "linux"
555
+ ],
556
+ "engines": {
557
+ "node": ">=12"
558
+ }
559
+ },
560
+ "node_modules/@esbuild/linux-riscv64": {
561
+ "version": "0.21.5",
562
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
563
+ "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
564
+ "cpu": [
565
+ "riscv64"
566
+ ],
567
+ "dev": true,
568
+ "license": "MIT",
569
+ "optional": true,
570
+ "os": [
571
+ "linux"
572
+ ],
573
+ "engines": {
574
+ "node": ">=12"
575
+ }
576
+ },
577
+ "node_modules/@esbuild/linux-s390x": {
578
+ "version": "0.21.5",
579
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
580
+ "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
581
+ "cpu": [
582
+ "s390x"
583
+ ],
584
+ "dev": true,
585
+ "license": "MIT",
586
+ "optional": true,
587
+ "os": [
588
+ "linux"
589
+ ],
590
+ "engines": {
591
+ "node": ">=12"
592
+ }
593
+ },
594
+ "node_modules/@esbuild/linux-x64": {
595
+ "version": "0.21.5",
596
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
597
+ "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
598
+ "cpu": [
599
+ "x64"
600
+ ],
601
+ "dev": true,
602
+ "license": "MIT",
603
+ "optional": true,
604
+ "os": [
605
+ "linux"
606
+ ],
607
+ "engines": {
608
+ "node": ">=12"
609
+ }
610
+ },
611
+ "node_modules/@esbuild/netbsd-x64": {
612
+ "version": "0.21.5",
613
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
614
+ "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
615
+ "cpu": [
616
+ "x64"
617
+ ],
618
+ "dev": true,
619
+ "license": "MIT",
620
+ "optional": true,
621
+ "os": [
622
+ "netbsd"
623
+ ],
624
+ "engines": {
625
+ "node": ">=12"
626
+ }
627
+ },
628
+ "node_modules/@esbuild/openbsd-x64": {
629
+ "version": "0.21.5",
630
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
631
+ "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
632
+ "cpu": [
633
+ "x64"
634
+ ],
635
+ "dev": true,
636
+ "license": "MIT",
637
+ "optional": true,
638
+ "os": [
639
+ "openbsd"
640
+ ],
641
+ "engines": {
642
+ "node": ">=12"
643
+ }
644
+ },
645
+ "node_modules/@esbuild/sunos-x64": {
646
+ "version": "0.21.5",
647
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
648
+ "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
649
+ "cpu": [
650
+ "x64"
651
+ ],
652
+ "dev": true,
653
+ "license": "MIT",
654
+ "optional": true,
655
+ "os": [
656
+ "sunos"
657
+ ],
658
+ "engines": {
659
+ "node": ">=12"
660
+ }
661
+ },
662
+ "node_modules/@esbuild/win32-arm64": {
663
+ "version": "0.21.5",
664
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
665
+ "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
666
+ "cpu": [
667
+ "arm64"
668
+ ],
669
+ "dev": true,
670
+ "license": "MIT",
671
+ "optional": true,
672
+ "os": [
673
+ "win32"
674
+ ],
675
+ "engines": {
676
+ "node": ">=12"
677
+ }
678
+ },
679
+ "node_modules/@esbuild/win32-ia32": {
680
+ "version": "0.21.5",
681
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
682
+ "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
683
+ "cpu": [
684
+ "ia32"
685
+ ],
686
+ "dev": true,
687
+ "license": "MIT",
688
+ "optional": true,
689
+ "os": [
690
+ "win32"
691
+ ],
692
+ "engines": {
693
+ "node": ">=12"
694
+ }
695
+ },
696
+ "node_modules/@esbuild/win32-x64": {
697
+ "version": "0.21.5",
698
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
699
+ "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
700
+ "cpu": [
701
+ "x64"
702
+ ],
703
+ "dev": true,
704
+ "license": "MIT",
705
+ "optional": true,
706
+ "os": [
707
+ "win32"
708
+ ],
709
+ "engines": {
710
+ "node": ">=12"
711
+ }
712
+ },
713
+ "node_modules/@jridgewell/gen-mapping": {
714
+ "version": "0.3.13",
715
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
716
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
717
+ "dev": true,
718
+ "license": "MIT",
719
+ "dependencies": {
720
+ "@jridgewell/sourcemap-codec": "^1.5.0",
721
+ "@jridgewell/trace-mapping": "^0.3.24"
722
+ }
723
+ },
724
+ "node_modules/@jridgewell/remapping": {
725
+ "version": "2.3.5",
726
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
727
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
728
+ "dev": true,
729
+ "license": "MIT",
730
+ "dependencies": {
731
+ "@jridgewell/gen-mapping": "^0.3.5",
732
+ "@jridgewell/trace-mapping": "^0.3.24"
733
+ }
734
+ },
735
+ "node_modules/@jridgewell/resolve-uri": {
736
+ "version": "3.1.2",
737
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
738
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
739
+ "dev": true,
740
+ "license": "MIT",
741
+ "engines": {
742
+ "node": ">=6.0.0"
743
+ }
744
+ },
745
+ "node_modules/@jridgewell/sourcemap-codec": {
746
+ "version": "1.5.5",
747
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
748
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
749
+ "dev": true,
750
+ "license": "MIT"
751
+ },
752
+ "node_modules/@jridgewell/trace-mapping": {
753
+ "version": "0.3.31",
754
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
755
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
756
+ "dev": true,
757
+ "license": "MIT",
758
+ "dependencies": {
759
+ "@jridgewell/resolve-uri": "^3.1.0",
760
+ "@jridgewell/sourcemap-codec": "^1.4.14"
761
+ }
762
+ },
763
+ "node_modules/@mediapipe/tasks-vision": {
764
+ "version": "0.10.17",
765
+ "resolved": "https://registry.npmjs.org/@mediapipe/tasks-vision/-/tasks-vision-0.10.17.tgz",
766
+ "integrity": "sha512-CZWV/q6TTe8ta61cZXjfnnHsfWIdFhms03M9T7Cnd5y2mdpylJM0rF1qRq+wsQVRMLz1OYPVEBU9ph2Bx8cxrg==",
767
+ "license": "Apache-2.0"
768
+ },
769
+ "node_modules/@monogrid/gainmap-js": {
770
+ "version": "3.4.0",
771
+ "resolved": "https://registry.npmjs.org/@monogrid/gainmap-js/-/gainmap-js-3.4.0.tgz",
772
+ "integrity": "sha512-2Z0FATFHaoYJ8b+Y4y4Hgfn3FRFwuU5zRrk+9dFWp4uGAdHGqVEdP7HP+gLA3X469KXHmfupJaUbKo1b/aDKIg==",
773
+ "license": "MIT",
774
+ "dependencies": {
775
+ "promise-worker-transferable": "^1.0.4"
776
+ },
777
+ "peerDependencies": {
778
+ "three": ">= 0.159.0"
779
+ }
780
+ },
781
+ "node_modules/@react-spring/animated": {
782
+ "version": "9.7.5",
783
+ "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.5.tgz",
784
+ "integrity": "sha512-Tqrwz7pIlsSDITzxoLS3n/v/YCUHQdOIKtOJf4yL6kYVSDTSmVK1LI1Q3M/uu2Sx4X3pIWF3xLUhlsA6SPNTNg==",
785
+ "license": "MIT",
786
+ "dependencies": {
787
+ "@react-spring/shared": "~9.7.5",
788
+ "@react-spring/types": "~9.7.5"
789
+ },
790
+ "peerDependencies": {
791
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
792
+ }
793
+ },
794
+ "node_modules/@react-spring/core": {
795
+ "version": "9.7.5",
796
+ "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.5.tgz",
797
+ "integrity": "sha512-rmEqcxRcu7dWh7MnCcMXLvrf6/SDlSokLaLTxiPlAYi11nN3B5oiCUAblO72o+9z/87j2uzxa2Inm8UbLjXA+w==",
798
+ "license": "MIT",
799
+ "dependencies": {
800
+ "@react-spring/animated": "~9.7.5",
801
+ "@react-spring/shared": "~9.7.5",
802
+ "@react-spring/types": "~9.7.5"
803
+ },
804
+ "funding": {
805
+ "type": "opencollective",
806
+ "url": "https://opencollective.com/react-spring/donate"
807
+ },
808
+ "peerDependencies": {
809
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
810
+ }
811
+ },
812
+ "node_modules/@react-spring/rafz": {
813
+ "version": "9.7.5",
814
+ "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.7.5.tgz",
815
+ "integrity": "sha512-5ZenDQMC48wjUzPAm1EtwQ5Ot3bLIAwwqP2w2owG5KoNdNHpEJV263nGhCeKKmuA3vG2zLLOdu3or6kuDjA6Aw==",
816
+ "license": "MIT"
817
+ },
818
+ "node_modules/@react-spring/shared": {
819
+ "version": "9.7.5",
820
+ "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.5.tgz",
821
+ "integrity": "sha512-wdtoJrhUeeyD/PP/zo+np2s1Z820Ohr/BbuVYv+3dVLW7WctoiN7std8rISoYoHpUXtbkpesSKuPIw/6U1w1Pw==",
822
+ "license": "MIT",
823
+ "dependencies": {
824
+ "@react-spring/rafz": "~9.7.5",
825
+ "@react-spring/types": "~9.7.5"
826
+ },
827
+ "peerDependencies": {
828
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
829
+ }
830
+ },
831
+ "node_modules/@react-spring/three": {
832
+ "version": "9.7.5",
833
+ "resolved": "https://registry.npmjs.org/@react-spring/three/-/three-9.7.5.tgz",
834
+ "integrity": "sha512-RxIsCoQfUqOS3POmhVHa1wdWS0wyHAUway73uRLp3GAL5U2iYVNdnzQsep6M2NZ994BlW8TcKuMtQHUqOsy6WA==",
835
+ "license": "MIT",
836
+ "dependencies": {
837
+ "@react-spring/animated": "~9.7.5",
838
+ "@react-spring/core": "~9.7.5",
839
+ "@react-spring/shared": "~9.7.5",
840
+ "@react-spring/types": "~9.7.5"
841
+ },
842
+ "peerDependencies": {
843
+ "@react-three/fiber": ">=6.0",
844
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
845
+ "three": ">=0.126"
846
+ }
847
+ },
848
+ "node_modules/@react-spring/types": {
849
+ "version": "9.7.5",
850
+ "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.5.tgz",
851
+ "integrity": "sha512-HVj7LrZ4ReHWBimBvu2SKND3cDVUPWKLqRTmWe/fNY6o1owGOX0cAHbdPDTMelgBlVbrTKrre6lFkhqGZErK/g==",
852
+ "license": "MIT"
853
+ },
854
+ "node_modules/@react-three/drei": {
855
+ "version": "9.122.0",
856
+ "resolved": "https://registry.npmjs.org/@react-three/drei/-/drei-9.122.0.tgz",
857
+ "integrity": "sha512-SEO/F/rBCTjlLez7WAlpys+iGe9hty4rNgjZvgkQeXFSiwqD4Hbk/wNHMAbdd8vprO2Aj81mihv4dF5bC7D0CA==",
858
+ "license": "MIT",
859
+ "dependencies": {
860
+ "@babel/runtime": "^7.26.0",
861
+ "@mediapipe/tasks-vision": "0.10.17",
862
+ "@monogrid/gainmap-js": "^3.0.6",
863
+ "@react-spring/three": "~9.7.5",
864
+ "@use-gesture/react": "^10.3.1",
865
+ "camera-controls": "^2.9.0",
866
+ "cross-env": "^7.0.3",
867
+ "detect-gpu": "^5.0.56",
868
+ "glsl-noise": "^0.0.0",
869
+ "hls.js": "^1.5.17",
870
+ "maath": "^0.10.8",
871
+ "meshline": "^3.3.1",
872
+ "react-composer": "^5.0.3",
873
+ "stats-gl": "^2.2.8",
874
+ "stats.js": "^0.17.0",
875
+ "suspend-react": "^0.1.3",
876
+ "three-mesh-bvh": "^0.7.8",
877
+ "three-stdlib": "^2.35.6",
878
+ "troika-three-text": "^0.52.0",
879
+ "tunnel-rat": "^0.1.2",
880
+ "utility-types": "^3.11.0",
881
+ "zustand": "^5.0.1"
882
+ },
883
+ "peerDependencies": {
884
+ "@react-three/fiber": "^8",
885
+ "react": "^18",
886
+ "react-dom": "^18",
887
+ "three": ">=0.137"
888
+ },
889
+ "peerDependenciesMeta": {
890
+ "react-dom": {
891
+ "optional": true
892
+ }
893
+ }
894
+ },
895
+ "node_modules/@react-three/fiber": {
896
+ "version": "8.18.0",
897
+ "resolved": "https://registry.npmjs.org/@react-three/fiber/-/fiber-8.18.0.tgz",
898
+ "integrity": "sha512-FYZZqD0UUHUswKz3LQl2Z7H24AhD14XGTsIRw3SJaXUxyfVMi+1yiZGmqTcPt/CkPpdU7rrxqcyQ1zJE5DjvIQ==",
899
+ "license": "MIT",
900
+ "peer": true,
901
+ "dependencies": {
902
+ "@babel/runtime": "^7.17.8",
903
+ "@types/react-reconciler": "^0.26.7",
904
+ "@types/webxr": "*",
905
+ "base64-js": "^1.5.1",
906
+ "buffer": "^6.0.3",
907
+ "its-fine": "^1.0.6",
908
+ "react-reconciler": "^0.27.0",
909
+ "react-use-measure": "^2.1.7",
910
+ "scheduler": "^0.21.0",
911
+ "suspend-react": "^0.1.3",
912
+ "zustand": "^3.7.1"
913
+ },
914
+ "peerDependencies": {
915
+ "expo": ">=43.0",
916
+ "expo-asset": ">=8.4",
917
+ "expo-file-system": ">=11.0",
918
+ "expo-gl": ">=11.0",
919
+ "react": ">=18 <19",
920
+ "react-dom": ">=18 <19",
921
+ "react-native": ">=0.64",
922
+ "three": ">=0.133"
923
+ },
924
+ "peerDependenciesMeta": {
925
+ "expo": {
926
+ "optional": true
927
+ },
928
+ "expo-asset": {
929
+ "optional": true
930
+ },
931
+ "expo-file-system": {
932
+ "optional": true
933
+ },
934
+ "expo-gl": {
935
+ "optional": true
936
+ },
937
+ "react-dom": {
938
+ "optional": true
939
+ },
940
+ "react-native": {
941
+ "optional": true
942
+ }
943
+ }
944
+ },
945
+ "node_modules/@react-three/fiber/node_modules/zustand": {
946
+ "version": "3.7.2",
947
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-3.7.2.tgz",
948
+ "integrity": "sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==",
949
+ "license": "MIT",
950
+ "engines": {
951
+ "node": ">=12.7.0"
952
+ },
953
+ "peerDependencies": {
954
+ "react": ">=16.8"
955
+ },
956
+ "peerDependenciesMeta": {
957
+ "react": {
958
+ "optional": true
959
+ }
960
+ }
961
+ },
962
+ "node_modules/@rolldown/pluginutils": {
963
+ "version": "1.0.0-beta.27",
964
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
965
+ "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==",
966
+ "dev": true,
967
+ "license": "MIT"
968
+ },
969
+ "node_modules/@rollup/rollup-android-arm-eabi": {
970
+ "version": "4.59.0",
971
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz",
972
+ "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==",
973
+ "cpu": [
974
+ "arm"
975
+ ],
976
+ "dev": true,
977
+ "license": "MIT",
978
+ "optional": true,
979
+ "os": [
980
+ "android"
981
+ ]
982
+ },
983
+ "node_modules/@rollup/rollup-android-arm64": {
984
+ "version": "4.59.0",
985
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz",
986
+ "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==",
987
+ "cpu": [
988
+ "arm64"
989
+ ],
990
+ "dev": true,
991
+ "license": "MIT",
992
+ "optional": true,
993
+ "os": [
994
+ "android"
995
+ ]
996
+ },
997
+ "node_modules/@rollup/rollup-darwin-arm64": {
998
+ "version": "4.59.0",
999
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz",
1000
+ "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==",
1001
+ "cpu": [
1002
+ "arm64"
1003
+ ],
1004
+ "dev": true,
1005
+ "license": "MIT",
1006
+ "optional": true,
1007
+ "os": [
1008
+ "darwin"
1009
+ ]
1010
+ },
1011
+ "node_modules/@rollup/rollup-darwin-x64": {
1012
+ "version": "4.59.0",
1013
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz",
1014
+ "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==",
1015
+ "cpu": [
1016
+ "x64"
1017
+ ],
1018
+ "dev": true,
1019
+ "license": "MIT",
1020
+ "optional": true,
1021
+ "os": [
1022
+ "darwin"
1023
+ ]
1024
+ },
1025
+ "node_modules/@rollup/rollup-freebsd-arm64": {
1026
+ "version": "4.59.0",
1027
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz",
1028
+ "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==",
1029
+ "cpu": [
1030
+ "arm64"
1031
+ ],
1032
+ "dev": true,
1033
+ "license": "MIT",
1034
+ "optional": true,
1035
+ "os": [
1036
+ "freebsd"
1037
+ ]
1038
+ },
1039
+ "node_modules/@rollup/rollup-freebsd-x64": {
1040
+ "version": "4.59.0",
1041
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz",
1042
+ "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==",
1043
+ "cpu": [
1044
+ "x64"
1045
+ ],
1046
+ "dev": true,
1047
+ "license": "MIT",
1048
+ "optional": true,
1049
+ "os": [
1050
+ "freebsd"
1051
+ ]
1052
+ },
1053
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
1054
+ "version": "4.59.0",
1055
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz",
1056
+ "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==",
1057
+ "cpu": [
1058
+ "arm"
1059
+ ],
1060
+ "dev": true,
1061
+ "license": "MIT",
1062
+ "optional": true,
1063
+ "os": [
1064
+ "linux"
1065
+ ]
1066
+ },
1067
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
1068
+ "version": "4.59.0",
1069
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz",
1070
+ "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==",
1071
+ "cpu": [
1072
+ "arm"
1073
+ ],
1074
+ "dev": true,
1075
+ "license": "MIT",
1076
+ "optional": true,
1077
+ "os": [
1078
+ "linux"
1079
+ ]
1080
+ },
1081
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
1082
+ "version": "4.59.0",
1083
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz",
1084
+ "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==",
1085
+ "cpu": [
1086
+ "arm64"
1087
+ ],
1088
+ "dev": true,
1089
+ "license": "MIT",
1090
+ "optional": true,
1091
+ "os": [
1092
+ "linux"
1093
+ ]
1094
+ },
1095
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
1096
+ "version": "4.59.0",
1097
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz",
1098
+ "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==",
1099
+ "cpu": [
1100
+ "arm64"
1101
+ ],
1102
+ "dev": true,
1103
+ "license": "MIT",
1104
+ "optional": true,
1105
+ "os": [
1106
+ "linux"
1107
+ ]
1108
+ },
1109
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
1110
+ "version": "4.59.0",
1111
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz",
1112
+ "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==",
1113
+ "cpu": [
1114
+ "loong64"
1115
+ ],
1116
+ "dev": true,
1117
+ "license": "MIT",
1118
+ "optional": true,
1119
+ "os": [
1120
+ "linux"
1121
+ ]
1122
+ },
1123
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
1124
+ "version": "4.59.0",
1125
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz",
1126
+ "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==",
1127
+ "cpu": [
1128
+ "loong64"
1129
+ ],
1130
+ "dev": true,
1131
+ "license": "MIT",
1132
+ "optional": true,
1133
+ "os": [
1134
+ "linux"
1135
+ ]
1136
+ },
1137
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
1138
+ "version": "4.59.0",
1139
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz",
1140
+ "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==",
1141
+ "cpu": [
1142
+ "ppc64"
1143
+ ],
1144
+ "dev": true,
1145
+ "license": "MIT",
1146
+ "optional": true,
1147
+ "os": [
1148
+ "linux"
1149
+ ]
1150
+ },
1151
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
1152
+ "version": "4.59.0",
1153
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz",
1154
+ "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==",
1155
+ "cpu": [
1156
+ "ppc64"
1157
+ ],
1158
+ "dev": true,
1159
+ "license": "MIT",
1160
+ "optional": true,
1161
+ "os": [
1162
+ "linux"
1163
+ ]
1164
+ },
1165
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1166
+ "version": "4.59.0",
1167
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz",
1168
+ "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==",
1169
+ "cpu": [
1170
+ "riscv64"
1171
+ ],
1172
+ "dev": true,
1173
+ "license": "MIT",
1174
+ "optional": true,
1175
+ "os": [
1176
+ "linux"
1177
+ ]
1178
+ },
1179
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
1180
+ "version": "4.59.0",
1181
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz",
1182
+ "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==",
1183
+ "cpu": [
1184
+ "riscv64"
1185
+ ],
1186
+ "dev": true,
1187
+ "license": "MIT",
1188
+ "optional": true,
1189
+ "os": [
1190
+ "linux"
1191
+ ]
1192
+ },
1193
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
1194
+ "version": "4.59.0",
1195
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz",
1196
+ "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==",
1197
+ "cpu": [
1198
+ "s390x"
1199
+ ],
1200
+ "dev": true,
1201
+ "license": "MIT",
1202
+ "optional": true,
1203
+ "os": [
1204
+ "linux"
1205
+ ]
1206
+ },
1207
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
1208
+ "version": "4.59.0",
1209
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz",
1210
+ "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==",
1211
+ "cpu": [
1212
+ "x64"
1213
+ ],
1214
+ "dev": true,
1215
+ "license": "MIT",
1216
+ "optional": true,
1217
+ "os": [
1218
+ "linux"
1219
+ ]
1220
+ },
1221
+ "node_modules/@rollup/rollup-linux-x64-musl": {
1222
+ "version": "4.59.0",
1223
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz",
1224
+ "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==",
1225
+ "cpu": [
1226
+ "x64"
1227
+ ],
1228
+ "dev": true,
1229
+ "license": "MIT",
1230
+ "optional": true,
1231
+ "os": [
1232
+ "linux"
1233
+ ]
1234
+ },
1235
+ "node_modules/@rollup/rollup-openbsd-x64": {
1236
+ "version": "4.59.0",
1237
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz",
1238
+ "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==",
1239
+ "cpu": [
1240
+ "x64"
1241
+ ],
1242
+ "dev": true,
1243
+ "license": "MIT",
1244
+ "optional": true,
1245
+ "os": [
1246
+ "openbsd"
1247
+ ]
1248
+ },
1249
+ "node_modules/@rollup/rollup-openharmony-arm64": {
1250
+ "version": "4.59.0",
1251
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz",
1252
+ "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==",
1253
+ "cpu": [
1254
+ "arm64"
1255
+ ],
1256
+ "dev": true,
1257
+ "license": "MIT",
1258
+ "optional": true,
1259
+ "os": [
1260
+ "openharmony"
1261
+ ]
1262
+ },
1263
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
1264
+ "version": "4.59.0",
1265
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz",
1266
+ "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==",
1267
+ "cpu": [
1268
+ "arm64"
1269
+ ],
1270
+ "dev": true,
1271
+ "license": "MIT",
1272
+ "optional": true,
1273
+ "os": [
1274
+ "win32"
1275
+ ]
1276
+ },
1277
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
1278
+ "version": "4.59.0",
1279
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz",
1280
+ "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==",
1281
+ "cpu": [
1282
+ "ia32"
1283
+ ],
1284
+ "dev": true,
1285
+ "license": "MIT",
1286
+ "optional": true,
1287
+ "os": [
1288
+ "win32"
1289
+ ]
1290
+ },
1291
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
1292
+ "version": "4.59.0",
1293
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz",
1294
+ "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==",
1295
+ "cpu": [
1296
+ "x64"
1297
+ ],
1298
+ "dev": true,
1299
+ "license": "MIT",
1300
+ "optional": true,
1301
+ "os": [
1302
+ "win32"
1303
+ ]
1304
+ },
1305
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
1306
+ "version": "4.59.0",
1307
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz",
1308
+ "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==",
1309
+ "cpu": [
1310
+ "x64"
1311
+ ],
1312
+ "dev": true,
1313
+ "license": "MIT",
1314
+ "optional": true,
1315
+ "os": [
1316
+ "win32"
1317
+ ]
1318
+ },
1319
+ "node_modules/@tweenjs/tween.js": {
1320
+ "version": "23.1.3",
1321
+ "resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-23.1.3.tgz",
1322
+ "integrity": "sha512-vJmvvwFxYuGnF2axRtPYocag6Clbb5YS7kLL+SO/TeVFzHqDIWrNKYtcsPMibjDx9O+bu+psAy9NKfWklassUA==",
1323
+ "license": "MIT"
1324
+ },
1325
+ "node_modules/@types/babel__core": {
1326
+ "version": "7.20.5",
1327
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
1328
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
1329
+ "dev": true,
1330
+ "license": "MIT",
1331
+ "dependencies": {
1332
+ "@babel/parser": "^7.20.7",
1333
+ "@babel/types": "^7.20.7",
1334
+ "@types/babel__generator": "*",
1335
+ "@types/babel__template": "*",
1336
+ "@types/babel__traverse": "*"
1337
+ }
1338
+ },
1339
+ "node_modules/@types/babel__generator": {
1340
+ "version": "7.27.0",
1341
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
1342
+ "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
1343
+ "dev": true,
1344
+ "license": "MIT",
1345
+ "dependencies": {
1346
+ "@babel/types": "^7.0.0"
1347
+ }
1348
+ },
1349
+ "node_modules/@types/babel__template": {
1350
+ "version": "7.4.4",
1351
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
1352
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
1353
+ "dev": true,
1354
+ "license": "MIT",
1355
+ "dependencies": {
1356
+ "@babel/parser": "^7.1.0",
1357
+ "@babel/types": "^7.0.0"
1358
+ }
1359
+ },
1360
+ "node_modules/@types/babel__traverse": {
1361
+ "version": "7.28.0",
1362
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
1363
+ "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
1364
+ "dev": true,
1365
+ "license": "MIT",
1366
+ "dependencies": {
1367
+ "@babel/types": "^7.28.2"
1368
+ }
1369
+ },
1370
+ "node_modules/@types/draco3d": {
1371
+ "version": "1.4.10",
1372
+ "resolved": "https://registry.npmjs.org/@types/draco3d/-/draco3d-1.4.10.tgz",
1373
+ "integrity": "sha512-AX22jp8Y7wwaBgAixaSvkoG4M/+PlAcm3Qs4OW8yT9DM4xUpWKeFhLueTAyZF39pviAdcDdeJoACapiAceqNcw==",
1374
+ "license": "MIT"
1375
+ },
1376
+ "node_modules/@types/estree": {
1377
+ "version": "1.0.8",
1378
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
1379
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
1380
+ "dev": true,
1381
+ "license": "MIT"
1382
+ },
1383
+ "node_modules/@types/offscreencanvas": {
1384
+ "version": "2019.7.3",
1385
+ "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz",
1386
+ "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==",
1387
+ "license": "MIT"
1388
+ },
1389
+ "node_modules/@types/prop-types": {
1390
+ "version": "15.7.15",
1391
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
1392
+ "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
1393
+ "license": "MIT"
1394
+ },
1395
+ "node_modules/@types/react": {
1396
+ "version": "18.3.28",
1397
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz",
1398
+ "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
1399
+ "license": "MIT",
1400
+ "peer": true,
1401
+ "dependencies": {
1402
+ "@types/prop-types": "*",
1403
+ "csstype": "^3.2.2"
1404
+ }
1405
+ },
1406
+ "node_modules/@types/react-dom": {
1407
+ "version": "18.3.7",
1408
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz",
1409
+ "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==",
1410
+ "dev": true,
1411
+ "license": "MIT",
1412
+ "peerDependencies": {
1413
+ "@types/react": "^18.0.0"
1414
+ }
1415
+ },
1416
+ "node_modules/@types/react-reconciler": {
1417
+ "version": "0.26.7",
1418
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.26.7.tgz",
1419
+ "integrity": "sha512-mBDYl8x+oyPX/VBb3E638N0B7xG+SPk/EAMcVPeexqus/5aTpTphQi0curhhshOqRrc9t6OPoJfEUkbymse/lQ==",
1420
+ "license": "MIT",
1421
+ "dependencies": {
1422
+ "@types/react": "*"
1423
+ }
1424
+ },
1425
+ "node_modules/@types/stats.js": {
1426
+ "version": "0.17.4",
1427
+ "resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.4.tgz",
1428
+ "integrity": "sha512-jIBvWWShCvlBqBNIZt0KAshWpvSjhkwkEu4ZUcASoAvhmrgAUI2t1dXrjSL4xXVLB4FznPrIsX3nKXFl/Dt4vA==",
1429
+ "license": "MIT"
1430
+ },
1431
+ "node_modules/@types/three": {
1432
+ "version": "0.183.1",
1433
+ "resolved": "https://registry.npmjs.org/@types/three/-/three-0.183.1.tgz",
1434
+ "integrity": "sha512-f2Pu5Hrepfgavttdye3PsH5RWyY/AvdZQwIVhrc4uNtvF7nOWJacQKcoVJn0S4f0yYbmAE6AR+ve7xDcuYtMGw==",
1435
+ "license": "MIT",
1436
+ "peer": true,
1437
+ "dependencies": {
1438
+ "@dimforge/rapier3d-compat": "~0.12.0",
1439
+ "@tweenjs/tween.js": "~23.1.3",
1440
+ "@types/stats.js": "*",
1441
+ "@types/webxr": ">=0.5.17",
1442
+ "@webgpu/types": "*",
1443
+ "fflate": "~0.8.2",
1444
+ "meshoptimizer": "~1.0.1"
1445
+ }
1446
+ },
1447
+ "node_modules/@types/webxr": {
1448
+ "version": "0.5.24",
1449
+ "resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.24.tgz",
1450
+ "integrity": "sha512-h8fgEd/DpoS9CBrjEQXR+dIDraopAEfu4wYVNY2tEPwk60stPWhvZMf4Foo5FakuQ7HFZoa8WceaWFervK2Ovg==",
1451
+ "license": "MIT"
1452
+ },
1453
+ "node_modules/@use-gesture/core": {
1454
+ "version": "10.3.1",
1455
+ "resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.3.1.tgz",
1456
+ "integrity": "sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==",
1457
+ "license": "MIT"
1458
+ },
1459
+ "node_modules/@use-gesture/react": {
1460
+ "version": "10.3.1",
1461
+ "resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.3.1.tgz",
1462
+ "integrity": "sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==",
1463
+ "license": "MIT",
1464
+ "dependencies": {
1465
+ "@use-gesture/core": "10.3.1"
1466
+ },
1467
+ "peerDependencies": {
1468
+ "react": ">= 16.8.0"
1469
+ }
1470
+ },
1471
+ "node_modules/@vitejs/plugin-react": {
1472
+ "version": "4.7.0",
1473
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
1474
+ "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
1475
+ "dev": true,
1476
+ "license": "MIT",
1477
+ "dependencies": {
1478
+ "@babel/core": "^7.28.0",
1479
+ "@babel/plugin-transform-react-jsx-self": "^7.27.1",
1480
+ "@babel/plugin-transform-react-jsx-source": "^7.27.1",
1481
+ "@rolldown/pluginutils": "1.0.0-beta.27",
1482
+ "@types/babel__core": "^7.20.5",
1483
+ "react-refresh": "^0.17.0"
1484
+ },
1485
+ "engines": {
1486
+ "node": "^14.18.0 || >=16.0.0"
1487
+ },
1488
+ "peerDependencies": {
1489
+ "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
1490
+ }
1491
+ },
1492
+ "node_modules/@webgpu/types": {
1493
+ "version": "0.1.69",
1494
+ "resolved": "https://registry.npmjs.org/@webgpu/types/-/types-0.1.69.tgz",
1495
+ "integrity": "sha512-RPmm6kgRbI8e98zSD3RVACvnuktIja5+yLgDAkTmxLr90BEwdTXRQWNLF3ETTTyH/8mKhznZuN5AveXYFEsMGQ==",
1496
+ "license": "BSD-3-Clause"
1497
+ },
1498
+ "node_modules/base64-js": {
1499
+ "version": "1.5.1",
1500
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
1501
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
1502
+ "funding": [
1503
+ {
1504
+ "type": "github",
1505
+ "url": "https://github.com/sponsors/feross"
1506
+ },
1507
+ {
1508
+ "type": "patreon",
1509
+ "url": "https://www.patreon.com/feross"
1510
+ },
1511
+ {
1512
+ "type": "consulting",
1513
+ "url": "https://feross.org/support"
1514
+ }
1515
+ ],
1516
+ "license": "MIT"
1517
+ },
1518
+ "node_modules/baseline-browser-mapping": {
1519
+ "version": "2.10.9",
1520
+ "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.9.tgz",
1521
+ "integrity": "sha512-OZd0e2mU11ClX8+IdXe3r0dbqMEznRiT4TfbhYIbcRPZkqJ7Qwer8ij3GZAmLsRKa+II9V1v5czCkvmHH3XZBg==",
1522
+ "dev": true,
1523
+ "license": "Apache-2.0",
1524
+ "bin": {
1525
+ "baseline-browser-mapping": "dist/cli.cjs"
1526
+ },
1527
+ "engines": {
1528
+ "node": ">=6.0.0"
1529
+ }
1530
+ },
1531
+ "node_modules/bidi-js": {
1532
+ "version": "1.0.3",
1533
+ "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz",
1534
+ "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==",
1535
+ "license": "MIT",
1536
+ "dependencies": {
1537
+ "require-from-string": "^2.0.2"
1538
+ }
1539
+ },
1540
+ "node_modules/browserslist": {
1541
+ "version": "4.28.1",
1542
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
1543
+ "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
1544
+ "dev": true,
1545
+ "funding": [
1546
+ {
1547
+ "type": "opencollective",
1548
+ "url": "https://opencollective.com/browserslist"
1549
+ },
1550
+ {
1551
+ "type": "tidelift",
1552
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
1553
+ },
1554
+ {
1555
+ "type": "github",
1556
+ "url": "https://github.com/sponsors/ai"
1557
+ }
1558
+ ],
1559
+ "license": "MIT",
1560
+ "peer": true,
1561
+ "dependencies": {
1562
+ "baseline-browser-mapping": "^2.9.0",
1563
+ "caniuse-lite": "^1.0.30001759",
1564
+ "electron-to-chromium": "^1.5.263",
1565
+ "node-releases": "^2.0.27",
1566
+ "update-browserslist-db": "^1.2.0"
1567
+ },
1568
+ "bin": {
1569
+ "browserslist": "cli.js"
1570
+ },
1571
+ "engines": {
1572
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
1573
+ }
1574
+ },
1575
+ "node_modules/buffer": {
1576
+ "version": "6.0.3",
1577
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
1578
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
1579
+ "funding": [
1580
+ {
1581
+ "type": "github",
1582
+ "url": "https://github.com/sponsors/feross"
1583
+ },
1584
+ {
1585
+ "type": "patreon",
1586
+ "url": "https://www.patreon.com/feross"
1587
+ },
1588
+ {
1589
+ "type": "consulting",
1590
+ "url": "https://feross.org/support"
1591
+ }
1592
+ ],
1593
+ "license": "MIT",
1594
+ "dependencies": {
1595
+ "base64-js": "^1.3.1",
1596
+ "ieee754": "^1.2.1"
1597
+ }
1598
+ },
1599
+ "node_modules/camera-controls": {
1600
+ "version": "2.10.1",
1601
+ "resolved": "https://registry.npmjs.org/camera-controls/-/camera-controls-2.10.1.tgz",
1602
+ "integrity": "sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==",
1603
+ "license": "MIT",
1604
+ "peerDependencies": {
1605
+ "three": ">=0.126.1"
1606
+ }
1607
+ },
1608
+ "node_modules/caniuse-lite": {
1609
+ "version": "1.0.30001780",
1610
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz",
1611
+ "integrity": "sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==",
1612
+ "dev": true,
1613
+ "funding": [
1614
+ {
1615
+ "type": "opencollective",
1616
+ "url": "https://opencollective.com/browserslist"
1617
+ },
1618
+ {
1619
+ "type": "tidelift",
1620
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
1621
+ },
1622
+ {
1623
+ "type": "github",
1624
+ "url": "https://github.com/sponsors/ai"
1625
+ }
1626
+ ],
1627
+ "license": "CC-BY-4.0"
1628
+ },
1629
+ "node_modules/convert-source-map": {
1630
+ "version": "2.0.0",
1631
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
1632
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
1633
+ "dev": true,
1634
+ "license": "MIT"
1635
+ },
1636
+ "node_modules/cross-env": {
1637
+ "version": "7.0.3",
1638
+ "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
1639
+ "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
1640
+ "license": "MIT",
1641
+ "dependencies": {
1642
+ "cross-spawn": "^7.0.1"
1643
+ },
1644
+ "bin": {
1645
+ "cross-env": "src/bin/cross-env.js",
1646
+ "cross-env-shell": "src/bin/cross-env-shell.js"
1647
+ },
1648
+ "engines": {
1649
+ "node": ">=10.14",
1650
+ "npm": ">=6",
1651
+ "yarn": ">=1"
1652
+ }
1653
+ },
1654
+ "node_modules/cross-spawn": {
1655
+ "version": "7.0.6",
1656
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
1657
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
1658
+ "license": "MIT",
1659
+ "dependencies": {
1660
+ "path-key": "^3.1.0",
1661
+ "shebang-command": "^2.0.0",
1662
+ "which": "^2.0.1"
1663
+ },
1664
+ "engines": {
1665
+ "node": ">= 8"
1666
+ }
1667
+ },
1668
+ "node_modules/csstype": {
1669
+ "version": "3.2.3",
1670
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
1671
+ "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
1672
+ "license": "MIT"
1673
+ },
1674
+ "node_modules/debug": {
1675
+ "version": "4.4.3",
1676
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1677
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1678
+ "dev": true,
1679
+ "license": "MIT",
1680
+ "dependencies": {
1681
+ "ms": "^2.1.3"
1682
+ },
1683
+ "engines": {
1684
+ "node": ">=6.0"
1685
+ },
1686
+ "peerDependenciesMeta": {
1687
+ "supports-color": {
1688
+ "optional": true
1689
+ }
1690
+ }
1691
+ },
1692
+ "node_modules/detect-gpu": {
1693
+ "version": "5.0.70",
1694
+ "resolved": "https://registry.npmjs.org/detect-gpu/-/detect-gpu-5.0.70.tgz",
1695
+ "integrity": "sha512-bqerEP1Ese6nt3rFkwPnGbsUF9a4q+gMmpTVVOEzoCyeCc+y7/RvJnQZJx1JwhgQI5Ntg0Kgat8Uu7XpBqnz1w==",
1696
+ "license": "MIT",
1697
+ "dependencies": {
1698
+ "webgl-constants": "^1.1.1"
1699
+ }
1700
+ },
1701
+ "node_modules/draco3d": {
1702
+ "version": "1.5.7",
1703
+ "resolved": "https://registry.npmjs.org/draco3d/-/draco3d-1.5.7.tgz",
1704
+ "integrity": "sha512-m6WCKt/erDXcw+70IJXnG7M3awwQPAsZvJGX5zY7beBqpELw6RDGkYVU0W43AFxye4pDZ5i2Lbyc/NNGqwjUVQ==",
1705
+ "license": "Apache-2.0"
1706
+ },
1707
+ "node_modules/electron-to-chromium": {
1708
+ "version": "1.5.321",
1709
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz",
1710
+ "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==",
1711
+ "dev": true,
1712
+ "license": "ISC"
1713
+ },
1714
+ "node_modules/esbuild": {
1715
+ "version": "0.21.5",
1716
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
1717
+ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
1718
+ "dev": true,
1719
+ "hasInstallScript": true,
1720
+ "license": "MIT",
1721
+ "bin": {
1722
+ "esbuild": "bin/esbuild"
1723
+ },
1724
+ "engines": {
1725
+ "node": ">=12"
1726
+ },
1727
+ "optionalDependencies": {
1728
+ "@esbuild/aix-ppc64": "0.21.5",
1729
+ "@esbuild/android-arm": "0.21.5",
1730
+ "@esbuild/android-arm64": "0.21.5",
1731
+ "@esbuild/android-x64": "0.21.5",
1732
+ "@esbuild/darwin-arm64": "0.21.5",
1733
+ "@esbuild/darwin-x64": "0.21.5",
1734
+ "@esbuild/freebsd-arm64": "0.21.5",
1735
+ "@esbuild/freebsd-x64": "0.21.5",
1736
+ "@esbuild/linux-arm": "0.21.5",
1737
+ "@esbuild/linux-arm64": "0.21.5",
1738
+ "@esbuild/linux-ia32": "0.21.5",
1739
+ "@esbuild/linux-loong64": "0.21.5",
1740
+ "@esbuild/linux-mips64el": "0.21.5",
1741
+ "@esbuild/linux-ppc64": "0.21.5",
1742
+ "@esbuild/linux-riscv64": "0.21.5",
1743
+ "@esbuild/linux-s390x": "0.21.5",
1744
+ "@esbuild/linux-x64": "0.21.5",
1745
+ "@esbuild/netbsd-x64": "0.21.5",
1746
+ "@esbuild/openbsd-x64": "0.21.5",
1747
+ "@esbuild/sunos-x64": "0.21.5",
1748
+ "@esbuild/win32-arm64": "0.21.5",
1749
+ "@esbuild/win32-ia32": "0.21.5",
1750
+ "@esbuild/win32-x64": "0.21.5"
1751
+ }
1752
+ },
1753
+ "node_modules/escalade": {
1754
+ "version": "3.2.0",
1755
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
1756
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
1757
+ "dev": true,
1758
+ "license": "MIT",
1759
+ "engines": {
1760
+ "node": ">=6"
1761
+ }
1762
+ },
1763
+ "node_modules/fflate": {
1764
+ "version": "0.8.2",
1765
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz",
1766
+ "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==",
1767
+ "license": "MIT"
1768
+ },
1769
+ "node_modules/fsevents": {
1770
+ "version": "2.3.3",
1771
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1772
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1773
+ "dev": true,
1774
+ "hasInstallScript": true,
1775
+ "license": "MIT",
1776
+ "optional": true,
1777
+ "os": [
1778
+ "darwin"
1779
+ ],
1780
+ "engines": {
1781
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1782
+ }
1783
+ },
1784
+ "node_modules/gensync": {
1785
+ "version": "1.0.0-beta.2",
1786
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
1787
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
1788
+ "dev": true,
1789
+ "license": "MIT",
1790
+ "engines": {
1791
+ "node": ">=6.9.0"
1792
+ }
1793
+ },
1794
+ "node_modules/glsl-noise": {
1795
+ "version": "0.0.0",
1796
+ "resolved": "https://registry.npmjs.org/glsl-noise/-/glsl-noise-0.0.0.tgz",
1797
+ "integrity": "sha512-b/ZCF6amfAUb7dJM/MxRs7AetQEahYzJ8PtgfrmEdtw6uyGOr+ZSGtgjFm6mfsBkxJ4d2W7kg+Nlqzqvn3Bc0w==",
1798
+ "license": "MIT"
1799
+ },
1800
+ "node_modules/hls.js": {
1801
+ "version": "1.6.15",
1802
+ "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.6.15.tgz",
1803
+ "integrity": "sha512-E3a5VwgXimGHwpRGV+WxRTKeSp2DW5DI5MWv34ulL3t5UNmyJWCQ1KmLEHbYzcfThfXG8amBL+fCYPneGHC4VA==",
1804
+ "license": "Apache-2.0"
1805
+ },
1806
+ "node_modules/ieee754": {
1807
+ "version": "1.2.1",
1808
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
1809
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
1810
+ "funding": [
1811
+ {
1812
+ "type": "github",
1813
+ "url": "https://github.com/sponsors/feross"
1814
+ },
1815
+ {
1816
+ "type": "patreon",
1817
+ "url": "https://www.patreon.com/feross"
1818
+ },
1819
+ {
1820
+ "type": "consulting",
1821
+ "url": "https://feross.org/support"
1822
+ }
1823
+ ],
1824
+ "license": "BSD-3-Clause"
1825
+ },
1826
+ "node_modules/immediate": {
1827
+ "version": "3.0.6",
1828
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
1829
+ "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==",
1830
+ "license": "MIT"
1831
+ },
1832
+ "node_modules/is-promise": {
1833
+ "version": "2.2.2",
1834
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
1835
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
1836
+ "license": "MIT"
1837
+ },
1838
+ "node_modules/isexe": {
1839
+ "version": "2.0.0",
1840
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1841
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1842
+ "license": "ISC"
1843
+ },
1844
+ "node_modules/its-fine": {
1845
+ "version": "1.2.5",
1846
+ "resolved": "https://registry.npmjs.org/its-fine/-/its-fine-1.2.5.tgz",
1847
+ "integrity": "sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==",
1848
+ "license": "MIT",
1849
+ "dependencies": {
1850
+ "@types/react-reconciler": "^0.28.0"
1851
+ },
1852
+ "peerDependencies": {
1853
+ "react": ">=18.0"
1854
+ }
1855
+ },
1856
+ "node_modules/its-fine/node_modules/@types/react-reconciler": {
1857
+ "version": "0.28.9",
1858
+ "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.9.tgz",
1859
+ "integrity": "sha512-HHM3nxyUZ3zAylX8ZEyrDNd2XZOnQ0D5XfunJF5FLQnZbHHYq4UWvW1QfelQNXv1ICNkwYhfxjwfnqivYB6bFg==",
1860
+ "license": "MIT",
1861
+ "peerDependencies": {
1862
+ "@types/react": "*"
1863
+ }
1864
+ },
1865
+ "node_modules/js-tokens": {
1866
+ "version": "4.0.0",
1867
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1868
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1869
+ "license": "MIT"
1870
+ },
1871
+ "node_modules/jsesc": {
1872
+ "version": "3.1.0",
1873
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
1874
+ "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
1875
+ "dev": true,
1876
+ "license": "MIT",
1877
+ "bin": {
1878
+ "jsesc": "bin/jsesc"
1879
+ },
1880
+ "engines": {
1881
+ "node": ">=6"
1882
+ }
1883
+ },
1884
+ "node_modules/json5": {
1885
+ "version": "2.2.3",
1886
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
1887
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
1888
+ "dev": true,
1889
+ "license": "MIT",
1890
+ "bin": {
1891
+ "json5": "lib/cli.js"
1892
+ },
1893
+ "engines": {
1894
+ "node": ">=6"
1895
+ }
1896
+ },
1897
+ "node_modules/lie": {
1898
+ "version": "3.3.0",
1899
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
1900
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
1901
+ "license": "MIT",
1902
+ "dependencies": {
1903
+ "immediate": "~3.0.5"
1904
+ }
1905
+ },
1906
+ "node_modules/loose-envify": {
1907
+ "version": "1.4.0",
1908
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1909
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1910
+ "license": "MIT",
1911
+ "dependencies": {
1912
+ "js-tokens": "^3.0.0 || ^4.0.0"
1913
+ },
1914
+ "bin": {
1915
+ "loose-envify": "cli.js"
1916
+ }
1917
+ },
1918
+ "node_modules/lru-cache": {
1919
+ "version": "5.1.1",
1920
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
1921
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
1922
+ "dev": true,
1923
+ "license": "ISC",
1924
+ "dependencies": {
1925
+ "yallist": "^3.0.2"
1926
+ }
1927
+ },
1928
+ "node_modules/maath": {
1929
+ "version": "0.10.8",
1930
+ "resolved": "https://registry.npmjs.org/maath/-/maath-0.10.8.tgz",
1931
+ "integrity": "sha512-tRvbDF0Pgqz+9XUa4jjfgAQ8/aPKmQdWXilFu2tMy4GWj4NOsx99HlULO4IeREfbO3a0sA145DZYyvXPkybm0g==",
1932
+ "license": "MIT",
1933
+ "peerDependencies": {
1934
+ "@types/three": ">=0.134.0",
1935
+ "three": ">=0.134.0"
1936
+ }
1937
+ },
1938
+ "node_modules/meshline": {
1939
+ "version": "3.3.1",
1940
+ "resolved": "https://registry.npmjs.org/meshline/-/meshline-3.3.1.tgz",
1941
+ "integrity": "sha512-/TQj+JdZkeSUOl5Mk2J7eLcYTLiQm2IDzmlSvYm7ov15anEcDJ92GHqqazxTSreeNgfnYu24kiEvvv0WlbCdFQ==",
1942
+ "license": "MIT",
1943
+ "peerDependencies": {
1944
+ "three": ">=0.137"
1945
+ }
1946
+ },
1947
+ "node_modules/meshoptimizer": {
1948
+ "version": "1.0.1",
1949
+ "resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-1.0.1.tgz",
1950
+ "integrity": "sha512-Vix+QlA1YYT3FwmBBZ+49cE5y/b+pRrcXKqGpS5ouh33d3lSp2PoTpCw19E0cKDFWalembrHnIaZetf27a+W2g==",
1951
+ "license": "MIT"
1952
+ },
1953
+ "node_modules/ms": {
1954
+ "version": "2.1.3",
1955
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1956
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1957
+ "dev": true,
1958
+ "license": "MIT"
1959
+ },
1960
+ "node_modules/nanoid": {
1961
+ "version": "3.3.11",
1962
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
1963
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
1964
+ "dev": true,
1965
+ "funding": [
1966
+ {
1967
+ "type": "github",
1968
+ "url": "https://github.com/sponsors/ai"
1969
+ }
1970
+ ],
1971
+ "license": "MIT",
1972
+ "bin": {
1973
+ "nanoid": "bin/nanoid.cjs"
1974
+ },
1975
+ "engines": {
1976
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1977
+ }
1978
+ },
1979
+ "node_modules/node-releases": {
1980
+ "version": "2.0.36",
1981
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz",
1982
+ "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==",
1983
+ "dev": true,
1984
+ "license": "MIT"
1985
+ },
1986
+ "node_modules/object-assign": {
1987
+ "version": "4.1.1",
1988
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1989
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
1990
+ "license": "MIT",
1991
+ "engines": {
1992
+ "node": ">=0.10.0"
1993
+ }
1994
+ },
1995
+ "node_modules/path-key": {
1996
+ "version": "3.1.1",
1997
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1998
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1999
+ "license": "MIT",
2000
+ "engines": {
2001
+ "node": ">=8"
2002
+ }
2003
+ },
2004
+ "node_modules/picocolors": {
2005
+ "version": "1.1.1",
2006
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
2007
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
2008
+ "dev": true,
2009
+ "license": "ISC"
2010
+ },
2011
+ "node_modules/postcss": {
2012
+ "version": "8.5.8",
2013
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
2014
+ "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
2015
+ "dev": true,
2016
+ "funding": [
2017
+ {
2018
+ "type": "opencollective",
2019
+ "url": "https://opencollective.com/postcss/"
2020
+ },
2021
+ {
2022
+ "type": "tidelift",
2023
+ "url": "https://tidelift.com/funding/github/npm/postcss"
2024
+ },
2025
+ {
2026
+ "type": "github",
2027
+ "url": "https://github.com/sponsors/ai"
2028
+ }
2029
+ ],
2030
+ "license": "MIT",
2031
+ "dependencies": {
2032
+ "nanoid": "^3.3.11",
2033
+ "picocolors": "^1.1.1",
2034
+ "source-map-js": "^1.2.1"
2035
+ },
2036
+ "engines": {
2037
+ "node": "^10 || ^12 || >=14"
2038
+ }
2039
+ },
2040
+ "node_modules/potpack": {
2041
+ "version": "1.0.2",
2042
+ "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz",
2043
+ "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==",
2044
+ "license": "ISC"
2045
+ },
2046
+ "node_modules/promise-worker-transferable": {
2047
+ "version": "1.0.4",
2048
+ "resolved": "https://registry.npmjs.org/promise-worker-transferable/-/promise-worker-transferable-1.0.4.tgz",
2049
+ "integrity": "sha512-bN+0ehEnrXfxV2ZQvU2PetO0n4gqBD4ulq3MI1WOPLgr7/Mg9yRQkX5+0v1vagr74ZTsl7XtzlaYDo2EuCeYJw==",
2050
+ "license": "Apache-2.0",
2051
+ "dependencies": {
2052
+ "is-promise": "^2.1.0",
2053
+ "lie": "^3.0.2"
2054
+ }
2055
+ },
2056
+ "node_modules/prop-types": {
2057
+ "version": "15.8.1",
2058
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
2059
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
2060
+ "license": "MIT",
2061
+ "dependencies": {
2062
+ "loose-envify": "^1.4.0",
2063
+ "object-assign": "^4.1.1",
2064
+ "react-is": "^16.13.1"
2065
+ }
2066
+ },
2067
+ "node_modules/react": {
2068
+ "version": "18.3.1",
2069
+ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
2070
+ "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
2071
+ "license": "MIT",
2072
+ "peer": true,
2073
+ "dependencies": {
2074
+ "loose-envify": "^1.1.0"
2075
+ },
2076
+ "engines": {
2077
+ "node": ">=0.10.0"
2078
+ }
2079
+ },
2080
+ "node_modules/react-composer": {
2081
+ "version": "5.0.3",
2082
+ "resolved": "https://registry.npmjs.org/react-composer/-/react-composer-5.0.3.tgz",
2083
+ "integrity": "sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==",
2084
+ "license": "MIT",
2085
+ "dependencies": {
2086
+ "prop-types": "^15.6.0"
2087
+ },
2088
+ "peerDependencies": {
2089
+ "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0"
2090
+ }
2091
+ },
2092
+ "node_modules/react-dom": {
2093
+ "version": "18.3.1",
2094
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
2095
+ "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
2096
+ "license": "MIT",
2097
+ "peer": true,
2098
+ "dependencies": {
2099
+ "loose-envify": "^1.1.0",
2100
+ "scheduler": "^0.23.2"
2101
+ },
2102
+ "peerDependencies": {
2103
+ "react": "^18.3.1"
2104
+ }
2105
+ },
2106
+ "node_modules/react-dom/node_modules/scheduler": {
2107
+ "version": "0.23.2",
2108
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
2109
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
2110
+ "license": "MIT",
2111
+ "dependencies": {
2112
+ "loose-envify": "^1.1.0"
2113
+ }
2114
+ },
2115
+ "node_modules/react-is": {
2116
+ "version": "16.13.1",
2117
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
2118
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
2119
+ "license": "MIT"
2120
+ },
2121
+ "node_modules/react-reconciler": {
2122
+ "version": "0.27.0",
2123
+ "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.27.0.tgz",
2124
+ "integrity": "sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==",
2125
+ "license": "MIT",
2126
+ "dependencies": {
2127
+ "loose-envify": "^1.1.0",
2128
+ "scheduler": "^0.21.0"
2129
+ },
2130
+ "engines": {
2131
+ "node": ">=0.10.0"
2132
+ },
2133
+ "peerDependencies": {
2134
+ "react": "^18.0.0"
2135
+ }
2136
+ },
2137
+ "node_modules/react-refresh": {
2138
+ "version": "0.17.0",
2139
+ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
2140
+ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
2141
+ "dev": true,
2142
+ "license": "MIT",
2143
+ "engines": {
2144
+ "node": ">=0.10.0"
2145
+ }
2146
+ },
2147
+ "node_modules/react-use-measure": {
2148
+ "version": "2.1.7",
2149
+ "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.7.tgz",
2150
+ "integrity": "sha512-KrvcAo13I/60HpwGO5jpW7E9DfusKyLPLvuHlUyP5zqnmAPhNc6qTRjUQrdTADl0lpPpDVU2/Gg51UlOGHXbdg==",
2151
+ "license": "MIT",
2152
+ "peerDependencies": {
2153
+ "react": ">=16.13",
2154
+ "react-dom": ">=16.13"
2155
+ },
2156
+ "peerDependenciesMeta": {
2157
+ "react-dom": {
2158
+ "optional": true
2159
+ }
2160
+ }
2161
+ },
2162
+ "node_modules/require-from-string": {
2163
+ "version": "2.0.2",
2164
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
2165
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
2166
+ "license": "MIT",
2167
+ "engines": {
2168
+ "node": ">=0.10.0"
2169
+ }
2170
+ },
2171
+ "node_modules/rollup": {
2172
+ "version": "4.59.0",
2173
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz",
2174
+ "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==",
2175
+ "dev": true,
2176
+ "license": "MIT",
2177
+ "dependencies": {
2178
+ "@types/estree": "1.0.8"
2179
+ },
2180
+ "bin": {
2181
+ "rollup": "dist/bin/rollup"
2182
+ },
2183
+ "engines": {
2184
+ "node": ">=18.0.0",
2185
+ "npm": ">=8.0.0"
2186
+ },
2187
+ "optionalDependencies": {
2188
+ "@rollup/rollup-android-arm-eabi": "4.59.0",
2189
+ "@rollup/rollup-android-arm64": "4.59.0",
2190
+ "@rollup/rollup-darwin-arm64": "4.59.0",
2191
+ "@rollup/rollup-darwin-x64": "4.59.0",
2192
+ "@rollup/rollup-freebsd-arm64": "4.59.0",
2193
+ "@rollup/rollup-freebsd-x64": "4.59.0",
2194
+ "@rollup/rollup-linux-arm-gnueabihf": "4.59.0",
2195
+ "@rollup/rollup-linux-arm-musleabihf": "4.59.0",
2196
+ "@rollup/rollup-linux-arm64-gnu": "4.59.0",
2197
+ "@rollup/rollup-linux-arm64-musl": "4.59.0",
2198
+ "@rollup/rollup-linux-loong64-gnu": "4.59.0",
2199
+ "@rollup/rollup-linux-loong64-musl": "4.59.0",
2200
+ "@rollup/rollup-linux-ppc64-gnu": "4.59.0",
2201
+ "@rollup/rollup-linux-ppc64-musl": "4.59.0",
2202
+ "@rollup/rollup-linux-riscv64-gnu": "4.59.0",
2203
+ "@rollup/rollup-linux-riscv64-musl": "4.59.0",
2204
+ "@rollup/rollup-linux-s390x-gnu": "4.59.0",
2205
+ "@rollup/rollup-linux-x64-gnu": "4.59.0",
2206
+ "@rollup/rollup-linux-x64-musl": "4.59.0",
2207
+ "@rollup/rollup-openbsd-x64": "4.59.0",
2208
+ "@rollup/rollup-openharmony-arm64": "4.59.0",
2209
+ "@rollup/rollup-win32-arm64-msvc": "4.59.0",
2210
+ "@rollup/rollup-win32-ia32-msvc": "4.59.0",
2211
+ "@rollup/rollup-win32-x64-gnu": "4.59.0",
2212
+ "@rollup/rollup-win32-x64-msvc": "4.59.0",
2213
+ "fsevents": "~2.3.2"
2214
+ }
2215
+ },
2216
+ "node_modules/scheduler": {
2217
+ "version": "0.21.0",
2218
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz",
2219
+ "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==",
2220
+ "license": "MIT",
2221
+ "dependencies": {
2222
+ "loose-envify": "^1.1.0"
2223
+ }
2224
+ },
2225
+ "node_modules/semver": {
2226
+ "version": "6.3.1",
2227
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
2228
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
2229
+ "dev": true,
2230
+ "license": "ISC",
2231
+ "bin": {
2232
+ "semver": "bin/semver.js"
2233
+ }
2234
+ },
2235
+ "node_modules/shebang-command": {
2236
+ "version": "2.0.0",
2237
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2238
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2239
+ "license": "MIT",
2240
+ "dependencies": {
2241
+ "shebang-regex": "^3.0.0"
2242
+ },
2243
+ "engines": {
2244
+ "node": ">=8"
2245
+ }
2246
+ },
2247
+ "node_modules/shebang-regex": {
2248
+ "version": "3.0.0",
2249
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2250
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2251
+ "license": "MIT",
2252
+ "engines": {
2253
+ "node": ">=8"
2254
+ }
2255
+ },
2256
+ "node_modules/source-map-js": {
2257
+ "version": "1.2.1",
2258
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
2259
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
2260
+ "dev": true,
2261
+ "license": "BSD-3-Clause",
2262
+ "engines": {
2263
+ "node": ">=0.10.0"
2264
+ }
2265
+ },
2266
+ "node_modules/stats-gl": {
2267
+ "version": "2.4.2",
2268
+ "resolved": "https://registry.npmjs.org/stats-gl/-/stats-gl-2.4.2.tgz",
2269
+ "integrity": "sha512-g5O9B0hm9CvnM36+v7SFl39T7hmAlv541tU81ME8YeSb3i1CIP5/QdDeSB3A0la0bKNHpxpwxOVRo2wFTYEosQ==",
2270
+ "license": "MIT",
2271
+ "dependencies": {
2272
+ "@types/three": "*",
2273
+ "three": "^0.170.0"
2274
+ },
2275
+ "peerDependencies": {
2276
+ "@types/three": "*",
2277
+ "three": "*"
2278
+ }
2279
+ },
2280
+ "node_modules/stats-gl/node_modules/three": {
2281
+ "version": "0.170.0",
2282
+ "resolved": "https://registry.npmjs.org/three/-/three-0.170.0.tgz",
2283
+ "integrity": "sha512-FQK+LEpYc0fBD+J8g6oSEyyNzjp+Q7Ks1C568WWaoMRLW+TkNNWmenWeGgJjV105Gd+p/2ql1ZcjYvNiPZBhuQ==",
2284
+ "license": "MIT"
2285
+ },
2286
+ "node_modules/stats.js": {
2287
+ "version": "0.17.0",
2288
+ "resolved": "https://registry.npmjs.org/stats.js/-/stats.js-0.17.0.tgz",
2289
+ "integrity": "sha512-hNKz8phvYLPEcRkeG1rsGmV5ChMjKDAWU7/OJJdDErPBNChQXxCo3WZurGpnWc6gZhAzEPFad1aVgyOANH1sMw==",
2290
+ "license": "MIT"
2291
+ },
2292
+ "node_modules/suspend-react": {
2293
+ "version": "0.1.3",
2294
+ "resolved": "https://registry.npmjs.org/suspend-react/-/suspend-react-0.1.3.tgz",
2295
+ "integrity": "sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==",
2296
+ "license": "MIT",
2297
+ "peerDependencies": {
2298
+ "react": ">=17.0"
2299
+ }
2300
+ },
2301
+ "node_modules/three": {
2302
+ "version": "0.160.1",
2303
+ "resolved": "https://registry.npmjs.org/three/-/three-0.160.1.tgz",
2304
+ "integrity": "sha512-Bgl2wPJypDOZ1stAxwfWAcJ0WQf7QzlptsxkjYiURPz+n5k4RBDLsq+6f9Y75TYxn6aHLcWz+JNmwTOXWrQTBQ==",
2305
+ "license": "MIT",
2306
+ "peer": true
2307
+ },
2308
+ "node_modules/three-mesh-bvh": {
2309
+ "version": "0.7.8",
2310
+ "resolved": "https://registry.npmjs.org/three-mesh-bvh/-/three-mesh-bvh-0.7.8.tgz",
2311
+ "integrity": "sha512-BGEZTOIC14U0XIRw3tO4jY7IjP7n7v24nv9JXS1CyeVRWOCkcOMhRnmENUjuV39gktAw4Ofhr0OvIAiTspQrrw==",
2312
+ "deprecated": "Deprecated due to three.js version incompatibility. Please use v0.8.0, instead.",
2313
+ "license": "MIT",
2314
+ "peerDependencies": {
2315
+ "three": ">= 0.151.0"
2316
+ }
2317
+ },
2318
+ "node_modules/three-stdlib": {
2319
+ "version": "2.36.1",
2320
+ "resolved": "https://registry.npmjs.org/three-stdlib/-/three-stdlib-2.36.1.tgz",
2321
+ "integrity": "sha512-XyGQrFmNQ5O/IoKm556ftwKsBg11TIb301MB5dWNicziQBEs2g3gtOYIf7pFiLa0zI2gUwhtCjv9fmjnxKZ1Cg==",
2322
+ "license": "MIT",
2323
+ "dependencies": {
2324
+ "@types/draco3d": "^1.4.0",
2325
+ "@types/offscreencanvas": "^2019.6.4",
2326
+ "@types/webxr": "^0.5.2",
2327
+ "draco3d": "^1.4.1",
2328
+ "fflate": "^0.6.9",
2329
+ "potpack": "^1.0.1"
2330
+ },
2331
+ "peerDependencies": {
2332
+ "three": ">=0.128.0"
2333
+ }
2334
+ },
2335
+ "node_modules/three-stdlib/node_modules/fflate": {
2336
+ "version": "0.6.10",
2337
+ "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz",
2338
+ "integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==",
2339
+ "license": "MIT"
2340
+ },
2341
+ "node_modules/troika-three-text": {
2342
+ "version": "0.52.4",
2343
+ "resolved": "https://registry.npmjs.org/troika-three-text/-/troika-three-text-0.52.4.tgz",
2344
+ "integrity": "sha512-V50EwcYGruV5rUZ9F4aNsrytGdKcXKALjEtQXIOBfhVoZU9VAqZNIoGQ3TMiooVqFAbR1w15T+f+8gkzoFzawg==",
2345
+ "license": "MIT",
2346
+ "dependencies": {
2347
+ "bidi-js": "^1.0.2",
2348
+ "troika-three-utils": "^0.52.4",
2349
+ "troika-worker-utils": "^0.52.0",
2350
+ "webgl-sdf-generator": "1.1.1"
2351
+ },
2352
+ "peerDependencies": {
2353
+ "three": ">=0.125.0"
2354
+ }
2355
+ },
2356
+ "node_modules/troika-three-utils": {
2357
+ "version": "0.52.4",
2358
+ "resolved": "https://registry.npmjs.org/troika-three-utils/-/troika-three-utils-0.52.4.tgz",
2359
+ "integrity": "sha512-NORAStSVa/BDiG52Mfudk4j1FG4jC4ILutB3foPnfGbOeIs9+G5vZLa0pnmnaftZUGm4UwSoqEpWdqvC7zms3A==",
2360
+ "license": "MIT",
2361
+ "peerDependencies": {
2362
+ "three": ">=0.125.0"
2363
+ }
2364
+ },
2365
+ "node_modules/troika-worker-utils": {
2366
+ "version": "0.52.0",
2367
+ "resolved": "https://registry.npmjs.org/troika-worker-utils/-/troika-worker-utils-0.52.0.tgz",
2368
+ "integrity": "sha512-W1CpvTHykaPH5brv5VHLfQo9D1OYuo0cSBEUQFFT/nBUzM8iD6Lq2/tgG/f1OelbAS1WtaTPQzE5uM49egnngw==",
2369
+ "license": "MIT"
2370
+ },
2371
+ "node_modules/tunnel-rat": {
2372
+ "version": "0.1.2",
2373
+ "resolved": "https://registry.npmjs.org/tunnel-rat/-/tunnel-rat-0.1.2.tgz",
2374
+ "integrity": "sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==",
2375
+ "license": "MIT",
2376
+ "dependencies": {
2377
+ "zustand": "^4.3.2"
2378
+ }
2379
+ },
2380
+ "node_modules/tunnel-rat/node_modules/zustand": {
2381
+ "version": "4.5.7",
2382
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.7.tgz",
2383
+ "integrity": "sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==",
2384
+ "license": "MIT",
2385
+ "dependencies": {
2386
+ "use-sync-external-store": "^1.2.2"
2387
+ },
2388
+ "engines": {
2389
+ "node": ">=12.7.0"
2390
+ },
2391
+ "peerDependencies": {
2392
+ "@types/react": ">=16.8",
2393
+ "immer": ">=9.0.6",
2394
+ "react": ">=16.8"
2395
+ },
2396
+ "peerDependenciesMeta": {
2397
+ "@types/react": {
2398
+ "optional": true
2399
+ },
2400
+ "immer": {
2401
+ "optional": true
2402
+ },
2403
+ "react": {
2404
+ "optional": true
2405
+ }
2406
+ }
2407
+ },
2408
+ "node_modules/update-browserslist-db": {
2409
+ "version": "1.2.3",
2410
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
2411
+ "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
2412
+ "dev": true,
2413
+ "funding": [
2414
+ {
2415
+ "type": "opencollective",
2416
+ "url": "https://opencollective.com/browserslist"
2417
+ },
2418
+ {
2419
+ "type": "tidelift",
2420
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
2421
+ },
2422
+ {
2423
+ "type": "github",
2424
+ "url": "https://github.com/sponsors/ai"
2425
+ }
2426
+ ],
2427
+ "license": "MIT",
2428
+ "dependencies": {
2429
+ "escalade": "^3.2.0",
2430
+ "picocolors": "^1.1.1"
2431
+ },
2432
+ "bin": {
2433
+ "update-browserslist-db": "cli.js"
2434
+ },
2435
+ "peerDependencies": {
2436
+ "browserslist": ">= 4.21.0"
2437
+ }
2438
+ },
2439
+ "node_modules/use-sync-external-store": {
2440
+ "version": "1.6.0",
2441
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz",
2442
+ "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
2443
+ "license": "MIT",
2444
+ "peer": true,
2445
+ "peerDependencies": {
2446
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
2447
+ }
2448
+ },
2449
+ "node_modules/utility-types": {
2450
+ "version": "3.11.0",
2451
+ "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz",
2452
+ "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==",
2453
+ "license": "MIT",
2454
+ "engines": {
2455
+ "node": ">= 4"
2456
+ }
2457
+ },
2458
+ "node_modules/vite": {
2459
+ "version": "5.4.21",
2460
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
2461
+ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
2462
+ "dev": true,
2463
+ "license": "MIT",
2464
+ "peer": true,
2465
+ "dependencies": {
2466
+ "esbuild": "^0.21.3",
2467
+ "postcss": "^8.4.43",
2468
+ "rollup": "^4.20.0"
2469
+ },
2470
+ "bin": {
2471
+ "vite": "bin/vite.js"
2472
+ },
2473
+ "engines": {
2474
+ "node": "^18.0.0 || >=20.0.0"
2475
+ },
2476
+ "funding": {
2477
+ "url": "https://github.com/vitejs/vite?sponsor=1"
2478
+ },
2479
+ "optionalDependencies": {
2480
+ "fsevents": "~2.3.3"
2481
+ },
2482
+ "peerDependencies": {
2483
+ "@types/node": "^18.0.0 || >=20.0.0",
2484
+ "less": "*",
2485
+ "lightningcss": "^1.21.0",
2486
+ "sass": "*",
2487
+ "sass-embedded": "*",
2488
+ "stylus": "*",
2489
+ "sugarss": "*",
2490
+ "terser": "^5.4.0"
2491
+ },
2492
+ "peerDependenciesMeta": {
2493
+ "@types/node": {
2494
+ "optional": true
2495
+ },
2496
+ "less": {
2497
+ "optional": true
2498
+ },
2499
+ "lightningcss": {
2500
+ "optional": true
2501
+ },
2502
+ "sass": {
2503
+ "optional": true
2504
+ },
2505
+ "sass-embedded": {
2506
+ "optional": true
2507
+ },
2508
+ "stylus": {
2509
+ "optional": true
2510
+ },
2511
+ "sugarss": {
2512
+ "optional": true
2513
+ },
2514
+ "terser": {
2515
+ "optional": true
2516
+ }
2517
+ }
2518
+ },
2519
+ "node_modules/webgl-constants": {
2520
+ "version": "1.1.1",
2521
+ "resolved": "https://registry.npmjs.org/webgl-constants/-/webgl-constants-1.1.1.tgz",
2522
+ "integrity": "sha512-LkBXKjU5r9vAW7Gcu3T5u+5cvSvh5WwINdr0C+9jpzVB41cjQAP5ePArDtk/WHYdVj0GefCgM73BA7FlIiNtdg=="
2523
+ },
2524
+ "node_modules/webgl-sdf-generator": {
2525
+ "version": "1.1.1",
2526
+ "resolved": "https://registry.npmjs.org/webgl-sdf-generator/-/webgl-sdf-generator-1.1.1.tgz",
2527
+ "integrity": "sha512-9Z0JcMTFxeE+b2x1LJTdnaT8rT8aEp7MVxkNwoycNmJWwPdzoXzMh0BjJSh/AEFP+KPYZUli814h8bJZFIZ2jA==",
2528
+ "license": "MIT"
2529
+ },
2530
+ "node_modules/which": {
2531
+ "version": "2.0.2",
2532
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2533
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2534
+ "license": "ISC",
2535
+ "dependencies": {
2536
+ "isexe": "^2.0.0"
2537
+ },
2538
+ "bin": {
2539
+ "node-which": "bin/node-which"
2540
+ },
2541
+ "engines": {
2542
+ "node": ">= 8"
2543
+ }
2544
+ },
2545
+ "node_modules/yallist": {
2546
+ "version": "3.1.1",
2547
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
2548
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
2549
+ "dev": true,
2550
+ "license": "ISC"
2551
+ },
2552
+ "node_modules/zustand": {
2553
+ "version": "5.0.12",
2554
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-5.0.12.tgz",
2555
+ "integrity": "sha512-i77ae3aZq4dhMlRhJVCYgMLKuSiZAaUPAct2AksxQ+gOtimhGMdXljRT21P5BNpeT4kXlLIckvkPM029OljD7g==",
2556
+ "license": "MIT",
2557
+ "engines": {
2558
+ "node": ">=12.20.0"
2559
+ },
2560
+ "peerDependencies": {
2561
+ "@types/react": ">=18.0.0",
2562
+ "immer": ">=9.0.6",
2563
+ "react": ">=18.0.0",
2564
+ "use-sync-external-store": ">=1.2.0"
2565
+ },
2566
+ "peerDependenciesMeta": {
2567
+ "@types/react": {
2568
+ "optional": true
2569
+ },
2570
+ "immer": {
2571
+ "optional": true
2572
+ },
2573
+ "react": {
2574
+ "optional": true
2575
+ },
2576
+ "use-sync-external-store": {
2577
+ "optional": true
2578
+ }
2579
+ }
2580
+ }
2581
+ }
2582
+ }